[FFmpeg-devel] [PATCH] fix stream copy
Maksym Veremeyenko
verem
Mon Feb 1 09:58:52 CET 2010
Baptiste Coudurier ???????(??):
[...]
> Well the problem is the definition of sync_opts:
> int64_t sync_opts; /* output frame counter, could be changed
> to some true timestamp */ //FIXME look at frame_number
>
> With your patch the definition would become wrong in some cases.
>
i think definition is already wrong, because of codec->time_base is not
equal to framerate, so the opts calculation in ffmpeg.c:
[2222] if(ost->st->codec->codec_type == CODEC_TYPE_VIDEO)
[2223] opts = ost->sync_opts *
av_q2d(ost->st->codec->time_base);
already mentioned to codec->time_base units instead of frame counter...
>>>
>>> One other possible solution is to use pts.val when stream copy is used.
>>>
>> it will require changing another part of code where ost->sync_opts used
>> for stop condition or keep previous packet pts to calc duration of
>> previous packet....
>>
>
> Hummm, I'm not sure what you mean, but this seems to fix the issue for
> me. Can you confirm ?
i did not find a way to reproduce situation with pkt->duration==0, but
for other situation attached patch works for me and i am able to cut
proper fragment duration for all files i tested with.
--
________________________________________
Maksym Veremeyenko
-------------- next part --------------
A non-text attachment was scrubbed...
Name: ffmpeg_sync_opts_value_fix_v3.patch
Type: text/x-patch
Size: 748 bytes
Desc: not available
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/attachments/20100201/fa23d1c7/attachment.bin>
More information about the ffmpeg-devel
mailing list