gst: don't do set_caps from the pipewire callback

Don't do any GStreamer data transport from the PipeWire callback
because it might block in preroll and block our communication with
PipeWire. Instead, take the caps and wake up the caller to continue
with negotiation.
This commit is contained in:
Wim Taymans 2020-08-06 13:03:40 +02:00
parent 34334b6ea3
commit 98b7dc7c0c
2 changed files with 25 additions and 16 deletions

View file

@ -68,6 +68,8 @@ struct _GstPipeWireSrc {
gboolean resend_last;
gint keepalive_time;
GstCaps *caps;
gboolean negotiated;
gboolean flushing;
gboolean started;