[FFmpeg-devel] [PATCH 1/5] wtv: do not use flag in stream_guid chunk to determine if stream is valid, as this method is unreliable

Justin Ruggles justin.ruggles
Sat Feb 5 02:27:36 CET 2011


On 02/04/2011 08:10 PM, Peter Ross wrote:

> This fixes roundup issue 2556.
> ---
>  libavformat/wtv.c |    8 ++------
>  1 files changed, 2 insertions(+), 6 deletions(-)
> 
> diff --git a/libavformat/wtv.c b/libavformat/wtv.c
> index e0881d3..c10d9ec 100644
> --- a/libavformat/wtv.c
> +++ b/libavformat/wtv.c
> @@ -783,18 +783,14 @@ static int parse_chunks(AVFormatContext *s, int mode, int64_t seekts, int *len_p
>              if (ff_find_stream_index(s, sid) < 0) {
>                  ff_asf_guid mediatype, subtype, formattype;
>                  int size;
> -                consumed += 20;
> -                url_fskip(pb, 16);
> -                if (get_le32(pb)) {
> -                    url_fskip(pb, 8);
> +                    url_fskip(pb, 28);
>                      ff_get_guid(pb, &mediatype);
>                      ff_get_guid(pb, &subtype);
>                      url_fskip(pb, 12);
>                      ff_get_guid(pb, &formattype);
>                      size = get_le32(pb);
>                      parse_media_type(s, 0, sid, mediatype, subtype, formattype, size);
> -                    consumed += 72 + size;
> -                }
> +                    consumed += 92 + size;
>              }
>          } else if (!ff_guidcmp(g, stream2_guid)) {
>              int stream_index = ff_find_stream_index(s, sid);


This looks good to me.  and makes things so much clearer. :)

Thanks,
Justin



More information about the ffmpeg-devel mailing list