GNOME Bugzilla – Bug 338062
metadata reader gets lots of 'internal data flow' errors
Last modified: 2006-04-17 05:52:02 UTC
I see a lot of 'internal data flow error' messages when importing directories with various non-audio files.
Created attachment 63268 [details] [review] patch - always link decoded pads to fakesink, otherwise we'll randomly get internal data flow errors, depending on which thread runs next - stop the pipeline in the unknown-type handler, except if the handler was called on a task thread - ignore really small files for which we don't get a mime type
Looks sane to me, and seems to work okay. Is the a reason (other that a bug in gstreamer) that we can't set the pipline state in the task thread?
Setting the pipeline state to NULL involves stopping the task thread, and you can't do that from the task thread itself. We only get the unknown-type signal on a task thread when the demuxer uses a thread to parse the container. I think I've only seen it happen with asfdemux.
Looks fine to commit to me.
OK, committed. The final mechanism I used to shut the pipeline down when decodebin emits an unknown-type signal is to post an error on the bus. This is roughly what playbin does, and it seems to work perfectly for every type of file I've tried.