[SCM] libav/experimental: In TS demuxer, create the AVStream during pmt parsing if the pes stream does not yet have it, this can happen if the pes stream contain data but no pes header has been encoutered yet. Patch by Stephen D'Angelo, SDAngelo at evertz dot com.

siretart at users.alioth.debian.org siretart at users.alioth.debian.org
Sun Jun 30 17:19:25 UTC 2013


The following commit has been merged in the experimental branch:
commit c538eb51c6e69e84abcca69601e74d14837f64e1
Author: Stephen D'Angelo <SDAngelo at evertz.com>
Date:   Thu Nov 25 00:55:02 2010 +0000

    In TS demuxer, create the AVStream during pmt parsing if the pes stream does not
    yet have it, this can happen if the pes stream contain data but no pes header
    has been encoutered yet.
    Patch by Stephen D'Angelo, SDAngelo at evertz dot com.
    
    Originally committed as revision 25823 to svn://svn.ffmpeg.org/ffmpeg/trunk

diff --git a/libavformat/mpegts.c b/libavformat/mpegts.c
index 78c9d2f..3c61d8b 100644
--- a/libavformat/mpegts.c
+++ b/libavformat/mpegts.c
@@ -974,6 +974,8 @@ static void pmt_cb(MpegTSFilter *filter, const uint8_t *section, int section_len
         /* now create ffmpeg stream */
         if (ts->pids[pid] && ts->pids[pid]->type == MPEGTS_PES) {
             pes = ts->pids[pid]->u.pes_filter.opaque;
+            if (!pes->st)
+                pes->st = av_new_stream(pes->stream, pes->pid);
             st = pes->st;
         } else {
             if (ts->pids[pid]) mpegts_close_filter(ts, ts->pids[pid]); //wrongly added sdt filter probably

-- 
Libav/FFmpeg packaging



More information about the pkg-multimedia-commits mailing list