summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libavformat/mpegts.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/libavformat/mpegts.c b/libavformat/mpegts.c
index 825eadc779..9554c5acfd 100644
--- a/libavformat/mpegts.c
+++ b/libavformat/mpegts.c
@@ -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 */