diff options
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | gst/speexresample/gstspeexresample.c | 8 |
2 files changed, 14 insertions, 0 deletions
@@ -1,5 +1,11 @@ 2007-11-23 Sebastian Dröge <slomo@circular-chaos.org> + * gst/speexresample/gstspeexresample.c: + (gst_speex_resample_update_state): + Also post GST_MESSAGE_LATENCY if the latency changes. + +2007-11-23 Sebastian Dröge <slomo@circular-chaos.org> + * gst/speexresample/resample.c: (speex_resampler_get_latency), (speex_resampler_drain_float), (speex_resampler_drain_int), (speex_resampler_drain_interleaved_float), diff --git a/gst/speexresample/gstspeexresample.c b/gst/speexresample/gstspeexresample.c index da029c56..02738f6f 100644 --- a/gst/speexresample/gstspeexresample.c +++ b/gst/speexresample/gstspeexresample.c @@ -276,6 +276,10 @@ gst_speex_resample_update_state (GstSpeexResample * resample, gint channels, gint inrate, gint outrate, gint quality, gboolean fp) { gboolean ret = TRUE; + gboolean updated_latency = FALSE; + + updated_latency = (resample->inrate != inrate + || quality != resample->quality); if (resample->state == NULL) { ret = TRUE; @@ -320,6 +324,10 @@ gst_speex_resample_update_state (GstSpeexResample * resample, gint channels, resample->inrate = inrate; resample->outrate = outrate; + if (updated_latency) + gst_element_post_message (GST_ELEMENT (resample), + gst_message_new_latency (GST_OBJECT (resample))); + return ret; } |