GNOME Bugzilla – Bug 600412
[asfdemux] Wrong handling of downstream GstFlowReturn
Last modified: 2010-09-09 20:00:34 UTC
Created attachment 146743 [details] Debug-Logfile of trying to import WMV into PiTiVi Trying to import WMV-media gets a timeout after some seconds. An error-notifaction is then shown by PiTiVi. On IRC's #pitivi, 'twi_' has already confirmed the bug after analyzing the generated debug-log (see attachment). The most likely cause for this bug is WMA2-audio, because it is the common denominator between several WMVs that have been tested. Here's a video that causes the bug for testing-purposes: http://www.rxnm.net/video/UAS-WMV2.wmv (Sorry for the controversial content... I really tried to find something with LoLCats in it... but older WMVs seem to import just fine!)
*** Bug 603451 has been marked as a duplicate of this bug. ***
I have this problem with many many files. I know it's a crappy MS codec, but there is a ton of existing content.
The issue is in asfdemux. The problem is that it errors out if downstream returns GST_FLOW_UNEXPECTED (like if we use a image encoder in snapshot mode). This is not standard behaviour for a demuxer, all other demuxers that receive GST_FLOW_UNEXPECTED will push an EOS on all pads and silently stop.
Created attachment 168912 [details] [review] asfdemux: Don't error out on non-critical flow returns Only error out when downstream returns: * NOT_SUPPORTED * ERROR * NOT_NEGOTIATED * NOT_LINKED If we got _UNEXPECTED, we push an EOS downstream (since maybe only one of the streams had gone EOS) and then stop the task silently. In the case of WRONG_STATE we just need to stop silently
commit 776a09149ed3c08cad02c3746381bd701bf5b1e1 Author: Edward Hervey <bilboed@bilboed.com> Date: Fri Aug 27 17:50:59 2010 +0200 asfdemux: Don't error out on non-critical flow returns Only error out when downstream returns: * NOT_SUPPORTED * ERROR * NOT_NEGOTIATED * NOT_LINKED If we got _UNEXPECTED, we push an EOS downstream (since maybe only one of the streams had gone EOS) and then stop the task silently. In the case of WRONG_STATE we just need to stop silently https://bugzilla.gnome.org/show_bug.cgi?id=600412
*** Bug 609660 has been marked as a duplicate of this bug. ***