[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

Ronald S. Bultje rsbultje
Sun Feb 6 02:10:14 CET 2011


Hi,

On Fri, Feb 4, 2011 at 8:27 PM, Justin Ruggles <justin.ruggles at gmail.com> wrote:
> 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. :)

Queued.

Ronald



More information about the ffmpeg-devel mailing list