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