diff options
Diffstat (limited to 'gst/speexresample')
-rw-r--r-- | gst/speexresample/gstspeexresample.c | 8 |
1 files changed, 8 insertions, 0 deletions
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; } |