Pipeline with audiomixer won't play unless GST_DEBUG=6 or GST_DEBUG=5 is present
Continuing from the fun in #795 (closed), I have the following pipeline on macOS with https://joshmatthews.net/bridgeoverstubbledwater.mp4 and https://joshmatthews.net/whiskerstroubled2.mov:
gst-launch-1.0 audiomixer name=amixer ! audioconvert ! audioresample ! autoaudiosink \
filesrc location=/Users/jdm/Documents/whiskerstroubled2.mov ! decodebin ! audioconvert ! audioresample ! amixer. \
filesrc location=/Users/jdm/Documents/bridgeoverstubbledwater.mp4 ! decodebin ! audioconvert ! audioresample ! amixer.
When I launch this pipeline, it doesn't start playing. GST_DEBUG=3 shows:
[gst-master] bash-3.2$ GST_DEBUG=3 ~/mix2.sh
Setting pipeline to PAUSED ...
0:00:00.067266000 62956 0x7fe3de81b180 WARN aggregator gstaggregator.c:1946:gst_aggregator_query_latency_unlocked:<amixer> Latency query failed
0:00:00.067288000 62956 0x7fe3dd615af0 WARN basesrc gstbasesrc.c:3688:gst_base_src_start_complete:<filesrc1> pad not activated yet
0:00:00.067472000 62956 0x7fe3dd615af0 WARN basesrc gstbasesrc.c:3688:gst_base_src_start_complete:<filesrc0> pad not activated yet
Pipeline is PREROLLING ...
0:00:00.080537000 62956 0x7fe3de81b2a0 WARN qtdemux qtdemux_types.c:245:qtdemux_type_get: unknown QuickTime node type .xyz
0:00:00.080554000 62956 0x7fe3de81b2a0 WARN qtdemux qtdemux_types.c:245:qtdemux_type_get: unknown QuickTime node type keys
0:00:00.080562000 62956 0x7fe3de81b2a0 WARN qtdemux qtdemux_types.c:245:qtdemux_type_get: unknown QuickTime node type ....
0:00:00.080567000 62956 0x7fe3de81b2a0 WARN qtdemux qtdemux_types.c:245:qtdemux_type_get: unknown QuickTime node type ....
0:00:00.080580000 62956 0x7fe3de81b2a0 WARN qtdemux qtdemux_types.c:245:qtdemux_type_get: unknown QuickTime node type pasp
0:00:00.080538000 62956 0x7fe3de81b300 WARN qtdemux qtdemux_types.c:245:qtdemux_type_get: unknown QuickTime node type pasp
0:00:00.080628000 62956 0x7fe3de81b2a0 WARN qtdemux qtdemux.c:3057:qtdemux_parse_trex:<qtdemux1> failed to find fragment defaults for stream 1
0:00:00.080643000 62956 0x7fe3de81b300 WARN qtdemux qtdemux_types.c:245:qtdemux_type_get: unknown QuickTime node type keys
0:00:00.080651000 62956 0x7fe3de81b300 WARN qtdemux qtdemux_types.c:245:qtdemux_type_get: unknown QuickTime node type ....
0:00:00.080655000 62956 0x7fe3de81b300 WARN qtdemux qtdemux_types.c:245:qtdemux_type_get: unknown QuickTime node type ....
0:00:00.080660000 62956 0x7fe3de81b300 WARN qtdemux qtdemux_types.c:245:qtdemux_type_get: unknown QuickTime node type keys
0:00:00.080664000 62956 0x7fe3de81b300 WARN qtdemux qtdemux_types.c:245:qtdemux_type_get: unknown QuickTime node type ....
0:00:00.080710000 62956 0x7fe3de81b2a0 WARN qtdemux qtdemux.c:3057:qtdemux_parse_trex:<qtdemux1> failed to find fragment defaults for stream 2
0:00:00.080736000 62956 0x7fe3de81b300 WARN qtdemux qtdemux_types.c:245:qtdemux_type_get: unknown QuickTime node type ....
0:00:00.080765000 62956 0x7fe3de81b300 WARN qtdemux qtdemux_types.c:245:qtdemux_type_get: unknown QuickTime node type ....
0:00:00.080772000 62956 0x7fe3de81b300 WARN qtdemux qtdemux_types.c:245:qtdemux_type_get: unknown QuickTime node type ....
0:00:00.080817000 62956 0x7fe3de81b300 WARN qtdemux qtdemux.c:3057:qtdemux_parse_trex:<qtdemux0> failed to find fragment defaults for stream 1
0:00:00.080881000 62956 0x7fe3de81b300 WARN qtdemux qtdemux.c:3057:qtdemux_parse_trex:<qtdemux0> failed to find fragment defaults for stream 2
0:00:00.088083000 62956 0x7fe3de81b300 FIXME videodecoder gstvideodecoder.c:1049:gst_video_decoder_drain_out:<vtdechw0> Sub-class should implement drain()
Redistribute latency...
0:00:00.121603000 62956 0x7fe3de81b2a0 FIXME videodecoder gstvideodecoder.c:1049:gst_video_decoder_drain_out:<vtdechw1> Sub-class should implement drain()
Redistribute latency...
0:00:00.126470000 62956 0x7fe3de81b300 FIXME videodecoder gstvideodecoder.c:1049:gst_video_decoder_drain_out:<vtdechw0> Sub-class should implement drain()
0:00:00.128649000 62956 0x7fe3de81b2a0 FIXME videodecoder gstvideodecoder.c:1049:gst_video_decoder_drain_out:<vtdechw1> Sub-class should implement drain()
0:00:00.141304000 62956 0x7fe3de81b180 WARN aggregator gstaggregator.c:1946:gst_aggregator_query_latency_unlocked:<amixer> Latency query failed
Redistribute latency...
0:00:00.157926000 62956 0x7fe3de81b360 WARN GST_PADS gstpad.c:4303:gst_pad_peer_query:<audioresample2:src> could not send sticky events
However, trying to get a GST_DEBUG=5 or GST_DEBUG=6 log causes the pipeline to play as expected; any lower level plays nothing. Looks like there's some kind of timing race that the extra logging happens to work around?