[SCM] libav/experimental: In TS demuxer, keep the pmt filter open to parse all pmt sections, based on 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 b795ff97e5ae444ddf2277f66e29b30069170728
Author: Baptiste Coudurier <baptiste.coudurier at gmail.com>
Date:   Thu Nov 25 00:29:44 2010 +0000

    In TS demuxer, keep the pmt filter open to parse all pmt sections,
    based on patch by Stephen D'Angelo, SDAngelo at evertz dot com.
    
    Originally committed as revision 25822 to svn://svn.ffmpeg.org/ffmpeg/trunk

diff --git a/libavformat/mpegts.c b/libavformat/mpegts.c
index d23dbee..78c9d2f 100644
--- a/libavformat/mpegts.c
+++ b/libavformat/mpegts.c
@@ -1083,8 +1083,6 @@ static void pmt_cb(MpegTSFilter *filter, const uint8_t *section, int section_len
         p = desc_list_end;
     }
 
-    /* all parameters are there */
-    mpegts_close_filter(ts, filter);
  out:
     av_free(mp4_dec_config_descr);
 }
@@ -1122,6 +1120,8 @@ static void pat_cb(MpegTSFilter *filter, const uint8_t *section, int section_len
             /* NIT info */
         } else {
             av_new_program(ts->stream, sid);
+            if (ts->pids[pmt_pid])
+                mpegts_close_filter(ts, ts->pids[pmt_pid]);
             mpegts_open_section_filter(ts, pmt_pid, pmt_cb, ts, 1);
             add_pat_entry(ts, sid);
             add_pid_to_pmt(ts, sid, 0); //add pat pid to program

-- 
Libav/FFmpeg packaging



More information about the pkg-multimedia-commits mailing list