[FFmpeg-devel] ODML index and ticket #3531

Don Moir donmoir at comcast.net
Thu Apr 24 06:14:11 CEST 2014


referring to avidec.c

In read_braindead_odml_indx you have this to add index entries:

...
            if (last_pos == pos || pos == base - 8)
                avi->non_interleaved = 1;
            if (last_pos != pos && (len || !ast->sample_size))
                av_add_index_entry(st, pos, ast->cum_len, len, 0,
                                   key ? AVINDEX_KEYFRAME : 0);
...

for a video stream ast->sample_size is always zero it appears. In fact it is set to zero

static int avi_read_header(AVFormatContext *s)
{
    ...
            switch (tag1) {
            case MKTAG('v', 'i', 'd', 's'):
                codec_type = AVMEDIA_TYPE_VIDEO;

                ast->sample_size = 0;
                break;
    ...
}

So it seems its a bug to check blindly for ast->sample_size == 0 (!ast->sample_size) in read_braindead_odml_indx.

Seems sample_rate is only valid for audio streams.

http://trac.ffmpeg.org/ticket/3531


More information about the ffmpeg-devel mailing list