On Sun, Jan 24, 2016 at 03:54:34PM +0100, Vittorio Gambaletta (VittGam) wrote: > Hi, > > On 24/01/2016 12:01:38 CET, Michael Niedermayer wrote: > >On Sun, Jan 24, 2016 at 06:06:36AM +0100, Vittorio Gambaletta (VittGam) > >wrote: > >>Signed-off-by: Vittorio Gambaletta <ffmpeg-...@vittgam.net> > >>--- > >> 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; > >>+ } > > > >av_find_program_from_stream() should be run in a loop to enumerate > >the programs, see other uses of av_find_program_from_stream() > > Wouldn't this solve the problem backwards?
yes, though it would avoid directly accessing the data structs. no big problem really though, i see the av_find_program_from_stream() isnt exactly optimal here so applied thanks [...] -- Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB I have often repented speaking, but never of holding my tongue. -- Xenocrates
signature.asc
Description: Digital signature
_______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel