diff --git a/src/gst/gstpipewiresink.c b/src/gst/gstpipewiresink.c index a27d6b244..521909bff 100644 --- a/src/gst/gstpipewiresink.c +++ b/src/gst/gstpipewiresink.c @@ -788,10 +788,12 @@ gst_pipewire_sink_change_state (GstElement * element, GstStateChange transition) case GST_STATE_CHANGE_READY_TO_PAUSED: break; case GST_STATE_CHANGE_PAUSED_TO_PLAYING: - /* uncork and start recording */ + /* uncork and start play */ + pw_stream_set_active(this->stream, true); break; case GST_STATE_CHANGE_PLAYING_TO_PAUSED: - /* stop recording ASAP by corking */ + /* stop play ASAP by corking */ + pw_stream_set_active(this->stream, false); break; default: break; diff --git a/src/gst/gstpipewiresrc.c b/src/gst/gstpipewiresrc.c index 9f385faf8..206d7239d 100644 --- a/src/gst/gstpipewiresrc.c +++ b/src/gst/gstpipewiresrc.c @@ -1086,9 +1086,11 @@ gst_pipewire_src_change_state (GstElement * element, GstStateChange transition) break; case GST_STATE_CHANGE_PAUSED_TO_PLAYING: /* uncork and start recording */ + pw_stream_set_active(this->stream, true); break; case GST_STATE_CHANGE_PLAYING_TO_PAUSED: /* stop recording ASAP by corking */ + pw_stream_set_active(this->stream, false); break; default: break;