[FFmpeg-devel] [PATCH] avformat/fivdec: cached keyframes before video or audio stream was created
XinZheng Zhang
zhangxzheng at gmail.com
Mon Jul 25 05:29:51 EEST 2016
Ping.
On Thu, Jul 21, 2016 at 11:59 AM, XinZheng Zhang <zhangxzheng at gmail.com> wrote:
> On Thu, Jul 21, 2016 at 5:03 AM, Moritz Barsnick <barsnick at gmx.net> wrote:
>> On Thu, Jul 21, 2016 at 00:06:44 +0800, zhangxinzheng wrote:
>>
>>> Subject: [FFmpeg-devel] [PATCH] avformat/fivdec: cached keyframes before video or audio stream was created
>> ^^^ flv
>>
>>> There has an error when seeking in a flv file, which key frames was
>>> sorted before video frame.
>>> This ensures that all the key frames was cached, and add to
>>> corresponding stream when it was created.
>>
>> Thanks to the grammar, I don't understand the intent of the patch.
>> (Don't get me wrong, I'm not scorning your English, but it needs to be
>> improved.)
>>
>
> In flvdec.c 420
> case AMF_DATA_TYPE_OBJECT:
> if ((vstream || astream) && key &&
> ioc->seekable &&
> !strcmp(KEYFRAMES_TAG, key) && depth == 1)
> if (parse_keyframes_index(s, ioc, vstream ? vstream : astream,
> max_pos) < 0)
>
> If the first packet we got is object, both vstream and astream are NULL,
> that may prevent keyframe index being parsed.
>
> This patch saves keyframe index before A/V streams are created.
>
> The issue was introduced since 09ae7b81ea.
>
> I have created a ticket #5729 with a sample attatched.
>
>>> #define RESYNC_BUFFER_SIZE (1<<20)
>>>
>>> +
>>> +typedef struct FLVKeyFrame {
>>
>> Why the extra newline?
>>
>
> The extra newline has been removed in new patch.
More information about the ffmpeg-devel
mailing list