[FFmpeg-devel] [PATCH] latmenc: Check for LOAS sync word

James Almer jamrial at gmail.com
Wed Jan 16 22:27:14 CET 2013


Write the packet unaltered if found.

Fixes ticket #1917

Signed-off-by: James Almer <jamrial at gmail.com>
---
 libavformat/latmenc.c |    9 +++++++++
 1 files changed, 9 insertions(+), 0 deletions(-)

diff --git a/libavformat/latmenc.c b/libavformat/latmenc.c
index 233eab8..9dfb4e4 100644
--- a/libavformat/latmenc.c
+++ b/libavformat/latmenc.c
@@ -156,6 +156,15 @@ static int latm_write_packet(AVFormatContext *s, AVPacket *pkt)
         av_log(s, AV_LOG_ERROR, "ADTS header detected - ADTS will not be incorrectly muxed into LATM\n");
         return AVERROR_INVALIDDATA;
     }
+
+    if (!s->streams[0]->codec->extradata) {
+        if(pkt->size > 2 && pkt->data[0] == 0x56 && (pkt->data[1] >> 4) == 0xe &&
+            (AV_RB16(pkt->data + 1) & 0x1FFF) + 3 == pkt->size)
+            return ff_raw_write_packet(s, pkt);
+        else
+            return AVERROR_INVALIDDATA;
+    }
+
     if (pkt->size > 0x1fff)
         goto too_large;
 
-- 
1.7.8.6



More information about the ffmpeg-devel mailing list