mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-02-18 20:25:25 +00:00
timecodestamper: Fix latency calculation
The LTC extra latency is in ms already and not in frames, so multiplying with the framerate will end up with a wrong number. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2453>
This commit is contained in:
parent
c7be05cc38
commit
7433870528
1 changed files with 5 additions and 3 deletions
|
@ -1002,13 +1002,15 @@ gst_timecodestamper_query (GstBaseTransform * trans,
|
||||||
/* Introduce additional LTC for waiting for LTC timecodes. The
|
/* Introduce additional LTC for waiting for LTC timecodes. The
|
||||||
* LTC library introduces some as well as the encoding of the LTC
|
* LTC library introduces some as well as the encoding of the LTC
|
||||||
* signal. */
|
* signal. */
|
||||||
latency = timecodestamper->ltc_extra_latency *
|
latency = timecodestamper->ltc_extra_latency;
|
||||||
gst_util_uint64_scale_int_ceil (GST_SECOND,
|
|
||||||
timecodestamper->vinfo.fps_d, timecodestamper->vinfo.fps_n);
|
|
||||||
min_latency += latency;
|
min_latency += latency;
|
||||||
if (max_latency != GST_CLOCK_TIME_NONE)
|
if (max_latency != GST_CLOCK_TIME_NONE)
|
||||||
max_latency += latency;
|
max_latency += latency;
|
||||||
timecodestamper->latency = min_latency;
|
timecodestamper->latency = min_latency;
|
||||||
|
GST_DEBUG_OBJECT (timecodestamper,
|
||||||
|
"Reporting latency min %" GST_TIME_FORMAT " max %" GST_TIME_FORMAT
|
||||||
|
" ours %" GST_TIME_FORMAT, GST_TIME_ARGS (min_latency),
|
||||||
|
GST_TIME_ARGS (max_latency), GST_TIME_ARGS (latency));
|
||||||
gst_query_set_latency (query, live, min_latency, max_latency);
|
gst_query_set_latency (query, live, min_latency, max_latency);
|
||||||
} else {
|
} else {
|
||||||
timecodestamper->latency = 0;
|
timecodestamper->latency = 0;
|
||||||
|
|
Loading…
Reference in a new issue