diff options
author | Anton Khirnov <anton@khirnov.net> | 2023-04-04 09:25:13 +0200 |
---|---|---|
committer | Anton Khirnov <anton@khirnov.net> | 2023-04-13 15:32:56 +0200 |
commit | d56652fdc8e1315309516be320a7250854550fa5 (patch) | |
tree | 5ba2e3a41cc8da0351bae4d02fb8c38eaa861eb8 /libavformat | |
parent | 106eb58ceb5f2bc64f44435408bec24e6332a381 (diff) | |
download | ffmpeg-d56652fdc8e1315309516be320a7250854550fa5.tar.gz |
fftools/ffmpeg: stop using InputStream.pts for streamcopy
This field contains different values depending on whether the stream is
being decoded or not. When it is, InputStream.pts is set to the
timestamp of the last decoded frame. Otherwise, it is made equal to
InputStream.dts.
Since a given InputStream can be at the same time decoded and
streamcopied to any number of output streams, this use is incorrect, as
decoded frame timestamps can be delayed with respect to input packets by
an arbitrary amount (e.g. depending on the thread count when frame
threading is used).
Replace all uses of InputStream.pts for streamcopy with InputStream.dts,
which is its value when decoding is not performed. Stop setting
InputStream.pts for pure streamcopy.
Also, pass InputStream.dts as a parameter to do_streamcopy(), which
will allow that function to be decoupled from InputStream completely in
the future.
Diffstat (limited to 'libavformat')
0 files changed, 0 insertions, 0 deletions