Playbin3 crashes on program switch in 'un-installed' environment
Describe your issue
When I run ./gst-env.py gst-play-1.0 /tmp/testfile.ts
,
gstreamer crashes on program switch, with the following message.
ERROR:../subprojects/gst-plugins-base/gst/playback/gstdecodebin3.c:3407:mq_slot_handle_stream_start: assertion failed: (collection)
Expected Behavior
gst-play-1.0 should continue playing the video without crashing until it finishes.
Setup
- Linux 6.9.7-arch-1
- gstreamer 1.24.5
Steps to reproduce the bug
- build gstreamer 1.24.5 from the source
- run the above
./gst-env.py gst-play-1.0...
command
I applied the two patches from archlinux's package onto the tag:1.24.5 source, partly to successfully build gst-libav with ffmpeg7, and partly to make it as close as possible as the distribution package build.
How reproducible is the bug?
Always
Solutions you have tried
- add
--use-playbin2
option togst-play-1.0
it plays testfile.ts
fine without problems past the program switch.
- use a system-installed, distribution-package version of gstreamer 1.24.5
it plays fine as well (without --use-playbin2
option).
Additional Information
I attached the log created by
./gst-env.py gst-play-1.0 --gst-debug-no-color --gst-debug '2,*parse*:8,*decodeb*:8,mpegtsbase:DEBUG,tsdemux:DEBUG' /tmp/hd-sd.ts >& /tmp/hd-sd.log
and the meson build option I used: build-options.txt
It is basically the same with the one used in archlinux to create the package. PKGBUILD
testfile.ts
(hd-sd.ts
in the attached log) contains a PMT update
where the current program changes its audio,video,sub pids, but keeps other data pids.
Before the program switch:
PAT: ts-id:[7fc1], 5 programs.
PMT: progid[0c08] PMTpid[01f0] pcr[01ff] ca_pid[0901] # of PES: 10
PES[0200]: type:MPEG2 tag:00 (mpeg2video 1440x1080 29.97fps)
PES[0210]: type:AAC tag:10 (aac 2ch 48kHz)
PES[0238]: type:Subttl tag:38 ecm:1fff
PES[0140]: type:Data tag:40
PES[0160]: type:Data tag:60
PES[0161]: type:Data tag:61
PES[0162]: type:Data tag:62
PES[0163]: type:Data tag:63
PES[0164]: type:Data tag:64
PES[0165]: type:Data tag:65
After the switch:
PMT: progid[0c08] PMTpid[01f0] pcr[01ff] ca_pid[0901] # of PES: 10
PES[0200]: type:MPEG2 tag:00 (mpeg2video 720x480 29.97fps)
PES[0210]: type:AAC tag:10 (aac 2ch 48kHz)
PES[0238]: type:Subttl tag:38 ecm:1fff
PES[0140]: type:Data tag:40
PES[0160]: type:Data tag:60
PES[0161]: type:Data tag:61
PES[0162]: type:Data tag:62
PES[0163]: type:Data tag:63
PES[0164]: type:Data tag:64
PES[0165]: type:Data tag:65