Chromium could instead keep track of that timestamp in their own code. It's what i did to remove the internal fields usage from our CLI tools. See https://github.com/FFmpeg/FFmpeg/commit/ab4f299e23

On 9/16/2021 8:24 AM, Marek BehĂșn wrote:
Hello James, liberato,

James, your commit 591b88e6787c [1] in FFmpeg hid the first_dts and
cur_dts members of AVStream structure into the internal member, making
them inaccessible from third party code.

The reasoning in the commit message says:
   They are private fields, no reason to have them exposed in a public
   header.

But the first_dts member is used in Chromium, in
media/filters/ffmpeg_demuxer.cc [2] in method FFmpegDemuxer::InitializeTask.

Chromium solved this by adding av_stream_get_first_dts() method into
their bundled ffmpeg copy [3].

This makes it now impossible to link Chromium with system-ffmpeg, which
was till now a possibility in Gentoo, and which we would like to have
also in the future.

James, what do you think the best approach is here?
Should the FFmpeg commit be reverted to unhide this member?
Or should Chromium be fixed not to use this member? (I confess I did
not study the code much, so I don't know why it is needed, besides that
Chromium tries to compute start_time_ variable with it.)

Thank you.

Marek

[1] https://github.com/FFmpeg/FFmpeg/commit/591b88e6787c

[2]
https://chromium.googlesource.com/chromium/+/refs/heads/trunk/media/filters/ffmpeg_demuxer.cc

[3]
https://chromium.googlesource.com/chromium/third_party/ffmpeg/+/95aab0fd83619408995720ce53d7a74790580220%5E%21/


_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".

Reply via email to