Quoting Alexandra Hájková (2015-07-21 10:28:57)
> its size is invalid in this case
> ---
>  libavformat/asfdec.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/libavformat/asfdec.c b/libavformat/asfdec.c
> index 6a71be9..a4ca78b 100644
> --- a/libavformat/asfdec.c
> +++ b/libavformat/asfdec.c
> @@ -926,7 +926,7 @@ static int asf_read_data(AVFormatContext *s, const 
> GUIDParseTable *g)
>                 size, asf->nb_packets);
>      avio_skip(pb, 2); // skip reserved field
>      asf->first_packet_offset = avio_tell(pb);
> -    if (pb->seekable)
> +    if (pb->seekable && !(asf->b_flags & ASF_FLAG_BROADCAST))
>          align_position(pb, asf->offset, asf->data_size);
>  
>      return 0;
> @@ -1671,7 +1671,7 @@ static int asf_read_header(AVFormatContext *s)
>              size = avio_rl64(pb);
>              align_position(pb, asf->offset, size);
>          }
> -        if (asf->data_reached && !pb->seekable)
> +        if (asf->data_reached && !pb->seekable && !(asf->b_flags & 
> ASF_FLAG_BROADCAST))

This condition looks wrong.

-- 
Anton Khirnov
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to