gst: mark streams async

From the process callback we signal a cond and don't dequeue/queue
a buffer directly.
This commit is contained in:
Wim Taymans 2023-10-21 09:42:15 +02:00
parent 93d5848031
commit 3eed0fbe9b
2 changed files with 5 additions and 2 deletions

View file

@ -576,9 +576,10 @@ gst_pipewire_sink_setcaps (GstBaseSink * bsink, GstCaps * caps)
goto start_error;
if (state == PW_STREAM_STATE_UNCONNECTED) {
enum pw_stream_flags flags = 0;
enum pw_stream_flags flags;
uint32_t target_id;
flags = PW_STREAM_FLAG_ASYNC;
if (pwsink->mode != GST_PIPEWIRE_SINK_MODE_PROVIDE)
flags |= PW_STREAM_FLAG_AUTOCONNECT;
else

View file

@ -892,7 +892,9 @@ gst_pipewire_src_negotiate (GstBaseSrc * basesrc)
GST_DEBUG_OBJECT (basesrc, "connect capture with path %s, target-object %s",
pwsrc->path, pwsrc->target_object);
pwsrc->negotiated = FALSE;
enum pw_stream_flags flags = PW_STREAM_FLAG_DONT_RECONNECT;
enum pw_stream_flags flags;
flags = PW_STREAM_FLAG_DONT_RECONNECT |
PW_STREAM_FLAG_ASYNC;
if (pwsrc->autoconnect)
flags |= PW_STREAM_FLAG_AUTOCONNECT;
pw_stream_connect (pwsrc->stream,