GStreamer issueshttps://gitlab.freedesktop.org/groups/gstreamer/-/issues2024-03-06T08:06:13Zhttps://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3276hlsdemux2: Add support for any elementary stream fragment2024-03-06T08:06:13ZHauke Mehrtenshlsdemux2: Add support for any elementary stream fragmentplaybin3 using hlsdemux2 fails to play some streams using gstreamer 1.22.9, but it works fine in gstreamer 1.20.4.
It fails like this:
````
# GST_DEBUG=3,hlsdemux2:5,hlsdemux:5 gst-launch-1.0 playbin3 -v uri='http://live.ximalaya.com/ra...playbin3 using hlsdemux2 fails to play some streams using gstreamer 1.22.9, but it works fine in gstreamer 1.20.4.
It fails like this:
````
# GST_DEBUG=3,hlsdemux2:5,hlsdemux:5 gst-launch-1.0 playbin3 -v uri='http://live.ximalaya.com/radio-first-page-app/live/1661/24.m3u8'
....
0:00:03.708010500 31341 0x7f6fc402ec80 WARN hlsdemux2 gsthlsdemux.c:1193:gst_hls_demux_typefind_stream:<hlsstream-variant> Unsupported stream type audio/mpeg, framed=(boolean)false, mpegversion=(int)4, stream-format=(string)adts, level=(string)1, base-profile=(string)lc, profile=(string)lc, channels=(int)1, rate=(int)22050
0:00:03.708019788 31341 0x7f6fc402ec80 DEBUG hlsdemux2 gsthlsdemux.c:1603:gst_hls_demux_stream_handle_buffer:<hlsstream-variant> Returning error
0:00:03.708032271 31341 0x7f6fc402ec80 WARN adaptivedemux2 gstadaptivedemux-stream.c:778:gst_adaptive_demux2_stream_parse_buffer:<hlsdemux2-0> error: Internal data stream error.
0:00:03.708039405 31341 0x7f6fc402ec80 WARN adaptivedemux2 gstadaptivedemux-stream.c:778:gst_adaptive_demux2_stream_parse_buffer:<hlsdemux2-0> error: streaming stopped, reason error (-5)
ERROR: from element /GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3/GstURISourceBin:urisourcebin0/GstHLSDemux2:hlsdemux2-0: Internal data stream error.
````
<details>
<summary>
Full log
</summary>
````
# GST_DEBUG=3,hlsdemux2:5,hlsdemux:5 gst-launch-1.0 playbin3 -v uri='http://live.ximalaya.com/radio-first-page-app/live/1661/24.m3u8'
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3/GstDecodebin3:decodebin3-0: caps = video/x-raw(ANY); audio/x-raw(ANY); text/x-raw(ANY); subpicture/x-dvd; subpicture/x-dvb; subpicture/x-xsub; subpicture/x-pgs; closedcaption/x-cea-608; closedcaption/x-cea-708; application/x-onvif-metadata
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3/GstURISourceBin:urisourcebin0: source = "\(GstSoupHTTPSrc\)\ souphttpsrc0"
0:00:00.016016800 31341 0x558c8905ce90 WARN structure gststructure.c:2093:priv_gst_structure_append_to_gstring: No value transform to serialize field 'session' of type 'GstSoupSession'
Got context from element 'souphttpsrc0': gst.soup.session=context, session=(GstSoupSession)NULL;
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3/GstURISourceBin:urisourcebin0/GstTypeFindElement:typefindelement0.GstPad:src: caps = application/x-hls
0:00:00.714743378 31341 0x7f6fc0000b70 DEBUG hlsdemux2 gsthlsdemux.c:2607:gst_hls_demux_reset:<hlsdemux2-0> resetting
0:00:00.714769808 31341 0x7f6fc0000b70 DEBUG hlsdemux2 gsthlsdemux.c:2607:gst_hls_demux_reset:<hlsdemux2-0> resetting
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3/GstURISourceBin:urisourcebin0/GstHLSDemux2:hlsdemux2-0.GstPad:sink: caps = application/x-hls
0:00:00.714987228 31341 0x7f6fc0000b70 INFO hlsdemux2 gsthlsdemux.c:889:gst_hls_demux_process_manifest:<hlsdemux2-0> Initial playlist location: http://live.ximalaya.com/radio-first-page-app/live/1661/24.m3u8 (base uri: (null))
0:00:00.715031792 31341 0x7f6fc0000b70 INFO hlsdemux2 gsthlsdemux.c:934:gst_hls_demux_process_manifest:<hlsdemux2-0> Manifest processed, initial variant selected : `media-playlist`
0:00:00.715043324 31341 0x7f6fc0000b70 DEBUG hlsdemux2 gsthlsdemux.c:875:gst_hls_demux_set_current_variant:<hlsdemux2-0> Setting variant 'media-playlist'
0:00:00.715050537 31341 0x7f6fc0000b70 DEBUG hlsdemux2 gsthlsdemux.c:939:gst_hls_demux_process_manifest:<hlsdemux2-0> Manifest handled, now setting up streams
0:00:00.715057080 31341 0x7f6fc0000b70 DEBUG hlsdemux2 gsthlsdemux.c:797:gst_hls_demux_setup_streams:<hlsdemux2-0> Setting up streams
0:00:00.715063983 31341 0x7f6fc0000b70 DEBUG hlsdemux2 gsthlsdemux.c:713:create_main_variant_stream:<hlsdemux2-0> Creating main variant stream
0:00:00.715094159 31341 0x7f6fc0000b70 DEBUG hlsdemux2 gsthlsdemux.c:2096:setup_initial_playlist:<hlsdemux2-0> Setting up initial variant segment and time mapping
0:00:00.715105781 31341 0x7f6fc0000b70 DEBUG hlsdemux2 gsthlsdemux.c:1995:gst_hls_demux_add_time_mapping:<hlsdemux2-0> New mapping, dsn:0 stream_time:0:00:00.000000000 pdt:(null)
0:00:00.715135527 31341 0x7f6fc0000b70 DEBUG hlsdemux2 gsthlsdemux.c:2365:gst_hls_demux_stream_update_fragment_info:<hlsstream-variant> Updating fragment information, current_position:99:99:99.999999999
0:00:00.715148171 31341 0x7f6fc0000b70 DEBUG hlsdemux2 gsthlsdemux.c:2405:gst_hls_demux_stream_update_fragment_info:<hlsstream-variant> Current segment stream_time +0:00:07.000000000
0:00:00.715157008 31341 0x7f6fc0000b70 DEBUG hlsdemux2 gsthlsdemux.c:2453:gst_hls_demux_stream_update_fragment_info:<hlsstream-variant> Stream URI now http://broadcast.tx.xmcdn.com/live/1661_24_240206_000127_276f.aac
0:00:00.715234113 31341 0x7f6fc402ec80 DEBUG hlsdemux2 gsthlsdemux.c:2480:gst_hls_demux_stream_can_start:<hlsstream-variant> is_variant:1 mappings:0x7f6fc4031560
0:00:00.715255544 31341 0x7f6fc402ec80 DEBUG hlsdemux2 gsthlsdemux.c:2983:gst_hls_demux_get_manifest_update_interval:<hlsdemux2-0> Returning update interval of 0:00:07.000000000
0:00:00.715274229 31341 0x7f6fc402ec80 DEBUG hlsdemux2 gsthlsdemux.c:2365:gst_hls_demux_stream_update_fragment_info:<hlsstream-variant> Updating fragment information, current_position:0:00:07.000000000
0:00:00.715285700 31341 0x7f6fc402ec80 DEBUG hlsdemux2 gsthlsdemux.c:2405:gst_hls_demux_stream_update_fragment_info:<hlsstream-variant> Current segment stream_time +0:00:07.000000000
0:00:00.715295469 31341 0x7f6fc402ec80 DEBUG hlsdemux2 gsthlsdemux.c:2453:gst_hls_demux_stream_update_fragment_info:<hlsstream-variant> Stream URI now http://broadcast.tx.xmcdn.com/live/1661_24_240206_000127_276f.aac
0:00:03.706684170 31341 0x7f6fc402ec80 DEBUG hlsdemux2 gsthlsdemux.c:1057:gst_hls_demux_stream_start_fragment:<hlsstream-variant> Fragment starting
0:00:03.706715459 31341 0x7f6fc402ec80 DEBUG hlsdemux2 gsthlsdemux.c:358:gst_hls_demux_stream_clear_pending_data:<hlsstream-variant> force : 0
0:00:03.706729215 31341 0x7f6fc402ec80 DEBUG hlsdemux2 gsthlsdemux.c:1513:gst_hls_demux_stream_handle_buffer:<hlsstream-variant> buffer:0x7f6fb0006910 at_eos:0 do_typefind:1 uri:http://broadcast.tx.xmcdn.com/live/1661_24_240206_000127_276f.aac
0:00:03.707990863 31341 0x7f6fc402ec80 DEBUG hlsdemux2 gsthlsdemux.c:1187:gst_hls_demux_typefind_stream:<hlsstream-variant> Typefind result: audio/mpeg, framed=(boolean)false, mpegversion=(int)4, stream-format=(string)adts, level=(string)1, base-profile=(string)lc, profile=(string)lc, channels=(int)1, rate=(int)22050 prob:100
0:00:03.708010500 31341 0x7f6fc402ec80 WARN hlsdemux2 gsthlsdemux.c:1193:gst_hls_demux_typefind_stream:<hlsstream-variant> Unsupported stream type audio/mpeg, framed=(boolean)false, mpegversion=(int)4, stream-format=(string)adts, level=(string)1, base-profile=(string)lc, profile=(string)lc, channels=(int)1, rate=(int)22050
0:00:03.708019788 31341 0x7f6fc402ec80 DEBUG hlsdemux2 gsthlsdemux.c:1603:gst_hls_demux_stream_handle_buffer:<hlsstream-variant> Returning error
0:00:03.708032271 31341 0x7f6fc402ec80 WARN adaptivedemux2 gstadaptivedemux-stream.c:778:gst_adaptive_demux2_stream_parse_buffer:<hlsdemux2-0> error: Internal data stream error.
0:00:03.708039405 31341 0x7f6fc402ec80 WARN adaptivedemux2 gstadaptivedemux-stream.c:778:gst_adaptive_demux2_stream_parse_buffer:<hlsdemux2-0> error: streaming stopped, reason error (-5)
ERROR: from element /GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3/GstURISourceBin:urisourcebin0/GstHLSDemux2:hlsdemux2-0: Internal data stream error.
Additional debug info:
../ext/adaptivedemux2/gstadaptivedemux-stream.c(778): gst_adaptive_demux2_stream_parse_buffer (): /GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3/GstURISourceBin:urisourcebin0/GstHLSDemux2:hlsdemux2-0:
streaming stopped, reason error (-5)
ERROR: pipeline doesn't want to preroll.
0:00:03.708149753 31341 0x7f6fc402ec80 WARN typefind gsttypefindelement.c:1012:gst_type_find_element_chain_do_typefinding:<typefind> error: Stream doesn't contain enough data.
0:00:03.708165743 31341 0x7f6fc402ec80 WARN typefind gsttypefindelement.c:1012:gst_type_find_element_chain_do_typefinding:<typefind> error: Can't typefind stream
0:00:03.708190239 31341 0x7f6fc402ec80 WARN adaptivedemux2 gstadaptivedemux.c:1531:gst_adaptive_demux_handle_message:<hlsdemux2-0> Source posted error: 2036:4 Stream doesn't contain enough data. (../plugins/elements/gsttypefindelement.c(1012): gst_type_find_element_chain_do_typefinding (): /GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3/GstURISourceBin:urisourcebin0/GstHLSDemux2:hlsdemux2-0/GstParseBin:parsebin0/GstTypeFindElement:typefind:
Can't typefind stream)
Setting pipeline to NULL ...
0:00:03.708456942 31341 0x558c8905ce90 DEBUG hlsdemux2 gsthlsdemux.c:2607:gst_hls_demux_reset:<hlsdemux2-0> resetting
0:00:03.708472120 31341 0x558c8905ce90 DEBUG hlsdemux2 gsthlsdemux.c:358:gst_hls_demux_stream_clear_pending_data:<hlsstream-variant> force : 1
0:00:03.708627533 31341 0x558c8905ce90 DEBUG hlsdemux2 gsthlsdemux.c:2607:gst_hls_demux_reset:<hlsdemux2-0> resetting
0:00:03.708857417 31341 0x558c8905ce90 DEBUG hlsdemux2 gsthlsdemux.c:2607:gst_hls_demux_reset:<hlsdemux2-0> resetting
Freeing pipeline ...
# gst-launch-1.0 --version
gst-launch-1.0 version 1.22.9
GStreamer 1.22.9
Unknown package origin
#
`````
</details>
When I am using gstreamer 1.20.4 it works fine:
<details>
`````
# GST_DEBUG=3,hlsdemux2:5,hlsdemux:5 gst-launch-1.0 playbin3 -v uri='http://live.ximalaya.com/radio-first-page-app/live/1661/24.m3u8'
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0: ring-buffer-max-size = 0
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0: buffer-size = -1
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0: buffer-duration = -1
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0: use-buffering = true
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0: download = false
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0: uri = http://live.ximalaya.com/radio-first-page-app/live/1661/24.m3u8
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0: connection-speed = 0
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstDecodebin3:decodebin3-0: caps = video/x-raw(ANY); audio/x-raw(ANY); text/x-raw(ANY); subpicture/x-dvd; subpicture/x-dvb; subpicture/x-xsub; subpicture/x-pgs; closedcaption/x-cea-608; closedcaption/x-cea-708
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstURISourceBin:urisourcebin0: source = "\(GstSoupHTTPSrc\)\ souphttpsrc0"
0:00:00.016128581 24711 0x55878ea09250 WARN structure gststructure.c:2091:priv_gst_structure_append_to_gstring: No value transform to serialize field 'session' of type 'GstSoupSession'
Got context from element 'souphttpsrc0': gst.soup.session=context, session=(GstSoupSession)NULL;
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstURISourceBin:urisourcebin0/GstTypeFindElement:typefindelement0.GstPad:src: caps = application/x-hls
0:00:00.753942138 24711 0x7f74b8000b90 DEBUG hlsdemux gsthlsdemux.c:1340:gst_hls_demux_reset:<hlsdemux0> resetting
0:00:00.753961104 24711 0x7f74b8000b90 DEBUG hlsdemux gsthlsdemux.c:1359:gst_hls_demux_reset:<hlsdemux0> Streams aware : 1
0:00:00.753973939 24711 0x7f74b8000b90 DEBUG hlsdemux gsthlsdemux.c:1340:gst_hls_demux_reset:<hlsdemux0> resetting
0:00:00.753983908 24711 0x7f74b8000b90 DEBUG hlsdemux gsthlsdemux.c:1359:gst_hls_demux_reset:<hlsdemux0> Streams aware : 1
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstURISourceBin:urisourcebin0/GstHLSDemux:hlsdemux0.GstPad:sink: caps = application/x-hls
0:00:00.754075572 24711 0x7f74b8000b90 INFO hlsdemux gsthlsdemux.c:769:gst_hls_demux_process_manifest:<hlsdemux0> Initial playlist location: http://live.ximalaya.com/radio-first-page-app/live/1661/24.m3u8 (base uri: (null))
0:00:00.754126619 24711 0x7f74b8000b90 INFO hlsdemux gsthlsdemux.c:802:gst_hls_demux_process_manifest:<hlsdemux0> selected http://live.ximalaya.com/radio-first-page-app/live/1661/24.m3u8
0:00:00.754138762 24711 0x7f74b8000b90 DEBUG hlsdemux gsthlsdemux.c:607:gst_hls_demux_setup_streams:<hlsdemux0> Setting up streams
0:00:00.754149553 24711 0x7f74b8000b90 DEBUG hlsdemux gsthlsdemux.c:504:create_stream_for_playlist:<hlsdemux0> is_primary_playlist:1 selected:1 playlist name 'http://live.ximalaya.com/radio-first-page-app/live/1661/24.m3u8'
0:00:00.754217903 24711 0x7f74b8000b90 DEBUG hlsdemux gsthlsdemux.c:1288:gst_hls_demux_update_fragment_info:<hlsdemux0> Stream 0x7f74ac02f1e0 URI now http://broadcast.tx.xmcdn.com/live/1661_24_240206_000127_2798.aac
0:00:00.754384119 24711 0x7f74b8000f70 DEBUG hlsdemux gsthlsdemux.c:1288:gst_hls_demux_update_fragment_info:<hlsdemux0> Stream 0x7f74ac02f1e0 URI now http://broadcast.tx.xmcdn.com/live/1661_24_240206_000127_2798.aac
0:00:00.755219176 24711 0x55878ea09250 WARN structure gststructure.c:2091:priv_gst_structure_append_to_gstring: No value transform to serialize field 'session' of type 'GstSoupSession'
Got context from element 'souphttpsrc1': gst.soup.session=context, session=(GstSoupSession)NULL;
0:00:02.744803106 24711 0x7f74b8001370 DEBUG hlsdemux gsthlsdemux.c:1014:gst_hls_demux_handle_buffer:<'':src_0> Typefind result: audio/mpeg, framed=(boolean)false, mpegversion=(int)4, stream-format=(string)adts, level=(string)1, base-profile=(string)lc, profile=(string)lc, channels=(int)1, rate=(int)22050 prob:100
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstURISourceBin:urisourcebin0/GstQueue2:queue2-0: bitrate = 0
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstURISourceBin:urisourcebin0/GstQueue2:queue2-0.GstPad:src: caps = audio/mpeg, framed=(boolean)false, mpegversion=(int)4, stream-format=(string)adts, level=(string)1, base-profile=(string)lc, profile=(string)lc, channels=(int)1, rate=(int)22050
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstURISourceBin:urisourcebin0/GstQueue2:queue2-0: high-watermark = 0.98999999999999999
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstURISourceBin:urisourcebin0/GstQueue2:queue2-0: low-watermark = 0.01
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstURISourceBin:urisourcebin0/GstQueue2:queue2-0: max-size-time = 5000000000
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstURISourceBin:urisourcebin0/GstQueue2:queue2-0: max-size-bytes = 10485760
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstURISourceBin:urisourcebin0.GstGhostPad:src_0: caps = audio/mpeg, framed=(boolean)false, mpegversion=(int)4, stream-format=(string)adts, level=(string)1, base-profile=(string)lc, profile=(string)lc, channels=(int)1, rate=(int)22050
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstDecodebin3:decodebin3-0.GstGhostPad:sink.GstProxyPad:proxypad0: caps = audio/mpeg, framed=(boolean)false, mpegversion=(int)4, stream-format=(string)adts, level=(string)1, base-profile=(string)lc, profile=(string)lc, channels=(int)1, rate=(int)22050
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstURISourceBin:urisourcebin0/GstQueue2:queue2-0: bitrate = 0
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstDecodebin3:decodebin3-0/GstParseBin:parsebin0.GstGhostPad:sink.GstProxyPad:proxypad3: caps = audio/mpeg, framed=(boolean)false, mpegversion=(int)4, stream-format=(string)adts, level=(string)1, base-profile=(string)lc, profile=(string)lc, channels=(int)1, rate=(int)22050
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstURISourceBin:urisourcebin0/GstQueue2:queue2-0.GstPad:sink: caps = audio/mpeg, framed=(boolean)false, mpegversion=(int)4, stream-format=(string)adts, level=(string)1, base-profile=(string)lc, profile=(string)lc, channels=(int)1, rate=(int)22050
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstURISourceBin:urisourcebin0/GstQueue2:queue2-0: high-watermark = 0.98999999999999999
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstURISourceBin:urisourcebin0/GstQueue2:queue2-0: low-watermark = 0.01
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstURISourceBin:urisourcebin0/GstQueue2:queue2-0: max-size-time = 5000000000
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstURISourceBin:urisourcebin0/GstQueue2:queue2-0: max-size-bytes = 10485760
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstDecodebin3:decodebin3-0/GstParseBin:parsebin0/GstTypeFindElement:typefind.GstPad:src: caps = audio/mpeg, framed=(boolean)false, mpegversion=(int)4, stream-format=(string)adts, level=(string)1, base-profile=(string)lc, profile=(string)lc, channels=(int)1, rate=(int)22050
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstURISourceBin:urisourcebin0/GstQueue2:queue2-0: bitrate = 0
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstURISourceBin:urisourcebin0/GstQueue2:queue2-0: high-watermark = 0.98999999999999999
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstURISourceBin:urisourcebin0/GstQueue2:queue2-0: low-watermark = 0.01
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstURISourceBin:urisourcebin0/GstQueue2:queue2-0: max-size-time = 5000000000
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstURISourceBin:urisourcebin0/GstQueue2:queue2-0: max-size-bytes = 10485760
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstURISourceBin:urisourcebin0/GstQueue2:queue2-0: bitrate = 25232
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstURISourceBin:urisourcebin0/GstQueue2:queue2-0: bitrate = 25232
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstURISourceBin:urisourcebin0/GstQueue2:queue2-0: high-watermark = 0.98999999999999999
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstURISourceBin:urisourcebin0/GstQueue2:queue2-0: low-watermark = 0.01
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstURISourceBin:urisourcebin0/GstQueue2:queue2-0: max-size-time = 5000000000
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstURISourceBin:urisourcebin0/GstQueue2:queue2-0: max-size-bytes = 10485760
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstURISourceBin:urisourcebin0/GstQueue2:queue2-0: high-watermark = 0.98999999999999999
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstURISourceBin:urisourcebin0/GstQueue2:queue2-0: low-watermark = 0.01
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstURISourceBin:urisourcebin0/GstQueue2:queue2-0: max-size-time = 5000000000
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstURISourceBin:urisourcebin0/GstQueue2:queue2-0: max-size-bytes = 10485760
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstDecodebin3:decodebin3-0/GstParseBin:parsebin0/GstAacParse:aacparse0.GstPad:sink: caps = audio/mpeg, framed=(boolean)false, mpegversion=(int)4, stream-format=(string)adts, level=(string)1, base-profile=(string)lc, profile=(string)lc, channels=(int)1, rate=(int)22050
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstDecodebin3:decodebin3-0/GstParseBin:parsebin0/GstTypeFindElement:typefind.GstPad:sink: caps = audio/mpeg, framed=(boolean)false, mpegversion=(int)4, stream-format=(string)adts, level=(string)1, base-profile=(string)lc, profile=(string)lc, channels=(int)1, rate=(int)22050
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstDecodebin3:decodebin3-0/GstParseBin:parsebin0.GstGhostPad:sink: caps = audio/mpeg, framed=(boolean)false, mpegversion=(int)4, stream-format=(string)adts, level=(string)1, base-profile=(string)lc, profile=(string)lc, channels=(int)1, rate=(int)22050
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstDecodebin3:decodebin3-0.GstGhostPad:sink: caps = audio/mpeg, framed=(boolean)false, mpegversion=(int)4, stream-format=(string)adts, level=(string)1, base-profile=(string)lc, profile=(string)lc, channels=(int)1, rate=(int)22050
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstURISourceBin:urisourcebin0.GstGhostPad:src_0.GstProxyPad:proxypad2: caps = audio/mpeg, framed=(boolean)false, mpegversion=(int)4, stream-format=(string)adts, level=(string)1, base-profile=(string)lc, profile=(string)lc, channels=(int)1, rate=(int)22050
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstURISourceBin:urisourcebin0/GstQueue2:queue2-0: bitrate = 25232
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstURISourceBin:urisourcebin0/GstQueue2:queue2-0: high-watermark = 0.98999999999999999
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstURISourceBin:urisourcebin0/GstQueue2:queue2-0: low-watermark = 0.01
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstURISourceBin:urisourcebin0/GstQueue2:queue2-0: max-size-time = 5000000000
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstURISourceBin:urisourcebin0/GstQueue2:queue2-0: max-size-bytes = 10485760
0:00:02.747615573 24711 0x7f74b8000d70 FIXME decodebin3 gstdecodebin3.c:1157:update_requested_selection:<decodebin3-0> Implement EXPOSE_ALL_MODE
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstDecodebin3:decodebin3-0/GstParseBin:parsebin0/GstAacParse:aacparse0.GstPad:src: caps = audio/mpeg, framed=(boolean)true, mpegversion=(int)4, level=(string)1, base-profile=(string)lc, profile=(string)lc, rate=(int)22050, channels=(int)1, stream-format=(string)adts
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstDecodebin3:decodebin3-0/GstParseBin:parsebin0.GstParsePad:src_0: caps = audio/mpeg, framed=(boolean)true, mpegversion=(int)4, level=(string)1, base-profile=(string)lc, profile=(string)lc, rate=(int)22050, channels=(int)1, stream-format=(string)adts
0:00:02.747782851 24711 0x7f74b8000d70 FIXME decodebin3 gstdecodebin3-parse.c:433:unblock_pending_input:<decodebin3-0> Re-use existing input streams if/when possible
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstDecodebin3:decodebin3-0/GstParseBin:parsebin0.GstParsePad:src_0.GstProxyPad:proxypad4: caps = audio/mpeg, framed=(boolean)true, mpegversion=(int)4, level=(string)1, base-profile=(string)lc, profile=(string)lc, rate=(int)22050, channels=(int)1, stream-format=(string)adts
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstDecodebin3:decodebin3-0/GstMultiQueue:multiqueue0.GstMultiQueuePad:sink_0: group-id = 2
0:00:02.748059798 24711 0x7f74b8001b70 FIXME decodebin3 gstdecodebin3.c:1662:get_output_for_slot:<decodebin3-0> emit autoplug-continue
0:00:02.748084946 24711 0x7f74b8001b70 FIXME decodebin3 gstdecodebin3.c:1665:get_output_for_slot:<decodebin3-0> Handle EXPOSE_ALL_MODE
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstDecodebin3:decodebin3-0/GstMultiQueue:multiqueue0.GstMultiQueuePad:sink_0: caps = audio/mpeg, framed=(boolean)true, mpegversion=(int)4, level=(string)1, base-profile=(string)lc, profile=(string)lc, rate=(int)22050, channels=(int)1, stream-format=(string)adts
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstDecodebin3:decodebin3-0/GstMultiQueue:multiqueue0.GstMultiQueuePad:sink_0: caps = audio/mpeg, framed=(boolean)true, mpegversion=(int)4, level=(string)1, base-profile=(string)lc, profile=(string)lc, rate=(int)22050, channels=(int)1, stream-format=(string)adts
/GstPlayBin3:playbin3-0/GstConcat:audio-concat: active-pad = "\(GstConcatPad\)\ sink_0"
0:00:02.757517518 24711 0x7f74b8001b70 WARN alsa gstalsasink.c:874:gst_alsasink_open:<audiosink-actual-sink-alsa> Error -112 (Host is down) calling snd_pcm_open (&alsa->handle, alsa->device, SND_PCM_STREAM_PLAYBACK, SND_PCM_NONBLOCK)
0:00:02.757602680 24711 0x7f74b8001b70 WARN alsa gstalsasink.c:889:gst_alsasink_open:<audiosink-actual-sink-alsa> error: Could not open audio device for playback.
0:00:02.757679686 24711 0x7f74b8001b70 WARN alsa gstalsasink.c:889:gst_alsasink_open:<audiosink-actual-sink-alsa> error: Playback open error on device 'default': Host is down
/GstPlayBin3:playbin3-0/GstPlaySink:playsink: volume = 1
/GstPlayBin3:playbin3-0/GstPlaySink:playsink: mute = false
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstDecodebin3:decodebin3-0/avdec_aac:avdec_aac0.GstPad:sink: caps = audio/mpeg, framed=(boolean)true, mpegversion=(int)4, level=(string)1, base-profile=(string)lc, profile=(string)lc, rate=(int)22050, channels=(int)1, stream-format=(string)adts
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstDecodebin3:decodebin3-0/avdec_aac:avdec_aac0.GstPad:src: caps = audio/x-raw, format=(string)F32LE, layout=(string)non-interleaved, rate=(int)44100, channels=(int)2, channel-mask=(bitmask)0x0000000000000003
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstDecodebin3:decodebin3-0.GstGhostPad:audio_0: caps = audio/x-raw, format=(string)F32LE, layout=(string)non-interleaved, rate=(int)44100, channels=(int)2, channel-mask=(bitmask)0x0000000000000003
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0.GstGhostPad:audio_0: caps = audio/x-raw, format=(string)F32LE, layout=(string)non-interleaved, rate=(int)44100, channels=(int)2, channel-mask=(bitmask)0x0000000000000003
/GstPlayBin3:playbin3-0/GstConcat:audio-concat.GstPad:src: caps = audio/x-raw, format=(string)F32LE, layout=(string)non-interleaved, rate=(int)44100, channels=(int)2, channel-mask=(bitmask)0x0000000000000003
/GstPlayBin3:playbin3-0/GstPlaySink:playsink.GstGhostPad:audio_sink.GstProxyPad:proxypad5: caps = audio/x-raw, format=(string)F32LE, layout=(string)non-interleaved, rate=(int)44100, channels=(int)2, channel-mask=(bitmask)0x0000000000000003
/GstPlayBin3:playbin3-0/GstPlaySink:playsink/GstTee:audiotee.GstTeePad:src_0: caps = audio/x-raw, format=(string)F32LE, layout=(string)non-interleaved, rate=(int)44100, channels=(int)2, channel-mask=(bitmask)0x0000000000000003
/GstPlayBin3:playbin3-0/GstPlaySink:playsink/GstStreamSynchronizer:streamsynchronizer0.GstStreamSyncPad:src_0: caps = audio/x-raw, format=(string)F32LE, layout=(string)non-interleaved, rate=(int)44100, channels=(int)2, channel-mask=(bitmask)0x0000000000000003
/GstPlayBin3:playbin3-0/GstPlaySink:playsink/GstBin:abin.GstGhostPad:sink.GstProxyPad:proxypad11: caps = audio/x-raw, format=(string)F32LE, layout=(string)non-interleaved, rate=(int)44100, channels=(int)2, channel-mask=(bitmask)0x0000000000000003
/GstPlayBin3:playbin3-0/GstPlaySink:playsink/GstBin:abin/GstQueue:aqueue.GstPad:sink: caps = audio/x-raw, format=(string)F32LE, layout=(string)non-interleaved, rate=(int)44100, channels=(int)2, channel-mask=(bitmask)0x0000000000000003
/GstPlayBin3:playbin3-0/GstPlaySink:playsink/GstBin:abin.GstGhostPad:sink: caps = audio/x-raw, format=(string)F32LE, layout=(string)non-interleaved, rate=(int)44100, channels=(int)2, channel-mask=(bitmask)0x0000000000000003
/GstPlayBin3:playbin3-0/GstPlaySink:playsink/GstBin:abin.GstGhostPad:sink: caps = audio/x-raw, format=(string)F32LE, layout=(string)non-interleaved, rate=(int)44100, channels=(int)2, channel-mask=(bitmask)0x0000000000000003
/GstPlayBin3:playbin3-0/GstPlaySink:playsink/GstStreamSynchronizer:streamsynchronizer0.GstStreamSyncPad:sink_0: caps = audio/x-raw, format=(string)F32LE, layout=(string)non-interleaved, rate=(int)44100, channels=(int)2, channel-mask=(bitmask)0x0000000000000003
/GstPlayBin3:playbin3-0/GstPlaySink:playsink/GstTee:audiotee.GstPad:sink: caps = audio/x-raw, format=(string)F32LE, layout=(string)non-interleaved, rate=(int)44100, channels=(int)2, channel-mask=(bitmask)0x0000000000000003
/GstPlayBin3:playbin3-0/GstPlaySink:playsink.GstGhostPad:audio_sink: caps = audio/x-raw, format=(string)F32LE, layout=(string)non-interleaved, rate=(int)44100, channels=(int)2, channel-mask=(bitmask)0x0000000000000003
/GstPlayBin3:playbin3-0/GstConcat:audio-concat.GstConcatPad:sink_0: caps = audio/x-raw, format=(string)F32LE, layout=(string)non-interleaved, rate=(int)44100, channels=(int)2, channel-mask=(bitmask)0x0000000000000003
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0.GstGhostPad:audio_0.GstProxyPad:proxypad7: caps = audio/x-raw, format=(string)F32LE, layout=(string)non-interleaved, rate=(int)44100, channels=(int)2, channel-mask=(bitmask)0x0000000000000003
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstDecodebin3:decodebin3-0.GstGhostPad:audio_0.GstProxyPad:proxypad6: caps = audio/x-raw, format=(string)F32LE, layout=(string)non-interleaved, rate=(int)44100, channels=(int)2, channel-mask=(bitmask)0x0000000000000003
/GstPlayBin3:playbin3-0/GstPlaySink:playsink/GstBin:abin/GstPlaySinkAudioConvert:aconv.GstGhostPad:sink.GstProxyPad:proxypad9: caps = audio/x-raw, format=(string)F32LE, layout=(string)non-interleaved, rate=(int)44100, channels=(int)2, channel-mask=(bitmask)0x0000000000000003
/GstPlayBin3:playbin3-0/GstPlaySink:playsink/GstBin:abin/GstPlaySinkAudioConvert:aconv/GstAudioConvert:conv.GstPad:src: caps = audio/x-raw, rate=(int)44100, format=(string)F32LE, channels=(int)2, layout=(string)interleaved, channel-mask=(bitmask)0x0000000000000003
/GstPlayBin3:playbin3-0/GstPlaySink:playsink/GstBin:abin/GstPlaySinkAudioConvert:aconv/GstAudioResample:resample.GstPad:src: caps = audio/x-raw, rate=(int)44100, format=(string)F32LE, channels=(int)2, layout=(string)interleaved, channel-mask=(bitmask)0x0000000000000003
/GstPlayBin3:playbin3-0/GstPlaySink:playsink/GstBin:abin/GstPlaySinkAudioConvert:aconv/GstVolume:volume.GstPad:src: caps = audio/x-raw, rate=(int)44100, format=(string)F32LE, channels=(int)2, layout=(string)interleaved, channel-mask=(bitmask)0x0000000000000003
/GstPlayBin3:playbin3-0/GstPlaySink:playsink/GstBin:abin/GstPlaySinkAudioConvert:aconv.GstGhostPad:src: caps = audio/x-raw, rate=(int)44100, format=(string)F32LE, channels=(int)2, layout=(string)interleaved, channel-mask=(bitmask)0x0000000000000003
/GstPlayBin3:playbin3-0/GstPlaySink:playsink/GstBin:abin/GstAutoAudioSink:audiosink.GstGhostPad:sink.GstProxyPad:proxypad8: caps = audio/x-raw, rate=(int)44100, format=(string)F32LE, channels=(int)2, layout=(string)interleaved, channel-mask=(bitmask)0x0000000000000003
/GstPlayBin3:playbin3-0/GstPlaySink:playsink/GstBin:abin/GstAutoAudioSink:audiosink/GstFakeSink:fake-audio-sink.GstPad:sink: caps = audio/x-raw, rate=(int)44100, format=(string)F32LE, channels=(int)2, layout=(string)interleaved, channel-mask=(bitmask)0x0000000000000003
/GstPlayBin3:playbin3-0/GstPlaySink:playsink/GstBin:abin/GstAutoAudioSink:audiosink.GstGhostPad:sink: caps = audio/x-raw, rate=(int)44100, format=(string)F32LE, channels=(int)2, layout=(string)interleaved, channel-mask=(bitmask)0x0000000000000003
/GstPlayBin3:playbin3-0/GstPlaySink:playsink/GstBin:abin/GstPlaySinkAudioConvert:aconv.GstGhostPad:src.GstProxyPad:proxypad10: caps = audio/x-raw, rate=(int)44100, format=(string)F32LE, channels=(int)2, layout=(string)interleaved, channel-mask=(bitmask)0x0000000000000003
/GstPlayBin3:playbin3-0/GstPlaySink:playsink/GstBin:abin/GstPlaySinkAudioConvert:aconv/GstVolume:volume.GstPad:sink: caps = audio/x-raw, rate=(int)44100, format=(string)F32LE, channels=(int)2, layout=(string)interleaved, channel-mask=(bitmask)0x0000000000000003
/GstPlayBin3:playbin3-0/GstPlaySink:playsink/GstBin:abin/GstPlaySinkAudioConvert:aconv/GstAudioResample:resample.GstPad:sink: caps = audio/x-raw, rate=(int)44100, format=(string)F32LE, channels=(int)2, layout=(string)interleaved, channel-mask=(bitmask)0x0000000000000003
/GstPlayBin3:playbin3-0/GstPlaySink:playsink/GstBin:abin/GstPlaySinkAudioConvert:aconv/GstAudioConvert:conv.GstPad:sink: caps = audio/x-raw, format=(string)F32LE, layout=(string)non-interleaved, rate=(int)44100, channels=(int)2, channel-mask=(bitmask)0x0000000000000003
/GstPlayBin3:playbin3-0/GstPlaySink:playsink/GstBin:abin/GstPlaySinkAudioConvert:aconv.GstGhostPad:sink: caps = audio/x-raw, format=(string)F32LE, layout=(string)non-interleaved, rate=(int)44100, channels=(int)2, channel-mask=(bitmask)0x0000000000000003
Pipeline is PREROLLED ...
Prerolled, waiting for buffering to finish...
Redistribute latency...
Setting pipeline to PLAYING ...
0:00:02.825747419 24711 0x7f74b8000f70 DEBUG hlsdemux gsthlsdemux.c:1288:gst_hls_demux_update_fragment_info:<hlsdemux0> Stream 0x7f74ac02f1e0 URI now http://broadcast.tx.xmcdn.com/live/1661_24_240206_000127_2799.aac
New clock: GstSystemClock
0:00:02.826073088 24711 0x55878ea09250 WARN structure gststructure.c:2091:priv_gst_structure_append_to_gstring: No value transform to serialize field 'session' of type 'GstSoupSession'
Got context from element 'souphttpsrc1': gst.soup.session=context, session=(GstSoupSession)NULL;
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstURISourceBin:urisourcebin0/GstQueue2:queue2-0: bitrate = 25274
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstURISourceBin:urisourcebin0/GstQueue2:queue2-0: high-watermark = 0.98999999999999999
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstURISourceBin:urisourcebin0/GstQueue2:queue2-0: low-watermark = 0.01
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstURISourceBin:urisourcebin0/GstQueue2:queue2-0: max-size-time = 5000000000
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstURISourceBin:urisourcebin0/GstQueue2:queue2-0: max-size-bytes = 10485760
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstURISourceBin:urisourcebin0/GstQueue2:queue2-0: bitrate = 25274
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstURISourceBin:urisourcebin0/GstQueue2:queue2-0: high-watermark = 0.98999999999999999
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstURISourceBin:urisourcebin0/GstQueue2:queue2-0: low-watermark = 0.01
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstURISourceBin:urisourcebin0/GstQueue2:queue2-0: max-size-time = 5000000000
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstURISourceBin:urisourcebin0/GstQueue2:queue2-0: max-size-bytes = 10485760
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstURISourceBin:urisourcebin0/GstQueue2:queue2-0: bitrate = 25274
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstURISourceBin:urisourcebin0/GstQueue2:queue2-0: high-watermark = 0.98999999999999999
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstURISourceBin:urisourcebin0/GstQueue2:queue2-0: low-watermark = 0.01
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstURISourceBin:urisourcebin0/GstQueue2:queue2-0: max-size-time = 5000000000
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstURISourceBin:urisourcebin0/GstQueue2:queue2-0: max-size-bytes = 10485760
^Chandling interrupt.
Interrupt: Stopping pipeline ...
Execution ended after 0:00:06.660847374
Setting pipeline to NULL ...
0:00:09.487712678 24711 0x55878ea09250 DEBUG hlsdemux gsthlsdemux.c:1340:gst_hls_demux_reset:<hlsdemux0> resetting
0:00:09.487798301 24711 0x55878ea09250 DEBUG hlsdemux gsthlsdemux.c:1359:gst_hls_demux_reset:<hlsdemux0> Streams aware : 1
0:00:09.487982581 24711 0x55878ea09250 DEBUG hlsdemux gsthlsdemux.c:1340:gst_hls_demux_reset:<hlsdemux0> resetting
0:00:09.488078734 24711 0x55878ea09250 DEBUG hlsdemux gsthlsdemux.c:1359:gst_hls_demux_reset:<hlsdemux0> Streams aware : 1
0:00:09.488423059 24711 0x55878ea09250 FIXME playbin3 gstplaybin3.c:3267:reconfigure_output:<playbin3-0> Release combiner
0:00:09.488768115 24711 0x55878ea09250 DEBUG hlsdemux gsthlsdemux.c:1340:gst_hls_demux_reset:<hlsdemux0> resetting
0:00:09.488858687 24711 0x55878ea09250 DEBUG hlsdemux gsthlsdemux.c:1359:gst_hls_demux_reset:<hlsdemux0> Streams aware : 0
Freeing pipeline ...
# gst-launch-1.0 --version
gst-launch-1.0 version 1.20.4
GStreamer 1.20.4
Unknown package origin
#
`````
</details>
I also tried the old hlsdemux plugin in 1.22.9 and it also fails:
<details>
`````
# GST_PLUGIN_FEATURE_RANK=hlsdemux:300 GST_DEBUG=3,hlsdemux2:5,hlsdemux:5 gst-launch-1.0 playbin3 -v uri='http://live.ximalaya.com/radio-first-page-app/live/1661/24.m3u8'
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3/GstDecodebin3:decodebin3-0: caps = video/x-raw(ANY); audio/x-raw(ANY); text/x-raw(ANY); subpicture/x-dvd; subpicture/x-dvb; subpicture/x-xsub; subpicture/x-pgs; closedcaption/x-cea-608; closedcaption/x-cea-708; application/x-onvif-metadata
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3/GstURISourceBin:urisourcebin0: source = "\(GstSoupHTTPSrc\)\ souphttpsrc0"
0:00:00.015572796 4889 0x557e75f8a330 WARN structure gststructure.c:2093:priv_gst_structure_append_to_gstring: No value transform to serialize field 'session' of type 'GstSoupSession'
Got context from element 'souphttpsrc0': gst.soup.session=context, session=(GstSoupSession)NULL;
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3/GstURISourceBin:urisourcebin0/GstTypeFindElement:typefindelement0.GstPad:src: caps = application/x-hls
0:00:00.734941579 4889 0x7f1cf8000b70 DEBUG hlsdemux gsthlsdemux.c:1349:gst_hls_demux_reset:<hlsdemux0> resetting
0:00:00.734961116 4889 0x7f1cf8000b70 DEBUG hlsdemux gsthlsdemux.c:1368:gst_hls_demux_reset:<hlsdemux0> Streams aware : 1
0:00:00.734971065 4889 0x7f1cf8000b70 DEBUG hlsdemux gsthlsdemux.c:1349:gst_hls_demux_reset:<hlsdemux0> resetting
0:00:00.734977728 4889 0x7f1cf8000b70 DEBUG hlsdemux gsthlsdemux.c:1368:gst_hls_demux_reset:<hlsdemux0> Streams aware : 1
0:00:00.735044884 4889 0x7f1cf8000b70 INFO hlsdemux gsthlsdemux.c:769:gst_hls_demux_process_manifest:<hlsdemux0> Initial playlist location: http://live.ximalaya.com/radio-first-page-app/live/1661/24.m3u8 (base uri: (null))
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3/GstURISourceBin:urisourcebin0/GstHLSDemux:hlsdemux0.GstPad:sink: caps = application/x-hls
0:00:00.735083627 4889 0x7f1cf8000b70 INFO hlsdemux gsthlsdemux.c:802:gst_hls_demux_process_manifest:<hlsdemux0> selected http://live.ximalaya.com/radio-first-page-app/live/1661/24.m3u8
0:00:00.735092043 4889 0x7f1cf8000b70 DEBUG hlsdemux gsthlsdemux.c:607:gst_hls_demux_setup_streams:<hlsdemux0> Setting up streams
0:00:00.735103414 4889 0x7f1cf8000b70 DEBUG hlsdemux gsthlsdemux.c:504:create_stream_for_playlist:<hlsdemux0> is_primary_playlist:1 selected:1 playlist name 'http://live.ximalaya.com/radio-first-page-app/live/1661/24.m3u8'
0:00:00.735159119 4889 0x7f1cf8000b70 DEBUG hlsdemux gsthlsdemux.c:1297:gst_hls_demux_update_fragment_info:<hlsdemux0> Stream 0x7f1cfc02fb30 URI now http://broadcast.tx.xmcdn.com/live/1661_24_240206_000127_27a4.aac
0:00:00.735321264 4889 0x7f1cf8000f50 DEBUG hlsdemux gsthlsdemux.c:1297:gst_hls_demux_update_fragment_info:<hlsdemux0> Stream 0x7f1cfc02fb30 URI now http://broadcast.tx.xmcdn.com/live/1661_24_240206_000127_27a4.aac
0:00:00.735971318 4889 0x557e75f8a330 WARN structure gststructure.c:2093:priv_gst_structure_append_to_gstring: No value transform to serialize field 'session' of type 'GstSoupSession'
Got context from element 'souphttpsrc1': gst.soup.session=context, session=(GstSoupSession)NULL;
0:00:09.009718229 4889 0x7f1cf8001350 DEBUG hlsdemux gsthlsdemux.c:1014:gst_hls_demux_handle_buffer:<'':src_0> Typefind result: audio/mpeg, framed=(boolean)false, mpegversion=(int)4, stream-format=(string)adts, level=(string)1, base-profile=(string)lc, profile=(string)lc, channels=(int)1, rate=(int)22050 prob:100
0:00:09.009857261 4889 0x7f1cf8001350 WARN urisourcebin gsturisourcebin.c:761:new_demuxer_pad_added_cb:<urisourcebin0> error: Adaptive demuxer is not streams-aware, check your installation
ERROR: from element /GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3/GstURISourceBin:urisourcebin0: Your GStreamer installation is missing a plug-in.
Additional debug info:
../gst/playback/gsturisourcebin.c(761): new_demuxer_pad_added_cb (): /GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3/GstURISourceBin:urisourcebin0:
Adaptive demuxer is not streams-aware, check your installation
ERROR: pipeline doesn't want to preroll.
Setting pipeline to NULL ...
0:00:09.010782102 4889 0x557e75f8a330 DEBUG hlsdemux gsthlsdemux.c:1349:gst_hls_demux_reset:<hlsdemux0> resetting
0:00:09.010801178 4889 0x557e75f8a330 DEBUG hlsdemux gsthlsdemux.c:1368:gst_hls_demux_reset:<hlsdemux0> Streams aware : 1
0:00:09.010979423 4889 0x557e75f8a330 DEBUG hlsdemux gsthlsdemux.c:1349:gst_hls_demux_reset:<hlsdemux0> resetting
0:00:09.010991957 4889 0x557e75f8a330 DEBUG hlsdemux gsthlsdemux.c:1368:gst_hls_demux_reset:<hlsdemux0> Streams aware : 1
0:00:09.011312971 4889 0x557e75f8a330 DEBUG hlsdemux gsthlsdemux.c:1349:gst_hls_demux_reset:<hlsdemux0> resetting
0:00:09.011326397 4889 0x557e75f8a330 DEBUG hlsdemux gsthlsdemux.c:1368:gst_hls_demux_reset:<hlsdemux0> Streams aware : 0
Freeing pipeline ...
# gst-launch-1.0 --version
gst-launch-1.0 version 1.22.9
GStreamer 1.22.9
Unknown package origin
#
`````
</details>https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3275tcpserversrc thowing "pausing after gst_pad_push() = error" randomly in a pla...2024-02-10T14:00:21ZViranjan Pagartcpserversrc thowing "pausing after gst_pad_push() = error" randomly in a playing pipeline![file](/uploads/33002f41d3c1146136f11840805f98ef/file.png)
source bin (containing tcpserversrc) has the logic to reconnect when data is not arriving from tcpclientsrc or source is disconnected
source bin is reset by putting it into NUL...![file](/uploads/33002f41d3c1146136f11840805f98ef/file.png)
source bin (containing tcpserversrc) has the logic to reconnect when data is not arriving from tcpclientsrc or source is disconnected
source bin is reset by putting it into NULL and PLAYING state.
Suddenly when some buffers are consumed by the tcpserversrc then tvpserversrc throws error "pausing after gst_pad_push() = error"https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/1039hlsdemux2 fails with "Unsupported stream type" in 1.22, 1.20 worked2024-02-06T12:11:17ZHauke Mehrtenshlsdemux2 fails with "Unsupported stream type" in 1.22, 1.20 workedplaybin3 using hlsdemux2 fails to play some streams using gstreamer 1.22.9, but it works fine in gstreamer 1.20.4.
It fails like this:
````
# GST_DEBUG=3,hlsdemux2:5,hlsdemux:5 gst-launch-1.0 playbin3 -v uri='http://live.ximalaya.com/ra...playbin3 using hlsdemux2 fails to play some streams using gstreamer 1.22.9, but it works fine in gstreamer 1.20.4.
It fails like this:
````
# GST_DEBUG=3,hlsdemux2:5,hlsdemux:5 gst-launch-1.0 playbin3 -v uri='http://live.ximalaya.com/radio-first-page-app/live/1661/24.m3u8'
....
0:00:03.708010500 31341 0x7f6fc402ec80 WARN hlsdemux2 gsthlsdemux.c:1193:gst_hls_demux_typefind_stream:<hlsstream-variant> Unsupported stream type audio/mpeg, framed=(boolean)false, mpegversion=(int)4, stream-format=(string)adts, level=(string)1, base-profile=(string)lc, profile=(string)lc, channels=(int)1, rate=(int)22050
0:00:03.708019788 31341 0x7f6fc402ec80 DEBUG hlsdemux2 gsthlsdemux.c:1603:gst_hls_demux_stream_handle_buffer:<hlsstream-variant> Returning error
0:00:03.708032271 31341 0x7f6fc402ec80 WARN adaptivedemux2 gstadaptivedemux-stream.c:778:gst_adaptive_demux2_stream_parse_buffer:<hlsdemux2-0> error: Internal data stream error.
0:00:03.708039405 31341 0x7f6fc402ec80 WARN adaptivedemux2 gstadaptivedemux-stream.c:778:gst_adaptive_demux2_stream_parse_buffer:<hlsdemux2-0> error: streaming stopped, reason error (-5)
ERROR: from element /GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3/GstURISourceBin:urisourcebin0/GstHLSDemux2:hlsdemux2-0: Internal data stream error.
````
<details>
<summary>
Full log
</summary>
````
# GST_DEBUG=3,hlsdemux2:5,hlsdemux:5 gst-launch-1.0 playbin3 -v uri='http://live.ximalaya.com/radio-first-page-app/live/1661/24.m3u8'
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3/GstDecodebin3:decodebin3-0: caps = video/x-raw(ANY); audio/x-raw(ANY); text/x-raw(ANY); subpicture/x-dvd; subpicture/x-dvb; subpicture/x-xsub; subpicture/x-pgs; closedcaption/x-cea-608; closedcaption/x-cea-708; application/x-onvif-metadata
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3/GstURISourceBin:urisourcebin0: source = "\(GstSoupHTTPSrc\)\ souphttpsrc0"
0:00:00.016016800 31341 0x558c8905ce90 WARN structure gststructure.c:2093:priv_gst_structure_append_to_gstring: No value transform to serialize field 'session' of type 'GstSoupSession'
Got context from element 'souphttpsrc0': gst.soup.session=context, session=(GstSoupSession)NULL;
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3/GstURISourceBin:urisourcebin0/GstTypeFindElement:typefindelement0.GstPad:src: caps = application/x-hls
0:00:00.714743378 31341 0x7f6fc0000b70 DEBUG hlsdemux2 gsthlsdemux.c:2607:gst_hls_demux_reset:<hlsdemux2-0> resetting
0:00:00.714769808 31341 0x7f6fc0000b70 DEBUG hlsdemux2 gsthlsdemux.c:2607:gst_hls_demux_reset:<hlsdemux2-0> resetting
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3/GstURISourceBin:urisourcebin0/GstHLSDemux2:hlsdemux2-0.GstPad:sink: caps = application/x-hls
0:00:00.714987228 31341 0x7f6fc0000b70 INFO hlsdemux2 gsthlsdemux.c:889:gst_hls_demux_process_manifest:<hlsdemux2-0> Initial playlist location: http://live.ximalaya.com/radio-first-page-app/live/1661/24.m3u8 (base uri: (null))
0:00:00.715031792 31341 0x7f6fc0000b70 INFO hlsdemux2 gsthlsdemux.c:934:gst_hls_demux_process_manifest:<hlsdemux2-0> Manifest processed, initial variant selected : `media-playlist`
0:00:00.715043324 31341 0x7f6fc0000b70 DEBUG hlsdemux2 gsthlsdemux.c:875:gst_hls_demux_set_current_variant:<hlsdemux2-0> Setting variant 'media-playlist'
0:00:00.715050537 31341 0x7f6fc0000b70 DEBUG hlsdemux2 gsthlsdemux.c:939:gst_hls_demux_process_manifest:<hlsdemux2-0> Manifest handled, now setting up streams
0:00:00.715057080 31341 0x7f6fc0000b70 DEBUG hlsdemux2 gsthlsdemux.c:797:gst_hls_demux_setup_streams:<hlsdemux2-0> Setting up streams
0:00:00.715063983 31341 0x7f6fc0000b70 DEBUG hlsdemux2 gsthlsdemux.c:713:create_main_variant_stream:<hlsdemux2-0> Creating main variant stream
0:00:00.715094159 31341 0x7f6fc0000b70 DEBUG hlsdemux2 gsthlsdemux.c:2096:setup_initial_playlist:<hlsdemux2-0> Setting up initial variant segment and time mapping
0:00:00.715105781 31341 0x7f6fc0000b70 DEBUG hlsdemux2 gsthlsdemux.c:1995:gst_hls_demux_add_time_mapping:<hlsdemux2-0> New mapping, dsn:0 stream_time:0:00:00.000000000 pdt:(null)
0:00:00.715135527 31341 0x7f6fc0000b70 DEBUG hlsdemux2 gsthlsdemux.c:2365:gst_hls_demux_stream_update_fragment_info:<hlsstream-variant> Updating fragment information, current_position:99:99:99.999999999
0:00:00.715148171 31341 0x7f6fc0000b70 DEBUG hlsdemux2 gsthlsdemux.c:2405:gst_hls_demux_stream_update_fragment_info:<hlsstream-variant> Current segment stream_time +0:00:07.000000000
0:00:00.715157008 31341 0x7f6fc0000b70 DEBUG hlsdemux2 gsthlsdemux.c:2453:gst_hls_demux_stream_update_fragment_info:<hlsstream-variant> Stream URI now http://broadcast.tx.xmcdn.com/live/1661_24_240206_000127_276f.aac
0:00:00.715234113 31341 0x7f6fc402ec80 DEBUG hlsdemux2 gsthlsdemux.c:2480:gst_hls_demux_stream_can_start:<hlsstream-variant> is_variant:1 mappings:0x7f6fc4031560
0:00:00.715255544 31341 0x7f6fc402ec80 DEBUG hlsdemux2 gsthlsdemux.c:2983:gst_hls_demux_get_manifest_update_interval:<hlsdemux2-0> Returning update interval of 0:00:07.000000000
0:00:00.715274229 31341 0x7f6fc402ec80 DEBUG hlsdemux2 gsthlsdemux.c:2365:gst_hls_demux_stream_update_fragment_info:<hlsstream-variant> Updating fragment information, current_position:0:00:07.000000000
0:00:00.715285700 31341 0x7f6fc402ec80 DEBUG hlsdemux2 gsthlsdemux.c:2405:gst_hls_demux_stream_update_fragment_info:<hlsstream-variant> Current segment stream_time +0:00:07.000000000
0:00:00.715295469 31341 0x7f6fc402ec80 DEBUG hlsdemux2 gsthlsdemux.c:2453:gst_hls_demux_stream_update_fragment_info:<hlsstream-variant> Stream URI now http://broadcast.tx.xmcdn.com/live/1661_24_240206_000127_276f.aac
0:00:03.706684170 31341 0x7f6fc402ec80 DEBUG hlsdemux2 gsthlsdemux.c:1057:gst_hls_demux_stream_start_fragment:<hlsstream-variant> Fragment starting
0:00:03.706715459 31341 0x7f6fc402ec80 DEBUG hlsdemux2 gsthlsdemux.c:358:gst_hls_demux_stream_clear_pending_data:<hlsstream-variant> force : 0
0:00:03.706729215 31341 0x7f6fc402ec80 DEBUG hlsdemux2 gsthlsdemux.c:1513:gst_hls_demux_stream_handle_buffer:<hlsstream-variant> buffer:0x7f6fb0006910 at_eos:0 do_typefind:1 uri:http://broadcast.tx.xmcdn.com/live/1661_24_240206_000127_276f.aac
0:00:03.707990863 31341 0x7f6fc402ec80 DEBUG hlsdemux2 gsthlsdemux.c:1187:gst_hls_demux_typefind_stream:<hlsstream-variant> Typefind result: audio/mpeg, framed=(boolean)false, mpegversion=(int)4, stream-format=(string)adts, level=(string)1, base-profile=(string)lc, profile=(string)lc, channels=(int)1, rate=(int)22050 prob:100
0:00:03.708010500 31341 0x7f6fc402ec80 WARN hlsdemux2 gsthlsdemux.c:1193:gst_hls_demux_typefind_stream:<hlsstream-variant> Unsupported stream type audio/mpeg, framed=(boolean)false, mpegversion=(int)4, stream-format=(string)adts, level=(string)1, base-profile=(string)lc, profile=(string)lc, channels=(int)1, rate=(int)22050
0:00:03.708019788 31341 0x7f6fc402ec80 DEBUG hlsdemux2 gsthlsdemux.c:1603:gst_hls_demux_stream_handle_buffer:<hlsstream-variant> Returning error
0:00:03.708032271 31341 0x7f6fc402ec80 WARN adaptivedemux2 gstadaptivedemux-stream.c:778:gst_adaptive_demux2_stream_parse_buffer:<hlsdemux2-0> error: Internal data stream error.
0:00:03.708039405 31341 0x7f6fc402ec80 WARN adaptivedemux2 gstadaptivedemux-stream.c:778:gst_adaptive_demux2_stream_parse_buffer:<hlsdemux2-0> error: streaming stopped, reason error (-5)
ERROR: from element /GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3/GstURISourceBin:urisourcebin0/GstHLSDemux2:hlsdemux2-0: Internal data stream error.
Additional debug info:
../ext/adaptivedemux2/gstadaptivedemux-stream.c(778): gst_adaptive_demux2_stream_parse_buffer (): /GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3/GstURISourceBin:urisourcebin0/GstHLSDemux2:hlsdemux2-0:
streaming stopped, reason error (-5)
ERROR: pipeline doesn't want to preroll.
0:00:03.708149753 31341 0x7f6fc402ec80 WARN typefind gsttypefindelement.c:1012:gst_type_find_element_chain_do_typefinding:<typefind> error: Stream doesn't contain enough data.
0:00:03.708165743 31341 0x7f6fc402ec80 WARN typefind gsttypefindelement.c:1012:gst_type_find_element_chain_do_typefinding:<typefind> error: Can't typefind stream
0:00:03.708190239 31341 0x7f6fc402ec80 WARN adaptivedemux2 gstadaptivedemux.c:1531:gst_adaptive_demux_handle_message:<hlsdemux2-0> Source posted error: 2036:4 Stream doesn't contain enough data. (../plugins/elements/gsttypefindelement.c(1012): gst_type_find_element_chain_do_typefinding (): /GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3/GstURISourceBin:urisourcebin0/GstHLSDemux2:hlsdemux2-0/GstParseBin:parsebin0/GstTypeFindElement:typefind:
Can't typefind stream)
Setting pipeline to NULL ...
0:00:03.708456942 31341 0x558c8905ce90 DEBUG hlsdemux2 gsthlsdemux.c:2607:gst_hls_demux_reset:<hlsdemux2-0> resetting
0:00:03.708472120 31341 0x558c8905ce90 DEBUG hlsdemux2 gsthlsdemux.c:358:gst_hls_demux_stream_clear_pending_data:<hlsstream-variant> force : 1
0:00:03.708627533 31341 0x558c8905ce90 DEBUG hlsdemux2 gsthlsdemux.c:2607:gst_hls_demux_reset:<hlsdemux2-0> resetting
0:00:03.708857417 31341 0x558c8905ce90 DEBUG hlsdemux2 gsthlsdemux.c:2607:gst_hls_demux_reset:<hlsdemux2-0> resetting
Freeing pipeline ...
# gst-launch-1.0 --version
gst-launch-1.0 version 1.22.9
GStreamer 1.22.9
Unknown package origin
#
`````
</details>
When I am using gstreamer 1.20.4 it works fine:
<details>
`````
# GST_DEBUG=3,hlsdemux2:5,hlsdemux:5 gst-launch-1.0 playbin3 -v uri='http://live.ximalaya.com/radio-first-page-app/live/1661/24.m3u8'
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0: ring-buffer-max-size = 0
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0: buffer-size = -1
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0: buffer-duration = -1
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0: use-buffering = true
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0: download = false
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0: uri = http://live.ximalaya.com/radio-first-page-app/live/1661/24.m3u8
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0: connection-speed = 0
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstDecodebin3:decodebin3-0: caps = video/x-raw(ANY); audio/x-raw(ANY); text/x-raw(ANY); subpicture/x-dvd; subpicture/x-dvb; subpicture/x-xsub; subpicture/x-pgs; closedcaption/x-cea-608; closedcaption/x-cea-708
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstURISourceBin:urisourcebin0: source = "\(GstSoupHTTPSrc\)\ souphttpsrc0"
0:00:00.016128581 24711 0x55878ea09250 WARN structure gststructure.c:2091:priv_gst_structure_append_to_gstring: No value transform to serialize field 'session' of type 'GstSoupSession'
Got context from element 'souphttpsrc0': gst.soup.session=context, session=(GstSoupSession)NULL;
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstURISourceBin:urisourcebin0/GstTypeFindElement:typefindelement0.GstPad:src: caps = application/x-hls
0:00:00.753942138 24711 0x7f74b8000b90 DEBUG hlsdemux gsthlsdemux.c:1340:gst_hls_demux_reset:<hlsdemux0> resetting
0:00:00.753961104 24711 0x7f74b8000b90 DEBUG hlsdemux gsthlsdemux.c:1359:gst_hls_demux_reset:<hlsdemux0> Streams aware : 1
0:00:00.753973939 24711 0x7f74b8000b90 DEBUG hlsdemux gsthlsdemux.c:1340:gst_hls_demux_reset:<hlsdemux0> resetting
0:00:00.753983908 24711 0x7f74b8000b90 DEBUG hlsdemux gsthlsdemux.c:1359:gst_hls_demux_reset:<hlsdemux0> Streams aware : 1
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstURISourceBin:urisourcebin0/GstHLSDemux:hlsdemux0.GstPad:sink: caps = application/x-hls
0:00:00.754075572 24711 0x7f74b8000b90 INFO hlsdemux gsthlsdemux.c:769:gst_hls_demux_process_manifest:<hlsdemux0> Initial playlist location: http://live.ximalaya.com/radio-first-page-app/live/1661/24.m3u8 (base uri: (null))
0:00:00.754126619 24711 0x7f74b8000b90 INFO hlsdemux gsthlsdemux.c:802:gst_hls_demux_process_manifest:<hlsdemux0> selected http://live.ximalaya.com/radio-first-page-app/live/1661/24.m3u8
0:00:00.754138762 24711 0x7f74b8000b90 DEBUG hlsdemux gsthlsdemux.c:607:gst_hls_demux_setup_streams:<hlsdemux0> Setting up streams
0:00:00.754149553 24711 0x7f74b8000b90 DEBUG hlsdemux gsthlsdemux.c:504:create_stream_for_playlist:<hlsdemux0> is_primary_playlist:1 selected:1 playlist name 'http://live.ximalaya.com/radio-first-page-app/live/1661/24.m3u8'
0:00:00.754217903 24711 0x7f74b8000b90 DEBUG hlsdemux gsthlsdemux.c:1288:gst_hls_demux_update_fragment_info:<hlsdemux0> Stream 0x7f74ac02f1e0 URI now http://broadcast.tx.xmcdn.com/live/1661_24_240206_000127_2798.aac
0:00:00.754384119 24711 0x7f74b8000f70 DEBUG hlsdemux gsthlsdemux.c:1288:gst_hls_demux_update_fragment_info:<hlsdemux0> Stream 0x7f74ac02f1e0 URI now http://broadcast.tx.xmcdn.com/live/1661_24_240206_000127_2798.aac
0:00:00.755219176 24711 0x55878ea09250 WARN structure gststructure.c:2091:priv_gst_structure_append_to_gstring: No value transform to serialize field 'session' of type 'GstSoupSession'
Got context from element 'souphttpsrc1': gst.soup.session=context, session=(GstSoupSession)NULL;
0:00:02.744803106 24711 0x7f74b8001370 DEBUG hlsdemux gsthlsdemux.c:1014:gst_hls_demux_handle_buffer:<'':src_0> Typefind result: audio/mpeg, framed=(boolean)false, mpegversion=(int)4, stream-format=(string)adts, level=(string)1, base-profile=(string)lc, profile=(string)lc, channels=(int)1, rate=(int)22050 prob:100
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstURISourceBin:urisourcebin0/GstQueue2:queue2-0: bitrate = 0
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstURISourceBin:urisourcebin0/GstQueue2:queue2-0.GstPad:src: caps = audio/mpeg, framed=(boolean)false, mpegversion=(int)4, stream-format=(string)adts, level=(string)1, base-profile=(string)lc, profile=(string)lc, channels=(int)1, rate=(int)22050
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstURISourceBin:urisourcebin0/GstQueue2:queue2-0: high-watermark = 0.98999999999999999
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstURISourceBin:urisourcebin0/GstQueue2:queue2-0: low-watermark = 0.01
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstURISourceBin:urisourcebin0/GstQueue2:queue2-0: max-size-time = 5000000000
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstURISourceBin:urisourcebin0/GstQueue2:queue2-0: max-size-bytes = 10485760
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstURISourceBin:urisourcebin0.GstGhostPad:src_0: caps = audio/mpeg, framed=(boolean)false, mpegversion=(int)4, stream-format=(string)adts, level=(string)1, base-profile=(string)lc, profile=(string)lc, channels=(int)1, rate=(int)22050
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstDecodebin3:decodebin3-0.GstGhostPad:sink.GstProxyPad:proxypad0: caps = audio/mpeg, framed=(boolean)false, mpegversion=(int)4, stream-format=(string)adts, level=(string)1, base-profile=(string)lc, profile=(string)lc, channels=(int)1, rate=(int)22050
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstURISourceBin:urisourcebin0/GstQueue2:queue2-0: bitrate = 0
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstDecodebin3:decodebin3-0/GstParseBin:parsebin0.GstGhostPad:sink.GstProxyPad:proxypad3: caps = audio/mpeg, framed=(boolean)false, mpegversion=(int)4, stream-format=(string)adts, level=(string)1, base-profile=(string)lc, profile=(string)lc, channels=(int)1, rate=(int)22050
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstURISourceBin:urisourcebin0/GstQueue2:queue2-0.GstPad:sink: caps = audio/mpeg, framed=(boolean)false, mpegversion=(int)4, stream-format=(string)adts, level=(string)1, base-profile=(string)lc, profile=(string)lc, channels=(int)1, rate=(int)22050
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstURISourceBin:urisourcebin0/GstQueue2:queue2-0: high-watermark = 0.98999999999999999
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstURISourceBin:urisourcebin0/GstQueue2:queue2-0: low-watermark = 0.01
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstURISourceBin:urisourcebin0/GstQueue2:queue2-0: max-size-time = 5000000000
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstURISourceBin:urisourcebin0/GstQueue2:queue2-0: max-size-bytes = 10485760
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstDecodebin3:decodebin3-0/GstParseBin:parsebin0/GstTypeFindElement:typefind.GstPad:src: caps = audio/mpeg, framed=(boolean)false, mpegversion=(int)4, stream-format=(string)adts, level=(string)1, base-profile=(string)lc, profile=(string)lc, channels=(int)1, rate=(int)22050
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstURISourceBin:urisourcebin0/GstQueue2:queue2-0: bitrate = 0
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstURISourceBin:urisourcebin0/GstQueue2:queue2-0: high-watermark = 0.98999999999999999
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstURISourceBin:urisourcebin0/GstQueue2:queue2-0: low-watermark = 0.01
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstURISourceBin:urisourcebin0/GstQueue2:queue2-0: max-size-time = 5000000000
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstURISourceBin:urisourcebin0/GstQueue2:queue2-0: max-size-bytes = 10485760
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstURISourceBin:urisourcebin0/GstQueue2:queue2-0: bitrate = 25232
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstURISourceBin:urisourcebin0/GstQueue2:queue2-0: bitrate = 25232
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstURISourceBin:urisourcebin0/GstQueue2:queue2-0: high-watermark = 0.98999999999999999
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstURISourceBin:urisourcebin0/GstQueue2:queue2-0: low-watermark = 0.01
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstURISourceBin:urisourcebin0/GstQueue2:queue2-0: max-size-time = 5000000000
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstURISourceBin:urisourcebin0/GstQueue2:queue2-0: max-size-bytes = 10485760
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstURISourceBin:urisourcebin0/GstQueue2:queue2-0: high-watermark = 0.98999999999999999
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstURISourceBin:urisourcebin0/GstQueue2:queue2-0: low-watermark = 0.01
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstURISourceBin:urisourcebin0/GstQueue2:queue2-0: max-size-time = 5000000000
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstURISourceBin:urisourcebin0/GstQueue2:queue2-0: max-size-bytes = 10485760
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstDecodebin3:decodebin3-0/GstParseBin:parsebin0/GstAacParse:aacparse0.GstPad:sink: caps = audio/mpeg, framed=(boolean)false, mpegversion=(int)4, stream-format=(string)adts, level=(string)1, base-profile=(string)lc, profile=(string)lc, channels=(int)1, rate=(int)22050
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstDecodebin3:decodebin3-0/GstParseBin:parsebin0/GstTypeFindElement:typefind.GstPad:sink: caps = audio/mpeg, framed=(boolean)false, mpegversion=(int)4, stream-format=(string)adts, level=(string)1, base-profile=(string)lc, profile=(string)lc, channels=(int)1, rate=(int)22050
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstDecodebin3:decodebin3-0/GstParseBin:parsebin0.GstGhostPad:sink: caps = audio/mpeg, framed=(boolean)false, mpegversion=(int)4, stream-format=(string)adts, level=(string)1, base-profile=(string)lc, profile=(string)lc, channels=(int)1, rate=(int)22050
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstDecodebin3:decodebin3-0.GstGhostPad:sink: caps = audio/mpeg, framed=(boolean)false, mpegversion=(int)4, stream-format=(string)adts, level=(string)1, base-profile=(string)lc, profile=(string)lc, channels=(int)1, rate=(int)22050
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstURISourceBin:urisourcebin0.GstGhostPad:src_0.GstProxyPad:proxypad2: caps = audio/mpeg, framed=(boolean)false, mpegversion=(int)4, stream-format=(string)adts, level=(string)1, base-profile=(string)lc, profile=(string)lc, channels=(int)1, rate=(int)22050
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstURISourceBin:urisourcebin0/GstQueue2:queue2-0: bitrate = 25232
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstURISourceBin:urisourcebin0/GstQueue2:queue2-0: high-watermark = 0.98999999999999999
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstURISourceBin:urisourcebin0/GstQueue2:queue2-0: low-watermark = 0.01
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstURISourceBin:urisourcebin0/GstQueue2:queue2-0: max-size-time = 5000000000
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstURISourceBin:urisourcebin0/GstQueue2:queue2-0: max-size-bytes = 10485760
0:00:02.747615573 24711 0x7f74b8000d70 FIXME decodebin3 gstdecodebin3.c:1157:update_requested_selection:<decodebin3-0> Implement EXPOSE_ALL_MODE
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstDecodebin3:decodebin3-0/GstParseBin:parsebin0/GstAacParse:aacparse0.GstPad:src: caps = audio/mpeg, framed=(boolean)true, mpegversion=(int)4, level=(string)1, base-profile=(string)lc, profile=(string)lc, rate=(int)22050, channels=(int)1, stream-format=(string)adts
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstDecodebin3:decodebin3-0/GstParseBin:parsebin0.GstParsePad:src_0: caps = audio/mpeg, framed=(boolean)true, mpegversion=(int)4, level=(string)1, base-profile=(string)lc, profile=(string)lc, rate=(int)22050, channels=(int)1, stream-format=(string)adts
0:00:02.747782851 24711 0x7f74b8000d70 FIXME decodebin3 gstdecodebin3-parse.c:433:unblock_pending_input:<decodebin3-0> Re-use existing input streams if/when possible
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstDecodebin3:decodebin3-0/GstParseBin:parsebin0.GstParsePad:src_0.GstProxyPad:proxypad4: caps = audio/mpeg, framed=(boolean)true, mpegversion=(int)4, level=(string)1, base-profile=(string)lc, profile=(string)lc, rate=(int)22050, channels=(int)1, stream-format=(string)adts
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstDecodebin3:decodebin3-0/GstMultiQueue:multiqueue0.GstMultiQueuePad:sink_0: group-id = 2
0:00:02.748059798 24711 0x7f74b8001b70 FIXME decodebin3 gstdecodebin3.c:1662:get_output_for_slot:<decodebin3-0> emit autoplug-continue
0:00:02.748084946 24711 0x7f74b8001b70 FIXME decodebin3 gstdecodebin3.c:1665:get_output_for_slot:<decodebin3-0> Handle EXPOSE_ALL_MODE
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstDecodebin3:decodebin3-0/GstMultiQueue:multiqueue0.GstMultiQueuePad:sink_0: caps = audio/mpeg, framed=(boolean)true, mpegversion=(int)4, level=(string)1, base-profile=(string)lc, profile=(string)lc, rate=(int)22050, channels=(int)1, stream-format=(string)adts
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstDecodebin3:decodebin3-0/GstMultiQueue:multiqueue0.GstMultiQueuePad:sink_0: caps = audio/mpeg, framed=(boolean)true, mpegversion=(int)4, level=(string)1, base-profile=(string)lc, profile=(string)lc, rate=(int)22050, channels=(int)1, stream-format=(string)adts
/GstPlayBin3:playbin3-0/GstConcat:audio-concat: active-pad = "\(GstConcatPad\)\ sink_0"
0:00:02.757517518 24711 0x7f74b8001b70 WARN alsa gstalsasink.c:874:gst_alsasink_open:<audiosink-actual-sink-alsa> Error -112 (Host is down) calling snd_pcm_open (&alsa->handle, alsa->device, SND_PCM_STREAM_PLAYBACK, SND_PCM_NONBLOCK)
0:00:02.757602680 24711 0x7f74b8001b70 WARN alsa gstalsasink.c:889:gst_alsasink_open:<audiosink-actual-sink-alsa> error: Could not open audio device for playback.
0:00:02.757679686 24711 0x7f74b8001b70 WARN alsa gstalsasink.c:889:gst_alsasink_open:<audiosink-actual-sink-alsa> error: Playback open error on device 'default': Host is down
/GstPlayBin3:playbin3-0/GstPlaySink:playsink: volume = 1
/GstPlayBin3:playbin3-0/GstPlaySink:playsink: mute = false
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstDecodebin3:decodebin3-0/avdec_aac:avdec_aac0.GstPad:sink: caps = audio/mpeg, framed=(boolean)true, mpegversion=(int)4, level=(string)1, base-profile=(string)lc, profile=(string)lc, rate=(int)22050, channels=(int)1, stream-format=(string)adts
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstDecodebin3:decodebin3-0/avdec_aac:avdec_aac0.GstPad:src: caps = audio/x-raw, format=(string)F32LE, layout=(string)non-interleaved, rate=(int)44100, channels=(int)2, channel-mask=(bitmask)0x0000000000000003
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstDecodebin3:decodebin3-0.GstGhostPad:audio_0: caps = audio/x-raw, format=(string)F32LE, layout=(string)non-interleaved, rate=(int)44100, channels=(int)2, channel-mask=(bitmask)0x0000000000000003
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0.GstGhostPad:audio_0: caps = audio/x-raw, format=(string)F32LE, layout=(string)non-interleaved, rate=(int)44100, channels=(int)2, channel-mask=(bitmask)0x0000000000000003
/GstPlayBin3:playbin3-0/GstConcat:audio-concat.GstPad:src: caps = audio/x-raw, format=(string)F32LE, layout=(string)non-interleaved, rate=(int)44100, channels=(int)2, channel-mask=(bitmask)0x0000000000000003
/GstPlayBin3:playbin3-0/GstPlaySink:playsink.GstGhostPad:audio_sink.GstProxyPad:proxypad5: caps = audio/x-raw, format=(string)F32LE, layout=(string)non-interleaved, rate=(int)44100, channels=(int)2, channel-mask=(bitmask)0x0000000000000003
/GstPlayBin3:playbin3-0/GstPlaySink:playsink/GstTee:audiotee.GstTeePad:src_0: caps = audio/x-raw, format=(string)F32LE, layout=(string)non-interleaved, rate=(int)44100, channels=(int)2, channel-mask=(bitmask)0x0000000000000003
/GstPlayBin3:playbin3-0/GstPlaySink:playsink/GstStreamSynchronizer:streamsynchronizer0.GstStreamSyncPad:src_0: caps = audio/x-raw, format=(string)F32LE, layout=(string)non-interleaved, rate=(int)44100, channels=(int)2, channel-mask=(bitmask)0x0000000000000003
/GstPlayBin3:playbin3-0/GstPlaySink:playsink/GstBin:abin.GstGhostPad:sink.GstProxyPad:proxypad11: caps = audio/x-raw, format=(string)F32LE, layout=(string)non-interleaved, rate=(int)44100, channels=(int)2, channel-mask=(bitmask)0x0000000000000003
/GstPlayBin3:playbin3-0/GstPlaySink:playsink/GstBin:abin/GstQueue:aqueue.GstPad:sink: caps = audio/x-raw, format=(string)F32LE, layout=(string)non-interleaved, rate=(int)44100, channels=(int)2, channel-mask=(bitmask)0x0000000000000003
/GstPlayBin3:playbin3-0/GstPlaySink:playsink/GstBin:abin.GstGhostPad:sink: caps = audio/x-raw, format=(string)F32LE, layout=(string)non-interleaved, rate=(int)44100, channels=(int)2, channel-mask=(bitmask)0x0000000000000003
/GstPlayBin3:playbin3-0/GstPlaySink:playsink/GstBin:abin.GstGhostPad:sink: caps = audio/x-raw, format=(string)F32LE, layout=(string)non-interleaved, rate=(int)44100, channels=(int)2, channel-mask=(bitmask)0x0000000000000003
/GstPlayBin3:playbin3-0/GstPlaySink:playsink/GstStreamSynchronizer:streamsynchronizer0.GstStreamSyncPad:sink_0: caps = audio/x-raw, format=(string)F32LE, layout=(string)non-interleaved, rate=(int)44100, channels=(int)2, channel-mask=(bitmask)0x0000000000000003
/GstPlayBin3:playbin3-0/GstPlaySink:playsink/GstTee:audiotee.GstPad:sink: caps = audio/x-raw, format=(string)F32LE, layout=(string)non-interleaved, rate=(int)44100, channels=(int)2, channel-mask=(bitmask)0x0000000000000003
/GstPlayBin3:playbin3-0/GstPlaySink:playsink.GstGhostPad:audio_sink: caps = audio/x-raw, format=(string)F32LE, layout=(string)non-interleaved, rate=(int)44100, channels=(int)2, channel-mask=(bitmask)0x0000000000000003
/GstPlayBin3:playbin3-0/GstConcat:audio-concat.GstConcatPad:sink_0: caps = audio/x-raw, format=(string)F32LE, layout=(string)non-interleaved, rate=(int)44100, channels=(int)2, channel-mask=(bitmask)0x0000000000000003
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0.GstGhostPad:audio_0.GstProxyPad:proxypad7: caps = audio/x-raw, format=(string)F32LE, layout=(string)non-interleaved, rate=(int)44100, channels=(int)2, channel-mask=(bitmask)0x0000000000000003
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstDecodebin3:decodebin3-0.GstGhostPad:audio_0.GstProxyPad:proxypad6: caps = audio/x-raw, format=(string)F32LE, layout=(string)non-interleaved, rate=(int)44100, channels=(int)2, channel-mask=(bitmask)0x0000000000000003
/GstPlayBin3:playbin3-0/GstPlaySink:playsink/GstBin:abin/GstPlaySinkAudioConvert:aconv.GstGhostPad:sink.GstProxyPad:proxypad9: caps = audio/x-raw, format=(string)F32LE, layout=(string)non-interleaved, rate=(int)44100, channels=(int)2, channel-mask=(bitmask)0x0000000000000003
/GstPlayBin3:playbin3-0/GstPlaySink:playsink/GstBin:abin/GstPlaySinkAudioConvert:aconv/GstAudioConvert:conv.GstPad:src: caps = audio/x-raw, rate=(int)44100, format=(string)F32LE, channels=(int)2, layout=(string)interleaved, channel-mask=(bitmask)0x0000000000000003
/GstPlayBin3:playbin3-0/GstPlaySink:playsink/GstBin:abin/GstPlaySinkAudioConvert:aconv/GstAudioResample:resample.GstPad:src: caps = audio/x-raw, rate=(int)44100, format=(string)F32LE, channels=(int)2, layout=(string)interleaved, channel-mask=(bitmask)0x0000000000000003
/GstPlayBin3:playbin3-0/GstPlaySink:playsink/GstBin:abin/GstPlaySinkAudioConvert:aconv/GstVolume:volume.GstPad:src: caps = audio/x-raw, rate=(int)44100, format=(string)F32LE, channels=(int)2, layout=(string)interleaved, channel-mask=(bitmask)0x0000000000000003
/GstPlayBin3:playbin3-0/GstPlaySink:playsink/GstBin:abin/GstPlaySinkAudioConvert:aconv.GstGhostPad:src: caps = audio/x-raw, rate=(int)44100, format=(string)F32LE, channels=(int)2, layout=(string)interleaved, channel-mask=(bitmask)0x0000000000000003
/GstPlayBin3:playbin3-0/GstPlaySink:playsink/GstBin:abin/GstAutoAudioSink:audiosink.GstGhostPad:sink.GstProxyPad:proxypad8: caps = audio/x-raw, rate=(int)44100, format=(string)F32LE, channels=(int)2, layout=(string)interleaved, channel-mask=(bitmask)0x0000000000000003
/GstPlayBin3:playbin3-0/GstPlaySink:playsink/GstBin:abin/GstAutoAudioSink:audiosink/GstFakeSink:fake-audio-sink.GstPad:sink: caps = audio/x-raw, rate=(int)44100, format=(string)F32LE, channels=(int)2, layout=(string)interleaved, channel-mask=(bitmask)0x0000000000000003
/GstPlayBin3:playbin3-0/GstPlaySink:playsink/GstBin:abin/GstAutoAudioSink:audiosink.GstGhostPad:sink: caps = audio/x-raw, rate=(int)44100, format=(string)F32LE, channels=(int)2, layout=(string)interleaved, channel-mask=(bitmask)0x0000000000000003
/GstPlayBin3:playbin3-0/GstPlaySink:playsink/GstBin:abin/GstPlaySinkAudioConvert:aconv.GstGhostPad:src.GstProxyPad:proxypad10: caps = audio/x-raw, rate=(int)44100, format=(string)F32LE, channels=(int)2, layout=(string)interleaved, channel-mask=(bitmask)0x0000000000000003
/GstPlayBin3:playbin3-0/GstPlaySink:playsink/GstBin:abin/GstPlaySinkAudioConvert:aconv/GstVolume:volume.GstPad:sink: caps = audio/x-raw, rate=(int)44100, format=(string)F32LE, channels=(int)2, layout=(string)interleaved, channel-mask=(bitmask)0x0000000000000003
/GstPlayBin3:playbin3-0/GstPlaySink:playsink/GstBin:abin/GstPlaySinkAudioConvert:aconv/GstAudioResample:resample.GstPad:sink: caps = audio/x-raw, rate=(int)44100, format=(string)F32LE, channels=(int)2, layout=(string)interleaved, channel-mask=(bitmask)0x0000000000000003
/GstPlayBin3:playbin3-0/GstPlaySink:playsink/GstBin:abin/GstPlaySinkAudioConvert:aconv/GstAudioConvert:conv.GstPad:sink: caps = audio/x-raw, format=(string)F32LE, layout=(string)non-interleaved, rate=(int)44100, channels=(int)2, channel-mask=(bitmask)0x0000000000000003
/GstPlayBin3:playbin3-0/GstPlaySink:playsink/GstBin:abin/GstPlaySinkAudioConvert:aconv.GstGhostPad:sink: caps = audio/x-raw, format=(string)F32LE, layout=(string)non-interleaved, rate=(int)44100, channels=(int)2, channel-mask=(bitmask)0x0000000000000003
Pipeline is PREROLLED ...
Prerolled, waiting for buffering to finish...
Redistribute latency...
Setting pipeline to PLAYING ...
0:00:02.825747419 24711 0x7f74b8000f70 DEBUG hlsdemux gsthlsdemux.c:1288:gst_hls_demux_update_fragment_info:<hlsdemux0> Stream 0x7f74ac02f1e0 URI now http://broadcast.tx.xmcdn.com/live/1661_24_240206_000127_2799.aac
New clock: GstSystemClock
0:00:02.826073088 24711 0x55878ea09250 WARN structure gststructure.c:2091:priv_gst_structure_append_to_gstring: No value transform to serialize field 'session' of type 'GstSoupSession'
Got context from element 'souphttpsrc1': gst.soup.session=context, session=(GstSoupSession)NULL;
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstURISourceBin:urisourcebin0/GstQueue2:queue2-0: bitrate = 25274
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstURISourceBin:urisourcebin0/GstQueue2:queue2-0: high-watermark = 0.98999999999999999
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstURISourceBin:urisourcebin0/GstQueue2:queue2-0: low-watermark = 0.01
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstURISourceBin:urisourcebin0/GstQueue2:queue2-0: max-size-time = 5000000000
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstURISourceBin:urisourcebin0/GstQueue2:queue2-0: max-size-bytes = 10485760
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstURISourceBin:urisourcebin0/GstQueue2:queue2-0: bitrate = 25274
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstURISourceBin:urisourcebin0/GstQueue2:queue2-0: high-watermark = 0.98999999999999999
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstURISourceBin:urisourcebin0/GstQueue2:queue2-0: low-watermark = 0.01
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstURISourceBin:urisourcebin0/GstQueue2:queue2-0: max-size-time = 5000000000
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstURISourceBin:urisourcebin0/GstQueue2:queue2-0: max-size-bytes = 10485760
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstURISourceBin:urisourcebin0/GstQueue2:queue2-0: bitrate = 25274
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstURISourceBin:urisourcebin0/GstQueue2:queue2-0: high-watermark = 0.98999999999999999
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstURISourceBin:urisourcebin0/GstQueue2:queue2-0: low-watermark = 0.01
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstURISourceBin:urisourcebin0/GstQueue2:queue2-0: max-size-time = 5000000000
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstURISourceBin:urisourcebin0/GstQueue2:queue2-0: max-size-bytes = 10485760
^Chandling interrupt.
Interrupt: Stopping pipeline ...
Execution ended after 0:00:06.660847374
Setting pipeline to NULL ...
0:00:09.487712678 24711 0x55878ea09250 DEBUG hlsdemux gsthlsdemux.c:1340:gst_hls_demux_reset:<hlsdemux0> resetting
0:00:09.487798301 24711 0x55878ea09250 DEBUG hlsdemux gsthlsdemux.c:1359:gst_hls_demux_reset:<hlsdemux0> Streams aware : 1
0:00:09.487982581 24711 0x55878ea09250 DEBUG hlsdemux gsthlsdemux.c:1340:gst_hls_demux_reset:<hlsdemux0> resetting
0:00:09.488078734 24711 0x55878ea09250 DEBUG hlsdemux gsthlsdemux.c:1359:gst_hls_demux_reset:<hlsdemux0> Streams aware : 1
0:00:09.488423059 24711 0x55878ea09250 FIXME playbin3 gstplaybin3.c:3267:reconfigure_output:<playbin3-0> Release combiner
0:00:09.488768115 24711 0x55878ea09250 DEBUG hlsdemux gsthlsdemux.c:1340:gst_hls_demux_reset:<hlsdemux0> resetting
0:00:09.488858687 24711 0x55878ea09250 DEBUG hlsdemux gsthlsdemux.c:1359:gst_hls_demux_reset:<hlsdemux0> Streams aware : 0
Freeing pipeline ...
# gst-launch-1.0 --version
gst-launch-1.0 version 1.20.4
GStreamer 1.20.4
Unknown package origin
#
`````
</details>
I also tried the old hlsdemux plugin in 1.22.9 and it also fails:
<details>
`````
# GST_PLUGIN_FEATURE_RANK=hlsdemux:300 GST_DEBUG=3,hlsdemux2:5,hlsdemux:5 gst-launch-1.0 playbin3 -v uri='http://live.ximalaya.com/radio-first-page-app/live/1661/24.m3u8'
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3/GstDecodebin3:decodebin3-0: caps = video/x-raw(ANY); audio/x-raw(ANY); text/x-raw(ANY); subpicture/x-dvd; subpicture/x-dvb; subpicture/x-xsub; subpicture/x-pgs; closedcaption/x-cea-608; closedcaption/x-cea-708; application/x-onvif-metadata
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3/GstURISourceBin:urisourcebin0: source = "\(GstSoupHTTPSrc\)\ souphttpsrc0"
0:00:00.015572796 4889 0x557e75f8a330 WARN structure gststructure.c:2093:priv_gst_structure_append_to_gstring: No value transform to serialize field 'session' of type 'GstSoupSession'
Got context from element 'souphttpsrc0': gst.soup.session=context, session=(GstSoupSession)NULL;
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3/GstURISourceBin:urisourcebin0/GstTypeFindElement:typefindelement0.GstPad:src: caps = application/x-hls
0:00:00.734941579 4889 0x7f1cf8000b70 DEBUG hlsdemux gsthlsdemux.c:1349:gst_hls_demux_reset:<hlsdemux0> resetting
0:00:00.734961116 4889 0x7f1cf8000b70 DEBUG hlsdemux gsthlsdemux.c:1368:gst_hls_demux_reset:<hlsdemux0> Streams aware : 1
0:00:00.734971065 4889 0x7f1cf8000b70 DEBUG hlsdemux gsthlsdemux.c:1349:gst_hls_demux_reset:<hlsdemux0> resetting
0:00:00.734977728 4889 0x7f1cf8000b70 DEBUG hlsdemux gsthlsdemux.c:1368:gst_hls_demux_reset:<hlsdemux0> Streams aware : 1
0:00:00.735044884 4889 0x7f1cf8000b70 INFO hlsdemux gsthlsdemux.c:769:gst_hls_demux_process_manifest:<hlsdemux0> Initial playlist location: http://live.ximalaya.com/radio-first-page-app/live/1661/24.m3u8 (base uri: (null))
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3/GstURISourceBin:urisourcebin0/GstHLSDemux:hlsdemux0.GstPad:sink: caps = application/x-hls
0:00:00.735083627 4889 0x7f1cf8000b70 INFO hlsdemux gsthlsdemux.c:802:gst_hls_demux_process_manifest:<hlsdemux0> selected http://live.ximalaya.com/radio-first-page-app/live/1661/24.m3u8
0:00:00.735092043 4889 0x7f1cf8000b70 DEBUG hlsdemux gsthlsdemux.c:607:gst_hls_demux_setup_streams:<hlsdemux0> Setting up streams
0:00:00.735103414 4889 0x7f1cf8000b70 DEBUG hlsdemux gsthlsdemux.c:504:create_stream_for_playlist:<hlsdemux0> is_primary_playlist:1 selected:1 playlist name 'http://live.ximalaya.com/radio-first-page-app/live/1661/24.m3u8'
0:00:00.735159119 4889 0x7f1cf8000b70 DEBUG hlsdemux gsthlsdemux.c:1297:gst_hls_demux_update_fragment_info:<hlsdemux0> Stream 0x7f1cfc02fb30 URI now http://broadcast.tx.xmcdn.com/live/1661_24_240206_000127_27a4.aac
0:00:00.735321264 4889 0x7f1cf8000f50 DEBUG hlsdemux gsthlsdemux.c:1297:gst_hls_demux_update_fragment_info:<hlsdemux0> Stream 0x7f1cfc02fb30 URI now http://broadcast.tx.xmcdn.com/live/1661_24_240206_000127_27a4.aac
0:00:00.735971318 4889 0x557e75f8a330 WARN structure gststructure.c:2093:priv_gst_structure_append_to_gstring: No value transform to serialize field 'session' of type 'GstSoupSession'
Got context from element 'souphttpsrc1': gst.soup.session=context, session=(GstSoupSession)NULL;
0:00:09.009718229 4889 0x7f1cf8001350 DEBUG hlsdemux gsthlsdemux.c:1014:gst_hls_demux_handle_buffer:<'':src_0> Typefind result: audio/mpeg, framed=(boolean)false, mpegversion=(int)4, stream-format=(string)adts, level=(string)1, base-profile=(string)lc, profile=(string)lc, channels=(int)1, rate=(int)22050 prob:100
0:00:09.009857261 4889 0x7f1cf8001350 WARN urisourcebin gsturisourcebin.c:761:new_demuxer_pad_added_cb:<urisourcebin0> error: Adaptive demuxer is not streams-aware, check your installation
ERROR: from element /GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3/GstURISourceBin:urisourcebin0: Your GStreamer installation is missing a plug-in.
Additional debug info:
../gst/playback/gsturisourcebin.c(761): new_demuxer_pad_added_cb (): /GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3/GstURISourceBin:urisourcebin0:
Adaptive demuxer is not streams-aware, check your installation
ERROR: pipeline doesn't want to preroll.
Setting pipeline to NULL ...
0:00:09.010782102 4889 0x557e75f8a330 DEBUG hlsdemux gsthlsdemux.c:1349:gst_hls_demux_reset:<hlsdemux0> resetting
0:00:09.010801178 4889 0x557e75f8a330 DEBUG hlsdemux gsthlsdemux.c:1368:gst_hls_demux_reset:<hlsdemux0> Streams aware : 1
0:00:09.010979423 4889 0x557e75f8a330 DEBUG hlsdemux gsthlsdemux.c:1349:gst_hls_demux_reset:<hlsdemux0> resetting
0:00:09.010991957 4889 0x557e75f8a330 DEBUG hlsdemux gsthlsdemux.c:1368:gst_hls_demux_reset:<hlsdemux0> Streams aware : 1
0:00:09.011312971 4889 0x557e75f8a330 DEBUG hlsdemux gsthlsdemux.c:1349:gst_hls_demux_reset:<hlsdemux0> resetting
0:00:09.011326397 4889 0x557e75f8a330 DEBUG hlsdemux gsthlsdemux.c:1368:gst_hls_demux_reset:<hlsdemux0> Streams aware : 0
Freeing pipeline ...
# gst-launch-1.0 --version
gst-launch-1.0 version 1.22.9
GStreamer 1.22.9
Unknown package origin
#
`````
</details>https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/1011tcpserversrc thowing "pausing after gst_pad_push() = error" randomly in a pla...2024-02-06T12:06:16ZViranjan Pagartcpserversrc thowing "pausing after gst_pad_push() = error" randomly in a playing pipeline![file](/uploads/0b14917354ce8ee5b4b7006a7304e065/file.png)
source bin (containing tcpserversrc) has the logic to reconnect when data is not arriving from tcpclientsrc or source is disconnected
source bin is reset by putting it into NUL...![file](/uploads/0b14917354ce8ee5b4b7006a7304e065/file.png)
source bin (containing tcpserversrc) has the logic to reconnect when data is not arriving from tcpclientsrc or source is disconnected
source bin is reset by putting it into NULL and PLAYING state.
Suddenly when some buffers are consumed by the tcpserversrc then tvpserversrc throws error "pausing after gst_pad_push() = error"https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/489Support for variant streams & alternative renditions with HLS2024-03-22T12:14:11ZSanchayan Maitysanchayan@sanchayanmaity.netSupport for variant streams & alternative renditions with HLS# HLS support for variant stream and alternate renditions
## Motivation
HTTP Live Streaming specification in [RFC 8216](https://www.rfc-editor.org/rfc/rfc8216) defines alternate renditions and variant streams.
Variant streams are diff...# HLS support for variant stream and alternate renditions
## Motivation
HTTP Live Streaming specification in [RFC 8216](https://www.rfc-editor.org/rfc/rfc8216) defines alternate renditions and variant streams.
Variant streams are different encodings of the same presentation.
- Each Variant Stream MUST present the same content.
- Matching content in Variant Streams MUST have matching timestamps which allows clients to synchronize the media.
- Variant Streams SHOULD contain the same encoded audio bitstream.
Alternative rendition provides an alternative for one of the media or variant stream, an example of which would be supporting multiple languages using different audio streams.
Section 8.6 and 8.7 of the RFC show an example of both.
As of this writing, the existing HLS sink elements don't support variant streams and alternate renditions.
## Proposal
Introduce a new element `hlssink4` with support for
- Generating master playlist
- Variant streams
- Alternate renditions
This then enables support for subtitles and closed captions as well.
The work has similarities with what's being done in the yet to be merged [`encs3hlsbin`](https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/801) with two primary differences.
- Not tied to S3
- Encoding or bit rate ladder isn't implemented inside `hlssink4`
While one could also extend `hlssink3`, with the existence of `HlsBaseSink`,
- `hlssink4` can be built on top of `HlsBaseSink`
- keep the management of master playlist and thus variant stream, alternate renditions separate and outside `hlssink3`
- Introduce pad naming on the same lines as `splitmuxsink`https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3274Build with Onnx support fail2024-02-06T07:48:47ZDaniel MorinBuild with Onnx support fail### Describe your issue
Build with Onnx support fail.
#### Expected Behavior
Build to succeed with Onnx support
#### Observed Behavior
```
Compiling C object subprojects/gst-plugins-bad/ext/onnx/libgstonnx.so.p/decoders_gstssdobjectd...### Describe your issue
Build with Onnx support fail.
#### Expected Behavior
Build to succeed with Onnx support
#### Observed Behavior
```
Compiling C object subprojects/gst-plugins-bad/ext/onnx/libgstonnx.so.p/decoders_gstssdobjectdetector.c.o
FAILED: subprojects/gst-plugins-bad/ext/onnx/libgstonnx.so.p/decoders_gstssdobjectdetector.c.o
ccache cc -Isubprojects/gst-plugins-bad/ext/onnx/libgstonnx.so.p -Isubprojects/gst-plugins-bad/ext/onnx -I../subprojects/gst-plugins-bad/ext/onnx -Isubprojects/gst-plugins-bad -I../subprojec
ts/gst-plugins-bad -Isubprojects/gst-plugins-bad/gst-libs -I../subprojects/gst-plugins-bad/gst-libs -I../subprojects/gst-plugins-bad/gst-libs/gst/cuda/stub -Isubprojects/gstreamer/libs -I../
subprojects/gstreamer/libs -Isubprojects/gstreamer -I../subprojects/gstreamer -Isubprojects/gst-plugins-base/gst-libs -I../subprojects/gst-plugins-base/gst-libs -Isubprojects/orc -I../subpro
jects/orc -Isubprojects/gl-headers/abyss -I../subprojects/gl-headers/abyss -Isubprojects/gl-headers/wglext -I../subprojects/gl-headers/wglext -Isubprojects/gstreamer/libs/gst/base -Isubproje
cts/gstreamer/gst -Isubprojects/gst-plugins-base/gst-libs/gst/video -Isubprojects/gst-plugins-bad/gst-libs/gst/analytics -Isubprojects/gst-plugins-bad/gst-libs/gst/cuda -Isubprojects/gst-plu
gins-base/gst-libs/gst/gl -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/local/include/onnxruntime -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/gu
dev-1.0 -I/usr/include/libdrm -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -O0 -g -fvisibility=hidden -fno-strict-aliasing -DG_DISABLE_DEPRECATED -Wmissing-prototype
s -Wold-style-definition -Wmissing-declarations -Wredundant-decls -Wwrite-strings -Wformat -Wformat-security -Winit-self -Wmissing-include-dirs -Waddress -Wno-multichar -Wvla -Wpointer-arith
-fPIC -pthread -DHAVE_CONFIG_H -DHAVE_CUDA -MD -MQ subprojects/gst-plugins-bad/ext/onnx/libgstonnx.so.p/decoders_gstssdobjectdetector.c.o -MF subprojects/gst-plugins-bad/ext/onnx/libgstonnx
.so.p/decoders_gstssdobjectdetector.c.o.d -o subprojects/gst-plugins-bad/ext/onnx/libgstonnx.so.p/decoders_gstssdobjectdetector.c.o -c ../subprojects/gst-plugins-bad/ext/onnx/decoders/gstssd
objectdetector.c
../subprojects/gst-plugins-bad/ext/onnx/decoders/gstssdobjectdetector.c: In function ‘get_guint32_at_index’:
../subprojects/gst-plugins-bad/ext/onnx/decoders/gstssdobjectdetector.c:360:19: error: ‘GstTensor’ {aka ‘struct _GstTensor’} has no member named ‘type’
360 | switch (tensor->type) { \
| ^~
../subprojects/gst-plugins-bad/ext/onnx/decoders/gstssdobjectdetector.c:382:1: note: in expansion of macro ‘DEFINE_GET_FUNC’
382 | DEFINE_GET_FUNC (guint32, UINT32_MAX)
| ^~~~~~~~~~~~~~~
../subprojects/gst-plugins-bad/ext/onnx/decoders/gstssdobjectdetector.c: In function ‘get_float_at_index’:
../subprojects/gst-plugins-bad/ext/onnx/decoders/gstssdobjectdetector.c:360:19: error: ‘GstTensor’ {aka ‘struct _GstTensor’} has no member named ‘type’
360 | switch (tensor->type) { \
| ^~
../subprojects/gst-plugins-bad/ext/onnx/decoders/gstssdobjectdetector.c:383:5: note: in expansion of macro ‘DEFINE_GET_FUNC’
383 | DEFINE_GET_FUNC (float, FLOAT_MAX)
| ^~~~~~~~~~~~~~~
```
#### Setup
Follow this [readme](https://gitlab.freedesktop.org/gstreamer/gstreamer/-/blob/main/subprojects/gst-plugins-bad/ext/onnx/README.md?ref_type=heads)
meson setup build/
### Steps to reproduce the bug
<!-- please fill in exact steps which reproduce the bug on your system, for example: -->
1. Follow setup
2. type ```ninja -C build/```
### How reproducible is the bug?
always
### Screenshots if relevant
### Solutions you have tried
### Related non-duplicate issues
### Additional Information
<!-- Any other information such as logs. Make use of <details> for long output -->https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3273RFC: Moving the srt plugin to -good2024-02-10T20:29:24ZJonas DanielssonRFC: Moving the srt plugin to -goodHello!
We (the good people at Spiideo) are using the SRT plugin in our stack, both as a sender and receiver, to ingest audio/video to our processing nodes, and we also use it as a means to send data out from our processing to consumers....Hello!
We (the good people at Spiideo) are using the SRT plugin in our stack, both as a sender and receiver, to ingest audio/video to our processing nodes, and we also use it as a means to send data out from our processing to consumers. The state of the plugin matters to us.
Getting the plugin from `gst-plugins-bad` to `gst-plugins good` is something we are willing to spend some time on.
Why?
* Finding out if there are any known issues out there that people are anxious about
* Getting some eyes on what might be missing in the plugin
* Making sure documentation is up-to-date
* Getting some critical eyes on the test needed to feel good about the plugin
* Not having to explain to management types why we are using bad stuff
From [subprojects/gstreamer/docs/random/moving-plugins](https://gitlab.freedesktop.org/gstreamer/gstreamer/-/blob/main/subprojects/gstreamer/docs/random/moving-plugins?ref_type=heads):
```plaintext
PROCESS
-------
- Issue in gitlab gets filed by someone requesting a move from bad
to good/ugly
This is "requesting" the move.
- a second person reviews the request and code, and verifies that the
plugin meets the checklist items below, by commenting on the bug
and giving a rundown of what still needs to be done
This is "sponsoring" the move.
- when the checklist is met, a third person can approve the move.
This is "approving" the move.
- an admin performs the move.
This is "performing" the move. (Are you laughing yet ?)
```
We are willing to put in work to raise the quality of the plugin to where it needs to be for a move to make sense. Is there anyone out there with some bandwidth to "sponsor" this by helping us getting the rundown of what needs to be done?
Reading the checklist from [subprojects/gstreamer/docs/random/moving-plugins](https://gitlab.freedesktop.org/gstreamer/gstreamer/-/blob/main/subprojects/gstreamer/docs/random/moving-plugins?ref_type=heads) I see there are some more work to be done on unit-test and manual tests, but there are probably more things to be done.
The srt library used seems to be MPL 2.0: https://github.com/Haivision/srt
Is this worthwhile? Is this wanted? Is this madness?
All the besthttps://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/507Use cargo-semver-checks?2024-02-05T09:37:38ZGuillaume DesmottesUse cargo-semver-checks?I attended [this very interesting talk at FOSDEM](https://fosdem.org/2024/schedule/event/fosdem-2024-2682-semver-in-the-rust-ecosystem-breakage-tooling-and-edge-cases/) (I recommend it, I suppose videos should be available soon), and the...I attended [this very interesting talk at FOSDEM](https://fosdem.org/2024/schedule/event/fosdem-2024-2682-semver-in-the-rust-ecosystem-breakage-tooling-and-edge-cases/) (I recommend it, I suppose videos should be available soon), and the speaker made a quite convincing case for using [cargo-semver-checks](https://crates.io/crates/cargo-semver-checks) as part of crates release process.
My plan is to use it through [Release-plz](https://release-plz.ieni.dev/) for `system-deps` but that's not an option for us here as it relies on Github actions.
- [ ] We should first figure out why `semver-checks` does not work, it cannot build `gstreamer-sys` for some reason:
```
The following warnings were emitted during compilation:
warning: gstreamer-sys@0.22.0:
error: failed to run custom build command for `gstreamer-sys v0.22.0 (/var/home/cassidy/dev/rust/gstreamer-rs/gstreamer/sys)`
Caused by:
process didn't exit successfully: `/var/home/cassidy/dev/rust/gstreamer-rs/target/semver-checks/local-gstreamer-0_22_0/target/semver-checks/target/debug/build/gstreamer-sys-c713f25a5f1f4a82/build-script-build` (exit status: 1)
--- stdout
cargo:rerun-if-env-changed=GSTREAMER_1.0_NO_PKG_CONFIG
cargo:rerun-if-env-changed=PKG_CONFIG_x86_64-unknown-linux-gnu
cargo:rerun-if-env-changed=PKG_CONFIG_x86_64_unknown_linux_gnu
cargo:rerun-if-env-changed=HOST_PKG_CONFIG
cargo:rerun-if-env-changed=PKG_CONFIG
cargo:rerun-if-env-changed=PKG_CONFIG_PATH_x86_64-unknown-linux-gnu
cargo:rerun-if-env-changed=PKG_CONFIG_PATH_x86_64_unknown_linux_gnu
cargo:rerun-if-env-changed=HOST_PKG_CONFIG_PATH
cargo:rerun-if-env-changed=PKG_CONFIG_PATH
cargo:rerun-if-env-changed=PKG_CONFIG_LIBDIR_x86_64-unknown-linux-gnu
cargo:rerun-if-env-changed=PKG_CONFIG_LIBDIR_x86_64_unknown_linux_gnu
cargo:rerun-if-env-changed=HOST_PKG_CONFIG_LIBDIR
cargo:rerun-if-env-changed=PKG_CONFIG_LIBDIR
cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR_x86_64-unknown-linux-gnu
cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR_x86_64_unknown_linux_gnu
cargo:rerun-if-env-changed=HOST_PKG_CONFIG_SYSROOT_DIR
cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR
cargo:warning=
pkg-config exited with status code 1
> PKG_CONFIG_PATH=/var/home/cassidy/dev/gst/gstreamer/build/meson-uninstalled:/var/home/cassidy/dev/gst/gstreamer/prefix/lib/pkgconfig PKG_CONFIG_ALLOW_SYSTEM_CFLAGS=1 pkg-config --libs --cflags gstreamer-1.0 gstreamer-1.0 >= 1.23
The system library `gstreamer-1.0` required by crate `gstreamer-sys` was not found.
The file `gstreamer-1.0.pc` needs to be installed and the PKG_CONFIG_PATH environment variable must contain its parent directory.
PKG_CONFIG_PATH contains the following:
- /var/home/cassidy/dev/gst/gstreamer/build/meson-uninstalled
- /var/home/cassidy/dev/gst/gstreamer/prefix/lib/pkgconfig
HINT: you may need to install a package such as gstreamer-1.0, gstreamer-1.0-dev or gstreamer-1.0-devel.
```
- [ ] How could it be integrated as part of our release process? Maybe it could be a manual job, or run only when pushing a `release` branch?https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3272A lot of gst-plugins-scanner CRITICAL messaged failed is showing on gst-va si...2024-03-11T11:06:21ZLim Siew HoonA lot of gst-plugins-scanner CRITICAL messaged failed is showing on gst-va side seeing Ubuntu 22.04 internal errors GUI### Describe your issue
A lot of crash gst-plugins-scanner: CRITICAL , Gstreamer-CRITICAL, GLib-GObject-CRITICAL. Then following said failed to load plugin.....due Too many open files.
#### Expected Behavior
No critical error message...### Describe your issue
A lot of crash gst-plugins-scanner: CRITICAL , Gstreamer-CRITICAL, GLib-GObject-CRITICAL. Then following said failed to load plugin.....due Too many open files.
#### Expected Behavior
No critical error message observed from gst-plugins-scanner
#### Observed Behavior
```
Feb 05 14:00:39 P12SL06TEST pulseaudio[1470]: 0:00:07.072366479 1470 0x56395f9a54d0 ERROR GST_PLUGIN_LOADING gstpluginloader.c:269:plugin_loader_replay_pending: Plugin file /lib/x86_64-linux-gnu/gstreamer-1.0/libgstqsv.so failed to load. Blacklisting
Feb 05 14:00:39 P12SL06TEST pulseaudio[3448]: ** (gst-plugin-scanner:3448): CRITICAL **: 06:00:39.182: gst_va_encoder_new: assertion 'GST_IS_VA_DISPLAY (display)' failed
Feb 05 14:00:39 P12SL06TEST pulseaudio[3448]: ** (gst-plugin-scanner:3448): CRITICAL **: 06:00:39.182: gst_va_encoder_get_rate_control_enum: assertion 'GST_IS_VA_ENCODER (self)' failed
Feb 05 14:00:39 P12SL06TEST pulseaudio[3448]: (gst-plugin-scanner:3448): GStreamer-CRITICAL **: 06:00:39.182: gst_object_unref: assertion 'object != NULL' failed
Feb 05 14:00:39 P12SL06TEST pulseaudio[3448]: (gst-plugin-scanner:3448): GStreamer-CRITICAL **: 06:00:39.182: gst_object_unref: assertion 'object != NULL' failed
Feb 05 14:00:39 P12SL06TEST pulseaudio[3448]: (gst-plugin-scanner:3448): GLib-GObject-CRITICAL **: 06:00:39.182: validate_pspec_to_install: assertion 'G_IS_PARAM_SPEC (pspec)' failed
Feb 05 14:00:39 P12SL06TEST pulseaudio[3448]: (gst-plugin-scanner:3448): GLib-GObject-CRITICAL **: 06:00:39.182: g_param_spec_ref_sink: assertion 'G_IS_PARAM_SPEC (pspec)' failed
Feb 05 14:00:39 P12SL06TEST pulseaudio[3448]: (gst-plugin-scanner:3448): GLib-GObject-CRITICAL **: 06:00:39.182: g_param_spec_unref: assertion 'G_IS_PARAM_SPEC (pspec)' failed
Feb 05 14:00:39 P12SL06TEST pulseaudio[3448]: ** (gst-plugin-scanner:3448): CRITICAL **: 06:00:39.183: gst_va_encoder_new: assertion 'GST_IS_VA_DISPLAY (display)' failed
Feb 05 14:00:39 P12SL06TEST pulseaudio[3448]: ** (gst-plugin-scanner:3448): CRITICAL **: 06:00:39.183: gst_va_encoder_get_rate_control_enum: assertion 'GST_IS_VA_ENCODER (self)' failed
Feb 05 14:00:39 P12SL06TEST pulseaudio[3448]: (gst-plugin-scanner:3448): GStreamer-CRITICAL **: 06:00:39.183: gst_object_unref: assertion 'object != NULL' failed
Feb 05 14:00:39 P12SL06TEST pulseaudio[3448]: (gst-plugin-scanner:3448): GStreamer-CRITICAL **: 06:00:39.183: gst_object_unref: assertion 'object != NULL' failed
Feb 05 14:00:39 P12SL06TEST pulseaudio[3448]: (gst-plugin-scanner:3448): GLib-GObject-CRITICAL **: 06:00:39.183: validate_pspec_to_install: assertion 'G_IS_PARAM_SPEC (pspec)' failed
Feb 05 14:00:39 P12SL06TEST pulseaudio[3448]: (gst-plugin-scanner:3448): GLib-GObject-CRITICAL **: 06:00:39.183: g_param_spec_ref_sink: assertion 'G_IS_PARAM_SPEC (pspec)' failed
Feb 05 14:00:39 P12SL06TEST pulseaudio[3448]: (gst-plugin-scanner:3448): GLib-GObject-CRITICAL **: 06:00:39.183: g_param_spec_unref: assertion 'G_IS_PARAM_SPEC (pspec)' failed
Feb 05 14:00:39 P12SL06TEST pulseaudio[3448]: ** (gst-plugin-scanner:3448): CRITICAL **: 06:00:39.183: gst_va_encoder_new: assertion 'GST_IS_VA_DISPLAY (display)' failed
Feb 05 14:00:39 P12SL06TEST pulseaudio[3448]: ** (gst-plugin-scanner:3448): CRITICAL **: 06:00:39.183: gst_va_encoder_get_rate_control_enum: assertion 'GST_IS_VA_ENCODER (self)' failed
Feb 05 14:00:39 P12SL06TEST pulseaudio[3448]: (gst-plugin-scanner:3448): GStreamer-CRITICAL **: 06:00:39.183: gst_object_unref: assertion 'object != NULL' failed
Feb 05 14:00:39 P12SL06TEST pulseaudio[3448]: (gst-plugin-scanner:3448): GStreamer-CRITICAL **: 06:00:39.183: gst_object_unref: assertion 'object != NULL' failed
Feb 05 14:00:39 P12SL06TEST pulseaudio[3448]: (gst-plugin-scanner:3448): GLib-GObject-CRITICAL **: 06:00:39.183: validate_pspec_to_install: assertion 'G_IS_PARAM_SPEC (pspec)' failed
Feb 05 14:00:39 P12SL06TEST pulseaudio[3448]: (gst-plugin-scanner:3448): GLib-GObject-CRITICAL **: 06:00:39.183: g_param_spec_ref_sink: assertion 'G_IS_PARAM_SPEC (pspec)' failed
Feb 05 14:00:39 P12SL06TEST pulseaudio[3448]: (gst-plugin-scanner:3448): GLib-GObject-CRITICAL **: 06:00:39.183: g_param_spec_unref: assertion 'G_IS_PARAM_SPEC (pspec)' failed
Feb 05 14:00:39 P12SL06TEST pulseaudio[3448]: ** (gst-plugin-scanner:3448): CRITICAL **: 06:00:39.187: gst_va_filter_new: assertion 'GST_IS_VA_DISPLAY (display)' failed
Feb 05 14:00:39 P12SL06TEST pulseaudio[3448]: ** (gst-plugin-scanner:3448): CRITICAL **: 06:00:39.187: gst_va_filter_open: assertion 'GST_IS_VA_FILTER (self)' failed
Feb 05 14:00:39 P12SL06TEST pulseaudio[3448]: ** (gst-plugin-scanner:3448): CRITICAL **: 06:00:39.188: gst_va_filter_install_properties: assertion 'GST_IS_VA_FILTER (self)' failed
Feb 05 14:00:39 P12SL06TEST pulseaudio[3448]: (gst-plugin-scanner:3448): GStreamer-CRITICAL **: 06:00:39.188: gst_object_unref: assertion 'object != NULL' failed
Feb 05 14:00:39 P12SL06TEST pulseaudio[3448]: (gst-plugin-scanner:3448): GStreamer-CRITICAL **: 06:00:39.188: gst_object_unref: assertion 'object != NULL' failed
Feb 05 14:00:39 P12SL06TEST pulseaudio[3448]: ** (gst-plugin-scanner:3448): CRITICAL **: 06:00:39.188: gst_va_filter_new: assertion 'GST_IS_VA_DISPLAY (display)' failed
Feb 05 14:00:39 P12SL06TEST pulseaudio[3448]: ** (gst-plugin-scanner:3448): CRITICAL **: 06:00:39.188: gst_va_filter_open: assertion 'GST_IS_VA_FILTER (self)' failed
Feb 05 14:00:39 P12SL06TEST pulseaudio[3448]: ** (gst-plugin-scanner:3448): CRITICAL **: 06:00:39.188: gst_va_filter_install_deinterlace_properties: assertion 'GST_IS_VA_FILTER (self)' failed
Feb 05 14:00:39 P12SL06TEST pulseaudio[3448]: (gst-plugin-scanner:3448): GStreamer-CRITICAL **: 06:00:39.188: gst_object_unref: assertion 'object != NULL' failed
Feb 05 14:00:39 P12SL06TEST pulseaudio[3448]: (gst-plugin-scanner:3448): GStreamer-CRITICAL **: 06:00:39.188: gst_object_unref: assertion 'object != NULL' failed
Feb 05 14:00:39 P12SL06TEST pulseaudio[3448]: ** (gst-plugin-scanner:3448): CRITICAL **: 06:00:39.188: gst_va_filter_new: assertion 'GST_IS_VA_DISPLAY (display)' failed
Feb 05 14:00:39 P12SL06TEST pulseaudio[3448]: ** (gst-plugin-scanner:3448): CRITICAL **: 06:00:39.188: gst_va_filter_open: assertion 'GST_IS_VA_FILTER (self)' failed
Feb 05 14:00:39 P12SL06TEST pulseaudio[3448]: (gst-plugin-scanner:3448): GStreamer-CRITICAL **: 06:00:39.188: gst_object_unref: assertion 'object != NULL' failed
Feb 05 14:00:39 P12SL06TEST pulseaudio[3448]: (gst-plugin-scanner:3448): GStreamer-CRITICAL **: 06:00:39.188: gst_object_unref: assertion 'object != NULL' failed
Feb 05 14:00:39 P12SL06TEST pulseaudio[3448]: (gst-plugin-scanner:3448): GStreamer-WARNING **: 06:00:39.194: Failed to load plugin '/lib/x86_64-linux-gnu/gstreamer-1.0/libgstnvcodec.so': libEGL.so.1: cannot open shared object file: Too many open files
Feb 05 14:00:39 P12SL06TEST pulseaudio[3448]: (gst-plugin-scanner:3448): GStreamer-WARNING **: 06:00:39.194: Failed to load plugin '/lib/x86_64-linux-gnu/gstreamer-1.0/libgstcompositor.so': /lib/x86_64-linux-gnu/gstreamer-1.0/libgstcompositor.so: cannot open shared object file: Too many open files
Feb 05 14:00:39 P12SL06TEST pulseaudio[3448]: (gst-plugin-scanner:3448): GStreamer-WARNING **: 06:00:39.194: Failed to load plugin '/lib/x86_64-linux-gnu/gstreamer-1.0/libgstrtsp.so': /lib/x86_64-linux-gnu/gstreamer-1.0/libgstrtsp.so: cannot open shared object file: Too many open files
Feb 05 14:00:39 P12SL06TEST pulseaudio[3448]: (gst-plugin-scanner:3448): GStreamer-WARNING **: 06:00:39.194: Failed to load plugin '/lib/x86_64-linux-gnu/gstreamer-1.0/libgstpnm.so': /lib/x86_64-linux-gnu/gstreamer-1.0/libgstpnm.so: cannot open shared object file: Too many open files
Feb 05 14:00:39 P12SL06TEST pulseaudio[3448]: (gst-plugin-scanner:3448): GStreamer-WARNING **: 06:00:39.194: Failed to load plugin '/lib/x86_64-linux-gnu/gstreamer-1.0/libgstasfmux.so': /lib/x86_64-linux-gnu/gstreamer-1.0/libgstasfmux.so: cannot open shared object file: Too many open files
Feb 05 14:00:39 P12SL06TEST pulseaudio[3448]: (gst-plugin-scanner:3448): GStreamer-WARNING **: 06:00:39.194: Failed to load plugin '/lib/x86_64-linux-gnu/gstreamer-1.0/libgstreplaygain.so': /lib/x86_64-linux-gnu/gstreamer-1.0/libgstreplaygain.so: cannot open shared object file: Too many open files
Feb 05 14:00:39 P12SL06TEST pulseaudio[3448]: (gst-plugin-scanner:3448): GStreamer-WARNING **: 06:00:39.194: Failed to load plugin '/lib/x86_64-linux-gnu/gstreamer-1.0/libgstcamerabin.so': /lib/x86_64-linux-gnu/gstreamer-1.0/libgstcamerabin.so: cannot open shared object file: Too many open files
Feb 05 14:00:39 P12SL06TEST pulseaudio[3448]: (gst-plugin-scanner:3448): GStreamer-WARNING **: 06:00:39.194: Failed to load plugin '/lib/x86_64-linux-gnu/gstreamer-1.0/libgstmidi.so': /lib/x86_64-linux-gnu/gstreamer-1.0/libgstmidi.so: cannot open shared object file: Too many open files
Feb 05 14:00:39 P12SL06TEST pulseaudio[3448]: (gst-plugin-scanner:3448): GStreamer-WARNING **: 06:00:39.194: Failed to load plugin '/lib/x86_64-linux-gnu/gstreamer-1.0/libgstoverlaycomposition.so': /lib/x86_64-linux-gnu/gstreamer-1.0/libgstoverlaycomposition.so: cannot open shared object file: Too many open files
Feb 05 14:00:39 P12SL06TEST pulseaudio[3448]: (gst-plugin-scanner:3448): GStreamer-WARNING **: 06:00:39.194: Failed to load plugin '/lib/x86_64-linux-gnu/gstreamer-1.0/libgstvideoframe_audiolevel.so': /lib/x86_64-linux-gnu/gstreamer-1.0/libgstvideoframe_audiolevel.so: cannot open shared object file: Too many open files
Feb 05 14:00:39 P12SL06TEST pulseaudio[3448]: (gst-plugin-scanner:3448): GStreamer-WARNING **: 06:00:39.194: Failed to load plugin '/lib/x86_64-linux-gnu/gstreamer-1.0/libgstdsd.so': /lib/x86_64-linux-gnu/gstreamer-1.0/libgstdsd.so: cannot open shared object file: Too many open files
Feb 05 14:00:39 P12SL06TEST pulseaudio[3448]: (gst-plugin-scanner:3448): GStreamer-WARNING **: 06:00:39.194: Failed to load plugin '/lib/x86_64-linux-gnu/gstreamer-1.0/libgstxvimagesink.so': /lib/x86_64-linux-gnu/gstreamer-1.0/libgstxvimagesink.so: cannot open shared object file: Too many open files
Feb 05 14:00:39 P12SL06TEST pulseaudio[3448]: (gst-plugin-scanner:3448): GStreamer-WARNING **: 06:00:39.194: Failed to load plugin '/lib/x86_64-linux-gnu/gstreamer-1.0/libgstopus.so': /lib/x86_64-linux-gnu/gstreamer-1.0/libgstopus.so: cannot open shared object file: Too many open files
Feb 05 14:00:39 P12SL06TEST pulseaudio[3448]: (gst-plugin-scanner:3448): GStreamer-WARNING **: 06:00:39.194: Failed to load plugin '/lib/x86_64-linux-gnu/gstreamer-1.0/libgstequalizer.so': /lib/x86_64-linux-gnu/gstreamer-1.0/libgstequalizer.so: cannot open shared object file: Too many open files
Feb 05 14:00:39 P12SL06TEST pulseaudio[3448]: (gst-plugin-scanner:3448): GStreamer-WARNING **: 06:00:39.194: Failed to load plugin '/lib/x86_64-linux-gnu/gstreamer-1.0/libgstvideo4linux2.so': /lib/x86_64-linux-gnu/gstreamer-1.0/libgstvideo4linux2.so: cannot open shared object file: Too many open files
Feb 05 14:00:39 P12SL06TEST pulseaudio[3448]: (gst-plugin-scanner:3448): GStreamer-WARNING **: 06:00:39.194: Failed to load plugin '/lib/x86_64-linux-gnu/gstreamer-1.0/libgstossaudio.so': /lib/x86_64-linux-gnu/gstreamer-1.0/libgstossaudio.so: cannot open shared object file: Too many open files
Feb 05 14:00:39 P12SL06TEST pulseaudio[3448]: (gst-plugin-scanner:3448): GStreamer-WARNING **: 06:00:39.194: Failed to load plugin '/lib/x86_64-linux-gnu/gstreamer-1.0/libgstcoretracers.so': /lib/x86_64-linux-gnu/gstreamer-1.0/libgstcoretracers.so: cannot open shared object file: Too many open files
Feb 05 14:00:39 P12SL06TEST pulseaudio[3448]: (gst-plugin-scanner:3448): GStreamer-WARNING **: 06:00:39.194: Failed to load plugin '/lib/x86_64-linux-gnu/gstreamer-1.0/libgstvideobox.so': /lib/x86_64-linux-gnu/gstreamer-1.0/libgstvideobox.so: cannot open shared object file: Too many open files
Feb 05 14:00:39 P12SL06TEST pulseaudio[3448]: (gst-plugin-scanner:3448): GStreamer-WARNING **: 06:00:39.194: Failed to load plugin '/lib/x86_64-linux-gnu/gstreamer-1.0/libgstaudiovisualizers.so': /lib/x86_64-linux-gnu/gstreamer-1.0/libgstaudiovisualizers.so: cannot open shared object file: Too many open files
Feb 05 14:00:39 P12SL06TEST pulseaudio[3448]: (gst-plugin-scanner:3448): GStreamer-WARNING **: 06:00:39.194: Failed to load plugin '/lib/x86_64-linux-gnu/gstreamer-1.0/libgstfrei0r.so': /lib/x86_64-linux-gnu/gstreamer-1.0/libgstfrei0r.so: cannot open shared object file: Too many open files
Feb 05 14:00:39 P12SL06TEST pulseaudio[3448]: (gst-plugin-scanner:3448): GStreamer-WARNING **: 06:00:39.194: Failed to load plugin '/lib/x86_64-linux-gnu/gstreamer-1.0/libgstgio.so': /lib/x86_64-linux-gnu/gstreamer-1.0/libgstgio.so: cannot open shared object file: Too many open files
Feb 05 14:00:39 P12SL06TEST pulseaudio[3448]: (gst-plugin-scanner:3448): GStreamer-WARNING **: 06:00:39.194: Failed to load plugin '/lib/x86_64-linux-gnu/gstreamer-1.0/libgstinterlace.so': /lib/x86_64-linux-gnu/gstreamer-1.0/libgstinterlace.so: cannot open shared object file: Too many open files
Feb 05 14:00:39 P12SL06TEST pulseaudio[3448]: (gst-plugin-scanner:3448): GStreamer-WARNING **: 06:00:39.194: Failed to load plugin '/lib/x86_64-linux-gnu/gstreamer-1.0/libgsttypefindfunctions.so': /lib/x86_64-linux-gnu/gstreamer-1.0/libgsttypefindfunctions.so: cannot open shared object file: Too many open files
Feb 05 14:00:39 P12SL06TEST pulseaudio[3448]: (gst-plugin-scanner:3448): GStreamer-WARNING **: 06:00:39.194: Failed to load plugin '/lib/x86_64-linux-gnu/gstreamer-1.0/libgstdc1394.so': /lib/x86_64-linux-gnu/gstreamer-1.0/libgstdc1394.so: cannot open shared object file: Too many open files
Feb 05 14:00:39 P12SL06TEST pulseaudio[3448]: (gst-plugin-scanner:3448): GStreamer-WARNING **: 06:00:39.194: Failed to load plugin '/lib/x86_64-linux-gnu/gstreamer-1.0/libgstmse.so': /lib/x86_64-linux-gnu/gstreamer-1.0/libgstmse.so: cannot open shared object file: Too many open files
Feb 05 14:00:39 P12SL06TEST pulseaudio[3448]: (gst-plugin-scanner:3448): GStreamer-WARNING **: 06:00:39.194: Failed to load plugin '/lib/x86_64-linux-gnu/gstreamer-1.0/libgsttcp.so': /lib/x86_64-linux-gnu/gstreamer-1.0/libgsttcp.so: cannot open shared object file: Too many open files
Feb 05 14:00:39 P12SL06TEST pulseaudio[3448]: (gst-plugin-scanner:3448): GStreamer-WARNING **: 06:00:39.194: Failed to load plugin '/lib/x86_64-linux-gnu/gstreamer-1.0/libgstopencv.so': /lib/x86_64-linux-gnu/gstreamer-1.0/libgstopencv.so: cannot open shared object file: Too many open files
Feb 05 14:00:39 P12SL06TEST pulseaudio[3448]: (gst-plugin-scanner:3448): GStreamer-WARNING **: 06:00:39.194: Failed to load plugin '/lib/x86_64-linux-gnu/gstreamer-1.0/libgstmatroska.so': /lib/x86_64-linux-gnu/gstreamer-1.0/libgstmatroska.so: cannot open shared object file: Too many open files
Feb 05 14:00:39 P12SL06TEST pulseaudio[3448]: (gst-plugin-scanner:3448): GStreamer-WARNING **: 06:00:39.194: Failed to load plugin '/lib/x86_64-linux-gnu/gstreamer-1.0/libgstudp.so': /lib/x86_64-linux-gnu/gstreamer-1.0/libgstudp.so: cannot open shared object file: Too many open files
Feb 05 14:00:39 P12SL06TEST pulseaudio[3448]: (gst-plugin-scanner:3448): GStreamer-WARNING **: 06:00:39.194: Failed to load plugin '/lib/x86_64-linux-gnu/gstreamer-1.0/libgstavtp.so': /lib/x86_64-linux-gnu/gstreamer-1.0/libgstavtp.so: cannot open shared object file: Too many open files
Feb 05 14:00:39 P12SL06TEST pulseaudio[3448]: (gst-plugin-scanner:3448): GStreamer-WARNING **: 06:00:39.194: Failed to load plugin '/lib/x86_64-linux-gnu/gstreamer-1.0/libgstipcpipeline.so': /lib/x86_64-linux-gnu/gstreamer-1.0/libgstipcpipeline.so: cannot open shared object file: Too many open files
Feb 05 14:00:39 P12SL06TEST pulseaudio[3448]: (gst-plugin-scanner:3448): GStreamer-WARNING **: 06:00:39.194: Failed to load plugin '/lib/x86_64-linux-gnu/gstreamer-1.0/libgstcolormanagement.so': /lib/x86_64-linux-gnu/gstreamer-1.0/libgstcolormanagement.so: cannot open shared object file: Too many open files
Feb 05 14:00:39 P12SL06TEST dbus-daemon[990]: [system] Activating via systemd: service name='org.bluez' unit='dbus-org.bluez.service' requested by ':1.81' (uid=1001 pid=1470 comm="/usr/bin/pulseaudio --daemonize=no --log-target=jo")
```
#### Setup
- **Operating System: Ubuntu 22.04 64bit
- **Device:** Computer
- **GStreamer Version:** main branch , commit id: aa68b5e02a30e6f58dbe89203919e5d717ec8091
- **libva: ** https://github.com/intel/libva/releases/tag/2.20.0
- **gmmlib: ** https://github.com/intel/gmmlib/releases/tag/intel-gmmlib-22.3.12
- **media-driver: ** https://github.com/intel/media-driver/releases/tag/intel-media-23.3.5
- **onevpl: https://github.com/oneapi-src/oneVPL/releases/tag/v2023.3.1
- ** onevpl-intel-gpu: https://github.com/oneapi-src/oneVPL-intel-gpu/releases/tag/intel-onevpl-23.3.4
- **Command line:**
i). meson builddir/ -Dprefix=/usr -Dgst-plugins-bad:msdk=enabled -Dgst-plugins-bad:mfx_api=oneVPL -Dgst-plugins-bad:va=enabled
ii). ninja -C builddir/
iii). sudo ninja -C builddir/ install
iv). sudo reboot now
v) sudo journalctl -b > log.txt
### Steps to reproduce the bug
1. open terminal
2. type `sudo reboot now`
3. type `sudo journalctl -b > log.txt`
4. type `vim log.txt`
### How reproducible is the bug?
Always
### Screenshots if relevant
![myscreenshot](/uploads/57c0647000826ab7b61c4b6f29137017/myscreenshot.png)
### Additional Information
[log.txt](/uploads/2b090bf1304fbca044f40e826a87f1d2/log.txt)https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/issues/348vaapi not work : no element "vaapih264dec"2024-02-05T07:56:05Zwols yangvaapi not work : no element "vaapih264dec"Hi
I am tying to use va-api on my computer.
But when I try
`gst-launch-1.0 rtspsrc location=rtsp://admin:123456@192.168.0.100:7070/stream1 latency=10 ! queue ! rtph264depay ! vaapih264dec ! videoconvert ! videoscale ! video/x-raw,width=6...Hi
I am tying to use va-api on my computer.
But when I try
`gst-launch-1.0 rtspsrc location=rtsp://admin:123456@192.168.0.100:7070/stream1 latency=10 ! queue ! rtph264depay ! vaapih264dec ! videoconvert ! videoscale ! video/x-raw,width=640,height=480 ! autovideosink`
I got
`WARNING: erroneous pipeline: no element "vaapih264dec"`
Here is my setting
```
$ 5.15.0-92-generic #102~20.04.1-Ubuntu
$ gst-launch-1.0 --version
gst-launch-1.0 version 1.16.3
GStreamer 1.16.3
https://launchpad.net/distros/ubuntu/+source/gstreamer1.0
$ export LIBVA_DRIVER_NAME=iHD
$ export GST_VAAPI_ALL_DRIVERS=1 # if don't do this I won't see vaapi features
$ gst-inspect-1.0 vaapi
Plugin Details:
Name vaapi
Description VA-API based elements
Filename /usr/lib/x86_64-linux-gnu/gstreamer-1.0/libgstvaapi.so
Version 1.16.2
License LGPL
Source module gstreamer-vaapi
Source release date 2019-12-03
Binary package gstreamer-vaapi
Origin URL http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer
vaapih264enc: VA-API H264 encoder
vaapijpegenc: VA-API JPEG encoder
vaapisink: VA-API sink
vaapidecodebin: VA-API Decode Bin
vaapipostproc: VA-API video postprocessing
vaapih265dec: VA-API H265 decoder
vaapivp9dec: VA-API VP9 decoder
vaapivp8dec: VA-API VP8 decoder
vaapih264dec: VA-API H264 decoder
vaapimpeg2dec: VA-API MPEG2 decoder
vaapijpegdec: VA-API JPEG decoder
11 features:
+-- 11 elements
```
```
$ gst-inspect-1.0 vaapih264dec
Factory Details:
Rank primary (256)
Long-name VA-API H264 decoder
Klass Codec/Decoder/Video/Hardware
Description A VA-API based H264 video decoder
Author Gwenole Beauchesne <gwenole.beauchesne@intel.com>, Halley Zhao <halley.zhao@intel.com>, Sreerenj Balachandran <sreerenj.balachandran@intel.com>, Wind Yuan <feng.yuan@intel.com>
......
```
```
$ vainfo
libva info: VA-API version 1.7.0
libva info: User environment variable requested driver 'iHD'
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_7
libva info: va_openDriver() returns 0
vainfo: VA-API version: 1.7 (libva 2.6.0)
vainfo: Driver version: Intel iHD driver for Intel(R) Gen Graphics - 20.1.1 ()
vainfo: Supported profile and entrypoints
VAProfileMPEG2Simple : VAEntrypointVLD
VAProfileMPEG2Main : VAEntrypointVLD
VAProfileH264Main : VAEntrypointVLD
VAProfileH264Main : VAEntrypointEncSliceLP
VAProfileH264High : VAEntrypointVLD
VAProfileH264High : VAEntrypointEncSliceLP
VAProfileJPEGBaseline : VAEntrypointVLD
VAProfileJPEGBaseline : VAEntrypointEncPicture
VAProfileH264ConstrainedBaseline: VAEntrypointVLD
VAProfileH264ConstrainedBaseline: VAEntrypointEncSliceLP
VAProfileVP8Version0_3 : VAEntrypointVLD
VAProfileHEVCMain : VAEntrypointVLD
VAProfileHEVCMain10 : VAEntrypointVLD
VAProfileVP9Profile0 : VAEntrypointVLD
VAProfileVP9Profile2 : VAEntrypointVLD
```
```
$ ls /usr/lib/x86_64-linux-gnu/dri | grep drv_video.so
i965_drv_video.so
iHD_drv_video.so
nouveau_drv_video.so
r600_drv_video.so
radeonsi_drv_video.so
$ ls /dev/dri
by-path card0 renderD128
$ lspci | grep VGA
00:02.0 VGA compatible controller: Intel Corporation Device 9bc5 (rev 05)
```https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3271webrtcbin: helper thread should have thread default main context2024-02-05T02:01:00ZSergey Radionovrsatom@gmail.comwebrtcbin: helper thread should have thread default main contextto avoid unexpected behavior with some GLib functions (like `g_task_new`).
The problem is if there is no thread default main context defined then global-default main context can be unexpectedly used and it can lead to threading race con...to avoid unexpected behavior with some GLib functions (like `g_task_new`).
The problem is if there is no thread default main context defined then global-default main context can be unexpectedly used and it can lead to threading race conditions.https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3270WavPack plugin does not support DSD2024-02-04T03:09:36ZJared BrelandWavPack plugin does not support DSD### Describe your issue
WavPack supports compression of DSD (DSF, etc.) files since version 5.0. GStreamer individually supports playback of both WavPack files and DSD files via their respective plugins, but does not (as far as I can te...### Describe your issue
WavPack supports compression of DSD (DSF, etc.) files since version 5.0. GStreamer individually supports playback of both WavPack files and DSD files via their respective plugins, but does not (as far as I can tell) support WavPack-compressed DSD files. It would be great to add support for this so DSD files can be both compressed and tagged (DSF format supports tagging, but it is not compressed).
#### Expected Behavior
Playing a WavPack file w/ embedded DSD audio should work.
#### Observed Behavior
Playback fails with "FAILED: Could not determine type of stream."
#### Setup
- Linux
- Computer
- 1.20.6
- Playback via Strawberry w/ gstreamer backend, but gst-typefind-1.0 returns the same message
### Steps to reproduce the bug
1. Download example DSF/DSD file (e.g., "Rodeo on a Ridge" from https://www.oppodigital.com/hra/dsd-by-davidelias.aspx)
1. Compress the file with wavpack: `wavpack 07\ -\ David\ Elias\ -\ Acoustic\ Trio\ -\ Rodeo\ On\ A\ Ridge\ \(DSD64\).dsf`
1. Compress any PCM/WAV file with wavpack for comparison
1. Verify DSF file plays successfully with, e.g., Strawberry
1. Verify PCM WavPack file plays successfully
1. Verify DSD WavPack file fails to play
1. Run `gst-typefind-1.0` against the PCM WavPack file - note it's detected as audio/x-wavpack
1. Run `gst-typefind-1.0` against the DSD WavPack file - in the Rodeo on a Ridge example, it returns video/x-h263. In other tests I've seen "FAILED: Could not determine type of stream." and (if the file has been tagged) application/x-apetag.
### How reproducible is the bug?
Always
### Screenshots if relevant
### Solutions you have tried
The DSD-compressed WavPack file is playble by both ffmpeg (ffplay) and mpv. It's also playable with Strawberry if I switch it to use VLC as its backend. This leads me to conclude the limitation is with the GStreamer plugin.
### Related non-duplicate issues
### Additional Information
I'm not especially familiar with GStreamer, so apologies if the above details (ie., using gst-typefind-1.0) are not adequate. Please let me know what additional info would help and I'm happy to provide.
Thanks.https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3269nvh264enc rc-mode=constqp and h264parse2024-02-02T16:12:45ZJulius Löbelnvh264enc rc-mode=constqp and h264parseHey,
it seems there is a bug when using nvh264enc element with rc-mode=constqp and h264parse element.
The following pipeline works with gst version 1.22.8:
`gst-launch-1.0 -e v4l2src device=/dev/video0 ! videoconvert ! nvh264enc prese...Hey,
it seems there is a bug when using nvh264enc element with rc-mode=constqp and h264parse element.
The following pipeline works with gst version 1.22.8:
`gst-launch-1.0 -e v4l2src device=/dev/video0 ! videoconvert ! nvh264enc preset=lossless rc-mode=constqp qp-const=0 ! h264parse ! filesink location=test.mp4`
After updating to 1.22.9 i get the following error:
`GST_DEBUG=3 gst-launch-1.0 -e v4l2src device=/dev/video0 ! videoconvert ! nvh264enc preset=lossless rc-mode=constqp qp-const=0 ! h264parse ! filesink location=test.mp4
Setting pipeline to PAUSED ...
Pipeline is live and does not need PREROLL ...
Got context from element 'nvh264enc0': gst.cuda.context=context, gst.cuda.context=(GstCudaContext)"\(GstCudaContext\)\ cudacontext1", cuda-device-id=(uint)0;
Got context from element 'nvh264enc0': gst.gl.GLDisplay=context, gst.gl.GLDisplay=(GstGLDisplay)"\(GstGLDisplayX11\)\ gldisplayx11-0";
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
0:00:00.392395152 6817 0x7679ec000da0 WARN nvenc gstnvbaseenc.c:1849:gst_nv_base_enc_set_format:<nvh264enc0> error: Failed to init encoder: 8- Incorrect Profile for qpPrimeYZeroTransformBypassFlag and const QP RC mode.
ERROR: from element /GstPipeline:pipeline0/GstNvH264Enc:nvh264enc0: Could not configure supporting library.
Additional debug info:
../gstreamer/subprojects/gst-plugins-bad/sys/nvcodec/gstnvbaseenc.c(1849): gst_nv_base_enc_set_format (): /GstPipeline:pipeline0/GstNvH264Enc:nvh264enc0:
Failed to init encoder: 8- Incorrect Profile for qpPrimeYZeroTransformBypassFlag and const QP RC mode.
0:00:00.392463781 6817 0x7679ec000da0 WARN videoencoder gstvideoencoder.c:771:gst_video_encoder_setcaps:<nvh264enc0> rejected caps video/x-raw, width=(int)640, height=(int)480, framerate=(fraction)30/1, pixel-aspect-ratio=(fraction)1/1, format=(string)NV12, interlace-mode=(string)progressive, colorimetry=(string)2:4:7:1
Execution ended after 0:00:00.014729142
Setting pipeline to NULL ...
0:00:00.396954437 6817 0x7679ec000da0 WARN nvenc gstnvbaseenc.c:1849:gst_nv_base_enc_set_format:<nvh264enc0> error: Failed to init encoder: 8- Incorrect Profile for qpPrimeYZeroTransformBypassFlag and const QP RC mode.
ERROR: from element /GstPipeline:pipeline0/GstNvH264Enc:nvh264enc0: Could not configure supporting library.
Additional debug info:
../gstreamer/subprojects/gst-plugins-bad/sys/nvcodec/gstnvbaseenc.c(1849): gst_nv_base_enc_set_format (): /GstPipeline:pipeline0/GstNvH264Enc:nvh264enc0:
Failed to init encoder: 8- Incorrect Profile for qpPrimeYZeroTransformBypassFlag and const QP RC mode.
0:00:00.396989032 6817 0x7679ec000da0 WARN videoencoder gstvideoencoder.c:771:gst_video_encoder_setcaps:<nvh264enc0> rejected caps video/x-raw, width=(int)640, height=(int)480, framerate=(fraction)30/1, pixel-aspect-ratio=(fraction)1/1, format=(string)NV12, interlace-mode=(string)progressive, colorimetry=(string)2:4:7:1
0:00:00.396998771 6817 0x7679ec000da0 WARN GST_PADS gstpad.c:4384:gst_pad_peer_query:<videoconvert0:src> could not send sticky events
0:00:00.397073160 6817 0x7679ec000da0 WARN GST_PADS gstpad.c:4384:gst_pad_peer_query:<v4l2src0:src> could not send sticky events
0:00:00.397086155 6817 0x7679ec000da0 WARN v4l2 gstv4l2object.c:4453:gst_v4l2_object_set_crop:<v4l2src0:src> VIDIOC_S_CROP failed
0:00:00.415931600 6817 0x7679ec000da0 WARN v4l2 gstv4l2object.c:3278:gst_v4l2_object_reset_compose_region:<v4l2src0:src> Failed to get default compose rectangle with VIDIOC_G_SELECTION: Invalid argument
0:00:00.416382056 6817 0x7679ec000da0 WARN v4l2bufferpool gstv4l2bufferpool.c:850:gst_v4l2_buffer_pool_start:<v4l2src0:pool0:src> Uncertain or not enough buffers, enabling copy threshold
Freeing pipeline ...
`
When using the following pipeline i get no error:
`gst-launch-1.0 -e v4l2src device=/dev/video0 ! videoconvert ! nvh264enc preset=lossless rc-mode=constqp qp-const=0 ! filesink location=test.mp4`
Also using this pipeline does not result in an error:
`gst-launch-1.0 -e v4l2src device=/dev/video0 ! videoconvert ! nvh264enc preset=lossless rc-mode=cbr qp-const=0 qp-max=0 qp-min=0 ! h264parse ! filesink location=test.mp4`
So it seems it has to do with the rc-mode. I am not a pro when it comes to encodings and stuff, i need a pipeline to save video data as lossless as possible while preserving a file extension which i can use without any special software and be able to save the data in somewhat real time.
If you need more informations, let me know.
kind regardshttps://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3268gst-plugins-good: soup test does not respect the library option2024-03-04T14:58:30Zamysparkgst-plugins-good: soup test does not respect the library optionHi,
I was testing a build of GStreamer here, and I discovered that when specifying `-Dsoup=disabled` this is not respected by the testsuite, ie. the library lookup is repeated and the corresponding tests added, despite the actual plugin...Hi,
I was testing a build of GStreamer here, and I discovered that when specifying `-Dsoup=disabled` this is not respected by the testsuite, ie. the library lookup is repeated and the corresponding tests added, despite the actual plugin being missing.
Is this an expected outcome? In my case, since I was working around conflicting libsoup versions, it means that I will 100% get a linker failure in the plugin or in the test executable (depending on which gets linked first).https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1799nvh264enc rc-mode=constqp and h264parse2024-02-02T16:12:46ZJulius Löbelnvh264enc rc-mode=constqp and h264parseHey,
it seems there is a bug when using nvh264enc element with rc-mode=constqp and h264parse element.
The following pipeline works with gst version 1.22.8:
`gst-launch-1.0 -e v4l2src device=/dev/video0 ! videoconvert ! nvh264enc prese...Hey,
it seems there is a bug when using nvh264enc element with rc-mode=constqp and h264parse element.
The following pipeline works with gst version 1.22.8:
`gst-launch-1.0 -e v4l2src device=/dev/video0 ! videoconvert ! nvh264enc preset=lossless rc-mode=constqp qp-const=0 ! h264parse ! filesink location=test.mp4`
After updating to 1.22.9 i get the following error:
`GST_DEBUG=3 gst-launch-1.0 -e v4l2src device=/dev/video0 ! videoconvert ! nvh264enc preset=lossless rc-mode=constqp qp-const=0 ! h264parse ! filesink location=test.mp4
Setting pipeline to PAUSED ...
Pipeline is live and does not need PREROLL ...
Got context from element 'nvh264enc0': gst.cuda.context=context, gst.cuda.context=(GstCudaContext)"\(GstCudaContext\)\ cudacontext1", cuda-device-id=(uint)0;
Got context from element 'nvh264enc0': gst.gl.GLDisplay=context, gst.gl.GLDisplay=(GstGLDisplay)"\(GstGLDisplayX11\)\ gldisplayx11-0";
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
0:00:00.392395152 6817 0x7679ec000da0 WARN nvenc gstnvbaseenc.c:1849:gst_nv_base_enc_set_format:<nvh264enc0> error: Failed to init encoder: 8- Incorrect Profile for qpPrimeYZeroTransformBypassFlag and const QP RC mode.
ERROR: from element /GstPipeline:pipeline0/GstNvH264Enc:nvh264enc0: Could not configure supporting library.
Additional debug info:
../gstreamer/subprojects/gst-plugins-bad/sys/nvcodec/gstnvbaseenc.c(1849): gst_nv_base_enc_set_format (): /GstPipeline:pipeline0/GstNvH264Enc:nvh264enc0:
Failed to init encoder: 8- Incorrect Profile for qpPrimeYZeroTransformBypassFlag and const QP RC mode.
0:00:00.392463781 6817 0x7679ec000da0 WARN videoencoder gstvideoencoder.c:771:gst_video_encoder_setcaps:<nvh264enc0> rejected caps video/x-raw, width=(int)640, height=(int)480, framerate=(fraction)30/1, pixel-aspect-ratio=(fraction)1/1, format=(string)NV12, interlace-mode=(string)progressive, colorimetry=(string)2:4:7:1
Execution ended after 0:00:00.014729142
Setting pipeline to NULL ...
0:00:00.396954437 6817 0x7679ec000da0 WARN nvenc gstnvbaseenc.c:1849:gst_nv_base_enc_set_format:<nvh264enc0> error: Failed to init encoder: 8- Incorrect Profile for qpPrimeYZeroTransformBypassFlag and const QP RC mode.
ERROR: from element /GstPipeline:pipeline0/GstNvH264Enc:nvh264enc0: Could not configure supporting library.
Additional debug info:
../gstreamer/subprojects/gst-plugins-bad/sys/nvcodec/gstnvbaseenc.c(1849): gst_nv_base_enc_set_format (): /GstPipeline:pipeline0/GstNvH264Enc:nvh264enc0:
Failed to init encoder: 8- Incorrect Profile for qpPrimeYZeroTransformBypassFlag and const QP RC mode.
0:00:00.396989032 6817 0x7679ec000da0 WARN videoencoder gstvideoencoder.c:771:gst_video_encoder_setcaps:<nvh264enc0> rejected caps video/x-raw, width=(int)640, height=(int)480, framerate=(fraction)30/1, pixel-aspect-ratio=(fraction)1/1, format=(string)NV12, interlace-mode=(string)progressive, colorimetry=(string)2:4:7:1
0:00:00.396998771 6817 0x7679ec000da0 WARN GST_PADS gstpad.c:4384:gst_pad_peer_query:<videoconvert0:src> could not send sticky events
0:00:00.397073160 6817 0x7679ec000da0 WARN GST_PADS gstpad.c:4384:gst_pad_peer_query:<v4l2src0:src> could not send sticky events
0:00:00.397086155 6817 0x7679ec000da0 WARN v4l2 gstv4l2object.c:4453:gst_v4l2_object_set_crop:<v4l2src0:src> VIDIOC_S_CROP failed
0:00:00.415931600 6817 0x7679ec000da0 WARN v4l2 gstv4l2object.c:3278:gst_v4l2_object_reset_compose_region:<v4l2src0:src> Failed to get default compose rectangle with VIDIOC_G_SELECTION: Invalid argument
0:00:00.416382056 6817 0x7679ec000da0 WARN v4l2bufferpool gstv4l2bufferpool.c:850:gst_v4l2_buffer_pool_start:<v4l2src0:pool0:src> Uncertain or not enough buffers, enabling copy threshold
Freeing pipeline ...
`
When using the following pipeline i get no error:
`gst-launch-1.0 -e v4l2src device=/dev/video0 ! videoconvert ! nvh264enc preset=lossless rc-mode=constqp qp-const=0 ! filesink location=test.mp4`
Also using this pipeline does not result in an error:
`gst-launch-1.0 -e v4l2src device=/dev/video0 ! videoconvert ! nvh264enc preset=lossless rc-mode=cbr qp-const=0 qp-max=0 qp-min=0 ! h264parse ! filesink location=test.mp4`
So it seems it has to do with the rc-mode. I am not a pro when it comes to encodings and stuff, i need a pipeline to save video data as lossless as possible while preserving a file extension which i can use without any special software and be able to save the data in somewhat real time.
If you need more informations, let me know.
kind regardshttps://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3267Can't compile Hello World on MacOS 14.1 (23B74)2024-02-02T12:15:11ZAteşCan't compile Hello World on MacOS 14.1 (23B74)Apple clang version 15.0.0 (clang-1500.0.40.1)
Target: x86_64-apple-darwin23.1.0
Mac OS 14.1 (23B74) Intel
Issue on this page:
https://gstreamer.freedesktop.org/documentation/tutorials/basic/hello-world.html?gi-language=c
When compilin...Apple clang version 15.0.0 (clang-1500.0.40.1)
Target: x86_64-apple-darwin23.1.0
Mac OS 14.1 (23B74) Intel
Issue on this page:
https://gstreamer.freedesktop.org/documentation/tutorials/basic/hello-world.html?gi-language=c
When compiling main.c via command
> $ `clang -c main.c -o main.o `pkg-config --cflags gstreamer-1.0``
I get this error
-----
main.c:50:26: warning: incompatible function pointer types passing 'int (int, char **)' to parameter of type 'GstMainFunc' (aka 'int (*)(int, char **, void *)') [-Wincompatible-function-pointer-types]
return gst_macos_main (tutorial_main, argc, argv, NULL);
^~~~~~~~~~~~~
/Library/Frameworks/GStreamer.framework/Versions/1.0/lib/pkgconfig/../../include/gstreamer-1.0/gst/gstmacos.h:32:64: note: passing argument to parameter 'main_func' here
int gst_macos_main (GstMainFunc main_func,
^
1 warning generated.
-----
Switching this code
int tutorial_main (int argc, char *argv[])
to
int tutorial_main (int argc, char **argv, void* dummy)
fixes the problem.https://gitlab.freedesktop.org/gstreamer/cerbero/-/issues/465Rust bootstrapping in stock Linux tries to install aarch64-linux-android2024-02-07T00:28:32ZamysparkRust bootstrapping in stock Linux tries to install aarch64-linux-androidHey all,
This is to report that when bootstrapping Cerbero with Rust support in Linux, it tries to install the `aarch64-linux-android` target. This fails because the `fetch` step correctly skips downloading its tarballs.Hey all,
This is to report that when bootstrapping Cerbero with Rust support in Linux, it tries to install the `aarch64-linux-android` target. This fails because the `fetch` step correctly skips downloading its tarballs.https://gitlab.freedesktop.org/gstreamer/gst-docs/-/issues/126Can't compile Hello World on MacOS 14.1 (23B74)2024-02-02T11:25:52ZAteşCan't compile Hello World on MacOS 14.1 (23B74)Apple clang version 15.0.0 (clang-1500.0.40.1)
Target: x86_64-apple-darwin23.1.0
Mac OS 14.1 (23B74) Intel
Issue on this page:
https://gstreamer.freedesktop.org/documentation/tutorials/basic/hello-world.html?gi-language=c
When compilin...Apple clang version 15.0.0 (clang-1500.0.40.1)
Target: x86_64-apple-darwin23.1.0
Mac OS 14.1 (23B74) Intel
Issue on this page:
https://gstreamer.freedesktop.org/documentation/tutorials/basic/hello-world.html?gi-language=c
When compiling main.c via command
> $ `clang -c main.c -o main.o `pkg-config --cflags gstreamer-1.0``
I get this error
-----
main.c:50:26: warning: incompatible function pointer types passing 'int (int, char **)' to parameter of type 'GstMainFunc' (aka 'int (*)(int, char **, void *)') [-Wincompatible-function-pointer-types]
return gst_macos_main (tutorial_main, argc, argv, NULL);
^~~~~~~~~~~~~
/Library/Frameworks/GStreamer.framework/Versions/1.0/lib/pkgconfig/../../include/gstreamer-1.0/gst/gstmacos.h:32:64: note: passing argument to parameter 'main_func' here
int gst_macos_main (GstMainFunc main_func,
^
1 warning generated.
-----
Switching this code
int tutorial_main (int argc, char *argv[])
to
int tutorial_main (int argc, char **argv, void* dummy)
fixes the problem.https://gitlab.freedesktop.org/gstreamer/orc/-/issues/62aarch64 tests have many float mismatches2024-02-21T13:41:32ZSebastian Drögeaarch64 tests have many float mismatchesSee https://gitlab.freedesktop.org/gstreamer/orc/-/merge_requests/164#note_2265920 and the CI jobs.See https://gitlab.freedesktop.org/gstreamer/orc/-/merge_requests/164#note_2265920 and the CI jobs.amysparkamysparkhttps://gitlab.freedesktop.org/gstreamer/orc/-/issues/61Investigate "not the correct number of arguments provided for opcode" warning...2024-02-06T10:12:47ZSebastian DrögeInvestigate "not the correct number of arguments provided for opcode" warnings in the testsuite```
ORC: WARNING: ../orc/orcprogram.c(1020): int orc_program_append_str_n(OrcProgram *, const char *, unsigned int, int, const char **)(): not the correct number of arguments provided for opcode: absb expects 2 but got 3
```
etc
See ht...```
ORC: WARNING: ../orc/orcprogram.c(1020): int orc_program_append_str_n(OrcProgram *, const char *, unsigned int, int, const char **)(): not the correct number of arguments provided for opcode: absb expects 2 but got 3
```
etc
See https://gitlab.freedesktop.org/gstreamer/orc/-/merge_requests/164#note_2265920amysparkamyspark