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()

[...]

-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

Rewriting code that is poorly written but fully understood is good.
Rewriting code that one doesnt understand is a sign that one is less smart
then the original author, trying to rewrite it will not make it better.

Attachment: signature.asc
Description: Digital signature

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel

Reply via email to