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 644935 - [inputselector] During switching of streams it can happen that all pads returned not-linked last
[inputselector] During switching of streams it can happen that all pads retur...
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gstreamer (core)
git master
Other Linux
: Normal blocker
: 0.10.33
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2011-03-16 17:03 UTC by Sebastian Dröge (slomo)
Modified: 2011-03-17 12:41 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
test.ogg (321.28 KB, application/octet-stream)
2011-03-16 17:21 UTC, Sebastian Dröge (slomo)
  Details
inputselector: Return GST_FLOW_OK until the selected pad pushed something downstream (2.90 KB, patch)
2011-03-16 17:21 UTC, Sebastian Dröge (slomo)
committed Details | Review

Description Sebastian Dröge (slomo) 2011-03-16 17:03:03 UTC
Switching streams if they're of the only stream type of the demuxer fails with not-linked. For example when trying to switch between two audio streams of an audio only file this happens.

Reason for this is, that in the beginning the second stream will always report not-linked to the demuxer and after the switch the first stream will report not-linked to the demuxer (unless a buffer of the second, selected stream was pushed first). This combined makes the demuxer error out.

No idea yet how this can be fixed. Maybe input-selector should return OK after a switch until the first buffer of the activated pad was pushed.
Comment 1 Sebastian Dröge (slomo) 2011-03-16 17:21:25 UTC
Created attachment 183554 [details]
test.ogg
Comment 2 Sebastian Dröge (slomo) 2011-03-16 17:21:47 UTC
Created attachment 183555 [details] [review]
inputselector: Return GST_FLOW_OK until the selected pad pushed something downstream

This makes sure that during switches at no point in time all pads
have returned not-linked, which can happen when playing an audio-only
file with playbin2 and switching between the streams for example.

Fixes bug #644935.
Comment 3 Sebastian Dröge (slomo) 2011-03-17 11:07:16 UTC
Not really a regression but should be reviewed before 0.10.33 :)
Comment 4 Sebastian Dröge (slomo) 2011-03-17 12:41:33 UTC
commit f19bb850acb3863ce1ed26407593d9ea42b78c8f
Author: Sebastian Dröge <sebastian.droege@collabora.co.uk>
Date:   Wed Mar 16 18:19:11 2011 +0100

    inputselector: Return GST_FLOW_OK until the selected pad pushed something do
    
    This makes sure that during switches at no point in time all pads
    have returned not-linked, which can happen when playing an audio-only
    file with playbin2 and switching between the streams for example.
    
    Fixes bug #644935.