[gst-devel] Ignoring errors of fdsink
Arnout Vandecappelle
arnout at mind.be
Thu May 14 16:19:04 CEST 2009
Hoi all,
I have a pipeline with a tee element connected to several fdsink elements.
Each fdsink writes to a socket, which can be terminated by the remote end at
any time. If this happens, the chain function of fdsink posts an error on
the bus and returns GST_FLOW_ERROR.
Since I want the pipeline to continue when one of the clients disconnects, I
handle the error message on the bus and remove the fdsink. This often works.
Indeed, the GST_FLOW_ERROR is captured by a queue in the pipeline and doesn't
arrive at the tee element. Unfortunately, it is possible that the next
buffer is pushed into the queue before I can handle the error message. In
that case, the queue returns a GST_FLOW_ERROR as well, it goes all the way up
to the source element, which sends an EOS down the pipeline.
Is there any way to intercept the error before it passes the queue?
If there is no solution, I think I'll patch the tee element to (optionally)
ignore downstream errors until all pads are in error.
Regards,
Arnout
--
Arnout Vandecappelle arnout at mind be
Senior Embedded Software Architect +32-16-286540
Essensium/Mind http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint: D206 D44B 5155 DF98 550D 3F2A 2213 88AA A1C7 C933
More information about the gstreamer-devel
mailing list