GNOME Bugzilla – Bug 582056
[asfdemux] forcing an EOS on the pipeline doesn't work with wmv files
Last modified: 2009-05-30 12:13:29 UTC
Steps to reproduce: 1. use gst_element_send_event to send gst_event_new_eos to force to end the stream 2. Sometimes get an error and sometimes doesn't do nothing Stack trace: I try to use gst_event_new_eos to force to end the stream, it works in all video formats i try, but in wmv i get errors or do nothing. Other information:
video codec : Windows Media VC-1
You must not send EOS events from the application to some element. This is only meant to be done from inside elements to downstream elements.
I send the EOS event to playbin element. With other video formats it works.
Could you attach a (gzipped) GST_DEBUG=*src:5,*demux:5 debug log?
How can I do GST_DEBUG=*src:5,*demux:5 ? I'm using pygst bindings (GStreamer for Python).
I cannot attach the log file (4Mb), so i upload to : http://www.1filesharing.com/download/16O2XJL8/log.gz
I haven't tested it, but this should fix it: commit 7c40c992388d8eaca9a8999dd281c24ccc69c99e Author: Tim-Philipp Müller <tim.muller@collabora.co.uk> Date: Fri May 29 20:07:14 2009 +0100 asfdemux: fix bogus flow return handling in eos handler Don't overwrite the origin flow return by whatever flow we get when trying to push the remaining internally queued payloads. We want to do our eos logic, ie. send an EOS event or segment-done message in any case. Makes things EOS properly when an EOS event is forced upon the pipeline so that the source returns FLOW_UNEXPECTED to a pulling asfdemux. Should fix #582056. I'm not entirely sure why you do what you do though - forcing an eos event on a playing pipeline is a slightly unusual thing to do. You might want to have a look at "gnonlin".