After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 546859 - Asfdemux doesn't properly error out on not-linked
Asfdemux doesn't properly error out on not-linked
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-ugly
0.10.9
Other Linux
: Normal major
: 0.10.10
Assigned To: Edward Hervey
GStreamer Maintainers
: 561118 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2008-08-07 20:34 UTC by Michael Smith
Modified: 2008-11-19 11:07 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Implement flow aggregation and error posting (4.83 KB, patch)
2008-08-07 20:35 UTC, Michael Smith
none Details | Review
Fix up EOS cases (4.96 KB, patch)
2008-08-07 20:46 UTC, Michael Smith
none Details | Review
No really, this time it works (6.15 KB, patch)
2008-08-07 21:01 UTC, Michael Smith
none Details | Review
Fix for the already committed code. (1.09 KB, patch)
2008-08-28 09:37 UTC, Edward Hervey
committed Details | Review

Description Michael Smith 2008-08-07 20:34:58 UTC
asfdemux doesn't aggregate flow returns (but special cases NOT_LINKED in one spot to just ignore it).

Further, when shutting down due to any error, it doesn't post an error message, so the pipeline doesn't get stopped.

Attached patch fixes both of these, now filesrc ! decodebin ! fakesink with no decoder installed for the file properly errors out.
Comment 1 Michael Smith 2008-08-07 20:35:56 UTC
Created attachment 116093 [details] [review]
Implement flow aggregation and error posting
Comment 2 Michael Smith 2008-08-07 20:46:48 UTC
Created attachment 116095 [details] [review]
Fix up EOS cases

The previous version didn't EOS correctly. This one does.
Comment 3 Michael Smith 2008-08-07 21:01:06 UTC
Created attachment 116097 [details] [review]
No really, this time it works

This one I've actually tested...
Comment 4 Michael Smith 2008-08-11 18:46:21 UTC
2008-08-11  Michael Smith <msmith@songbirdnest.com>

    * gst/asfdemux/gstasfdemux.c:
      Properly aggregate flow returns for both push and pull mode, so we shut
      down if all pads are unlinked.
      Fixes #546859.
Comment 5 Edward Hervey 2008-08-28 09:33:16 UTC
That patch is wrong.

When using aggregated GST_FLOW_RETURN, you should only post an error, when the aggregation is (GST_FLOW_IS_FATAL (flow) || flow == GST_FLOW_NOT_LINKED)
Comment 6 Edward Hervey 2008-08-28 09:37:49 UTC
Created attachment 117510 [details] [review]
Fix for the already committed code.
Comment 7 Edward Hervey 2008-08-28 10:00:27 UTC
2008-08-28  Edward Hervey  <edward.hervey@collabora.co.uk>

        * gst/asfdemux/gstasfdemux.c: (gst_asf_demux_loop):
        Fix aggregated GST_FLOW_RETURN check for when to send an error message
        on the bus.
        Re-fixes #546859

Comment 8 Edward Hervey 2008-11-17 08:29:52 UTC
*** Bug 561118 has been marked as a duplicate of this bug. ***
Comment 9 Edward Hervey 2008-11-19 11:07:56 UTC
*** Bug 561118 has been marked as a duplicate of this bug. ***