[FFmpeg-cvslog] avformat/samidec: do not include trailing sami footer in the last packet

Yayoi git at videolan.org
Sun Sep 6 13:38:50 CEST 2015


ffmpeg | branch: master | Yayoi <yayoi.ukai at gmail.com> | Sun Aug 30 07:24:49 2015 -0700| [1bb8a53f080e8bec821f9cf86a5ee524a58a927a] | committer: Clément Bœsch

avformat/samidec: do not include trailing sami footer in the last packet

Signed-off-by: Clément Bœsch <u at pkh.me>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=1bb8a53f080e8bec821f9cf86a5ee524a58a927a
---

 libavformat/samidec.c |    8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/libavformat/samidec.c b/libavformat/samidec.c
index 948e1ed..bc9b745 100644
--- a/libavformat/samidec.c
+++ b/libavformat/samidec.c
@@ -68,11 +68,17 @@ static int sami_read_header(AVFormatContext *s)
     while (!ff_text_eof(&tr)) {
         AVPacket *sub;
         const int64_t pos = ff_text_pos(&tr) - (c != 0);
-        int is_sync, n = ff_smil_extract_next_text_chunk(&tr, &buf, &c);
+        int is_sync, is_body, n = ff_smil_extract_next_text_chunk(&tr, &buf, &c);
 
         if (n == 0)
             break;
 
+        is_body = !av_strncasecmp(buf.str, "</BODY", 6);
+        if (is_body) {
+             av_bprint_clear(&buf);
+             break;
+        }
+
         is_sync = !av_strncasecmp(buf.str, "<SYNC", 5);
         if (is_sync)
             got_first_sync_point = 1;



More information about the ffmpeg-cvslog mailing list