ffmpeg | branch: master | Vittorio Gambaletta (VittGam) <ffmpeg-...@vittgam.net> | Sun Jan 24 06:06:36 2016 +0100| [8b02af1e6fbb0d782f3561afd82f66edc7fa8ae0] | committer: Michael Niedermayer
avformat/mpegtsenc: Fix multi program so that it supports adding the same stream to multiple programs. Signed-off-by: Vittorio Gambaletta <ffmpeg-...@vittgam.net> Signed-off-by: Michael Niedermayer <mich...@niedermayer.cc> > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=8b02af1e6fbb0d782f3561afd82f66edc7fa8ae0 --- libavformat/mpegtsenc.c | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/libavformat/mpegtsenc.c b/libavformat/mpegtsenc.c index 2c12043..a20e229 100644 --- a/libavformat/mpegtsenc.c +++ b/libavformat/mpegtsenc.c @@ -275,8 +275,19 @@ static int mpegts_write_pmt(AVFormatContext *s, MpegTSService *service) AVDictionaryEntry *lang = av_dict_get(st->metadata, "language", NULL, 0); if (s->nb_programs) { - AVProgram *program = av_find_program_from_stream(s, NULL, i); - if (program->id != service->sid) + int j, k, found = 0; + + for (j = 0; j < s->nb_programs; j++) + if (s->programs[j]->id == service->sid) { + for (k = 0; k < s->programs[j]->nb_stream_indexes; k++) + if (s->programs[j]->stream_index[k] == i) { + found = 1; + break; + } + break; + } + + if (!found) continue; } _______________________________________________ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog