GNOME Bugzilla – Bug 340772
[qtdemux] bails out on Meet The Robinsons trailer
Last modified: 2006-05-08 11:36:00 UTC
qtdemux doesn't particularly like this file: http://movies.apple.com/trailers/disney/meettherobinsons/images/play_large20060421.mov qtdemux( 1911) qtdemux.c(1667):gst_qtdemux_chain:<qtdemux0> bumping offset:761 up by 7841 qtdemux( 1911) qtdemux.c(1669):gst_qtdemux_chain:<qtdemux0> offset is now 8602 qtdemux( 1911) qtdemux.c(1436):next_entry_size:<qtdemux0> Finding entry at offset 8602 qtdemux.c(1445):next_entry_size:<qtdemux0> Checking Stream 0 (sample_index:1 / offset:0 / size:57 / chunk:0) qtdemux.c(1456):next_entry_size:<qtdemux0> stream 0 offset 0 demux->offset :8602 qtdemux.c(1469):next_entry_size:<qtdemux0> There wasn't any entry at offset 8602 qtdemux.c(1701):gst_qtdemux_chain:<qtdemux0> no next entry, EOS gstpad.c(3228):gst_pad_chain:<qtdemux0:sink> called chainfunction &0xb4688619 of pad qtdemux0:sink, returned unexpected and then: basesrc( 1911) gstbasesrc.c(1498):gst_base_src_loop:<source> error: Internal data flow error. basesrc( 1911) gstbasesrc.c(1498):gst_base_src_loop:<source> error: streaming task paused, reason unexpected gstelement.c(1494):gst_element_message_full:<source> posting message: Internal data flow error.
this is a file with 1 jpeg image. shows fine in playbin and seek. qtdemux does the right thing looking at the debug logs. What were you expecting?
I expect it not to throw an 'Internal Data Flow' error, which is what happens for me in totem (is base source supposed to do that for FLOW_UNEXPECTED anyway?) This only happens when playing directly from the http URI, when playing the local file it's all fine.
ah, ok, did not try push based mode. BaseSrc should not throw an error when downstream returns an UNEXPECTED (EOS) but should just EOS gracefully.
* libs/gst/base/gstbasesrc.c: (gst_base_src_loop): Unify error handling, don't post an error message when a push() returns EOS but perform our normal EOS handling code. Fixes #340772.