audiobasesink: Post latency message on the bus after set_caps()
authorMichael Olbrich <m.olbrich@pengutronix.de>
Fri, 25 Sep 2015 12:47:48 +0000 (14:47 +0200)
committerSebastian Dröge <sebastian@centricular.com>
Tue, 1 Dec 2015 17:58:25 +0000 (19:58 +0200)
Any latency query before this will not get the correct latency so a new
latency query should be triggered once the audio sink know its own latency.

Without this the initial latency query from the pipeline arrives too early
sometimes and the resulting latency is too short.

https://bugzilla.gnome.org/show_bug.cgi?id=758911

gst-libs/gst/audio/gstaudiobasesink.c

index 591da24..62fab35 100644 (file)
@@ -1006,6 +1006,9 @@ gst_audio_base_sink_setcaps (GstBaseSink * bsink, GstCaps * caps)
 
   gst_audio_ring_buffer_debug_spec_buff (spec);
 
+  gst_element_post_message (GST_ELEMENT_CAST (bsink),
+      gst_message_new_latency (GST_OBJECT (bsink)));
+
   return TRUE;
 
   /* ERRORS */