GStreamer issueshttps://gitlab.freedesktop.org/groups/gstreamer/-/issues2023-08-20T14:53:59Zhttps://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/407Can't contribute: you've reached your project limit (can't fork)2023-08-20T14:53:59ZRobert AyrapetyanCan't contribute: you've reached your project limit (can't fork)When trying to fork this project, "Fork" button at the top right corner is grayed out, hovering mouse over it displays: "you've reached your project limit".When trying to fork this project, "Fork" button at the top right corner is grayed out, hovering mouse over it displays: "you've reached your project limit".https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/406webrtcsink: panics on create_from_uri(RTP_TWCC_URI).unwrap()2023-09-05T08:42:17ZRobert Ayrapetyanwebrtcsink: panics on create_from_uri(RTP_TWCC_URI).unwrap()When doing:
```
GST_DEBUG=3 gst-launch-1.0 videotestsrc ! agingtv ! webrtcsink enable-data-channel-navigation=true meta="meta,name=native-stream"
```
webrtcsink panics at:
```
let twcc_extension = gst_rtp::RTPHeaderExtension::create_from...When doing:
```
GST_DEBUG=3 gst-launch-1.0 videotestsrc ! agingtv ! webrtcsink enable-data-channel-navigation=true meta="meta,name=native-stream"
```
webrtcsink panics at:
```
let twcc_extension = gst_rtp::RTPHeaderExtension::create_from_uri(RTP_TWCC_URI).unwrap();
```
with:
```
thread 'tokio-runtime-worker' panicked at 'called `Option::unwrap()` on a `None` value', net/webrtc/src/webrtcsink/imp.rs:681:76
```
That's expected as "create_from_uri" is not guaranteed to return non-null values.
I see create_from_uri is trying to get something from gst_registry, but this "URL" is not there in my registry...
Any advice of how to check/add this URI? Thanks.https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2915vtdec: Frames will not be ordered correctly if no PTS present2023-08-21T18:21:46ZPiotr Brzezińskivtdec: Frames will not be ordered correctly if no PTS presentAs noticed in a review for https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5163#note_2038221 - currently vtdec will not be able to output correctly ordered frames if PTS is missing. Quote @slomo:
```
The solution her...As noticed in a review for https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5163#note_2038221 - currently vtdec will not be able to output correctly ordered frames if PTS is missing. Quote @slomo:
```
The solution here would be to actually parse the H264 bitstream to correctly reorder frames and calculate the PTS from the DTS.
There's code for that in the libgstcodecs library (for the stateless codecs), but that's probably not directly re-usable.
There's also such code in the h264timestamper element.
```https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/405no element "webrtcsink"2023-08-21T06:31:18ZBenjamin Samno element "webrtcsink"Hi. When I run "gst-launch-1.0 webrtcsink name=ws meta="meta,name=gst-stream" videotestsrc ! ws. audiotestsrc ! ws." command from webrtc's README, I get the following warning and nothing happen when I run this command.
WARNING: erroneou...Hi. When I run "gst-launch-1.0 webrtcsink name=ws meta="meta,name=gst-stream" videotestsrc ! ws. audiotestsrc ! ws." command from webrtc's README, I get the following warning and nothing happen when I run this command.
WARNING: erroneous pipeline: no element "webrtcsink"
I would be thankful if you could help me.https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2914gstreamer-plugins-base 1.22.2: test suite validate.videorate.fill_segment_aft...2023-08-18T14:51:11ZVishesh Saxenagstreamer-plugins-base 1.22.2: test suite validate.videorate.fill_segment_after_caps_changed_before_eos timeout after 30 minutesTest suite is getting timeout after 30 minutes.
> Summary of Failures:
```
195/531 gst-plugins-base / elements_glimagesink FAIL 5.15s exit status 1
216/531 gst-plugins-base / vali...Test suite is getting timeout after 30 minutes.
> Summary of Failures:
```
195/531 gst-plugins-base / elements_glimagesink FAIL 5.15s exit status 1
216/531 gst-plugins-base / validate.videorate.change_rate_reverse_playback ERROR 0.19s exit status 18
224/531 gst-plugins-base / validate.videorate.fill_segment_after_caps_changed_before_eos TIMEOUT 1800.01s killed by signal 15 SIGTERM
531/531 gst-editing-services / pythontests FAIL 0.18s exit status 1
515/531 gst-editing-services / nle_nleoperation FAIL 67.32s exit status 1
```
Ok: 521
Expected Fail: 0
Fail: 3
Unexpected Pass: 0
Skipped: 4
Timeout: 1
`meson-logs/testlog.txt`
Details here:
<details><summary>Click to expand</summary>
```
================================== 195/531 ===================================
test: gst-plugins-base / elements_glimagesink
start time: 11:57:00
duration: 5.15s
result: exit status 1
command: GST_PLUGIN_LOADING_WHITELIST=gstreamer:gst-plugins-base@/mnt/gstreamer.build/subprojects/gst-plugins-base LD_LIBRARY_PATH=/mnt/gstreamer.build/subprojects/gstreamer/libs/gst/net:/mnt/gstreamer.build/subprojects/gstreamer/libs/gst/base:/mnt/gstreamer.build/subprojects/gst-plugins-base/gst-libs/gst/fft:/mnt/gstreamer.build/subprojects/gst-plugins-base/gst-libs/gst/riff:/mnt/gstreamer.build/subprojects/gstreamer/gst:/mnt/gstreamer.build/subprojects/gst-plugins-base/gst-libs/gst/pbutils:/mnt/gstreamer.build/subprojects/gst-plugins-base/gst-libs/gst/sdp:/mnt/gstreamer.build/subprojects/gst-plugins-base/gst-libs/gst/video:/mnt/gstreamer.build/subprojects/gstreamer/libs/gst/check:/mnt/gstreamer.build/subprojects/gst-plugins-base/gst-libs/gst/app:/mnt/gstreamer.build/subprojects/gst-plugins-base/gst-libs/gst/audio:/mnt/gstreamer.build/subprojects/gst-plugins-base/gst-libs/gst/rtp:/mnt/gstreamer.build/subprojects/gst-plugins-base/gst-libs/gst/gl:/mnt/gstreamer.build/subprojects/gst-plugins-base/gst-libs/gst/tag:/mnt/gstreamer.build/subprojects/gst-plugins-base/gst-libs/gst/rtsp:/mnt/gstreamer.build/subprojects/gst-plugins-base/gst-libs/gst/allocators:/opt/scorer/lib:/opt/miniconda/lib:/usr/local/cuda/lib64 GST_PLUGIN_SYSTEM_PATH_1_0='' GST_PLUGIN_SCANNER_1_0=/mnt/gstreamer.build/subprojects/gstreamer/libs/gst/helpers/gst-plugin-scanner MALLOC_PERTURB_=12 GST_STATE_IGNORE_ELEMENTS='cdio cdparanoiasrc libvisual_ alsasrc alsasink' GST_TAG_LICENSE_TRANSLATIONS_DICT=/mnt/gstreamer/subprojects/gst-plugins-base/gst-libs/gst/tag/license-translations.dict GST_REGISTRY=/mnt/gstreamer.build/subprojects/gst-plugins-base/tests/check/elements_glimagesink.registry GST_PLUGIN_PATH_1_0=/mnt/gstreamer.build CK_DEFAULT_TIMEOUT=20 /mnt/gstreamer.build/subprojects/gst-plugins-base/tests/check/elements_glimagesink
----------------------------------- stdout -----------------------------------
Running suite(s): glimagesink
0%: Checks: 1, Failures: 0, Errors: 1
../gstreamer/subprojects/gst-plugins-base/tests/check/elements/glimagesink.c:142:E:general:test_query_drain:0: (after this point) Test timeout expired
Check suite glimagesink ran in 5.002s (tests failed: 1)
----------------------------------- stderr -----------------------------------
error: XDG_RUNTIME_DIR not set in the environment.
==============================================================================
================================== 216/531 ===================================
test: gst-plugins-base / validate.videorate.change_rate_reverse_playback
start time: 11:57:05
duration: 0.19s
result: exit status 18
command: GST_REGISTRY=/mnt/gstreamer.build/subprojects/gst-plugins-base/tests/validate/validate.registry GST_PLUGIN_SYSTEM_PATH_1_0='' GST_VALIDATE_LOGSDIR=/mnt/gstreamer.build/subprojects/gst-plugins-base/tests/validate/validate.videorate.change_rate_reverse_playback MALLOC_PERTURB_=38 GST_PLUGIN_SCANNER_1_0=/mnt/gstreamer.build/subprojects/gstreamer/libs/gst/helpers/gst-plugin-scanner GST_PLUGIN_LOADING_WHITELIST=gstreamer:gst-validate:gst-plugins-base@/mnt/gstreamer.build/subprojects/gst-plugins-base GST_PLUGIN_PATH_1_0=/mnt/gstreamer.build /mnt/gstreamer.build/subprojects/gstreamer/tests/validate/gst-tester-1.0 /mnt/gstreamer/subprojects/gst-plugins-base/tests/validate/videorate/change_rate_reverse_playback.validatetest --use-fakesinks
----------------------------------- stdout -----------------------------------
# Running from meson subproject /mnt/gstreamer.build/subprojects/gst-devtools/validate/tools/gst-validate-1.0
1..1
# **-> Checking expectations file: '/mnt/gstreamer/subprojects/gst-plugins-base/tests/validate/videorate/change_rate_reverse_playback/flow-expectations/log-videorate-sink-expected'**
# **-> Checking expectations file: '/mnt/gstreamer/subprojects/gst-plugins-base/tests/validate/videorate/change_rate_reverse_playback/flow-expectations/log-videorate-src-expected'**
# **-> Pipeline: 'videotestsrc ! video/x-raw,format=I420,framerate=10/1,width=320,height=240 ! videorate name=videorate ! fakesink sync=true qos=true'**
# **-> Running scenario /mnt/gstreamer/subprojects/gst-plugins-base/tests/validate/videorate/change_rate_reverse_playback.validatetest on pipeline pipeline0**
# **-> Starting pipeline**
# Prerolling...
**-> Pipeline started**
# Executing `seek` at change_rate_reverse_playback.validatetest:14 (
# - start=0
# - stop=5
# - flags=accurate+flush
# - rate=-1
# )
# ? Action `seek` at change_rate_reverse_playback.validatetest:14 done 'ASYNC' (duration: 0:00:00.001057017)
#
# Executing `crank-clock` at change_rate_reverse_playback.validatetest:17 (
# - expected-time=0
# )
# ? Action `crank-clock` at change_rate_reverse_playback.validatetest:17 done 'OK' (duration: 0:00:00.000005459)
#
# Executing `crank-clock` at change_rate_reverse_playback.validatetest:18 [repeat=0/4] (
# - expected-elapsed-time=0.10000000000000001
# )
# ? Action `crank-clock` at change_rate_reverse_playback.validatetest:18 done 'OK' [0/4] (duration: 0:00:00.000493932)
#
# Executing `crank-clock` at change_rate_reverse_playback.validatetest:18 [repeat=1/4] (
# - expected-elapsed-time=0.10000000000000001
# )
# ? Action `crank-clock` at change_rate_reverse_playback.validatetest:18 done 'OK' [1/4] (duration: 0:00:00.000445163)
#
# Executing `crank-clock` at change_rate_reverse_playback.validatetest:18 [repeat=2/4] (
# - expected-elapsed-time=0.10000000000000001
# )
# ? Action `crank-clock` at change_rate_reverse_playback.validatetest:18 done 'OK' [2/4] (duration: 0:00:00.000334325)
#
# Executing `crank-clock` at change_rate_reverse_playback.validatetest:18 [repeat=3/4] (
# - expected-elapsed-time=0.10000000000000001
# )
# ? Action `crank-clock` at change_rate_reverse_playback.validatetest:18 done 'OK' [3/4] (duration: 0:00:00.000318828)
#
# Executing `crank-clock` at change_rate_reverse_playback.validatetest:19 (
# - expected-time=0.5
# )
# ? Action `crank-clock` at change_rate_reverse_playback.validatetest:19 done 'OK' (duration: 0:00:00.000338402)
#
# Executing `wait` at change_rate_reverse_playback.validatetest:22 (
# - on-clock=true
# )
# ? Action `wait` at change_rate_reverse_playback.validatetest:22 done 'OK' (duration: 0:00:00.000634049)
#
# Executing `checkpoint` at change_rate_reverse_playback.validatetest:25 (
# - text="Setting\ videorate.rate\=0.5"
# )
# ? Action `checkpoint` at change_rate_reverse_playback.validatetest:25 done 'OK' (duration: 0:00:00.000001411)
#
# Executing `set-property` at change_rate_reverse_playback.validatetest:26 (
# - playback-time=99
# - target-element-name=videorate
# - property-name=rate
# - property-value=0.5
# )
# ? Action `set-property` at change_rate_reverse_playback.validatetest:26 done 'OK' (duration: 0:00:00.000023922)
#
# Executing `crank-clock` at change_rate_reverse_playback.validatetest:29 [repeat=0/5] (
# - expected-elapsed-time=0.10000000000000001
# )
# ? Action `crank-clock` at change_rate_reverse_playback.validatetest:29 done 'OK' [0/5] (duration: 0:00:00.000002925)
#
# Executing `crank-clock` at change_rate_reverse_playback.validatetest:29 [repeat=1/5] (
# - expected-elapsed-time=0.10000000000000001
# )
# ? Action `crank-clock` at change_rate_reverse_playback.validatetest:29 done 'OK' [1/5] (duration: 0:00:00.000348417)
#
# Executing `crank-clock` at change_rate_reverse_playback.validatetest:29 [repeat=2/5] (
# - expected-elapsed-time=0.10000000000000001
# )
# ? Action `crank-clock` at change_rate_reverse_playback.validatetest:29 done 'OK' [2/5] (duration: 0:00:00.000338242)
#
# Executing `crank-clock` at change_rate_reverse_playback.validatetest:29 [repeat=3/5] (
# - expected-elapsed-time=0.10000000000000001
# )
# ? Action `crank-clock` at change_rate_reverse_playback.validatetest:29 done 'OK' [3/5] (duration: 0:00:00.000001523)
#
# Executing `crank-clock` at change_rate_reverse_playback.validatetest:29 [repeat=4/5] (
# - expected-elapsed-time=0.10000000000000001
# )
# ? Action `crank-clock` at change_rate_reverse_playback.validatetest:29 done 'OK' [4/5] (duration: 0:00:00.000001949)
#
# Executing `wait` at change_rate_reverse_playback.validatetest:30 (
# - on-clock=true
# )
# ? Action `wait` at change_rate_reverse_playback.validatetest:30 done 'OK' (duration: 0:00:00.000334631)
#
# Executing `check-position` at change_rate_reverse_playback.validatetest:31 (
# - expected-position=4
# )
# ? Action `check-position` at change_rate_reverse_playback.validatetest:31 done 'OK' (duration: 0:00:00.000007173)
#
# Executing `set-vars` at change_rate_reverse_playback.validatetest:33 (
# - rate=0.1
# )
# ? Action `set-vars` at change_rate_reverse_playback.validatetest:33 done 'OK' (duration: 0:00:00.000004017)
#
# Executing `checkpoint` at change_rate_reverse_playback.validatetest:34 (
# - text="Setting\ videorate.rate\=0.1"
# )
# ? Action `checkpoint` at change_rate_reverse_playback.validatetest:34 done 'OK' (duration: 0:00:00.000001716)
#
# Executing `set-property` at change_rate_reverse_playback.validatetest:35 (
# - playback-time=99
# - target-element-name=videorate
# - property-name=rate
# - property-value=0.10000000000000001
# )
# ? Action `set-property` at change_rate_reverse_playback.validatetest:35 done 'OK' (duration: 0:00:00.000014890)
#
# Executing `crank-clock` at change_rate_reverse_playback.validatetest:36 [repeat=0/20] ( )
# ? Action `crank-clock` at change_rate_reverse_playback.validatetest:36 done 'OK' [0/20] (duration: 0:00:00.000002007)
#
# Executing `crank-clock` at change_rate_reverse_playback.validatetest:36 [repeat=1/20] ( )
# ? Action `crank-clock` at change_rate_reverse_playback.validatetest:36 done 'OK' [1/20] (duration: 0:00:00.000902218)
#
# Executing `crank-clock` at change_rate_reverse_playback.validatetest:36 [repeat=2/20] ( )
# ? Action `crank-clock` at change_rate_reverse_playback.validatetest:36 done 'OK' [2/20] (duration: 0:00:00.000002031)
#
# Executing `crank-clock` at change_rate_reverse_playback.validatetest:36 [repeat=3/20] ( )
# ? Action `crank-clock` at change_rate_reverse_playback.validatetest:36 done 'OK' [3/20] (duration: 0:00:00.000001422)
#
# Executing `crank-clock` at change_rate_reverse_playback.validatetest:36 [repeat=4/20] ( )
# ? Action `crank-clock` at change_rate_reverse_playback.validatetest:36 done 'OK' [4/20] (duration: 0:00:00.000001312)
#
# Executing `crank-clock` at change_rate_reverse_playback.validatetest:36 [repeat=5/20] ( )
# ? Action `crank-clock` at change_rate_reverse_playback.validatetest:36 done 'OK' [5/20] (duration: 0:00:00.000001617)
#
# Executing `crank-clock` at change_rate_reverse_playback.validatetest:36 [repeat=6/20] ( )
# ? Action `crank-clock` at change_rate_reverse_playback.validatetest:36 done 'OK' [6/20] (duration: 0:00:00.000002112)
#
# Executing `crank-clock` at change_rate_reverse_playback.validatetest:36 [repeat=7/20] ( )
# ? Action `crank-clock` at change_rate_reverse_playback.validatetest:36 done 'OK' [7/20] (duration: 0:00:00.000506404)
#
# Executing `crank-clock` at change_rate_reverse_playback.validatetest:36 [repeat=8/20] ( )
# ? Action `crank-clock` at change_rate_reverse_playback.validatetest:36 done 'OK' [8/20] (duration: 0:00:00.000001996)
#
# Executing `crank-clock` at change_rate_reverse_playback.validatetest:36 [repeat=9/20] ( )
# ? Action `crank-clock` at change_rate_reverse_playback.validatetest:36 done 'OK' [9/20] (duration: 0:00:00.000002707)
#
# Executing `crank-clock` at change_rate_reverse_playback.validatetest:36 [repeat=10/20] ( )
# ? Action `crank-clock` at change_rate_reverse_playback.validatetest:36 done 'OK' [10/20] (duration: 0:00:00.000001889)
#
# Executing `crank-clock` at change_rate_reverse_playback.validatetest:36 [repeat=11/20] ( )
# ? Action `crank-clock` at change_rate_reverse_playback.validatetest:36 done 'OK' [11/20] (duration: 0:00:00.000001299)
#
# Executing `crank-clock` at change_rate_reverse_playback.validatetest:36 [repeat=12/20] ( )
# ? Action `crank-clock` at change_rate_reverse_playback.validatetest:36 done 'OK' [12/20] (duration: 0:00:00.000002159)
#
# Executing `crank-clock` at change_rate_reverse_playback.validatetest:36 [repeat=13/20] ( )
# ? Action `crank-clock` at change_rate_reverse_playback.validatetest:36 done 'OK' [13/20] (duration: 0:00:00.000001641)
#
# Executing `crank-clock` at change_rate_reverse_playback.validatetest:36 [repeat=14/20] ( )
# ? Action `crank-clock` at change_rate_reverse_playback.validatetest:36 done 'OK' [14/20] (duration: 0:00:00.000002098)
#
# Executing `crank-clock` at change_rate_reverse_playback.validatetest:36 [repeat=15/20] ( )
# ? Action `crank-clock` at change_rate_reverse_playback.validatetest:36 done 'OK' [15/20] (duration: 0:00:00.000001360)
#
# Executing `crank-clock` at change_rate_reverse_playback.validatetest:36 [repeat=16/20] ( )
# ? Action `crank-clock` at change_rate_reverse_playback.validatetest:36 done 'OK' [16/20] (duration: 0:00:00.000001379)
#
# Executing `crank-clock` at change_rate_reverse_playback.validatetest:36 [repeat=17/20] ( )
# ? Action `crank-clock` at change_rate_reverse_playback.validatetest:36 done 'OK' [17/20] (duration: 0:00:00.000431045)
#
# Executing `crank-clock` at change_rate_reverse_playback.validatetest:36 [repeat=18/20] ( )
# ? Action `crank-clock` at change_rate_reverse_playback.validatetest:36 done 'OK' [18/20] (duration: 0:00:00.000001904)
#
# Executing `crank-clock` at change_rate_reverse_playback.validatetest:36 [repeat=19/20] ( )
# ? Action `crank-clock` at change_rate_reverse_playback.validatetest:36 done 'OK' [19/20] (duration: 0:00:00.000001778)
#
# Executing `wait` at change_rate_reverse_playback.validatetest:37 (
# - on-clock=true
# )
# ? Action `wait` at change_rate_reverse_playback.validatetest:37 done 'OK' (duration: 0:00:00.000001981)
#
# Executing `check-position` at change_rate_reverse_playback.validatetest:38 (
# - expected-position=2
# )
# ? Action `check-position` at change_rate_reverse_playback.validatetest:38 done 'OK' (duration: 0:00:00.000007297)
#
# Executing `checkpoint` at change_rate_reverse_playback.validatetest:41 (
# - text="Setting\ videorate.rate\=2.0"
# )
# ? Action `checkpoint` at change_rate_reverse_playback.validatetest:41 done 'OK' (duration: 0:00:00.000001409)
#
# Executing `set-property` at change_rate_reverse_playback.validatetest:42 (
# - playback-time=-1
# - target-element-name=videorate
# - property-name=rate
# - property-value=2
# )
# ? Action `set-property` at change_rate_reverse_playback.validatetest:42 done 'OK' (duration: 0:00:00.000013542)
#
# Executing `crank-clock` at change_rate_reverse_playback.validatetest:43 [repeat=0/10] ( )
# ? Action `crank-clock` at change_rate_reverse_playback.validatetest:43 done 'OK' [0/10] (duration: 0:00:00.000001835)
#
# Executing `crank-clock` at change_rate_reverse_playback.validatetest:43 [repeat=1/10] ( )
# ? Action `crank-clock` at change_rate_reverse_playback.validatetest:43 done 'OK' [1/10] (duration: 0:00:00.006006011)
#
# Executing `crank-clock` at change_rate_reverse_playback.validatetest:43 [repeat=2/10] ( )
# ? Action `crank-clock` at change_rate_reverse_playback.validatetest:43 done 'OK' [2/10] (duration: 0:00:00.007471210)
#
# Executing `crank-clock` at change_rate_reverse_playback.validatetest:43 [repeat=3/10] ( )
# ? Action `crank-clock` at change_rate_reverse_playback.validatetest:43 done 'OK' [3/10] (duration: 0:00:00.006770133)
#
# Executing `crank-clock` at change_rate_reverse_playback.validatetest:43 [repeat=4/10] ( )
# ? Action `crank-clock` at change_rate_reverse_playback.validatetest:43 done 'OK' [4/10] (duration: 0:00:00.006578431)
#
# Executing `crank-clock` at change_rate_reverse_playback.validatetest:43 [repeat=5/10] ( )
# ? Action `crank-clock` at change_rate_reverse_playback.validatetest:43 done 'OK' [5/10] (duration: 0:00:00.006750976)
#
# Executing `crank-clock` at change_rate_reverse_playback.validatetest:43 [repeat=6/10] ( )
# ? Action `crank-clock` at change_rate_reverse_playback.validatetest:43 done 'OK' [6/10] (duration: 0:00:00.006490264)
#
# Executing `crank-clock` at change_rate_reverse_playback.validatetest:43 [repeat=7/10] ( )
# ? Action `crank-clock` at change_rate_reverse_playback.validatetest:43 done 'OK' [7/10] (duration: 0:00:00.007414469)
#
# Executing `crank-clock` at change_rate_reverse_playback.validatetest:43 [repeat=8/10] ( )
# ? Action `crank-clock` at change_rate_reverse_playback.validatetest:43 done 'OK' [8/10] (duration: 0:00:00.006760714)
#
# Executing `crank-clock` at change_rate_reverse_playback.validatetest:43 [repeat=9/10] ( )
# ? Action `crank-clock` at change_rate_reverse_playback.validatetest:43 done 'OK' [9/10] (duration: 0:00:00.006708204)
#
# Executing `wait` at change_rate_reverse_playback.validatetest:44 (
# - on-clock=true
# )
# ? Action `wait` at change_rate_reverse_playback.validatetest:44 done 'OK' (duration: 0:00:00.006204532)
#
# Executing `checkpoint` at change_rate_reverse_playback.validatetest:47 (
# - text="Filling\ up\ segment\ with\ last\ buffer"
# )
# ? Action `checkpoint` at change_rate_reverse_playback.validatetest:47 done 'OK' (duration: 0:00:00.000014147)
#
# Executing `crank-clock` at change_rate_reverse_playback.validatetest:48 [repeat=0/10] ( )
# ? Action `crank-clock` at change_rate_reverse_playback.validatetest:48 done 'OK' [0/10] (duration: 0:00:00.000003845)
#
# Executing `crank-clock` at change_rate_reverse_playback.validatetest:48 [repeat=1/10] ( )
# ? Action `crank-clock` at change_rate_reverse_playback.validatetest:48 done 'OK' [1/10] (duration: 0:00:00.006956187)
#
# Executing `crank-clock` at change_rate_reverse_playback.validatetest:48 [repeat=2/10] ( )
# ? Action `crank-clock` at change_rate_reverse_playback.validatetest:48 done 'OK' [2/10] (duration: 0:00:00.006670522)
#
# Executing `crank-clock` at change_rate_reverse_playback.validatetest:48 [repeat=3/10] ( )
# ? Action `crank-clock` at change_rate_reverse_playback.validatetest:48 done 'OK' [3/10] (duration: 0:00:00.006826368)
#
# Executing `crank-clock` at change_rate_reverse_playback.validatetest:48 [repeat=4/10] ( )
# ? Action `crank-clock` at change_rate_reverse_playback.validatetest:48 done 'OK' [4/10] (duration: 0:00:00.006756635)
#
# Executing `crank-clock` at change_rate_reverse_playback.validatetest:48 [repeat=5/10] ( )
# ? Action `crank-clock` at change_rate_reverse_playback.validatetest:48 done 'OK' [5/10] (duration: 0:00:00.005868601)
#
# Executing `crank-clock` at change_rate_reverse_playback.validatetest:48 [repeat=6/10] ( )
# ? Action `crank-clock` at change_rate_reverse_playback.validatetest:48 done 'OK' [6/10] (duration: 0:00:00.004554005)
#
# Executing `crank-clock` at change_rate_reverse_playback.validatetest:48 [repeat=7/10] ( )
# ? Action `crank-clock` at change_rate_reverse_playback.validatetest:48 done 'OK' [7/10] (duration: 0:00:00.004437322)
#
# Executing `crank-clock` at change_rate_reverse_playback.validatetest:48 [repeat=8/10] ( )
# ? Action `crank-clock` at change_rate_reverse_playback.validatetest:48 done 'OK' [8/10] (duration: 0:00:00.004238794)
#
# Executing `crank-clock` at change_rate_reverse_playback.validatetest:48 [repeat=9/10] ( )
# ? Action `crank-clock` at change_rate_reverse_playback.validatetest:48 done 'OK' [9/10] (duration: 0:00:00.004017650)
#
# <position: 0:00:00.000000000 duration: 99:99:99.999999999 speed: -1.000000 />
# Executing `stop` at change_rate_reverse_playback.validatetest:50 (
# - on-message=eos
# )
# ? Action `stop` at change_rate_reverse_playback.validatetest:50 done 'OK' (duration: 0:00:00.000008887)
#
#
# change_rate_reverse_playback.validatetest --> State change request NULL, quitting mainloop
#
# validateflowoverride0 --> Checking that flow /mnt/gstreamer/subprojects/gst-plugins-base/tests/validate/videorate/change_rate_reverse_playback/flow-expectations/log-videorate-sink-expected matches expected flow /mnt/gstreamer.build/subprojects/gst-plugins-base/tests/validate/validate.videorate.change_rate_reverse_playback/change_rate_reverse_playback/log-videorate-sink-actual
#
# validateflowoverride0 --> OK
#
# validateflowoverride1 --> Checking that flow /mnt/gstreamer/subprojects/gst-plugins-base/tests/validate/videorate/change_rate_reverse_playback/flow-expectations/log-videorate-src-expected matches expected flow /mnt/gstreamer.build/subprojects/gst-plugins-base/tests/validate/validate.videorate.change_rate_reverse_playback/change_rate_reverse_playback/log-videorate-src-actual
#
# validateflowoverride1 --> OK
# warning : a serialized event received should be pushed in the same 'time' as it was received
# Detected on <videorate:src>
# Description : serialized events should be pushed in the same order they are received and serialized with buffers. If an event is received after a buffer with timestamp end 'X', it should be pushed right after buffers with timestamp end 'X'
#
# critical : We got a g_log critical issue
# Detected on <pipeline0>
# Details : gst_base_transform_update_qos: assertion 'GST_CLOCK_TIME_IS_VALID (timestamp)' failed
# Details : gst_base_transform_update_qos: assertion 'GST_CLOCK_TIME_IS_VALID (timestamp)' failed
# Details : gst_base_transform_update_qos: assertion 'GST_CLOCK_TIME_IS_VALID (timestamp)' failed
# Details : gst_base_transform_update_qos: assertion 'GST_CLOCK_TIME_IS_VALID (timestamp)' failed
# Details : gst_base_transform_update_qos: assertion 'GST_CLOCK_TIME_IS_VALID (timestamp)' failed
# Details : gst_base_transform_update_qos: assertion 'GST_CLOCK_TIME_IS_VALID (timestamp)' failed
# Details : gst_base_transform_update_qos: assertion 'GST_CLOCK_TIME_IS_VALID (timestamp)' failed
# Details : gst_base_transform_update_qos: assertion 'GST_CLOCK_TIME_IS_VALID (timestamp)' failed
# Details : gst_base_transform_update_qos: assertion 'GST_CLOCK_TIME_IS_VALID (timestamp)' failed
# Details : gst_base_transform_update_qos: assertion 'GST_CLOCK_TIME_IS_VALID (timestamp)' failed
# Details : gst_base_transform_update_qos: assertion 'GST_CLOCK_TIME_IS_VALID (timestamp)' failed
# Details : gst_base_transform_update_qos: assertion 'GST_CLOCK_TIME_IS_VALID (timestamp)' failed
# Details : gst_base_transform_update_qos: assertion 'GST_CLOCK_TIME_IS_VALID (timestamp)' failed
# Details : gst_base_transform_update_qos: assertion 'GST_CLOCK_TIME_IS_VALID (timestamp)' failed
# Details : gst_base_transform_update_qos: assertion 'GST_CLOCK_TIME_IS_VALID (timestamp)' failed
# Details : gst_base_transform_update_qos: assertion 'GST_CLOCK_TIME_IS_VALID (timestamp)' failed
# Details : gst_base_transform_update_qos: assertion 'GST_CLOCK_TIME_IS_VALID (timestamp)' failed
# Details : gst_base_transform_update_qos: assertion 'GST_CLOCK_TIME_IS_VALID (timestamp)' failed
# dotfile : no dotfile produced as GST_DEBUG_DUMP_DOT_DIR is not set.
# backtrace :
# gst_debug_get_stack_trace (0x18)
# gst_validate_report_new (0x378)
# gst_validate_report_valist (0x212)
# gst_validate_report (0x155)
# g_logv (0x538)
# g_log (0x147)
# gst_base_transform_src_eventfun (0x197)
# gst_validate_pad_monitor_src_ev (0x452)
# gst_pad_send_event_unchecked (0x2363)
# gst_pad_push_event_unchecked (0x874)
# gst_pad_push_event (0x606)
# gst_validate_pad_monitor_src_ev (0x452)
# gst_pad_send_event_unchecked (0x2363)
# gst_pad_push_event_unchecked (0x874)
# gst_pad_push_event (0x606)
# gst_base_sink_chain_unlocked.co (0x6814)
# gst_base_sink_chain (0x252)
# gst_validate_pad_monitor_chain_ (0x812)
# gst_pad_chain_data_unchecked (0x1117)
# gst_pad_push_data (0x2059)
# gst_pad_push (0x219)
# gst_video_rate_transform_ip (0x5070)
# default_generate_output (0x341)
# gst_base_transform_chain (0x174)
# gst_validate_pad_monitor_chain_ (0x812)
# gst_pad_chain_data_unchecked (0x1117)
# gst_pad_push_data (0x2059)
# gst_pad_push (0x219)
# gst_base_transform_chain (0x383)
# gst_validate_pad_monitor_chain_ (0x812)
# gst_pad_chain_data_unchecked (0x1117)
# gst_pad_push_data (0x2059)
# gst_pad_push (0x219)
# gst_base_src_loop (0x2509)
# gst_task_func (0x385)
# g_thread_pool_unprocessed (0x404)
# g_thread_unref (0x193)
# pthread_condattr_setpshared (0x1299)
# clone (0x68)
#
#
# Issues found: 19
# Returning 18 as errors were found
#
# =======> Test FAILED (Return value: 18)
#
not ok 1 /mnt/gstreamer/subprojects/gst-plugins-base/tests/validate/videorate/change_rate_reverse_playback.validatetest # Got a critical report
----------------------------------- stderr -----------------------------------
**Got criticals. Return value set to 18**:
* critical error gst_base_transform_update_qos: assertion 'GST_CLOCK_TIME_IS_VALID (timestamp)' failed
(test program exited with status code 18)
==============================================================================
================================== 224/531 ===================================
test: gst-plugins-base / validate.videorate.fill_segment_after_caps_changed_before_eos
start time: 11:57:05
duration: 1800.01s
result: killed by signal 15 SIGTERM
command: MALLOC_PERTURB_=13 GST_REGISTRY=/mnt/gstreamer.build/subprojects/gst-plugins-base/tests/validate/validate.registry GST_PLUGIN_SYSTEM_PATH_1_0='' GST_VALIDATE_LOGSDIR=/mnt/gstreamer.build/subprojects/gst-plugins-base/tests/validate/validate.videorate.fill_segment_after_caps_changed_before_eos GST_PLUGIN_SCANNER_1_0=/mnt/gstreamer.build/subprojects/gstreamer/libs/gst/helpers/gst-plugin-scanner GST_PLUGIN_LOADING_WHITELIST=gstreamer:gst-validate:gst-plugins-base@/mnt/gstreamer.build/subprojects/gst-plugins-base GST_PLUGIN_PATH_1_0=/mnt/gstreamer.build /mnt/gstreamer.build/subprojects/gstreamer/tests/validate/gst-tester-1.0 /mnt/gstreamer/subprojects/gst-plugins-base/tests/validate/videorate/fill_segment_after_caps_changed_before_eos.validatetest --use-fakesinks
----------------------------------- stdout -----------------------------------
# Running from meson subproject /mnt/gstreamer.build/subprojects/gst-devtools/validate/tools/gst-validate-1.0
1..1
==============================================================================
================================== 515/531 ===================================
test: gst-editing-services / nle_nleoperation
start time: 12:29:24
duration: 67.32s
result: exit status 1
command: GST_STATE_IGNORE_ELEMENTS='' GST_PLUGIN_PATH_1_0=/mnt/gstreamer.build MALLOC_PERTURB_=70 LD_LIBRARY_PATH=/mnt/gstreamer.build/subprojects/gstreamer/libs/gst/base:/mnt/gstreamer.build/subprojects/gstreamer/gst:/mnt/gstreamer.build/subprojects/gst-plugins-base/gst-libs/gst/pbutils:/mnt/gstreamer.build/subprojects/gstreamer/libs/gst/controller:/mnt/gstreamer.build/subprojects/gst-editing-services/ges:/mnt/gstreamer.build/subprojects/gst-plugins-base/gst-libs/gst/video:/mnt/gstreamer.build/subprojects/gstreamer/libs/gst/check:/mnt/gstreamer.build/subprojects/gst-plugins-base/gst-libs/gst/audio:/mnt/gstreamer.build/subprojects/gst-plugins-base/gst-libs/gst/tag:/mnt/gstreamer.build/subprojects/gst-devtools/validate/gst/validate:/opt/scorer/lib:/opt/miniconda/lib:/usr/local/cuda/lib64 GST_PLUGIN_SYSTEM_PATH_1_0='' CK_DEFAULT_TIMEOUT=20 GST_REGISTRY=/mnt/gstreamer.build/subprojects/gst-editing-services/tests/check/nle_nleoperation.registry /mnt/gstreamer.build/subprojects/gst-editing-services/tests/check/nle_nleoperation
----------------------------------- stdout -----------------------------------
Running suite(s): nleoperation
83%: Checks: 6, Failures: 0, Errors: 1
../gstreamer/subprojects/gst-editing-services/tests/check/nle/common.c:163:E:nleoperation:test_pyramid_operations:0: (after this point) Test timeout expired
Check suite gnonlin ran in 66.462s (tests failed: 1)
----------------------------------- stderr -----------------------------------
(nle_nleoperation:33592): GStreamer-WARNING **: 12:29:24.421: External plugin loader failed. This most likely means that the plugin loader helper binary was not found or could not be run. You might need to set the GST_PLUGIN_SCANNER environment variable if your setup is unusual. This should normally not be required though.
==============================================================================
```
</details>https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2913splitmuxsrc: If set range the splitmuxsrc, This output file cannot be played ...2023-09-04T08:40:14ZShigeharu Kamiyasplitmuxsrc: If set range the splitmuxsrc, This output file cannot be played with VLC Player.Hello.
I am Kamiya.
I posted the following to the mailling list.
But it may be bug, so I posted here, too.
-------------------------------------------------------------------------
I tried the followin pipeline with C++ coding (Proper...Hello.
I am Kamiya.
I posted the following to the mailling list.
But it may be bug, so I posted here, too.
-------------------------------------------------------------------------
I tried the followin pipeline with C++ coding (Properties are omitted).
`pipeline1 : splitmuxsrc ! h264parse ! queue ! qtmux ! filesink`
The created media file can be played correctly with any player.
But, if I changed range "start" to bigger than 0 with gst_event_new_seek,
the VLC player could not play the created media file.
It's movie stopped after a few seconds playing, but only the player's slider is moving to the last.
The first of buffer is not GST_BUFFER_FLAG_DELTA_UNIT.
On the other hand, in the case of the following pipeline without splitmuxsrc,
The created media file can be played correctly with any player contains the VLC,
even ifI changed range "start" to bigger than 0 with gst_event_new_seek.
`pipeline2 : filesrc ! qtdemux ! h264parse ! queue ! qtmux ! filesink`
I tried the pipeline1 which changed H.265.
The result was the same, but the following error occurred in gst-discover analysis.
```
ERROR libav :0:: Duplicate POC in a sequence: 3.
ERROR libav :0:: Duplicate POC in a sequence: 4.
```
I would like to combine some media files. So I hope pipeline1.
I don't know what the problem is and how the next action is.
please help me.
Best regards,
Kamiya.https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2912Disabling receiver end stream in sendrecv2023-08-18T06:55:23ZNiraj LahoriDisabling receiver end stream in sendrecvHello All,
We are using C program in sendrecv example for displaying stream on the browser successfully. But we also receive another stream in the separate window as a Linux OS process. In our use case we only need to send the stream to...Hello All,
We are using C program in sendrecv example for displaying stream on the browser successfully. But we also receive another stream in the separate window as a Linux OS process. In our use case we only need to send the stream to the browser and don't need to receive another stream. I am working on closing that another stream but so far I am unable to find any way to close the stream. Can anyone here provide me with relevant guidance on how to implement this use-case ?
Thank you for your time and consideration.https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2911splitmuxsrc: The return type of format-location signal seems to be GStrv, not...2024-01-15T23:57:25ZShigeharu Kamiyasplitmuxsrc: The return type of format-location signal seems to be GStrv, not GStrv*About splitmuxsrc, the return type of format-location signal seems to be GStrv, not GStrv*.
I tried with the return code "GStrv*", but does not success.
On the other hand, I have success following code (return code is GStrv).
```
stat...About splitmuxsrc, the return type of format-location signal seems to be GStrv, not GStrv*.
I tried with the return code "GStrv*", but does not success.
On the other hand, I have success following code (return code is GStrv).
```
static GStrv formatLocationHandler(GstElement *src, gpointer udata)
{
GStrv locations = (GStrv)g_new0(gchar*, 4);
locations[0] = g_strdup("C:/Rec/2023/07/26/1808_28911.mp4");
locations[1] = g_strdup("C:/Rec/2023/07/26/1808_38919.mp4");
locations[2] = g_strdup("C:/Rec/2023/07/26/1808_47902.mp4");
locations[3] = nullptr;
return locations;
}
```
The difinition in gstsplitmuxsrc.c is G_TYPE_STRV.
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/blob/main/subprojects/gst-plugins-good/gst/multifile/gstsplitmuxsrc.c#L250
If the return code is GStrv, the following document and the gst-inspect of splitmuxsrc seems incorrect.
https://gstreamer.freedesktop.org/documentation/multifile/splitmuxsrc.htmlhttps://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/1005videocrop: textoverlay background is wrong while cropping2023-08-17T09:00:51ZTue Henriksenvideocrop: textoverlay background is wrong while croppingI am unsure where this bug is located. Could be in videocrop, textoverlay, or ximagesink.
How to reproduce:
```
gst-launch-1.0 -v videotestsrc ! video/x-raw,width=500,height=100 ! videocrop left=1 ! textoverlay text="Test" font-desc="Sa...I am unsure where this bug is located. Could be in videocrop, textoverlay, or ximagesink.
How to reproduce:
```
gst-launch-1.0 -v videotestsrc ! video/x-raw,width=500,height=100 ! videocrop left=1 ! textoverlay text="Test" font-desc="Sans, 20" shaded-background=true ! ximagesink
```
Expected output:
A window showing the videotestsrc with the dimensions 499x100 and with the text "Test" shown above a semitransparent background.
Actual output:
A window showing the videotestsrc with the dimensions 499x100 and with the text "Test" shown, but the semitransparent background is no longer behind the text as it looks like each line of the text background is offset by one pixel, resulting in the background being a trapezoid.
I do not expect this to be an issue in textoverlay, as in my application, I also see that the stream freezes if I try to change the cropping while playing, even if there is no text overlay.https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2909mp4mux memory leak2024-03-15T14:07:44Zkluddemp4mux memory leakWhen I try to record an rtsp stream with audio using mp4mux with `fragment-mode=0`, everything is fine, however I set `fragment-mode=1`, I see a resident memory leak, if recording without sound, everything is fine.
I have 2 Linux distri...When I try to record an rtsp stream with audio using mp4mux with `fragment-mode=0`, everything is fine, however I set `fragment-mode=1`, I see a resident memory leak, if recording without sound, everything is fine.
I have 2 Linux distributions, with 1.18 and 1.20 gstreamer. I tried to build rust mp4 for 20 gstreamer, but I get an error with dts(
I would gladly use fragment-mode=0, but there is also a problem with it, when splitting the recording, the duration is not reset, and each subsequent video has a total length from the start.https://gitlab.freedesktop.org/gstreamer/gst-indent/-/issues/4gst-indent -o flag does not work on macOS2023-08-16T12:39:48Zamysparkgst-indent -o flag does not work on macOSSomething's gone wrong with the build in macOS, `scripts/gst-indent` relies on `-o` to compare files, yet this version doesn't even try to output a file.
Upstream (2.2.13) does work out of the box, though.Something's gone wrong with the build in macOS, `scripts/gst-indent` relies on `-o` to compare files, yet this version doesn't even try to output a file.
Upstream (2.2.13) does work out of the box, though.https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1782CUDA init failed when use plugin gst-plugins-bad:nvcodec(1.19.2)2023-08-18T03:05:58ZSheep PopeCUDA init failed when use plugin gst-plugins-bad:nvcodec(1.19.2)Dear Yang :
When i build gst-plugins-bad:nvcodec in 1.19.2. i can not specify "--with-cuda-prefix" any more. And i'm running this plugin in a docker container which can not install a nvidia driver. But I build nvenc(1.14.5) with (Vid...Dear Yang :
When i build gst-plugins-bad:nvcodec in 1.19.2. i can not specify "--with-cuda-prefix" any more. And i'm running this plugin in a docker container which can not install a nvidia driver. But I build nvenc(1.14.5) with (Video Codec) successed. can i use this to build nvcodec in 1.19.2 ? and how can i do it ?
(When i build in 1.19.2, plugin shows :"cuda init failed ret 999")
The library(libcuda.so.1) opened now by "g_module_open",how can id use Nvidia Video Codec to use nvcodec
@seungha.yanghttps://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2908gstreamer1.0-libav - file detection inconsistencies?2023-08-30T13:25:30ZUwe Dippelgstreamer1.0-libav - file detection inconsistencies?I new in here, and didn't find any forum to ask. Google also couldn't help me, sorry.
This is my issue: Recently I discovered that certain files were missing in the list of files shown (and subsequently streamed) by rygel. I have updated...I new in here, and didn't find any forum to ask. Google also couldn't help me, sorry.
This is my issue: Recently I discovered that certain files were missing in the list of files shown (and subsequently streamed) by rygel. I have updated the discovery process a number of times, and could reproduce the failure for certain files of the same extension: mp4.
Here are two examples:
```
$ file Die_Konsequenz.mp4
Die_Konsequenz.mp4: ISO Media, MP4 v2 [ISO 14496-14]
$ file Die_Jagd.mp4
Die_Jagd.mp4: ISO Media, MP4 Base Media v1 [ISO 14496-12:2003]
```
Both seem to be of the same format, mp4, but the first one is never indexed, the second file always.
This is the output of the installed support:
```
$ gst-inspect-1.0 | grep v2
...
libav: avdec_msmpeg4v2: libav MPEG-4 part 2 Microsoft variant version 2 decoder
libav: avenc_msmpeg4v2: libav MPEG-4 part 2 Microsoft variant version 2 encoder
...
```
If anything else is helpful, for more detail, please ask!https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2907Input-Selector videorate interaction brief freeze2023-08-15T22:00:08Zveed yoInput-Selector videorate interaction brief freeze### Describe your issue
Seeing a video freeze on the output of input-selector if a videorate element is present downstream to input-selector.
Setup:
```
Live H264 -> h264decode ->
Input-Selector -> videorate ...### Describe your issue
Seeing a video freeze on the output of input-selector if a videorate element is present downstream to input-selector.
Setup:
```
Live H264 -> h264decode ->
Input-Selector -> videorate -> h264encode
Live H264 -> h264decode ->
```
In this setup, the output of Input-Selector freezes for roughly 800ms and sometimes longer before all the frames catch up. On a closer look, the gst_pad_push from input-selector takes this long. And it only happens when a videorate element is present in the downstream pipeline. Removing the videorate element, this problem goes away but the output of the input-selector doesn't have desired frame rate. The other option is to use libgstvideorate.so from an older release.
#### Expected Behavior
Input-Selector should not freeze on switching sink pads.
#### Observed Behavior
Input-Selector is freezing for roughly a second before it outputs a buffer after a switch.
#### Setup
- Ubuntu 22.04
- Computer
- GST Version: 1.22.5 (also happens in 1.22.x)
### Steps to reproduce the bug
As described above
### How reproducible is the bug?
Always
### Screenshots if relevant
### Solutions you have tried
Using `libgstvideorate.so` from 1.19.3 version instead of the one that comes with `1.22.5` fixes this issue.
### 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/2906gst-launch: fault handlers cause builtin macOS crash handling to misbehave2023-08-16T09:56:12ZPiotr Brzezińskigst-launch: fault handlers cause builtin macOS crash handling to misbehaveWhenever something goes wrong in a GStreamer pipeline ran via gst-launch, resulting in a SIGSEGV, macOS's builtin crash reporting will try to spin up lldb to handle the crash in its own way. This conflicts with gst-launch's fault handler...Whenever something goes wrong in a GStreamer pipeline ran via gst-launch, resulting in a SIGSEGV, macOS's builtin crash reporting will try to spin up lldb to handle the crash in its own way. This conflicts with gst-launch's fault handler, which tries to spin in order to make it possible to hook up GDB and debug further manually.
The result is usually gst-launch being completely frozen, while `lldb` and `debugserver` take up 100% CPU in the background and are very hard to kill in some cases. Often this also causes Activity Monitor to become completely unresponsive, which is additionally annoying.
Reproduction steps: Put `raise (SIGSEGV);` anywhere in your element (aside from the plugin initialization) and run it under macOS with gst-launch.
Similar issue I found was present in GIMP: https://gitlab.gnome.org/GNOME/gimp/-/issues/7785. Just disabling our own handlers completely on macOS would probably be enough.https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2905Uridecodebin3: qtdemux fails to link to h265parse when attempting to decode h...2023-08-24T14:09:10ZJayden ElliottUridecodebin3: qtdemux fails to link to h265parse when attempting to decode hevc file### Describe your issue
Hi, I'm having troubles decoding/parsing certain files with uridecodebin3. The error I am receiving is `qtdemux qtdemux.c:6967:gst_qtdemux_loop:<qtdemux0>�[00m error: streaming stopped, reason not-negotiated (-4)`...### Describe your issue
Hi, I'm having troubles decoding/parsing certain files with uridecodebin3. The error I am receiving is `qtdemux qtdemux.c:6967:gst_qtdemux_loop:<qtdemux0>�[00m error: streaming stopped, reason not-negotiated (-4)`.
The file will decode fine using ffmpeg so i'm wondering if there is anything i can do to change demuxers, or update caps to get it working.
### Setup
- Running inside a `nvcr.io/nvidia/deepstream-l4t:6.2-triton` docker container
- Gstreamer version 1.22.5
### Command run
Minimal pipeline that still shows the error:
```
GST_DEBUG=5 gst-launch-1.0 uridecodebin3 uri=file:///10000076_230411174001_L.mp4 ! fakesink
```
### Error
I believe the root of the err is:
```
gst_h265_parse_set_caps:<h265parse0>�[00m refused caps video/x-h265, stream-format=(string)hvc1, alignment=(string)au, tier=(string)main, profile=(string)main, codec_data=(buffer)01010101600090000000000000f000fcfdf8f800000f04200001001740010c01ffff01600000030080000003000003007bac09210001004242010101600000030080000003000003007ba00280802d1fe36bbb5377725d602dc040404100000303e800004e20721dee510005dc00001a5e00002ee00000d2f008220001000b4401c172b09c3877060c24270001000000, width=(int)1280, height=(int)720, framerate=(fraction)20/1, pixel-aspect-ratio=(fraction)1/1
```
### GST_DEBUG logs
[uridecodebin3.log](/uploads/104202fd06e4f26f5adbb69900078dd5/uridecodebin3.log)
### Input file
Unfortunately I cannot share the input file, however here is a `mediainfo` output
```
General
Complete name : /path/10000076_230411174001_L.mp4
Format : MPEG-4
Format profile : Base Media / Version 2
Codec ID : mp42 (mp42/hvc1)
File size : 47.8 MiB
Duration : 10 min 0 s
Overall bit rate : 669 kb/s
Frame rate : 20.000 FPS
Encoded date : 2023-04-11 07:50:01 UTC
Tagged date : 2023-04-11 07:50:01 UTC
Video
ID : 1
Format : HEVC
Format/Info : High Efficiency Video Coding
Format profile : Main@L4.1@Main
Codec ID : hvc1
Codec ID/Info : High Efficiency Video Coding
Duration : 10 min 0 s
Bit rate : 622 kb/s
Width : 1 280 pixels
Height : 720 pixels
Display aspect ratio : 16:9
Frame rate mode : Variable
Frame rate : 20.000 FPS
Minimum frame rate : 15.000 FPS
Maximum frame rate : 30.000 FPS
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Bits/(Pixel*Frame) : 0.034
Stream size : 44.5 MiB (93%)
Language : English
Encoded date : 2023-04-11 07:50:01 UTC
Tagged date : 2023-04-11 07:50:01 UTC
Color range : Full
Color primaries : BT.709
Transfer characteristics : BT.709
Matrix coefficients : BT.709
Codec configuration box : hvcC
```
### ffmpeg decode stream metadata
```
Stream #0:0(eng), 1, 1/90000: Video: hevc (Main), 1 reference frame (hvc1 / 0x31637668), yuvj420p(pc, bt709, left), 1280x720 [SAR 1:1 DAR 16:9], 0/1, 622 kb/s, 20 fps, 30 tbr, 90k tb
```
I did notice that this often happens with bt709 colour spaces also.
Any help would be appreciated.
Cheers,
Jaydenhttps://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/1004UriDecodeBin3 unable to process hevc file (refused caps)2023-08-15T08:29:05ZJayden ElliottUriDecodeBin3 unable to process hevc file (refused caps)Hi, I'm having troubles decoding/parsing certain files with uridecodebin3. The error I am receiving is `qtdemux qtdemux.c:6967:gst_qtdemux_loop:<qtdemux0>�[00m error: streaming stopped, reason not-negotiated (-4)`.
The file will decode ...Hi, I'm having troubles decoding/parsing certain files with uridecodebin3. The error I am receiving is `qtdemux qtdemux.c:6967:gst_qtdemux_loop:<qtdemux0>�[00m error: streaming stopped, reason not-negotiated (-4)`.
The file will decode fine using ffmpeg so i'm wondering if there is anything i can do to change demuxers, or update caps to get it working.
### Command run
Minimal pipeline that still shows the error:
```
GST_DEBUG=5 gst-launch-1.0 uridecodebin3 uri=file:///10000076_230411174001_L.mp4 ! fakesink
```
### Error
I believe the root of the err is:
```
gst_h265_parse_set_caps:<h265parse0>�[00m refused caps video/x-h265, stream-format=(string)hvc1, alignment=(string)au, tier=(string)main, profile=(string)main, codec_data=(buffer)01010101600090000000000000f000fcfdf8f800000f04200001001740010c01ffff01600000030080000003000003007bac09210001004242010101600000030080000003000003007ba00280802d1fe36bbb5377725d602dc040404100000303e800004e20721dee510005dc00001a5e00002ee00000d2f008220001000b4401c172b09c3877060c24270001000000, width=(int)1280, height=(int)720, framerate=(fraction)20/1, pixel-aspect-ratio=(fraction)1/1
```
### GST_DEBUG logs
[uridecodebin3.log](/uploads/e24934400775007657691a5a8229b26c/uridecodebin3.log)
### Input file
Unfortunately I cannot share the input file, however here is a `mediainfo` output
```
General
Complete name : /path/10000076_230411174001_L.mp4
Format : MPEG-4
Format profile : Base Media / Version 2
Codec ID : mp42 (mp42/hvc1)
File size : 47.8 MiB
Duration : 10 min 0 s
Overall bit rate : 669 kb/s
Frame rate : 20.000 FPS
Encoded date : 2023-04-11 07:50:01 UTC
Tagged date : 2023-04-11 07:50:01 UTC
Video
ID : 1
Format : HEVC
Format/Info : High Efficiency Video Coding
Format profile : Main@L4.1@Main
Codec ID : hvc1
Codec ID/Info : High Efficiency Video Coding
Duration : 10 min 0 s
Bit rate : 622 kb/s
Width : 1 280 pixels
Height : 720 pixels
Display aspect ratio : 16:9
Frame rate mode : Variable
Frame rate : 20.000 FPS
Minimum frame rate : 15.000 FPS
Maximum frame rate : 30.000 FPS
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Bits/(Pixel*Frame) : 0.034
Stream size : 44.5 MiB (93%)
Language : English
Encoded date : 2023-04-11 07:50:01 UTC
Tagged date : 2023-04-11 07:50:01 UTC
Color range : Full
Color primaries : BT.709
Transfer characteristics : BT.709
Matrix coefficients : BT.709
Codec configuration box : hvcC
```
### ffmpeg decode stream metadata
```
Stream #0:0(eng), 1, 1/90000: Video: hevc (Main), 1 reference frame (hvc1 / 0x31637668), yuvj420p(pc, bt709, left), 1280x720 [SAR 1:1 DAR 16:9], 0/1, 622 kb/s, 20 fps, 30 tbr, 90k tb
```
I did notice that this often happens with bt709 colour spaces also.
Any help would be appreciated.
Cheers,
Jaydenhttps://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/issues/346Build issue in gstvaapidecoder_h265.c sps_extnsion_params2023-08-15T04:04:37ZFisHlaBsoMANBuild issue in gstvaapidecoder_h265.c sps_extnsion_params
https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/blob/master/gst-libs/gst/vaapi/gstvaapidecoder_h265.c#L2049
```
../gstreamer-vaapi-1.20.6/gst-libs/gst/vaapi/gstvaapidecoder_h265.c:2049:53: error: ‘GstH265SPS’ {aka ‘struct _G...
https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/blob/master/gst-libs/gst/vaapi/gstvaapidecoder_h265.c#L2049
```
../gstreamer-vaapi-1.20.6/gst-libs/gst/vaapi/gstvaapidecoder_h265.c:2049:53: error: ‘GstH265SPS’ {aka ‘struct _GstH265SPS’} has no member named ‘sps_extnsion_params’; did you mean ‘sps_extension_params’?
2049 | COPY_REXT_BFM (range_extension_pic_fields, sps->sps_extnsion_params,
| ^~~~~~~~~~~~~~~~~~~
pic_rext_param->a.bits.f = s.f
```
sps_ext**e**nsion_params
sps_ex**tn**sion_params
vs similar in code
`pps_extension_params`
After manual replace all sps_extnsion_params to sps_extension_params the build is successful.
PS: I have now found that I am mixing it with gstreamer version 1.22.3. With version 1.20.6, everything is fine.https://gitlab.freedesktop.org/gstreamer/meson-ports/libffi/-/issues/12"Unsupported pair" error when building for for mips2023-08-15T19:57:46ZGerardo Puga"Unsupported pair" error when building for for mipsI'm trying to cross-compile GLIB for a mips32. libffi is included as a subproject within GLIB, and during the build process I hit this error in meson.build in libffi:
https://gitlab.freedesktop.org/gstreamer/meson-ports/libffi/-/blob/m...I'm trying to cross-compile GLIB for a mips32. libffi is included as a subproject within GLIB, and during the build process I hit this error in meson.build in libffi:
https://gitlab.freedesktop.org/gstreamer/meson-ports/libffi/-/blob/meson/meson.build#L259
Initially, by looking at the "if" ladder I thought that mips was not supported by libffi, but then I saw that actually it seems to be supported [elsewhere](https://gitlab.freedesktop.org/gstreamer/meson-ports/libffi/-/tree/meson/src/mips) (even within the [same file](https://gitlab.freedesktop.org/gstreamer/meson-ports/libffi/-/blob/meson/meson.build#L83)).
Is this "if" ladder missing an option for "mips"? am I missing something else?
Thanks.https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2904No event GST_MESSAGE_DURATION_CHANGED is emitted when changing to GST_STATE_...2023-08-15T09:27:45ZGustl22No event GST_MESSAGE_DURATION_CHANGED is emitted when changing to GST_STATE_PAUSED for short WAV files### Describe your issue
Following the tutorial https://gstreamer.freedesktop.org/documentation/tutorials/basic/time-management.html?gi-language=c#basic-tutorial-4-time-management
Setting the bus via
```c
gst_bus_add_watch(bus, (GstBus...### Describe your issue
Following the tutorial https://gstreamer.freedesktop.org/documentation/tutorials/basic/time-management.html?gi-language=c#basic-tutorial-4-time-management
Setting the bus via
```c
gst_bus_add_watch(bus, (GstBusFunc)AudioPlayer::OnBusMessage, this);
```
and after setting the source I also set this:
```
gst_element_set_state(playbin, GST_STATE_PAUSED);
```
I don't get the duration event or zero for small wav files.
#### Expected Behavior
Get a duration event when the state of the source has successfully changed to GST_STATE_PAUSED.
#### Observed Behavior
Got no event or `0` if called `gst_element_query_duration`
#### Setup
- **Operating System: tested on Ubuntu 22.04.2 LTS and Ubuntu WSL**
- **Device:** Computer / and Laptop / Mobile / Virtual Machine <!-- Delete as appropriate !-->
- **GStreamer Version:** GStreamer Core Library version 1.20.3
- **Command line:** No command line, used C code.
### Steps to reproduce the bug
<!-- please fill in exact steps which reproduce the bug on your system, for example: -->
I'm not really a C developer, I integrated this in a flutter library, which works fine for all other sources:
https://github.com/bluefireteam/audioplayers/blob/678595bed88ac45ca1c0f93d0299f87947e1a924/packages/audioplayers_linux/linux/audio_player.cc#L103
I searched this repo for duration tests, but found none, maybe this is something which should be added. E.g. here, I think:
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/blob/main/subprojects/gst-plugins-good/tests/check/elements/wavparse.c#L59
I also just tried to load the files in Rhythmbox and Video Player, but the duration was not shown for coins.wav, duration was shown after start playing eventually. But this may also can be how they implemented the players.
### How reproducible is the bug?
- laser.wav -> always
- coins.wav -> sometimes
See test run logs: https://github.com/bluefireteam/audioplayers/actions/runs/5855136348/job/15872347831?pr=1592#step:7:62
### Screenshots if relevant
### Solutions you have tried
### Related non-duplicate issues
### Additional Information
Here are the files:
![coins](/uploads/c2452ad31c8789a8be0cff1f2fe38c88/coins.wav)
![laser](/uploads/80972ed43fb874b31767832020204c24/laser.wav)