mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-07 01:51:22 +00:00
ba26a5aea8
When B-frame is enabled, encoder seems to adjust PTS of encoded sample by using frame duration. For instance, one observed timestamp pattern by using B-frame enabled and 30fps stream is: * Frame-1: MF pts 0:00.033333300 MF dts 0:00.000000000 * Frame-2: MF pts 0:00.133333300 MF dts 0:00.033333300 * Frame-3: MF pts 0:00.066666600 MF dts 0:00.066666600 * Frame-4: MF pts 0:00.099999900 MF dts 0:00.100000000 We can notice that the amount of PTS shift is frame duration and Frame-4 exhibits PTS < DTS. To compensate shifted timestamp, we should calculate the timestamp offset and re-calculate DTS correspondingly. Otherwise, total timeline of output stream will be shifted, and that can cause time sync issue. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2354> |
||
---|---|---|
.. | ||
AsyncOperations.h | ||
gstmfaacenc.cpp | ||
gstmfaacenc.h | ||
gstmfaudioenc.cpp | ||
gstmfaudioenc.h | ||
gstmfcapturewinrt.cpp | ||
gstmfcapturewinrt.h | ||
gstmfdevice.c | ||
gstmfdevice.h | ||
gstmfh264enc.cpp | ||
gstmfh264enc.h | ||
gstmfh265enc.cpp | ||
gstmfh265enc.h | ||
gstmfmp3enc.cpp | ||
gstmfmp3enc.h | ||
gstmfsourceobject.c | ||
gstmfsourceobject.h | ||
gstmfsourcereader.cpp | ||
gstmfsourcereader.h | ||
gstmftransform.cpp | ||
gstmftransform.h | ||
gstmfutils.cpp | ||
gstmfutils.h | ||
gstmfvideobuffer.cpp | ||
gstmfvideobuffer.h | ||
gstmfvideoenc.cpp | ||
gstmfvideoenc.h | ||
gstmfvideosrc.c | ||
gstmfvideosrc.h | ||
gstmfvp9enc.cpp | ||
gstmfvp9enc.h | ||
gststrmif.h | ||
mediacapturewrapper.cpp | ||
mediacapturewrapper.h | ||
meson.build | ||
plugin.c |