associate to each AVProgram the indexes of the AVStreams contained in it
authorNico Sabbi <nicola.sabbi@poste.it>
Sat, 20 Oct 2007 08:29:05 +0000 (08:29 +0000)
committerNico Sabbi <nicola.sabbi@poste.it>
Sat, 20 Oct 2007 08:29:05 +0000 (08:29 +0000)
Originally committed as revision 10820 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavformat/mpegts.c

index 825eadc77950f6f3821d4ed0e6fc20ff77b665fd..9554c5acfd2dfdf6ee46b0e9a41d0de44862fab6 100644 (file)
@@ -37,6 +37,7 @@ typedef struct PESContext PESContext;
 static PESContext* add_pes_stream(MpegTSContext *ts, int pid, int pcr_pid, int stream_type);
 static AVStream* new_pes_av_stream(PESContext *pes, uint32_t code);
 extern void av_set_program_name(AVProgram *program, char *provider_name, char *name);
+extern void av_program_add_stream_index(AVFormatContext *ac, int progid, unsigned int idx);
 
 enum MpegTSFilterType {
     MPEGTS_PES,
@@ -597,6 +598,8 @@ static void pmt_cb(MpegTSFilter *filter, const uint8_t *section, int section_len
                     st = new_pes_av_stream(pes, 0);
             }
             add_pid_to_pmt(ts, h->id, pid);
+            if(st)
+                av_program_add_stream_index(ts->stream, h->id, st->index);
             break;
         default:
             /* we ignore the other streams */