gstpipewiresrc: make stream errors permanent

When pw_stream receives a proxy error it does not set its state to an
error state on its own, commenting:
```
we just emit the state change here to inform the application.
If this is supposed to be a permanent error, the app should
do a pw_stream_set_error()
```

Until now this was not done in the pipewiresrc, resulting in the
negotiation loop to not bail out after an error as a successive
`pw_stream_get_state()` did not return an error state.

Make the error permanent so negotiation errors make us take the
appropriate error paths.
This commit is contained in:
Robert Mader 2023-02-15 13:30:43 +01:00
parent 965b220206
commit 353c1f709d

View file

@ -679,6 +679,7 @@ on_state_changed (void *data,
case PW_STREAM_STATE_STREAMING:
break;
case PW_STREAM_STATE_ERROR:
pw_stream_set_error (pwsrc->stream, -EPIPE, "%s", error);
GST_ELEMENT_ERROR (pwsrc, RESOURCE, FAILED,
("stream error: %s", error), (NULL));
break;