GNOME Bugzilla – Bug 588205
Pipeline with giostreamsrc will not enter playing state
Last modified: 2009-07-10 05:22:02 UTC
Please describe the problem: I am having trouble developing an application that makes use of giostreamsrc. I've attached a simplified program that operates similarly to how my application does. The only big difference is that I don't provide a "new-buffer" callback to appsink (whereas my application does). Despite this, the test program seems to exhibit the same behavior as my application: ./a.out short.mp3, a very short MP3 (2-3 seconds): Seems to work. Prints "done." ./a.out typical.mp3, an MP3 of typical length: Seemingly endless: [...] 0:00:27.070157260 18595 0x82e04c0 INFO GST_PADS gstpad.c: 1805:gst_pad_link_prepare: trying to link id3demux197:src and id3demux198:sink 0:00:27.070805108 18595 0x82e04c0 INFO GST_PADS gstpad.c: 1942:gst_pad_link: linked id3demux197:src and id3demux198:sink, successful 0:00:27.071398759 18595 0x82e04c0 INFO GST_ELEMENT_PADS gstelement.c:882:gst_element_get_static_pad: no such pad 'src' in element "id3demux198" 0:00:27.158970528 18595 0x82e04c0 INFO typefindfunctions gsttypefindfunctions.c:906:mp3_type_find_at_offset: audio/mpeg calculated 86 = 100 * 5 / 5 * (10000 - 1325) / 10000 0:00:27.236719538 18595 0x82e04c0 INFO default gsttypefindhelper.c:186:helper_find_peek: typefind function returned: unexpected 0:00:27.288706606 18595 0x82e04c0 INFO GST_ELEMENT_PADS gstelement.c:639:gst_element_add_pad:<id3demux198> adding pad 'src' 0:00:27.290270213 18595 0x82e04c0 INFO GST_ELEMENT_FACTORY gstelementfactory.c:399:gst_element_factory_create: creating element "id3demux" 0:00:27.291146023 18595 0x82e04c0 INFO GST_ELEMENT_PADS gstelement.c:639:gst_element_add_pad:<GstTagDemux@0x840d4f8> adding pad 'sink' 0:00:27.291785211 18595 0x82e04c0 INFO GST_ELEMENT_PADS gstelement.c:885:gst_element_get_static_pad: found pad id3demux199:sink 0:00:27.292784500 18595 0x82e04c0 INFO GST_STATES gstelement.c:2150:gst_element_continue_state:<id3demux199> completed state change to READY 0:00:27.293315853 18595 0x82e04c0 INFO GST_STATES gstelement.c:2163:gst_element_continue_state:<id3demux199> posting state-changed NULL to READY [...] ./a.out foo.ogg, a typical OGG Vorbis file: [...] 0:00:00.485567715 18590 0x8b9d768 WARN oggdemux gstoggdemux.c:2377:gst_ogg_demux_read_chain:<oggdemux0> page is not BOS page 0:00:00.492683705 18590 0x8b9d768 WARN oggdemux gstoggdemux.c:2399:gst_ogg_demux_read_chain:<oggdemux0> no chain was found 0:00:00.493087387 18590 0x8b9d768 WARN oggdemux gstoggdemux.c:2758:gst_ogg_demux_find_chains:<oggdemux0> error: can't get first chain 0:00:00.493919616 18590 0x8b9d768 INFO GST_ERROR_SYSTEM gstelement.c:1675:gst_element_message_full:<oggdemux0> posting message: Could not demultiplex stream. 0:00:00.494615236 18590 0x8b9d768 INFO GST_ERROR_SYSTEM gstelement.c:1698:gst_element_message_full:<oggdemux0> posted error message: Could not demultiplex stream. 0:00:00.495798068 18590 0x8b9d768 WARN oggdemux gstoggdemux.c:3151:gst_ogg_demux_loop:<oggdemux0> error: Internal data stream error. 0:00:00.496323554 18590 0x8b9d768 WARN oggdemux gstoggdemux.c:3151:gst_ogg_demux_loop:<oggdemux0> error: stream stopped, reason error 0:00:00.496935084 18590 0x8b9d768 INFO GST_ERROR_SYSTEM gstelement.c:1675:gst_element_message_full:<oggdemux0> posting message: Internal data stream error. 0:00:00.497469789 18590 0x8b9d768 INFO GST_ERROR_SYSTEM gstelement.c:1698:gst_element_message_full:<oggdemux0> posted error message: Internal data stream error. 0:00:00.498426615 18590 0x8ac94c0 INFO GST_STATES gstbin.c: 2355:gst_bin_change_state_func:<pipeline> child 'src' changed state to 3(PAUSED) successfully 0:00:00.499175593 18590 0x8ac94c0 INFO GST_STATES gstbin.c: 1659:gst_bin_get_state_func:<pipeline> getting state 0:00:00.499767568 18590 0x8ac94c0 INFO GST_STATES gstelement.c:1898:gst_element_get_state_func:<pipeline> waiting for element to commit state 0:00:05.499873727 18590 0x8ac94c0 INFO GST_STATES gstelement.c:1902:gst_element_get_state_func:<pipeline> timed out ** (a.out:18590): WARNING **: State change failed for stream. ** (a.out:18590): WARNING **: done Steps to reproduce: Actual results: Expected results: Does this happen every time? Other information:
Created attachment 138161 [details] Test program that demonstrated the behavior documented in this report.
This bug seems to be fixed by: commit b9c79380aa07e3cf2c00a190bbbcb0b0c252df96 Author: Sebastian Dröge <sebastian.droege@collabora.co.uk> Date: Thu Jul 9 13:45:13 2009 +0200 gio: Make sure that we have the correct stream position when starting