diff mbox series

[FFmpeg-devel,v2,1/7] avformat/apm: check codec tag in probe and add constant

Message ID 20200610233155.1050210-2-zane@zanevaniperen.com
State Superseded
Headers show
Series adpcm_ima_apm encoder + apm muxer
Related show

Checks

Context Check Description
andriy/default pending
andriy/make success Make finished
andriy/make_fate success Make fate finished

Commit Message

Zane van Iperen June 10, 2020, 11:32 p.m. UTC
Signed-off-by: Zane van Iperen <zane@zanevaniperen.com>
---
 libavformat/apm.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)
diff mbox series

Patch

diff --git a/libavformat/apm.c b/libavformat/apm.c
index 9d2a856cc4..dc59c16562 100644
--- a/libavformat/apm.c
+++ b/libavformat/apm.c
@@ -29,6 +29,7 @@ 
 #define APM_VS12_CHUNK_SIZE     76
 #define APM_MAX_READ_SIZE       4096
 
+#define APM_TAG_CODEC           0x2000
 #define APM_TAG_VS12            MKTAG('v', 's', '1', '2')
 #define APM_TAG_DATA            MKTAG('D', 'A', 'T', 'A')
 
@@ -74,6 +75,9 @@  static void apm_parse_vs12(APMVS12Chunk *vs12, const uint8_t *buf)
 
 static int apm_probe(const AVProbeData *p)
 {
+    if (AV_RL16(p->buf) != APM_TAG_CODEC)
+        return 0;
+
     if (p->buf_size < 100)
         return 0;
 
@@ -103,7 +107,7 @@  static int apm_read_header(AVFormatContext *s)
     if (st->codecpar->bits_per_coded_sample != 4)
         return AVERROR_INVALIDDATA;
 
-    if (st->codecpar->codec_tag != 0x2000)
+    if (st->codecpar->codec_tag != APM_TAG_CODEC)
         return AVERROR_INVALIDDATA;
 
     /* ff_get_wav_header() does most of the work, but we need to fix a few things. */