Hi Tim, For that case, demuxer should not send ERROR message to bus, just stop streaming task, only decoder does it, right ? Best Regards Zhao Liang -----Original Message----- From: gstreamer-embedded-bounces at lists.sourceforge.net [mailto:gstreamer-embedded-bounces at lists.sourceforge.net] On Behalf Of Tim M?ller Sent: Tuesday, June 10, 2008 4:59 PM To: gstreamer-embedded at lists.sourceforge.net Subject: Re: questions on gst_pad_push() to sendaudio/video data to codec On Tue, 2008-06-10 at 09:35 +0800, Zhao Bin-E6223C wrote: > If your audio device is not available or your decoder meet some error, > the data flow will return data_error sometime. Do you handle the error > in demux element? > > It's better to handle the error in the element where happens and do > nothing in demux. Because the occasional data flow error don't effect > the pipline playback. This is not really how it's supposed to work. If a downstream element returns GST_FLOW_ERROR (-5), this indicates a fatal error, and streaming should usually stop. A demuxer that is chain-based should pass GST_FLOW_ERROR back upstream by returning that from its chain function; a demuxer driving the pipeline should stop its streaming task. The downstream element which has returned GST_FLOW_ERROR (which may be the decoder, but it could be any element downstream of that as well) should have posted an error message on the bus (via GST_ELEMENT_ERROR() ususally) with more details. Did you check for error messages on the bus? Cheers -Tim ------------------------------------------------------------------------- Check out the new SourceForge.net Marketplace. It's the best place to buy or sell services for just about anything Open Source. http://sourceforge.net/services/buy/index.php _______________________________________________ Gstreamer-embedded mailing list Gstreamer-embedded at lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/gstreamer-embedded