Merge branch 'pipewiresink-mode-provide-fixes' into 'master'

gst: pipewiresink mode=provide driven fixups

See merge request pipewire/pipewire!2804
This commit is contained in:
Charles 2026-05-01 18:48:20 +00:00
commit 784dbffb95
2 changed files with 5 additions and 2 deletions

View file

@ -816,7 +816,10 @@ on_state_changed (void *data, enum pw_stream_state old, enum pw_stream_state sta
case PW_STREAM_STATE_ERROR:
/* make the error permanent, if it is not already;
pw_stream_set_error() will recursively call us again */
if (pw_stream_get_state (pwsink->stream->pwstream, NULL) != PW_STREAM_STATE_ERROR)
if (pwsink->mode == GST_PIPEWIRE_SINK_MODE_PROVIDE) {
/* don't make consumer errors fatal for the provider */
GST_WARNING_OBJECT (pwsink, "stream error in mode=provide (ignored): %s", error);
} else if (pw_stream_get_state (pwsink->stream->pwstream, NULL) != PW_STREAM_STATE_ERROR)
pw_stream_set_error (pwsink->stream->pwstream, -EPIPE, "%s", error);
else
GST_ELEMENT_ERROR (pwsink, RESOURCE, FAILED,

View file

@ -781,7 +781,7 @@ static GstBuffer *dequeue_buffer(GstPipeWireSrc *pwsrc)
}
crop = data->crop;
if (crop) {
if (crop && spa_meta_region_is_valid(crop)) {
GstVideoCropMeta *meta = gst_buffer_add_video_crop_meta(buf);
if (meta) {
meta->x = crop->region.position.x;