[FFmpeg-devel] [PATCH v3 3/6] ffmpeg: move A/V non-streamcopy initialization to a later point

Jan Ekström jeebjp at gmail.com
Mon Oct 19 23:29:30 EEST 2020


On Sat, Oct 17, 2020 at 3:32 AM Jan Ekström <jeebjp at gmail.com> wrote:
>
> On Fri, Oct 16, 2020, 22:47 Michael Niedermayer <michael at niedermayer.cc> wrote:
>>
>> On Fri, Oct 16, 2020 at 04:16:46PM +0300, Jan Ekström wrote:
>> > - For video, this means a single initialization point in do_video_out.
>> > - For audio we unfortunately need to do it in two places just
>> >   before the buffer sink is utilized (if av_buffersink_get_samples
>> >   would still work according to its specification after a call to
>> >   avfilter_graph_request_oldest was made, we could at least remove
>> >   the one in transcode_step).
>> >
>> > Other adjustments to make things work:
>> > - As the AVFrame PTS adjustment to encoder time base needs the encoder
>> >   to be initialized, so it is now moved to do_{video,audio}_out,
>> >   right after the encoder has been initialized. Due to this,
>> >   the additional parameter in do_video_out is removed as it is no
>> >   longer necessary.
>> > ---
>> >  fftools/ffmpeg.c | 112 ++++++++++++++++++++++++++++++++---------------
>> >  1 file changed, 77 insertions(+), 35 deletions(-)
>>
>> This breaks:
>>
>> ./ffmpeg -ss 30.0 -i ~/tickets/1745/1745-Sample.mkv -f vob -c:a copy  -f framecrc -
>
>
> I put the first attempt at a fix for this as a separate commit in this patch set since it clearly is separate from this change by itself, as well as if someone would give a better recommendation on how to handle it, it would be simpler to adjust.
>

In case it was not obvious from this reply, my initial attempt to
improve this handling would be
https://patchwork.ffmpeg.org/project/ffmpeg/patch/20201016131649.4361-7-jeebjp@gmail.com/
.

As noted, I decided that this would be another change in the behavior
and this at least until there's been some review/discussion about it,
it should be a separate change from this one. That is why this test
case fails with just this patch of this patch set applied. I did not
specifically ignore it because you were nice enough to point at it
previously.

Jan


More information about the ffmpeg-devel mailing list