diff options
Diffstat (limited to 'ext/pulse/pulsesink.c')
-rw-r--r-- | ext/pulse/pulsesink.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/ext/pulse/pulsesink.c b/ext/pulse/pulsesink.c index 0275d342..9743662f 100644 --- a/ext/pulse/pulsesink.c +++ b/ext/pulse/pulsesink.c @@ -1516,9 +1516,11 @@ gst_pulsesink_sink_input_info_cb (pa_context * c, const pa_sink_input_info * i, if (!pbuf->stream) goto done; - g_assert (i->index == pa_stream_get_index (pbuf->stream)); - - psink->volume = pa_sw_volume_to_linear (pa_cvolume_max (&i->volume)); + /* If the index doesn't match our current stream, + * it implies we just recreated the stream (caps change) + */ + if (i->index == pa_stream_get_index (pbuf->stream)) + psink->volume = pa_sw_volume_to_linear (pa_cvolume_max (&i->volume)); done: pa_threaded_mainloop_signal (psink->mainloop, 0); |