[FFmpeg-cvslog] avcodec/dca: return standard error codes in avpriv_dca_parse_core_frame_header()
James Almer
git at videolan.org
Wed Nov 1 23:37:08 EET 2017
ffmpeg | branch: master | James Almer <jamrial at gmail.com> | Tue Oct 31 00:36:32 2017 -0300| [3df4939988ace682f7ac0366ef8fd700d207e6b6] | committer: James Almer
avcodec/dca: return standard error codes in avpriv_dca_parse_core_frame_header()
This prevents making the DCAParseError enum part of the ABI.
Reviewed-by: Michael Niedermayer <michael at niedermayer.cc>
Reviewed-by: foo86 <foobaz86 at gmail.com>
Signed-off-by: James Almer <jamrial at gmail.com>
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=3df4939988ace682f7ac0366ef8fd700d207e6b6
---
libavcodec/dca.c | 11 ++++++++---
libavcodec/dca.h | 12 ++++++++++--
2 files changed, 18 insertions(+), 5 deletions(-)
diff --git a/libavcodec/dca.c b/libavcodec/dca.c
index 942fe6c3c9..a0729e61ab 100644
--- a/libavcodec/dca.c
+++ b/libavcodec/dca.c
@@ -149,9 +149,14 @@ int ff_dca_parse_core_frame_header(DCACoreFrameHeader *h, GetBitContext *gb)
int avpriv_dca_parse_core_frame_header(DCACoreFrameHeader *h, const uint8_t *buf, int size)
{
GetBitContext gb;
+ int ret;
- if (init_get_bits8(&gb, buf, size) < 0)
- return DCA_PARSE_ERROR_INVALIDDATA;
+ ret = init_get_bits8(&gb, buf, size);
+ if (ret < 0)
+ return ret;
- return ff_dca_parse_core_frame_header(h, &gb);
+ if (ff_dca_parse_core_frame_header(h, &gb) < 0)
+ return AVERROR_INVALIDDATA;
+
+ return 0;
}
diff --git a/libavcodec/dca.h b/libavcodec/dca.h
index c70598af92..dcc7c7b395 100644
--- a/libavcodec/dca.h
+++ b/libavcodec/dca.h
@@ -46,7 +46,6 @@ enum DCAParseError {
DCA_PARSE_ERROR_RESERVED_BIT = -7,
DCA_PARSE_ERROR_LFE_FLAG = -8,
DCA_PARSE_ERROR_PCM_RES = -9,
- DCA_PARSE_ERROR_INVALIDDATA = -10,
};
typedef struct DCACoreFrameHeader {
@@ -211,10 +210,19 @@ int avpriv_dca_convert_bitstream(const uint8_t *src, int src_size, uint8_t *dst,
/**
* Parse and validate core frame header
- * @return 0 on success, negative DCA_PARSE_ERROR_ code on failure
+ * @param[out] h Pointer to struct where header info is written.
+ * @param[in] buf Pointer to the data buffer
+ * @param[in] size Size of the data buffer
+ * @return 0 on success, negative AVERROR code on failure
*/
int avpriv_dca_parse_core_frame_header(DCACoreFrameHeader *h, const uint8_t *buf, int size);
+/**
+ * Parse and validate core frame header
+ * @param[out] h Pointer to struct where header info is written.
+ * @param[in] gbc BitContext containing the first 120 bits of the frame.
+ * @return 0 on success, negative DCA_PARSE_ERROR_ code on failure
+ */
int ff_dca_parse_core_frame_header(DCACoreFrameHeader *h, GetBitContext *gb);
#endif /* AVCODEC_DCA_H */
More information about the ffmpeg-cvslog
mailing list