multiple uridecodebin file playback using concat errors out with not-linked
Describe your issue
Playing two tracks in succession using concat ends up with streaming stopped not linked error
Expected Behavior
Playback of audio files
Observed Behavior
No playback
Setup
- Operating System: Linux Mint
- Device: Computer - intel i5
- GStreamer Version: - 1.23.0 - build with meson
- Command line:
Steps to reproduce the bug
- open terminal
- type
GST_DEBUG=3 gst-launch-1.0 uridecodebin uri="file://``pwd``/test.aiff" ! concat name=c ! audioconvert ! alsasink uridecodebin uri="file://``pwd``/test.aiff" ! c.
How reproducible is the bug?
Intermittent
Solutions you have tried
fix = add identity element between uridecodebin and concat.
Related non-duplicate issues
Additional Information
0:00:00.054162943 2032439 0x55fe29a6cd80 WARN aiffparse aiffparse.c:1533:gst_aiff_parse_loop: error: Internal data stream error. 0:00:00.054176752 2032439 0x55fe29a6cd80 WARN aiffparse aiffparse.c:1533:gst_aiff_parse_loop: error: streaming stopped, reason not-linked (-1)
IRC:
15:39 < thaytan[m]> In that pipeline, both uridecodebin will race to generate srcpads and request pads from concat - whichever one manages to decode and create a srcpad on uridecodebin will get linked to concat first
15:40 < thaytan[m]> and if they both happen at the same time, you could plausibly have a concat with an existing sink_0 pad created and about to be linked, but not linked yet - just as the 2nd uridecodebin outputs a pad and goes looking for a pad to link to
It happens also with wav.. maybe others (not tested)
Attached test aiff file.