mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-27 04:01:08 +00:00
videotestsrc: Report our latency properly in live mode
While we have no latency at all in theory, any other live source has the duration of one buffer as minimum latency. Do the same in videotestsrc. https://bugzilla.gnome.org/show_bug.cgi?id=741879
This commit is contained in:
parent
631d356845
commit
8abfdd127f
1 changed files with 18 additions and 1 deletions
|
@ -781,7 +781,7 @@ unsupported_caps:
|
|||
static gboolean
|
||||
gst_video_test_src_query (GstBaseSrc * bsrc, GstQuery * query)
|
||||
{
|
||||
gboolean res;
|
||||
gboolean res = FALSE;
|
||||
GstVideoTestSrc *src;
|
||||
|
||||
src = GST_VIDEO_TEST_SRC (bsrc);
|
||||
|
@ -799,6 +799,23 @@ gst_video_test_src_query (GstBaseSrc * bsrc, GstQuery * query)
|
|||
gst_query_set_convert (query, src_fmt, src_val, dest_fmt, dest_val);
|
||||
break;
|
||||
}
|
||||
case GST_QUERY_LATENCY:
|
||||
{
|
||||
if (src->info.fps_n > 0) {
|
||||
GstClockTime latency;
|
||||
|
||||
latency =
|
||||
gst_util_uint64_scale (GST_SECOND, src->info.fps_d,
|
||||
src->info.fps_n);
|
||||
gst_query_set_latency (query,
|
||||
gst_base_src_is_live (GST_BASE_SRC_CAST (src)), latency,
|
||||
GST_CLOCK_TIME_NONE);
|
||||
GST_DEBUG_OBJECT (src, "Reporting latency of %" GST_TIME_FORMAT,
|
||||
GST_TIME_ARGS (latency));
|
||||
res = TRUE;
|
||||
}
|
||||
break;
|
||||
}
|
||||
case GST_QUERY_DURATION:{
|
||||
if (bsrc->num_buffers != -1) {
|
||||
GstFormat format;
|
||||
|
|
Loading…
Reference in a new issue