Decouple display and UDP stream

I have a pipeline that displays a camera and streams it.
(This is an app I deploy). I did a check for CARRIER on the network before I multicast it.
I recently had a problem: The app-machine (linux) is plugged in but not to a DHCP server. So there was CARRIER, but no IP and video failed.
I want to decouple UDP and display so that even if network is bad or fails the display (and record) continues.
RidgeRun’s interpipe seems ideal but when I played with it, early days of development so it may be another cause, it seemed to get CPU usage from 50% to 100% (4 cameras, text overlay, clockoverlay, record, display and multicast)
Any suggestions so the UDP pipeline can freeze without affecting the display

What happens now in this case?

Will udpsink return an error or?

If so, you could add an errorignore element between the upstream tee and your udpsink (might want to set the property to make it turn errors into flow-ok instead of flow-notlinked).

Note that this won’t stop the sink from posting error messages, but it will prevent upstream elements from seeing the error and stopping streaming.

In the application you can check the source of the error message and ignore it.

UDP-1 start main pipe. Status:GST_STATE_VOID_PENDING no pending state
UDP-1 [error] received from element udpsink0: Could not get/set settings from/on resource.
UDP-1 [error] received from element udpsink0: GStreamer error: state change failed and some element failed to post a proper error message with the reason for the failure.

Thanks I’ll add the errorignore and try that

You could perhaps create a multiudpsink with no recipients initially and then add recipients with the add-client action signal once the interface is up, although I guess it will still fail to bind if there’s no interface.

The errorignore solution seems to be just-the-ticket