GStreamer issueshttps://gitlab.freedesktop.org/groups/gstreamer/-/issues2022-10-27T07:31:26Zhttps://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1235Removal of now-defunct "master" branches in gitlab modules2022-10-27T07:31:26ZTim-Philipp Müllertim@centricular.comRemoval of now-defunct "master" branches in gitlab modulesThis was [announced](https://lists.freedesktop.org/archives/gstreamer-announce/2022-April/000521.html) a while back on the mailing list and on Twitter:
> This is a pre-notification about the impending removal of the now-
defunct "master...This was [announced](https://lists.freedesktop.org/archives/gstreamer-announce/2022-April/000521.html) a while back on the mailing list and on Twitter:
> This is a pre-notification about the impending removal of the now-
defunct "master" branches in our git repositories.
>
> Now that GStreamer development has switched over to the mono repository
in the "main" branch of the gstreamer module [*] and the "main" branch
of the cerbero module, the "master" branches of these module are
defunct and stuck on the 1.19.2 tag/release preceding the mono
repository migration. The same is true for the other modules.
>
> Anyone who may still have workflows built on top of these master
branches should either migrate them to the stable 1.20 branch of the
mono repository or switch to the 1.19.2 tag in the existing
repositories.
>
> The intention is to remove the "master" branches in the near future,
possibly as soon as next week.
The motivation at the time was the problem that the GitHub mirrors wouldn't switch over to the new `main` branch as long as there's still a `master` branch as well, but that has been fixed now.
However, we should still remove these defunct master branches.
Question is: what should be the new default branch when cloning? `1.18`? A new branch called `discontinued-for-monorepo` or somesuch?
Opinions on a postcard, if anyone has any.2022-11-30https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/32rtspsrc: backward playback2023-10-13T23:43:34ZBugzilla Migration Userrtspsrc: backward playback## Submitted by Tibor Kocsis
**[Link to original bug (#626811)](https://bugzilla.gnome.org/show_bug.cgi?id=626811)**
## Description
Hi,
are you planning to implement the support of backward playback (seek with negative rate on ...## Submitted by Tibor Kocsis
**[Link to original bug (#626811)](https://bugzilla.gnome.org/show_bug.cgi?id=626811)**
## Description
Hi,
are you planning to implement the support of backward playback (seek with negative rate on the client side) in rtspsrc? Is there any proposed release date for that? What are the reasons it isn't ready yet, maybe there are technical issues?
Regards
Tibor2023-10-21https://gitlab.freedesktop.org/gstreamer/meson-ports/libvpx/-/issues/2ci: move to apple arm64 runners2023-10-09T18:00:18ZTim-Philipp Müllertim@centricular.comci: move to apple arm64 runnersCI still uses apple intel runners which will be phased out at some point.CI still uses apple intel runners which will be phased out at some point.2023-11-30https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3432vtdec: Seeking sometimes freezes output and causes kVTVideoDecoderBadDataErr2024-03-28T13:12:23ZPiotr Brzezińskivtdec: Seeking sometimes freezes output and causes kVTVideoDecoderBadDataErrWhen using `gst-play` with some files, in my case a [HDR10 60fps 4K test clip](https://drive.google.com/file/d/1Ic9DZXMSo07EJMqCFaQRKSSrSw6y1mYv/view?usp=sharing) from the [Kodi samples library](https://kodi.wiki/view/Samples), seeking f...When using `gst-play` with some files, in my case a [HDR10 60fps 4K test clip](https://drive.google.com/file/d/1Ic9DZXMSo07EJMqCFaQRKSSrSw6y1mYv/view?usp=sharing) from the [Kodi samples library](https://kodi.wiki/view/Samples), seeking forward (2+ times for this example) causes `vtdec` to get into a bad state where output frames are empty and the output callback signals `kVTVideoDecoderBadDataErr` infinitely. When looking at the output, every few seconds a frame or two will appear, but it's frozen otherwise.
**Note**: This only happens if hardware acceleration is enabled. Software decoding works fine.
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6446 will make things a bit better (should error out at some point instead of just freezing and waiting until input runs out), but the issue still stands.
For the record, when using `avdec_h265` no such issue can be seen.
#### Setup
- **Operating System:** macOS Sonoma 14.4
- **Device:** MacBook Pro (M1 Pro)
- **GStreamer Version:** latest `main`https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3431Unable to play mkv video using gstreamer2024-03-28T14:22:29ZGuilherme HubnerUnable to play mkv video using gstreamer### Describe your issue
I am unable to play MKV files using gstreamer. I've tried many different ways and none worked for me.
Initially I wrote a program to extract a frame out of the video using `playbin`, it works for most of the vide...### Describe your issue
I am unable to play MKV files using gstreamer. I've tried many different ways and none worked for me.
Initially I wrote a program to extract a frame out of the video using `playbin`, it works for most of the videos I input to it. But for some files when I call `gst_element_get_state(playbin, NULL, NULL, 5*GST_SECOND)` I get `GST_STATE_CHANGE_FAILURE` as return.
Triggered by that I started trying another ways to reproduce the video, for example:
`gst-play-1.0 ~/Downloads/cicd.mkv`
That opens the player but all the frames are black.
I also tried:
`gst-launch-1.0 -v playbin3 uri=file:///home/$USER/Downloads/cicd.mkv`
`gst-launch-1.0 -v playbin uri=file:///home/$USER/Downloads/cicd.mkv`
And again all I got was a black screen.
Using VLC and other players I was able to play the video.
Other MKV videos I have works with all methods listed above.
#### Expected Behavior
I would expect to be able to play the video using gstreamer.
#### Observed Behavior
gstreamer is unable to properly play the video, programatically it gives error and using cli tools it shows only completely black frames.
#### Setup
- Operating System: Ubuntu 22.04.4 LTS x86_64
- Device: Computer
- GStreamer Version: 1.20.3
- gst-play-1.0 version 1.20.1
- gst-launch-1.0 version 1.20.3
### Steps to reproduce the bug
1. Download the video in this issue
2. open terminal
3. type `gst-play-1.0 ~/Downloads/cicd.mkv`
4. You can also try `gst-launch-1.0 -v playbin3 uri=file:///home/$USER/Downloads/cicd.mkv` or `gst-launch-1.0 -v playbin uri=file:///home/$USER/Downloads/cicd.mkv`
### How reproducible is the bug?
We tried in many different machines running linux, so it is not device specific.
### Additional Information
Video that is failing: [cicd.mkv](/uploads/ed66b66141d804ee330e92576a303a4a/cicd.mkv)
Worth to mention that the video above was also encoded using gstreamer.https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/524Meson: GStreamer 1.24.0 static build fails in gstreamer-plugins-rs because of...2024-03-28T09:00:36ZSeungmin KimMeson: GStreamer 1.24.0 static build fails in gstreamer-plugins-rs because of LTO issuesDevelopers: @dabrain34 @slomo
Build pipeline: https://github.com/selkies-project/selkies-gstreamer/blob/main/addons/gstreamer/Dockerfile
The Meson setup was changed to:
```
meson setup --prefix /opt/gstreamer -Dbuildtype=release --def...Developers: @dabrain34 @slomo
Build pipeline: https://github.com/selkies-project/selkies-gstreamer/blob/main/addons/gstreamer/Dockerfile
The Meson setup was changed to:
```
meson setup --prefix /opt/gstreamer -Dbuildtype=release --default-library=static -Dgstreamer-1.0:gst-full-target-type=static_library -Dpython=enabled -Drs=enabled -Dgpl=enabled -Dbad=enabled -Dugly=enabled -Dlibav=enabled -Dgst-plugins-bad:qsv=enabled -Dgst-plugins-bad:va=enabled -Dgst-plugins-bad:openh264=enabled -Dgst-plugins-ugly:x264=enabled -Ddevtools=disabled -Ddoc=disabled -Dexamples=disabled -Dtests=disabled builddir
```
Logs:
`--default-library=static -Dgstreamer-1.0:gst-full-target-type=shared_library`: https://pastebin.com/raw/3H6Z7KwQ
`--default-library=static -Dgstreamer-1.0:gst-full-target-type=static_library`: https://pastebin.com/raw/BPbNSw5j
@slomo commented:
```
so yes, that's a rust problem but i was under the impression that this was worked around somehow in gstreamer-full too. cerbero has a workaround for it in any case
https://github.com/rust-lang/rust/issues/44322
```https://gitlab.freedesktop.org/gstreamer/meson-ports/ffmpeg/-/issues/42Make b_lto work with libav/FFmpeg again in 1.24.x2024-03-28T08:52:16ZSeungmin KimMake b_lto work with libav/FFmpeg again in 1.24.xThe below occurs on any shared (not static) build compiling FFmpeg while using `-Db_lto=true` (was not the case in GStreamer 1.22.x):
```
[5823/5825] Generating subprojects/gst-plugins-rs/gst-plugins-rs-pc-files with a custom command
[5...The below occurs on any shared (not static) build compiling FFmpeg while using `-Db_lto=true` (was not the case in GStreamer 1.22.x):
```
[5823/5825] Generating subprojects/gst-plugins-rs/gst-plugins-rs-pc-files with a custom command
[5825/5825] Linking target subprojects/gst-libav/ext/libav/libgstlibav.so
FAILED: subprojects/gst-libav/ext/libav/libgstlibav.so
cc -o subprojects/gst-libav/ext/libav/libgstlibav.so subprojects/gst-libav/ext/libav/libgstlibav.so.p/gstav.c.o subprojects/gst-libav/ext/libav/libgstlibav.so.p/gstavprotocol.c.o subprojects/gst-libav/ext/libav/libgstlibav.so.p/gstavcodecmap.c.o subprojects/gst-libav/ext/libav/libgstlibav.so.p/gstavutils.c.o subprojects/gst-libav/ext/libav/libgstlibav.so.p/gstavaudenc.c.o subprojects/gst-libav/ext/libav/libgstlibav.so.p/gstavvidenc.c.o subprojects/gst-libav/ext/libav/libgstlibav.so.p/gstavauddec.c.o subprojects/gst-libav/ext/libav/libgstlibav.so.p/gstavviddec.c.o subprojects/gst-libav/ext/libav/libgstlibav.so.p/gstavcfg.c.o subprojects/gst-libav/ext/libav/libgstlibav.so.p/gstavdemux.c.o subprojects/gst-libav/ext/libav/libgstlibav.so.p/gstavmux.c.o subprojects/gst-libav/ext/libav/libgstlibav.so.p/gstavdeinterlace.c.o subprojects/gst-libav/ext/libav/libgstlibav.so.p/gstavvidcmp.c.o -flto -Wl,--as-needed -Wl,--no-undefined -Wl,-O1 -shared -fPIC -Wl,-soname,libgstlibav.so -Wl,-z,nodelete -Wl,--exclude-libs=ALL '-Wl,-rpath,$ORIGIN/../../../gstreamer/gst:$ORIGIN/../../../gstreamer/libs/gst/base:$ORIGIN/../../../gst-plugins-base/gst-libs/gst/video:$ORIGIN/../../../orc/orc:$ORIGIN/../../../gst-plugins-base/gst-libs/gst/audio:$ORIGIN/../../../gst-plugins-base/gst-libs/gst/tag:$ORIGIN/../../../gst-plugins-base/gst-libs/gst/pbutils' -Wl,-rpath-link,/tmp/gstreamer/builddir/subprojects/gstreamer/gst -Wl,-rpath-link,/tmp/gstreamer/builddir/subprojects/gstreamer/libs/gst/base -Wl,-rpath-link,/tmp/gstreamer/builddir/subprojects/gst-plugins-base/gst-libs/gst/video -Wl,-rpath-link,/tmp/gstreamer/builddir/subprojects/orc/orc -Wl,-rpath-link,/tmp/gstreamer/builddir/subprojects/gst-plugins-base/gst-libs/gst/audio -Wl,-rpath-link,/tmp/gstreamer/builddir/subprojects/gst-plugins-base/gst-libs/gst/tag -Wl,-rpath-link,/tmp/gstreamer/builddir/subprojects/gst-plugins-base/gst-libs/gst/pbutils -Wl,--start-group subprojects/FFmpeg/libavfilter.a subprojects/FFmpeg/libavutil.a subprojects/FFmpeg/libavformat.a subprojects/FFmpeg/libavcodec.a subprojects/FFmpeg/libswresample.a subprojects/FFmpeg/libswscale.a subprojects/FFmpeg/libpostproc.a subprojects/gstreamer/gst/libgstreamer-1.0.so.0.2400.0 subprojects/gstreamer/libs/gst/base/libgstbase-1.0.so.0.2400.0 subprojects/gst-plugins-base/gst-libs/gst/video/libgstvideo-1.0.so.0.2400.0 subprojects/orc/orc/liborc-0.4.so.0.37.0 subprojects/gst-plugins-base/gst-libs/gst/audio/libgstaudio-1.0.so.0.2400.0 subprojects/gst-plugins-base/gst-libs/gst/tag/libgsttag-1.0.so.0.2400.0 subprojects/gst-plugins-base/gst-libs/gst/pbutils/libgstpbutils-1.0.so.0.2400.0 -pthread -lm -latomic -lz -lbz2 -ldl /usr/lib/x86_64-linux-gnu/libglib-2.0.so /usr/lib/x86_64-linux-gnu/libgobject-2.0.so /usr/lib/x86_64-linux-gnu/libgmodule-2.0.so /usr/lib/x86_64-linux-gnu/libz.so -latomic -lz -lbz2 -latomic -latomic -lz -lbz2 -latomic -lz -latomic -latomic -latomic -Wl,--end-group
../subprojects/FFmpeg/libswscale/x86/rgb2rgb_template.c:1821:6: warning: type of ‘ff_nv12ToUV_avx’ does not match original declaration [-Wlto-type-mismatch]
1821 | void RENAME(ff_nv12ToUV)(uint8_t *dstU, uint8_t *dstV,
| ^
../subprojects/FFmpeg/libswscale/x86/swscale.c:323:1: note: type mismatch in parameter 8
323 | INPUT_FUNCS(avx);
| ^
../subprojects/FFmpeg/libswscale/x86/swscale.c:323:1: note: ‘ff_nv12ToUV_avx’ was previously declared here
../subprojects/FFmpeg/libswscale/x86/rgb2rgb_template.c:1821:6: warning: type of ‘ff_nv12ToUV_sse2’ does not match original declaration [-Wlto-type-mismatch]
1821 | void RENAME(ff_nv12ToUV)(uint8_t *dstU, uint8_t *dstV,
| ^
../subprojects/FFmpeg/libswscale/x86/swscale.c:321:1: note: type mismatch in parameter 8
321 | INPUT_FUNCS(sse2);
| ^
../subprojects/FFmpeg/libswscale/x86/swscale.c:321:1: note: ‘ff_nv12ToUV_sse2’ was previously declared here
/usr/bin/ld: subprojects/FFmpeg/libavutil.a(tx_float.asm.o): relocation R_X86_64_PC32 against symbol `ff_tx_tab_32_float' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: final link failed: bad value
collect2: error: ld returned 1 exit status
ninja: build stopped: subcommand failed.
```
Build pipeline:
https://github.com/selkies-project/selkies-gstreamer/blob/main/addons/gstreamer/Dockerfilehttps://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3427vavp9enc: some resolutions fails to encode using CQP2024-03-28T00:14:04ZVíctor Manuel Jáquez Lealvavp9enc: some resolutions fails to encode using CQPUsing iHD driver version 24.1.3 (libva 2.21) on Alder Lake
This pipeline fails:
```
gst-launch-1.0 videotestsrc pattern=1 ! video/x-raw, format=NV12, width=640, height=480 ! vavp9lpenc rate-control=cqp ! fakesink
```
with these logs
...Using iHD driver version 24.1.3 (libva 2.21) on Alder Lake
This pipeline fails:
```
gst-launch-1.0 videotestsrc pattern=1 ! video/x-raw, format=NV12, width=640, height=480 ! vavp9lpenc rate-control=cqp ! fakesink
```
with these logs
```
0:00:00.106913809 88845 0x7f9f4c000b90 DEBUG vabaseenc gstvabaseenc.c:371:gst_va_base_enc_copy_output_data:<vavp9lpenc0> Not enough space for coded data
0:00:00.106927139 88845 0x7f9f4c000b90 ERROR vavp9enc gstvavp9enc.c:2544:_vp9_create_super_frame_output_buffer:<vavp9lpenc0> Fails to copy the output data of system_frame_number 1, frame_num: 1
0:00:00.106931294 88845 0x7f9f4c000b90 ERROR vavp9enc gstvavp9enc.c:2660:gst_va_vp9_enc_prepare_output:<vavp9lpenc0> Failed to create output buffer
0:00:00.106933608 88845 0x7f9f4c000b90 ERROR vabaseenc gstvabaseenc.c:466:_push_buffer_to_downstream:<vavp9lpenc0> Failed to prepare output
0:00:00.106954914 88845 0x7f9f4c000b90 DEBUG vabaseenc gstvabaseenc.c:513:_push_out_one_buffer:<vavp9lpenc0> fails to push one buffer, system_frame_number 1: error
```
cc: @He_Junyanhttps://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3426switchbin doesn't negotiate requested resolution from webcam2024-03-27T18:04:49ZSergei Ilinykhswitchbin doesn't negotiate requested resolution from webcam### Describe your issue
I'm a somewhat puzzled on how switchbin element does negotiation.
Below are minimal examples just for the problem demonstration. Real life code will include more paths to switchbin.
# Next 3 work well
gs...### Describe your issue
I'm a somewhat puzzled on how switchbin element does negotiation.
Below are minimal examples just for the problem demonstration. Real life code will include more paths to switchbin.
# Next 3 work well
gst-launch-1.0 -v v4l2src device=/dev/video0 ! switchbin num-paths=1 path0::caps="image/jpeg,with=1280,height=720" ! jpegdec ! videoconvert ! autovideosink
gst-launch-1.0 -v v4l2src device=/dev/video0 ! switchbin num-paths=1 path0::caps="image/jpeg,with=320,height=240" ! jpegdec ! videoconvert ! autovideosink
gst-launch-1.0 -v v4l2src device=/dev/video0 ! switchbin num-paths=1 path0::caps="image/jpeg,with=1280,height=720" path0::element="jpegdec" ! videoconvert ! autovideosink
# but the next one doesn't work
gst-launch-1.0 -v v4l2src device=/dev/video0 ! switchbin num-paths=1 path0::caps="image/jpeg,with=320,height=240" path0::element="jpegdec" ! videoconvert ! autovideosink
I can't explain why. But according to the log the failing sample just took the first available caps from v4l2src, which is `image/jpeg, width=1280, height=720, framerate=30/1` and didn't even try to negotiate with any other, regardless v4l2src also declares `image/jpeg, width=320, height=240, framerate=30/1`.
Looks like a bug.
#### Expected Behavior
Requested resolution is negotiated
#### Observed Behavior
<!-- What actually happened -->
#### Setup
- **Operating System:** Gentoo
- **Device:** Laptop MSI GL75 9SDK
- **GStreamer Version:** 1.22.3
- **Command line:** ? bash/konsole
### Steps to reproduce the bug
<!-- please fill in exact steps which reproduce the bug on your system, for example: -->
1. open terminal
2. type `gst-launch-1.0 -v v4l2src device=/dev/video0 ! switchbin num-paths=1 path0::caps="image/jpeg,with=320,height=240" path0::element="jpegdec" ! videoconvert ! autovideosink`
### Additional Information
The command above opens a window with single static frame for less than a second and closes immediately.
<!-- Any other information such as logs. Make use of <details> for long output -->
```
0:00:00.674750199 373216 0x7f7428000d10 INFO GST_STATES gstelement.c:2716:_priv_gst_element_state_changed:<pipeline0> notifying about state-changed PAUSED to PLAYING (VOID_PENDING pending)
0:00:00.674894259 373216 0x55ce4cadf330 INFO bin gstbin.c:2767:gst_bin_do_latency_func:<pipeline0> configured latency of 0:00:00.048333333
/GstPipeline:pipeline0/GstV4l2Src:v4l2src0: crop-bounds = < (int)0, (int)0, (int)424, (int)240 >
0:00:00.687233331 373216 0x7f7428000b70 INFO v4l2src gstv4l2src.c:854:gst_v4l2src_negotiate:<v4l2src0> fixated to: image/jpeg, width=(int)1280, height=(int)720, framerate=(fraction)30/1, parsed=(boolean)true, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, colorimetry=(string)2:4:5:1
0:00:00.687266699 373216 0x7f7428000b70 INFO GST_EVENT gstevent.c:918:gst_event_new_caps: creating caps event image/jpeg, width=(int)1280, height=(int)720, framerate=(fraction)30/1, parsed=(boolean)true, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, colorimetry=(string)2:4:5:1
0:00:00.687322122 373216 0x7f7428000b70 WARN GST_CAPS gstpad.c:5787:pre_eventfunc_check:<switchbin0:sink> caps image/jpeg, width=(int)1280, height=(int)720, framerate=(fraction)30/1, parsed=(boolean)true, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, colorimetry=(string)2:4:5:1 not accepted
0:00:00.687337726 373216 0x7f7428000b70 WARN GST_CAPS gstpad.c:5787:pre_eventfunc_check:<switchbin0:sink> caps image/jpeg, width=(int)1280, height=(int)720, framerate=(fraction)30/1, parsed=(boolean)true, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, colorimetry=(string)2:4:5:1 not accepted
0:00:00.687343283 373216 0x7f7428000b70 WARN GST_PADS gstpad.c:4361:gst_pad_peer_query:<v4l2src0:src> could not send sticky events
/GstPipeline:pipeline0/GstV4l2Src:v4l2src0.GstPad:src: caps = image/jpeg, width=(int)1280, height=(int)720, framerate=(fraction)30/1, parsed=(boolean)true, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, colorimetry=(string)2:4:5:1
0:00:00.688144772 373216 0x7f7428000b70 WARN v4l2 gstv4l2object.c:4440:gst_v4l2_object_set_crop:<v4l2src0:src> VIDIOC_S_CROP failed
0:00:00.712830318 373216 0x7f7428000b70 INFO v4l2 gstv4l2object.c:4035:gst_v4l2_object_set_format_full:<v4l2src0:src> Set capture framerate to 30/1
0:00:00.712850244 373216 0x7f7428000b70 WARN v4l2 gstv4l2object.c:3258:gst_v4l2_object_reset_compose_region:<v4l2src0:src> Failed to get default compose rectangle with VIDIOC_G_SELECTION: Недопустимый аргумент
0:00:00.712855689 373216 0x7f7428000b70 INFO v4l2 gstv4l2object.c:3194:gst_v4l2_object_setup_pool:<v4l2src0:src> accessing buffers via mode 4
0:00:00.712924496 373216 0x7f7428000b70 INFO v4l2bufferpool gstv4l2bufferpool.c:586:gst_v4l2_buffer_pool_set_config:<v4l2src0:pool1:src> increasing minimum buffers to 2
0:00:00.712929207 373216 0x7f7428000b70 INFO v4l2bufferpool gstv4l2bufferpool.c:599:gst_v4l2_buffer_pool_set_config:<v4l2src0:pool1:src> reducing maximum buffers to 32
0:00:00.712952484 373216 0x7f7428000b70 INFO v4l2bufferpool gstv4l2bufferpool.c:599:gst_v4l2_buffer_pool_set_config:<v4l2src0:pool1:src> reducing maximum buffers to 32
0:00:00.713605268 373216 0x7f7428000b70 WARN v4l2bufferpool gstv4l2bufferpool.c:848:gst_v4l2_buffer_pool_start:<v4l2src0:pool1:src> Uncertain or not enough buffers, enabling copy threshold
0:00:01.128822853 373216 0x7f7428000b70 WARN GST_CAPS gstpad.c:5787:pre_eventfunc_check:<switchbin0:sink> caps image/jpeg, width=(int)1280, height=(int)720, framerate=(fraction)30/1, parsed=(boolean)true, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, colorimetry=(string)2:4:5:1 not accepted
0:00:01.128907610 373216 0x7f7428000b70 WARN basesrc gstbasesrc.c:3132:gst_base_src_loop:<v4l2src0> error: Internal data stream error.
0:00:01.128928899 373216 0x7f7428000b70 WARN basesrc gstbasesrc.c:3132:gst_base_src_loop:<v4l2src0> error: streaming stopped, reason not-negotiated (-4)
0:00:01.128965241 373216 0x7f7428000b70 INFO GST_ERROR_SYSTEM gstelement.c:2281:gst_element_message_full_with_details:<v4l2src0> posting message: Internal data stream error.
ОШИБКА: из элемента /GstPipeline:pipeline0/GstV4l2Src:v4l2src0: Internal data stream error.
Дополнительная отладочная информация:
../gstreamer-1.22.3/libs/gst/base/gstbasesrc.c(3132): gst_base_src_loop (): /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:
streaming stopped, reason not-negotiated (-4)
0:00:01.129116749 373216 0x7f7428000b70 INFO GST_ERROR_SYSTEM gstelement.c:2308:gst_element_message_full_with_details:<v4l2src0> posted error message: Internal data stream error.
0:00:01.129170285 373216 0x7f7428000b70 WARN GST_CAPS gstpad.c:5787:pre_eventfunc_check:<switchbin0:sink> caps image/jpeg, width=(int)1280, height=(int)720, framerate=(fraction)30/1, parsed=(boolean)true, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, colorimetry=(string)2:4:5:1 not accepted
0:00:01.129208187 373216 0x7f7428000b70 WARN GST_CAPS gstpad.c:5787:pre_eventfunc_check:<switchbin0:sink> caps image/jpeg, width=(int)1280, height=(int)720, framerate=(fraction)30/1, parsed=(boolean)true, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, colorimetry=(string)2:4:5:1 not accepted
0:00:01.129260135 373216 0x7f7428000b70 WARN GST_CAPS gstpad.c:5787:pre_eventfunc_check:<switchbin0:sink> caps image/jpeg, width=(int)1280, height=(int)720, framerate=(fraction)30/1, parsed=(boolean)truExecution ended after 0:00:00.997273841
e, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, colorimetry=(string)2:4:5:1 not accepted
Установка конвейера в состояние NULL…
0:00:01.129366704 373216 0x55ce4cadf330 INFO GST_STATES gstbin.c:2480:gst_bin_element_set_state:<autovideosink0> current PLAYING pending VOID_PENDING, desired next PAUSED
```
```
name : HD Webcam (V4L2)
class : Video/Source
caps : image/jpeg, width=1280, height=720, framerate=30/1
image/jpeg, width=320, height=180, framerate=30/1
image/jpeg, width=320, height=240, framerate=30/1
image/jpeg, width=352, height=288, framerate=30/1
image/jpeg, width=424, height=240, framerate=30/1
image/jpeg, width=640, height=360, framerate=30/1
image/jpeg, width=640, height=480, framerate=30/1
image/jpeg, width=848, height=480, framerate=30/1
image/jpeg, width=960, height=540, framerate=30/1
video/x-raw, format=YUY2, width=1280, height=720, framerate=10/1
video/x-raw, format=YUY2, width=320, height=180, framerate=30/1
video/x-raw, format=YUY2, width=320, height=240, framerate=30/1
video/x-raw, format=YUY2, width=352, height=288, framerate=30/1
video/x-raw, format=YUY2, width=424, height=240, framerate=30/1
video/x-raw, format=YUY2, width=640, height=360, framerate=30/1
video/x-raw, format=YUY2, width=640, height=480, framerate=30/1
video/x-raw, format=YUY2, width=848, height=480, framerate=20/1
video/x-raw, format=YUY2, width=960, height=540, framerate=15/1
properties:
api.v4l2.cap.bus_info = usb-0000:00:14.0-13
api.v4l2.cap.capabilities = 84a00001
api.v4l2.cap.card = HD Webcam: HD Webcam
api.v4l2.cap.device-caps = 04200001
api.v4l2.cap.driver = uvcvideo
api.v4l2.cap.version = 6.8.1
api.v4l2.path = /dev/video0
device.api = v4l2
device.devids = 20736
device.id = 41
device.product.id = 0x211
device.vendor.id = 0x598
factory.name = api.v4l2.source
media.class = Video/Source
node.description = HD Webcam (V4L2)
node.name = v4l2_input.pci-0000_00_14.0-usb-0_13_1.0
node.nick = HD Webcam
node.pause-on-idle = false
object.path = v4l2:/dev/video0
priority.session = 1000
factory.id = 10
client.id = 34
clock.quantum-limit = 8192
media.role = Camera
node.driver = true
object.id = 45
object.serial = 45
gst-launch-1.0 pipewiresrc target-object=45 ! ...
```https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3425vtdec: Fails to decode some kinds of 10bit HDR footage2024-03-26T14:58:26ZPiotr Brzezińskivtdec: Fails to decode some kinds of 10bit HDR footageWhen testing a [HDR10 60fps 4K test clip](https://drive.google.com/file/d/1Ic9DZXMSo07EJMqCFaQRKSSrSw6y1mYv/view?usp=sharing) from the [Kodi samples library](https://kodi.wiki/view/Samples), `vtdec` fails to play it completely.
The erro...When testing a [HDR10 60fps 4K test clip](https://drive.google.com/file/d/1Ic9DZXMSo07EJMqCFaQRKSSrSw6y1mYv/view?usp=sharing) from the [Kodi samples library](https://kodi.wiki/view/Samples), `vtdec` fails to play it completely.
The error message is as follows:
```
0:00:00.667358334 71926 0x600003f4ad90 ERROR vtdec vtdec.c:1218:gst_vtdec_session_output_callback:<vtdechw0> Error decoding frame -17694
```
which indicates `kVTVideoDecoderReferenceMissingErr`. It's not a critical error, and should ideally be worked around instead of aborting completely. It's of course hard to find any documentation about this error, but VLC for example only [restarts the encoding session](https://code.videolan.org/videolan/vlc/-/blob/master/modules/codec/videotoolbox/decoder.c#L1751) when this error is encountered.
It's not clear why and when this error can be expected, it definitely doesn't happen for all kinds of HDR 10bit footage (a quick recording of similar kind from a relatively modern iPhone has no issues being played back), but that's the only case where I was able to reproduce it.https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3424rtspsrc retrieves frames from another multicast stream2024-03-26T12:31:12Zrobin-blanchardrtspsrc retrieves frames from another multicast stream### Describe your issue
<!-- Please provide a clear and concise summary of the bug. -->
I am currently in the process of bumping GStreamer to 1.22.9 in my solution. When using an rtspsrc pipeline to a multicast stream, the frames I recei...### Describe your issue
<!-- Please provide a clear and concise summary of the bug. -->
I am currently in the process of bumping GStreamer to 1.22.9 in my solution. When using an rtspsrc pipeline to a multicast stream, the frames I receive are from another multicast stream. Both streams come from the same media gateway.
<!-- For any GStreamer usage questions or application development support
please head over to our new GStreamer Discourse forum at
https://discourse.gstreamer.org/ instead, or find us on
the GStreamer Matrix room at https://matrix.to/#/#gstreamer:gstreamer.org -->
#### Expected Behavior
<!-- What did you expect to happen -->
I expected both pipelines to retrieve frames from the corresponding stream. The pipelines are:
`/usr/bin/gst-launch-1.0 rtspsrc location=$RTSP latency=20000 ! rtph264depay ! h264parse ! avdec_h264 ! videoconvert ! jpegenc ! multifilesink location="frame%05d.jpg"` with `RTSP` being the RTSP link.
#### Observed Behavior
<!-- What actually happened -->
The pipeline running on `rtsp://A.B.C.D:1234/camera01` corrrectly works.
The pipeline running on `rtsp://A.B.C.D:1234/camera02` retrieves frames from the `camera01` stream.
#### Setup
- **Operating System:** Linux
- **Device:** Docker container <!-- Delete as appropriate !-->
- **GStreamer Version:** 1.22.9
- **Command line:** `/usr/bin/gst-launch-1.0 rtspsrc location=$RTSP latency=20000 ! rtph264depay ! h264parse ! avdec_h264 ! videoconvert ! jpegenc ! multifilesink location="frame%05d.jpg"`
### Steps to reproduce the bug
<!-- please fill in exact steps which reproduce the bug on your system, for example: -->
Here's the Dockerfile used to build GStreamer:
```
# Taken from https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3202
FROM ubuntu:22.04
# Setting bash as the default shell in this container
SHELL ["/bin/bash", "-c"]
# Environment variable to configure timezone
ENV TZ=Etc/UTC \
GSTREAMER_VERSION=1.22.9
WORKDIR /tmp/workdir
RUN apt update \
&& apt install -y tzdata \
&& rm -rf /var/lib/apt/lists/*
RUN apt update \
&& apt install -y \
autoconf \
build-essential \
cmake \
curl \
dvb-apps \
fonts-open-sans \
g++ \
git \
liba52-0.7.4-dev \
libaom-dev \
libasound2-dev \
libass-dev \
libavc1394-dev \
libavcodec-dev \
libavdevice-dev \
libavformat-dev \
libavutil-dev \
libcdio-cdda-dev \
libcdio-dev \
libcdio-paranoia-dev \
libdrm-dev \
libfaad-dev \
libfdk-aac-dev \
libfreetype6-dev \
libgl1-mesa-dev \
libiec61883-dev \
libjack-dev \
libjpeg62-dev \
libmad0-dev \
libmp3lame-dev \
libogg-dev \
libopenal-dev \
libopencore-amrnb-dev \
libopencore-amrwb-dev \
libopus-dev \
libpng-dev \
libpulse-dev \
libraw1394-dev \
librtmp-dev \
libsdl2-dev \
libsoup2.4-dev \
libsrt-openssl-dev \
libssl-dev \
libswscale-dev \
libtheora-dev \
libtool \
libvorbis-dev \
libvpx-dev \
libwebp-dev \
libx264-dev \
libx265-dev \
libxcb-shape0-dev \
libxcb-shm0-dev \
libxcb-xfixes0-dev \
libxv-dev \
libxvidcore-dev \
mesa-utils \
pkg-config \
scons \
wget \
x11proto-gl-dev \
x11proto-video-dev \
yasm \
zlib1g-dev \
&& rm -rf /var/lib/apt/lists/*
ENV LD_LIBRARY_PATH=/usr/local/lib:/usr/local/lib64
RUN apt update \
&& apt remove -y \
meson \
&& apt install -y \
python3-pip \
flex \
bison \
&& python3 -m pip install meson ninja tomli \
&& rm -rf /var/lib/apt/lists/*
###################################################################################################
# GStreamer clone
RUN git clone --depth 1 --branch ${GSTREAMER_VERSION} https://github.com/GStreamer/gstreamer.git
# GStreamer build
RUN cd /tmp/workdir/gstreamer \
&& meson setup --wipe \
-Dlibav=enabled \
-Dgood=enabled \
-Dbad=enabled \
-Dugly=enabled \
-Dgpl=enabled \
--buildtype release \
builddir \
&& meson compile -C builddir \
&& cd builddir \
&& meson install \
&& ldconfig \
&& cd /tmp/workdir \
&& rm -rf gstreamer
```
Build the image and run a container with `--network host` to access multicast streams.
Running the gst-launch command on both streams should reproduce the bug.
### How reproducible is the bug?
Always once we're in such a setup
### Additional Information
<!-- Any other information such as logs. Make use of <details> for long output -->
With GStreamer 1.18.4, there is no such problemhttps://gitlab.freedesktop.org/gstreamer/cerbero/-/issues/474@rpath issues while linking 1.24 on macOS2024-03-27T18:40:36Ztomaszmi@rpath issues while linking 1.24 on macOS### Describe your issue
I'm observing weird warnings at the linking phase when building my project on Mac with the latest gstreamer 1.24.1 version (https://gstreamer.freedesktop.org/data/pkg/osx/1.24.1/gstreamer-1.0-1.24.1-universal.pkg ...### Describe your issue
I'm observing weird warnings at the linking phase when building my project on Mac with the latest gstreamer 1.24.1 version (https://gstreamer.freedesktop.org/data/pkg/osx/1.24.1/gstreamer-1.0-1.24.1-universal.pkg and https://gstreamer.freedesktop.org/data/pkg/osx/1.24.1/gstreamer-1.0-devel-1.24.1-universal.pkg).
All good with 1.22 (https://gstreamer.freedesktop.org/data/pkg/osx/1.22.11/gstreamer-1.0-1.22.11-universal.pkg and https://gstreamer.freedesktop.org/data/pkg/osx/1.22.11/gstreamer-1.0-devel-1.22.11-universal.pkg):
My approach with 1.22:
```
export PKG_CONFIG_PATH=/Library/Frameworks/GStreamer.framework_1.22.0/Libraries/pkgconfig/
cmake -S src -B build_122 -G 'Ninja Multi-Config'
cmake --build build_122 --config Release
```
With 1.24.1:
```
export PKG_CONFIG_PATH=/Library/Frameworks/GStreamer.framework/Libraries/pkgconfig/
cmake -S src -B build_124 -G 'Ninja Multi-Config'
cmake --build build_124 --config Release
(gst-plugin-scanner:30067): GStreamer-WARNING **: 09:25:21.879: Failed to load plugin '/Library/Frameworks/GStreamer.framework/Versions/1.0/lib/gstreamer-1.0/libgstopenjpeg.dylib': dlopen(/Library/Frameworks/GStreamer.framework/Versions/1.0/lib/gstreamer-1.0/libgstopenjpeg.dylib, 0x0002): Library not loaded: @rpath/@rpath/lib/libopenjp2.7.dylib
Referenced from: <18430B33-5528-30FA-9FC4-B158B55FC7AE> /Library/Frameworks/GStreamer.framework/Versions/1.0/lib/gstreamer-1.0/libgstopenjpeg.dylib
Reason: tried: './@rpath/lib/libopenjp2.7.dylib' (no such file), '/Library/Frameworks/GStreamer.framework/Versions/1.0/lib/gstreamer-1.0/../../@rpath/lib/libopenjp2.7.dylib' (no such file), '/Library/Frameworks/GStreamer.framework/Versions/1.0/@rpath/lib/libopenjp2.7.dylib' (no such file), '/Library/Frameworks/GStreamer.framework/Versions/1.0/lib/gstreamer-1.0/../lib/@rpath/lib/libopenjp2.7.dylib' (no such file), '/Library/Frameworks/GStreamer.framework/Versions/1.0/libexec/lib/@rpath/lib/libopenjp2.7.dylib' (no such file), '/Library/Frameworks/GStreamer.framework/Versions/1.0/lib/gstreamer-1.0/../@rpath/lib/libopenjp2.7.dylib' (no such file), '/Library/Frameworks/GStreamer.framework/Versions/1.0/libexec/@rpath/lib/libopenjp2.7.dylib' (no such file), './@rpath/lib/libopenjp2.7.dylib' (no such file), '/Library/Frameworks/GStreamer.framework/Versions/1.0/lib/gstreamer-1.0/../../@rpath/lib/libopenjp2.7.dylib' (no such file), '/Library/Frameworks/GStreamer.framework/Versions/1.0/@rpath/lib/libopenjp2.7.dylib' (no such file), '/Library/Frameworks/GStreamer.framework/Versions/1.0/lib/gstreamer-1.0/../lib/@rpath/lib/libopenjp2.7.dylib' (no such file), '/Library/Frameworks/GStreamer.framework/Versions/1.0/libexec/lib/@rpath/lib/libopenjp2.7.dylib' (no such file), '/Library/Frameworks/GStreamer.framework/Versions/1.0/lib/gstreamer-1.0/../@rpath/lib/libopenjp2.7.dylib' (no such file), '/Library/Frameworks/GStreamer.framework/Versions/1.0/libexec/@rpath/lib/libopenjp2.7.dylib' (no such file), './@rpath/lib/libopenjp2.7.dylib' (no such file), '/Library/Frameworks/GStreamer.framework/Versions/1.0/lib/../@rpath/lib/libopenjp2.7.dylib' (no such file), '/Library/Frameworks/GStreamer.framework/Versions/1.0/libexec/@rpath/lib/libopenjp2.7.dylib' (no such file), '/Library/Frameworks/GStreamer.framework/Versions/1.0/lib/../lib/@rpath/lib/libopenjp2.7.dylib' (no such file), '/Library/Frameworks/GStreamer.framework/Versions/1.0/libexec/lib/@rpath/lib/libopenjp2.7.dylib' (no such file), './@rpath/lib/libopenjp2.7.dylib' (no such file), '/Library/Frameworks/GStreamer.framework/Versions/1.0/libexec/gstreamer-1.0/../../@rpath/lib/libopenjp2.7.dylib' (no such file), '/Library/Frameworks/GStreamer.framework/Versions/1.0/@rpath/lib/libopenjp2.7.dylib' (no such file), '/Library/Frameworks/GStreamer.framework/Versions/1.0/libexec/gstreamer-1.0/../lib/@rpath/lib/libopenjp2.7.dylib' (no such file), '/Library/Frameworks/GStreamer.framework/Versions/1.0/libexec/lib/@rpath/lib/libopenjp2.7.dylib' (no such file), '/Library/Frameworks/GStreamer.framework/Versions/1.0/libexec/gstreamer-1.0/../@rpath/lib/libopenjp2.7.dylib' (no such file), '/Library/Frameworks/GStreamer.framework/Versions/1.0/libexec/@rpath/lib/libopenjp2.7.dylib' (no such file)
```
Additional info:
```
otool -L /Library/Frameworks/GStreamer.framework/Versions/1.0/lib/gstreamer-1.0/libgstopenjpeg.dylib
/Library/Frameworks/GStreamer.framework/Versions/1.0/lib/gstreamer-1.0/libgstopenjpeg.dylib (architecture x86_64):
@rpath/libgstopenjpeg.dylib (compatibility version 0.0.0, current version 0.0.0)
@rpath/lib/libgstcodecparsers-1.0.0.dylib (compatibility version 2402.0.0, current version 2402.0.0)
@rpath/lib/libgstreamer-1.0.0.dylib (compatibility version 2402.0.0, current version 2402.0.0)
@rpath/lib/libgobject-2.0.0.dylib (compatibility version 7401.0.0, current version 7401.4.0)
@rpath/lib/libglib-2.0.0.dylib (compatibility version 7401.0.0, current version 7401.4.0)
@rpath/lib/libgstvideo-1.0.0.dylib (compatibility version 2402.0.0, current version 2402.0.0)
@rpath/@rpath/lib/libopenjp2.7.dylib (compatibility version 7.0.0, current version 2.3.1)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1345.100.2)
/Library/Frameworks/GStreamer.framework/Versions/1.0/lib/gstreamer-1.0/libgstopenjpeg.dylib (architecture arm64):
@rpath/libgstopenjpeg.dylib (compatibility version 0.0.0, current version 0.0.0)
@rpath/lib/libgstcodecparsers-1.0.0.dylib (compatibility version 2402.0.0, current version 2402.0.0)
@rpath/lib/libgstreamer-1.0.0.dylib (compatibility version 2402.0.0, current version 2402.0.0)
@rpath/lib/libgobject-2.0.0.dylib (compatibility version 7401.0.0, current version 7401.4.0)
@rpath/lib/libglib-2.0.0.dylib (compatibility version 7401.0.0, current version 7401.4.0)
@rpath/lib/libgstvideo-1.0.0.dylib (compatibility version 2402.0.0, current version 2402.0.0)
@rpath/@rpath/lib/libopenjp2.7.dylib (compatibility version 7.0.0, current version 2.3.1)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1345.100.2)
```
and:
```
/Library//Frameworks/GStreamer.framework/Versions/1.0/lib/libopenjp2.7.dylib (architecture x86_64):
@rpath/libopenjp2.2.3.1.dylib (compatibility version 7.0.0, current version 2.3.1)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1345.100.2)
/Library//Frameworks/GStreamer.framework/Versions/1.0/lib/libopenjp2.7.dylib (architecture arm64):
@rpath/libopenjp2.2.3.1.dylib (compatibility version 7.0.0, current version 2.3.1)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1345.100.2)
```
#### Expected Behavior
No warnings and all correctly linked.
#### Setup
- **Operating System: MacOS M3 **
- **Device:** Computer
- **GStreamer Version: 1.24.1**https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/1042qml6glsink: impossible to render in parallel into 2 (or more) qml6glsinks2024-03-28T09:21:55ZRobert Guziolowskiqml6glsink: impossible to render in parallel into 2 (or more) qml6glsinksCreate a simple QML application with 2 (or more) qml6glsinks with 2 different pipelines (see attached files).
**Observed behavior**
The application crashes or shows only the stream attached to the first GstGLQt6VideoItem item from the ...Create a simple QML application with 2 (or more) qml6glsinks with 2 different pipelines (see attached files).
**Observed behavior**
The application crashes or shows only the stream attached to the first GstGLQt6VideoItem item from the .qml file (in the test application the _snow_ pattern.
**Expected behavior**
Two streams shown independently (_snow_ and _smpte_ patterns).
**Suggested correction**
I found the correction (in my case) for this problem changing the code of the destructor of GstQSGTexture (gstqsg6material.cc file) from
`delete m_texture;`
to
`m_texture->deleteLater();`
Edit: [merge request](https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6467) ready.
~~I'll create a merge request soon.~~
[CMakeLists.txt](/uploads/205dbecbffd2f9bf6eaa2d27e699ed7b/CMakeLists.txt)
[main.cpp](/uploads/a8bc6bb2b07640b8c87e1d178e3436a2/main.cpp)
[Main.qml](/uploads/e6e90727abf79eaaae869be14d5435fb/Main.qml)https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3420macos: Transparent PNG into glimagesink doesn't display correctly2024-03-25T20:41:29ZPiotr Brzezińskimacos: Transparent PNG into glimagesink doesn't display correctlyA pipeline like `filesrc ! pngdec ! imagefreeze ! glimagesink`, when decoding a PNG file with an alpha channel, does not seem to render correctly (only on macOS, to my knownledge). The image only appears for 1 frame after a forced re-ren...A pipeline like `filesrc ! pngdec ! imagefreeze ! glimagesink`, when decoding a PNG file with an alpha channel, does not seem to render correctly (only on macOS, to my knownledge). The image only appears for 1 frame after a forced re-render, through resizing the window for example. Displays fine with `! osxvideosink`. It's identical to https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1548 with how it manifests. Haven't investigated any further yet.
Here's a quick recording when attempting to show the [GStreamer logo png](/uploads/05df15420ac0e49969836d6ccc8da223/gstreamer-logo.png):
![Screen_Recording_2024-03-25_at_21.39.12](/uploads/4aef37e90f6d33397581b6744f051dc2/Screen_Recording_2024-03-25_at_21.39.12.mov)
#### Setup
- **Operating System:** macOS Sonoma 14.4
- **Device:** MacBook Pro w/ M1 Pro
- **GStreamer Version:** latest `main`https://gitlab.freedesktop.org/gstreamer/cerbero/-/issues/473Speeding up the cerbero MSVC non-deps build2024-03-24T01:12:03ZNirbheek Chauhannirbheek.chauhan@gmail.comSpeeding up the cerbero MSVC non-deps buildLooking at https://gitlab.freedesktop.org/nirbheek/cerbero/-/jobs/56701480 which was a job that happened at a low CI utilization time, some things jumped out at me:
* 45s to `cp -a` cerbero-sources cache
* ??s to `du -sch cerbero-source...Looking at https://gitlab.freedesktop.org/nirbheek/cerbero/-/jobs/56701480 which was a job that happened at a low CI utilization time, some things jumped out at me:
* 45s to `cp -a` cerbero-sources cache
* ??s to `du -sch cerbero-sources` (1st time)
* 2 min to run `cargo vendor` for cargo-c (`cargo-c -> fetch`) out of ~3 min to run `fetch-bootstrap` (incl 45s to download rust toolchain)
* 3 min to run `cargo vendor` for gst-plugins-rs (`gst-plugins-rs -> fetch`) out of ~5 min to run `fetch-package`
* 30s to run `du -sch cerbero-sources` (2nd time)
* 1.5 min to unpack the deps cache (3s to download it)
* 45s to install the latest rust toolchain in `bootstrap`
* 1 min to re-install meson in `bootstrap` (!?)
* 6.5 min to build and install the gstreamer monorepo
* 10 min to build and install gst-plugins-rs (using cargo-c)
* 1 min to package the results to tar.xz
* **Total: 32 min**
Total job time: 32 min
The time needed to download and initialize the container is not included in this, but it is definitely quite slow.
Mitigations:
* `cargo vendor` actually runs *twice*
- The first time, it is run during `fetch` after extracting the git repo/tarball so we can fetch everything from the internet
- The second time, it is run during `extract` to ensure that everything is available in the source tree for an offline build
- This happens because fetch and extract are two separate steps. One fix is to add a mechanism that tells us to skip the extract phase if fetch completed and the recipe hasn't changed since fetch completed.
* `cargo vendor` and `gst-plugins-rs` builds taking so long are probably related: the windows VM runs on top of the current stable version of qemu-kvm with virtio, which is probably quite slow at I/O.
- QEMU 9.0 might fix this, but it hasn't been released yet: https://blog.vmsplice.net/2024/01/qemu-aiocontext-removal-and-how-it-was.html
- Another option is to passthrough a device into the VM so it bypasses virtio and run everything inside that
- This will also help with provisioning of the container, which is I/O bottlenecked
* Disabling Rust debug symbols and turning off optimizations might speed up gst-plugins-rs
- If the issue is I/O, doing a full-debug build without optimizations might slow things down because it'll increase the size of artifacts
* Investigate sccache for Rust on Windows
- This will be I/O-heavy to copy into/out of the container, so it will have to be mounted from the runner itselfhttps://gitlab.freedesktop.org/gstreamer/orc/-/issues/67PulseAudio orc code crashes in emulation mode2024-03-22T13:29:39ZArun RaghavanPulseAudio orc code crashes in emulation modeReproducible in both 0.4.33 and master in the PulseAudio tree with:
```
ORC_DEBUG=99 ORC_CODE=debug,emulate CK_FORK=no meson test cpu-volume-test
```
Backtrace:
```
#0 0x00007ffff7810cd3 in orc_executor_emulate (ex=0x7fffffffb830) at...Reproducible in both 0.4.33 and master in the PulseAudio tree with:
```
ORC_DEBUG=99 ORC_CODE=debug,emulate CK_FORK=no meson test cpu-volume-test
```
Backtrace:
```
#0 0x00007ffff7810cd3 in orc_executor_emulate (ex=0x7fffffffb830) at ../subprojects/orc/orc/orcexecutor.c:320
#1 0x00007ffff7e04b82 in pa_volume_s16ne_orc_2ch (d1=0x7fffffffcc5e, p1=180444461064589, n=510) at src/pulsecore/svolume-orc-gen.c:551
#2 0x00007ffff7e8e189 in pa_volume_s16ne_orc (samples=0x7fffffffcc5e, volumes=0x7fffffffbbc0, channels=2, length=2040) at ../src/pulsecore/svolume_orc.c:38
#3 0x0000000000401592 in run_volume_test (func=0x7ffff7e8e130 <pa_volume_s16ne_orc>, orig_func=0x7ffff7e82470 <pa_volume_s16ne_sse2>, align=1, channels=2, correct=true, perf=false) at ../src/tests/cpu-volume-test.c:74
#4 0x000000000040207e in svolume_orc_test_fn (_i=0) at ../src/tests/cpu-volume-test.c:211
#5 0x00007ffff7dbd943 in tcase_run_tfun_nofork (sr=sr@entry=0x406680, tc=tc@entry=0x406420, tfun=tfun@entry=0x406630, i=i@entry=0) at /usr/src/debug/check-0.15.2-10.fc39.x86_64/src/check_run.c:420
#6 0x00007ffff7dbdf75 in srunner_iterate_tcase_tfuns (tc=0x406420, sr=<optimized out>) at /usr/src/debug/check-0.15.2-10.fc39.x86_64/src/check_run.c:263
#7 srunner_run_tcase (tc=0x406420, sr=0x406680) at /usr/src/debug/check-0.15.2-10.fc39.x86_64/src/check_run.c:402
#8 srunner_iterate_suites (print_mode=<optimized out>, exclude_tags=0x0, include_tags=0x0, tcname=<optimized out>, sname=0x0, sr=0x406680) at /usr/src/debug/check-0.15.2-10.fc39.x86_64/src/check_run.c:222
#9 srunner_run_tagged (sr=0x406680, sname=0x0, tcname=<optimized out>, include_tags=0x0, exclude_tags=0x0, print_mode=<optimized out>) at /usr/src/debug/check-0.15.2-10.fc39.x86_64/src/check_run.c:814
#10 0x00000000004021da in main (argc=1, argv=0x7fffffffd8a8) at ../src/tests/cpu-volume-test.c:241
```https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3414jpegparse: Constant stream of "Invalid data" warnings when used with v4l2src ...2024-03-26T20:29:54ZRobert Maderjpegparse: Constant stream of "Invalid data" warnings when used with v4l2src / pipewiresrcThe following example pipelines produce a otherwise unproblematic stream of error messages (I guess on every frame) on different common UVC cameras of my Laptop and Desktop:
```
gst-launch-1.0 v4l2src ! image/jpeg,width=1280,height=720 !...The following example pipelines produce a otherwise unproblematic stream of error messages (I guess on every frame) on different common UVC cameras of my Laptop and Desktop:
```
gst-launch-1.0 v4l2src ! image/jpeg,width=1280,height=720 ! decodebin3 ! waylandsink
```
or
```
gst-launch-1.0 pipewiresrc ! image/jpeg,width=1280,height=720 ! decodebin3 ! waylandsink
```
Note that whatever comes behind `decodebin3` does not matter - `fakesink` is also affected.
The warning looks as follows:
```
Additional debug info:
../subprojects/gst-plugins-bad/gst/jpegformat/gstjpegparse.c(939): gst_jpeg_parse_handle_frame (): /GstPipeline:pipeline0/GstDecodebin3:decodebin3-0/GstParseBin:parsebin0/GstJpegParse:jpegparse0:
Failed to parse app0 segment
```https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3413vaav1dec fails to decode av1 contents on Alder lake2024-03-22T09:07:04ZStéphane Cerveauscerveau@igalia.comvaav1dec fails to decode av1 contents on Alder lake### Describe your issue
Playing with some medias such as [BigBuckBunny mp4](https://lafibre.info/tv-numerique-hd-3d/comparer-h-264-vp9-av1/msg980640/#msg980640), the decoder fails to decode frames saying
```
0:00:00.033643671 645970 0...### Describe your issue
Playing with some medias such as [BigBuckBunny mp4](https://lafibre.info/tv-numerique-hd-3d/comparer-h-264-vp9-av1/msg980640/#msg980640), the decoder fails to decode frames saying
```
0:00:00.033643671 645970 0x63ac6da97ea0 WARN vadecoder gstvadecoder.c:662:gst_va_decoder_decode_with_aux_surface:<vadecoder0> vaEndPicture: internal decoding error
0:00:00.033651037 645970 0x63ac6da97ea0 WARN av1decoder gstav1decoder.c:739:gst_av1_decoder_handle_frame:<vaav1dec0> end picture error
0:00:00.033660416 645970 0x63ac6da97ea0 WARN videodecoder gstvideodecoder.c:4787:_gst_video_decoder_error:<vaav1dec0> error: Failed to handle the frame 1543372222
0:00:00.033733013 645970 0x63ac6da97ea0 WARN vadecoder gstvadecoder.c:662:gst_va_decoder_decode_with_aux_surface:<vadecoder0> vaEndPicture: internal decoding error
0:00:00.033735564 645970 0x63ac6da97ea0 WARN av1decoder gstav1decoder.c:739:gst_av1_decoder_handle_frame:<vaav1dec0> end picture error
0:00:00.033739535 645970 0x63ac6da97ea0 WARN videodecoder gstvideodecoder.c:4787:_gst_video_decoder_error:<vaav1dec0> error: Failed to handle the frame 1543372222
0:00:00.033755050 645970 0x63ac6da97ea0 WARN vadecoder gstvadecoder.c:662:gst_va_decoder_decode_with_aux_surface:<vadecoder0> vaEndPicture: internal decoding error
0:00:00.033757085 645970 0x63ac6da97ea0 WARN av1decoder gstav1decoder.c:739:gst_av1_decoder_handle_frame:<vaav1dec0> end picture error
0:00:00.033760540 645970 0x63ac6da97ea0 WARN videodecoder gstvideodecoder.c:4787:_gst_video_decoder_error:<vaav1dec0> error: Failed to handle the frame 1543372222
0:00:00.033769051 645970 0x63ac6da97ea0 WARN codecparsers_av1 gstav1parser.c:4235:gst_av1_parse_uncompressed_frame_header: parse uncompressed frame header error 3
0:00:00.033771246 645970 0x63ac6da97ea0 WARN av1decoder gstav1decoder.c:582:gst_av1_decoder_process_frame:<vaav1dec0> Parsing frame failed.
0:00:00.033773319 645970 0x63ac6da97ea0 WARN av1decoder gstav1decoder.c:640:gst_av1_decoder_decode_one_obu:<vaav1dec0> Failed to handle frame OBU
...
```
#### Expected Behavior
To play properly the media
#### Observed Behavior
the element does not succeed to display any of the frames
#### Setup
- **Operating System:** Linux
- **Device:** Computer
- **GStreamer Version:** 1.24
- **Command line:**
`gst-launch-1.0 filesrc location=201411_blender_big_buck_bunny_24fps_720p_av1.mp4 ! qtdemux ! av1parse ! vaav1dec ! autovideosink`
### Steps to reproduce the bug
<!-- please fill in exact steps which reproduce the bug on your system, for example: -->
1. open terminal
2. type `command`
### How reproducible is the bug?
Always
### Screenshots if relevant
### Solutions you have tried
Play other medias
### Related non-duplicate issues
### Additional Information
<!-- Any other information such as logs. Make use of <details> for long output -->https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/522`rtpgccbwe`: investigate placing the element after the RTP session2024-03-20T17:18:58ZMathieu Duponchelle`rtpgccbwe`: investigate placing the element after the RTP sessionFollowing up on https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1502#note_2332096Following up on https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1502#note_2332096https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/521isofmp4mux crashes when recording with sound and without the chunk-duration p...2024-03-21T13:32:19Zkluddeisofmp4mux crashes when recording with sound and without the chunk-duration paramHi, I'm trying to launch the following pipe: `gst-launch-1.0 rtspsrc location='link' name=rtsp_src rtsp_src. ! application/x-rtp, media=video ! rtph264depay ! h264parse ! h264timestamper ! queue ! isofmp4mux fragment-duration=1000 name=m...Hi, I'm trying to launch the following pipe: `gst-launch-1.0 rtspsrc location='link' name=rtsp_src rtsp_src. ! application/x-rtp, media=video ! rtph264depay ! h264parse ! h264timestamper ! queue ! isofmp4mux fragment-duration=1000 name=muxer_sys ! filesink location=record.mp4 rtsp_src. ! application/x-rtp, media=audio ! queue ! rtpmp4gdepay name=audiodepay ! aacparse ! queue ! muxer_sys.`
and I get an error
_thread '<unnamed>' panicked at mux/fmp4/src/fmp4mux/imp.rs:1335:9:
assertion failed: timeout || all_eos || stream.sinkpad.is_eos() ||
stream.queued_gops.get(1).map(|gop| gop.final_earliest_pts) ==
Some(true) || settings.chunk_duration.is_some()_
if I set the _chunk-duration=1_, the pipe starts, but when I send an `eos` signal, I get an error _assertion failed: at_eos_
There are no problems with streams without sound