[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