diff --git a/pkg/gstreamer/bin.go b/pkg/gstreamer/bin.go index 890412e4b..abcbe840c 100644 --- a/pkg/gstreamer/bin.go +++ b/pkg/gstreamer/bin.go @@ -647,7 +647,10 @@ func linkPeersLocked(src, sink *Bin) error { } return gst.PadProbeRemove }) - return src.SetState(gst.StatePlaying) + if !src.bin.SyncStateWithParent() { + return fmt.Errorf("failed to sync %s state with parent", src.bin.GetName()) + } + return nil } if sinkState == gst.StateNull {