GStreamer issueshttps://gitlab.freedesktop.org/groups/gstreamer/-/issues2023-02-11T18:01:39Zhttps://gitlab.freedesktop.org/gstreamer/cerbero/-/issues/413Enable qt5 (qmlgl) plugin for cerbero on the GitLab CI2023-02-11T18:01:39ZNirbheek Chauhannirbheek.chauhan@gmail.comEnable qt5 (qmlgl) plugin for cerbero on the GitLab CITo enable the plugin in Cerbero, run the `package` command as `./cerbero-uninstalled -v qt5 -c [...] package gstreamer-1.0`.
To enable the plugin in gst-build, run `meson` with `-Dgst-plugins-good:qt5=enabled`
For native linux, this ne...To enable the plugin in Cerbero, run the `package` command as `./cerbero-uninstalled -v qt5 -c [...] package gstreamer-1.0`.
To enable the plugin in gst-build, run `meson` with `-Dgst-plugins-good:qt5=enabled`
For native linux, this needs to be tested against qt5 from two sources:
1. The Qt5 development packages shipped with the distro
2. Against [the latest qt5 binaries](https://www.qt.io/offline-installers) downloaded and extracted, and `QMAKE=/path/to/Qt5.12.0/5.12.0/gcc_64/qmake`
For android-universal, `QT5_PREFIX=/path/to/Qt5.12.0/5.12.0` must be set instead since Cerbero will need to pick the correct `qmake` for each arch automatically.
For macOS and ios-universal, setting `QMAKE` will work since `qmake` in those cases supports universal builds. cross-win32/64 can be skipped.https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/314ci: build gst-plugins-rs on macOS2023-02-11T17:53:51ZGuillaume Desmottesci: build gst-plugins-rs on macOSWould be nice to build `gst-plugins-rs` on macOS jobs.Would be nice to build `gst-plugins-rs` on macOS jobs.https://gitlab.freedesktop.org/gstreamer/cerbero/-/issues/412ci: Squash cerbero android + iOS integration jobs with their builds2023-02-11T17:14:40ZNicolas Dufresneci: Squash cerbero android + iOS integration jobs with their buildsAs of now, we have large builds place into artifact and downloaded back to build examples for Android and iOS. This proposal is to reduce the egress cause by the usage or large artifact (universal builds with deps) by combining these int...As of now, we have large builds place into artifact and downloaded back to build examples for Android and iOS. This proposal is to reduce the egress cause by the usage or large artifact (universal builds with deps) by combining these into the build job. Integration is quick and can be run all the time.
cc @ystreet @alatiera @nirbheek @danielshttps://gitlab.freedesktop.org/gstreamer/cerbero/-/issues/411Look more into msys $path handling2023-02-11T17:12:48ZJordan PetridіsLook more into msys $path handlingThe following discussion from gst-ci!334 should be addressed:
- [ ] @ndufresne started a [discussion](https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/334#note_627026): (+2 comments)
> Perhaps we could use $PWD ins...The following discussion from gst-ci!334 should be addressed:
- [ ] @ndufresne started a [discussion](https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/334#note_627026): (+2 comments)
> Perhaps we could use $PWD instead ? I notice we use bash, so that should work in theory.https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/176QA: run tests using leaks tracer2023-02-11T16:12:37ZBugzilla Migration UserQA: run tests using leaks tracer## Submitted by Guillaume Desmottes `@gdesmott`
**[Link to original bug (#767856)](https://bugzilla.gnome.org/show_bug.cgi?id=767856)**
## Description
Now that the leaks tracer has been merged ([bug 765052](https://bugzilla.gnome.or...## Submitted by Guillaume Desmottes `@gdesmott`
**[Link to original bug (#767856)](https://bugzilla.gnome.org/show_bug.cgi?id=767856)**
## Description
Now that the leaks tracer has been merged ([bug 765052](https://bugzilla.gnome.org/show_bug.cgi?id=765052)) we could consider adding a Jenkins job on https://ci.gstreamer.net/ running tests with the leaks tracer to prevent memory leaks regressions.
To do so we first should make sure that all tests are currently not reported as leaking. I'll mark those as blockers.
### Depends on
* [Bug 766561](https://bugzilla.gnome.org/show_bug.cgi?id=766561)
* [Bug 766663](https://bugzilla.gnome.org/show_bug.cgi?id=766663)
* [Bug 767159](https://bugzilla.gnome.org/show_bug.cgi?id=767159)
* [Bug 768577](https://bugzilla.gnome.org/show_bug.cgi?id=768577)
* [Bug 768762](https://bugzilla.gnome.org/show_bug.cgi?id=768762)https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1790gobject-introspection / pygobject: Don't use the uninstalled GStreamer versio...2023-02-11T15:47:37ZJosh Matthewsgobject-introspection / pygobject: Don't use the uninstalled GStreamer version but pull in system version```
godot:gst-build jdm$ ninja -C build
ninja: Entering directory `build'
[0/2] Generating GES-1.0.gir with a custom command
```
This step never completes in my macOS gst-build setup. The process manager shows this command is running and...```
godot:gst-build jdm$ ninja -C build
ninja: Entering directory `build'
[0/2] Generating GES-1.0.gir with a custom command
```
This step never completes in my macOS gst-build setup. The process manager shows this command is running and taking no CPU time:
```
/Users/jdm/src/gst-build/build/tmp-introspectffiecw2t/GES-1.0 --introspect-dump=/Users/jdm/src/gst-build/build/tmp-introspectffiecw2t/functions.txt,/Users/jdm/src/gst-build/build/tmp-introspectffiecw2t/dump.xml
```
When I run the same g-ir-scanner command that spawned it, I see this output:
```
gesotioformatter.py:19: Warning: cannot register existing type 'GstObject'
gesotioformatter.py:19: Warning: g_once_init_leave: assertion 'result != 0' failed
gesotioformatter.py:19: Warning: g_type_register_static: assertion 'parent_type > 0' failed
gesotioformatter.py:19: Warning: cannot add private field to invalid (non-instantiatable) type '<invalid>'
gesotioformatter.py:19: Warning: g_object_new_with_properties: assertion 'G_TYPE_IS_OBJECT (object_type)' failed
(<unknown>:28018): GStreamer-CRITICAL **: 13:05:48.805: gst_object_ref_sink: assertion 'object != NULL' failed
(<unknown>:28018): GStreamer-CRITICAL **: 13:05:48.805: gst_object_ref: assertion 'object != NULL' failed
(<unknown>:28018): GStreamer-CRITICAL **: 13:05:48.805: gst_allocator_register: assertion 'allocator != NULL' failed
(<unknown>:28018): GStreamer-CRITICAL **: 13:05:48.805: gst_object_ref: assertion 'object != NULL' failed
gesotioformatter.py:19: Warning: g_boxed_type_register_static: assertion 'g_type_from_name (name) == 0' failed
gesotioformatter.py:19: Warning: cannot register existing type 'GstFormat'
gesotioformatter.py:19: Warning: cannot retrieve class for invalid (unclassed) type '<invalid>'
```
And the command never completes, which explains why the build is hanging. The full command is the following:
```
/usr/local/Cellar/python@3.8/3.8.3_2/Frameworks/Python.framework/Versions/3.8/Resources/Python.app/Contents/MacOS/Python /usr/local/Cellar/gobject-introspection/1.64.1_2/bin/g-ir-scanner --no-libtool --namespace=GES --nsversion=1.0 --warn-all --output subprojects/gst-editing-services/ges/GES-1.0.gir --add-init-section='extern void gst_init(gint*,gchar**);extern void ges_init(void);g_setenv("GST_REGISTRY_1.0", "/no/way/this/exists.reg", TRUE);g_setenv("GST_PLUGIN_PATH_1_0", "", TRUE);g_setenv("GST_PLUGIN_SYSTEM_PATH_1_0", "", TRUE);g_setenv("GST_DEBUG", "0", TRUE);gst_init(NULL,NULL);ges_init();' --quiet --c-include=ges/ges.h --cflags-begin -I/Users/jdm/src/gst-build/subprojects/gst-editing-services/ges/.. -I/Users/jdm/src/gst-build/build/subprojects/gst-editing-services/ges/.. --cflags-end -I/Users/jdm/src/gst-build/subprojects/gst-editing-services/ges -I/Users/jdm/src/gst-build/build/subprojects/gst-editing-services/ges -I./subprojects/gst-editing-services/. -I../subprojects/gst-editing-services/. -I./subprojects/gstreamer/. -I../subprojects/gstreamer/. -I./subprojects/gstreamer/. -I../subprojects/gstreamer/. -I./subprojects/gstreamer/libs -I../subprojects/gstreamer/libs -I./subprojects/gst-plugins-base/gst-libs -I../subprojects/gst-plugins-base/gst-libs -I./subprojects/orc/. -I../subprojects/orc/. -I./subprojects/gst-plugins-base/gst-libs -I../subprojects/gst-plugins-base/gst-libs -I./subprojects/gst-plugins-base/gst-libs -I../subprojects/gst-plugins-base/gst-libs -I./subprojects/gst-plugins-base/gst-libs -I../subprojects/gst-plugins-base/gst-libs -I./subprojects/gstreamer/libs -I../subprojects/gstreamer/libs -I./subprojects/gst-devtools/validate/. -I../subprojects/gst-devtools/validate/. -I./subprojects/gstreamer/libs -I../subprojects/gstreamer/libs --filelist=/Users/jdm/src/gst-build/build/subprojects/gst-editing-services/ges/libges-1.0.0.dylib.p/GES_1.0_gir_filelist --include=Gst-1.0 --include=GstPbutils-1.0 --include=GstVideo-1.0 --include=Gio-2.0 --include=GObject-2.0 --symbol-prefix=ges --identifier-prefix=GES --pkg-export=gst-editing-services-1.0 --cflags-begin -fvisibility=hidden -fno-strict-aliasing -Wmissing-declarations -Wmissing-prototypes -Wredundant-decls -Wundef -Wwrite-strings -Wformat -Wformat-security -Winit-self -Wmissing-include-dirs -Waddress -Wno-multichar -Wdeclaration-after-statement -Wvla -Wpointer-arith -I./subprojects/gst-editing-services/. -I../subprojects/gst-editing-services/. -I./subprojects/gstreamer/. -I../subprojects/gstreamer/. -I./subprojects/gstreamer/libs -I../subprojects/gstreamer/libs -I./subprojects/gst-plugins-base/gst-libs -I../subprojects/gst-plugins-base/gst-libs -I./subprojects/orc/. -I../subprojects/orc/. -I./subprojects/gst-devtools/validate/. -I../subprojects/gst-devtools/validate/. -I./subprojects/gstreamer/gst/parse -I../subprojects/gstreamer/gst/parse -I./subprojects/gst-plugins-base/. -I../subprojects/gst-plugins-base/. -I/usr/local/Cellar/glib/2.64.3/include/glib-2.0 -I/usr/local/Cellar/glib/2.64.3/lib/glib-2.0/include -I/usr/local/opt/gettext/include -I/usr/local/Cellar/pcre/8.44/include -I/usr/local/Cellar/libffi/3.3/include -I/usr/local/Cellar/glib/2.64.3/include -I/usr/local/Cellar/json-glib/1.4.4/include/json-glib-1.0 -I/usr/local/Cellar/python@3.8/3.8.3_2/Frameworks/Python.framework/Versions/3.8/include/python3.8 -I/usr/local/Cellar/gobject-introspection/1.64.1_2/include/gobject-introspection-1.0 --cflags-end --add-include-path=/Users/jdm/src/gst-build/build/subprojects/gstreamer/gst --add-include-path=/Users/jdm/src/gst-build/build/subprojects/gstreamer/libs/gst/base --add-include-path=/Users/jdm/src/gst-build/build/subprojects/gst-plugins-base/gst-libs/gst/video --add-include-path=/Users/jdm/src/gst-build/build/subprojects/gst-plugins-base/gst-libs/gst/tag --add-include-path=/Users/jdm/src/gst-build/build/subprojects/gst-plugins-base/gst-libs/gst/audio --add-include-path=/Users/jdm/src/gst-build/build/subprojects/gst-plugins-base/gst-libs/gst/pbutils --add-include-path=/Users/jdm/src/gst-build/build/subprojects/gstreamer/libs/gst/controller --add-include-path=/Users/jdm/src/gst-build/build/subprojects/gstreamer/libs/gst/check --add-include-path=/Users/jdm/src/gst-build/build/subprojects/gst-devtools/validate/gst/validate --add-include-path=/usr/local/Cellar/gobject-introspection/1.64.1_2/share/gir-1.0 -L/Users/jdm/src/gst-build/build/subprojects/gstreamer/gst --extra-library=gstreamer-1.0 -L/Users/jdm/src/gst-build/build/subprojects/gstreamer/libs/gst/base --extra-library=gstbase-1.0 -L/Users/jdm/src/gst-build/build/subprojects/gst-plugins-base/gst-libs/gst/video -L/Users/jdm/src/gst-build/build/subprojects/orc/orc --extra-library=gstvideo-1.0 --extra-library=orc-0.4 -L/Users/jdm/src/gst-build/build/subprojects/gst-plugins-base/gst-libs/gst/pbutils -L/Users/jdm/src/gst-build/build/subprojects/gst-plugins-base/gst-libs/gst/audio -L/Users/jdm/src/gst-build/build/subprojects/gst-plugins-base/gst-libs/gst/tag -L/usr/lib --extra-library=gstpbutils-1.0 --extra-library=gstaudio-1.0 --extra-library=gsttag-1.0 -L/Users/jdm/src/gst-build/build/subprojects/gstreamer/libs/gst/controller --extra-library=gstcontroller-1.0 -L/Users/jdm/src/gst-build/build/subprojects/gst-devtools/validate/gst/validate -L/Users/jdm/src/gst-build/build/subprojects/gstreamer/libs/gst/check -L/Users/jdm/src/gst-build/build/subprojects/gstreamer/libs/gst/check/libcheck --extra-library=gstvalidate-1.0 --extra-library=gstcheck-1.0 --library ges-1.0 -L/Users/jdm/src/gst-build/build/subprojects/gst-editing-services/ges -L/Users/jdm/src/gst-build/build/subprojects/gstreamer/gst -L/Users/jdm/src/gst-build/build/subprojects/gstreamer/libs/gst/base -L/Users/jdm/src/gst-build/build/subprojects/gst-plugins-base/gst-libs/gst/video -L/Users/jdm/src/gst-build/build/subprojects/orc/orc -L/Users/jdm/src/gst-build/build/subprojects/gst-plugins-base/gst-libs/gst/pbutils -L/Users/jdm/src/gst-build/build/subprojects/gst-plugins-base/gst-libs/gst/audio -L/Users/jdm/src/gst-build/build/subprojects/gst-plugins-base/gst-libs/gst/tag -L/usr/lib -L/Users/jdm/src/gst-build/build/subprojects/gstreamer/libs/gst/controller -L/Users/jdm/src/gst-build/build/subprojects/gst-devtools/validate/gst/validate -L/Users/jdm/src/gst-build/build/subprojects/gstreamer/libs/gst/check -L/Users/jdm/src/gst-build/build/subprojects/gstreamer/libs/gst/check/libcheck -L/usr/local/Cellar/python@3.8/3.8.3_2/Frameworks/Python.framework/Versions/3.8/lib -L/usr/local/Cellar/glib/2.64.3/lib -L/usr/local/opt/gettext/lib --extra-library=glib-2.0 --extra-library=intl --extra-library=gobject-2.0 --extra-library=gmodule-2.0 --extra-library=m --extra-library=z --extra-library=gio-2.0 --extra-library=xml2 -L/usr/local/Cellar/json-glib/1.4.4/lib --extra-library=json-glib-1.0 -L/usr/local/Cellar/python@3.8/3.8.3_2/Frameworks/Python.framework/Versions/3.8/lib --extra-library=python3.8 --extra-library=dl -L/usr/local/Cellar/gobject-introspection/1.64.1_2/lib --extra-library=girepository-1.0 --sources-top-dirs /Users/jdm/src/gst-build/subprojects/gst-editing-services --sources-top-dirs /Users/jdm/src/gst-build/build/subprojects/gst-editing-services
```https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1789static build does not work with introspection enabled2023-02-11T15:34:21ZLLstatic build does not work with introspection enabledgst-build master, meson 0.54.1, ubuntu 19.10
try `-Ddefault_library="static" -Db_staticpic="true"` this results lots of `undefined reference to xxx`.gst-build master, meson 0.54.1, ubuntu 19.10
try `-Ddefault_library="static" -Db_staticpic="true"` this results lots of `undefined reference to xxx`.https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/286rtpav1pay: Handle GstForceKeyUnit sink events2023-02-11T08:38:50ZPhilippe Normandrtpav1pay: Handle GstForceKeyUnit sink eventsWhen such event is received the payloader should (probably? I'm not familiar with the spec) emit a new Sequence Header OBU. See also https://aomediacodec.github.io/av1-rtp-spec/#81-full-intra-request-firWhen such event is received the payloader should (probably? I'm not familiar with the spec) emit a new Sequence Header OBU. See also https://aomediacodec.github.io/av1-rtp-spec/#81-full-intra-request-firhttps://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1785gst 1.22 broke something related to vp9 and the webrtcsink from gst-plugins-rs2023-02-10T10:20:13ZJimmi Christensengst 1.22 broke something related to vp9 and the webrtcsink from gst-plugins-rsHello. We've been having some problems upgrading to gst 1.22 and I think I've reproduced issue on the webrtcsink example from [`gst-plugins-rs/net/webrtc/README.md`](https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/blob/main/net...Hello. We've been having some problems upgrading to gst 1.22 and I think I've reproduced issue on the webrtcsink example from [`gst-plugins-rs/net/webrtc/README.md`](https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/blob/main/net/webrtc/README.md). The launch pipeline `gst-launch-1.0 webrtcsink video-caps=video/x-vp9 name=ws videotestsrc ! ws.` does not show any video in the web frontend from the example.
I've done a git bisect and commit 786b7699d11e0cd6adc88415cc79f88a0226f8a4 seems it might have caused this.https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/311aws3hlsssink: Does timeout cause memory growth2023-02-09T16:39:02ZAadeITaws3hlsssink: Does timeout cause memory growthHi , I recently used `awss3hlssink` to upload video to the s3 system. When the number of pipes is small, the memory is relatively stable. When the number of pipes increases to 2000, the error that cannot be written will be displayed (I k...Hi , I recently used `awss3hlssink` to upload video to the s3 system. When the number of pipes is small, the memory is relatively stable. When the number of pipes increases to 2000, the error that cannot be written will be displayed (I know it is the problem of the s3 system) and the memory will continue to increase. Through `cosbench` test, the response time of the s3 system has exceeded the set 15s (timeout). Will the timeout cause the memory to continue to increase?https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1513qtdemux: odd corruption in push mode2023-02-09T13:08:40ZIhor Ranchynskyiqtdemux: odd corruption in push mode### Describe your issue
<!-- a clear and concise summary of the bug. -->
<!-- For any GStreamer usage question, please contact the community using the #gstreamer channel on IRC https://www.oftc.net/ or the mailing list on https://gstream...### Describe your issue
<!-- a clear and concise summary of the bug. -->
<!-- For any GStreamer usage question, please contact the community using the #gstreamer channel on IRC https://www.oftc.net/ or the mailing list on https://gstreamer.freedesktop.org/lists/ -->
I'm making a program that remuxes videos, I got a bug report that one of them came out corrupted. The program uses gstreamer and push-mode appsrc internally.
#### Expected Behavior
<!-- What did you expect to happen -->
Output is identical to the input.
#### Observed Behavior
<!-- What actually happened -->
Output is corrupted, like there's a missing keyframe or something.
#### Setup
- **Operating System:** Windows 10
- **Device:** Computer
- **GStreamer Version:** 1.20.4 MSVC 64-bit
- **Command line:** `gst-launch-1.0 pushfilesrc location=issue.mp4 ! qtdemux ! mp4mux faststart=true ! filesink location="out.mp4"`
### Steps to reproduce the bug
<!-- please fill in exact steps which reproduce the bug on your system, for example: -->
1. download [issue.mp4](/uploads/fb2694810acd80cdba965af95da39721/issue.mp4) (originally from https://www.youtube.com/watch?v=hVq6eD6-U00)
2. type `gst-launch-1.0 pushfilesrc location=issue.mp4 ! qtdemux ! mp4mux faststart=true ! filesink location="out.mp4"`
### How reproducible is the bug?
Always
### Screenshots if relevant
![BF3T7nx](/uploads/bf3982e9c12bb9293c5eb42237bfce4b/BF3T7nx.png)
![0pOzhuX](/uploads/b31340b9e2d0b5f978786bd362678368/0pOzhuX.png)
### Solutions you have tried
Regular pull-mode `gst-launch-1.0 filesrc location=issue.mp4 ! qtdemux ! mp4mux faststart=true ! filesink location="out.mp4"` works just fine
### Additional Information
<!-- Any other information such as logs. Make use of <details> for long output -->
`GST_DEBUG=4 gst-launch-1.0 pushfilesrc location=issue.mp4 ! qtdemux ! mp4mux faststart=true ! f
ilesink location="out.mp4" > log.txt 2>&1`
[log.txt](/uploads/f85ff725be4d1c13f83f21b6d997a5ec/log.txt)https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1460meson: recursive include of subprojects when using --wrap-mode=forcefallback2023-02-08T18:52:13ZStéphane Cerveauscerveau@igalia.commeson: recursive include of subprojects when using --wrap-mode=forcefallback### Describe your issue
When the build is configured with `--wrap-mode=forcefallback`, it fails on
```
subprojects/harfbuzz/meson.build:78:2: ERROR: Recursive include of subprojects: gst-plugins-base => libdrm => cairo => fontconfig ...### Describe your issue
When the build is configured with `--wrap-mode=forcefallback`, it fails on
```
subprojects/harfbuzz/meson.build:78:2: ERROR: Recursive include of subprojects: gst-plugins-base => libdrm => cairo => fontconfig => freetype2 => harfbuzz => freetype2.
```
#### Expected Behavior
To finish the configure properly with `--wrap-mode=forcefallback`
#### Observed Behavior
#### Setup
- **Operating System:** Linux
- **Device:** Computer
- **GStreamer Version:** 1.21
- **Command line:** `meson builddir-fallback -Dintrospection=disabled --wrap-mode=forcefallback`
### 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
Added `-Dharfbuzz:freetype=disabled` but the build was still failing for cairo complaining about a recursive dependency with harfbuzz. `subprojects/harfbuzz/meson.build:127:2: ERROR: Recursive include of subprojects: gst-plugins-base => libdrm => cairo => fontconfig => freetype2 => harfbuzz => cairo`
Added `-Dharfbuzz:cairo=disabled` and it failed on link stage with `subprojects/cairo/test/svg2png`.
Added `-Dcairo:tests=disabled` and it failed now with `.../builddir/../subprojects/pango/pango/pango-ot-info.c:95: undefined reference to `hb_ft_face_create'`. So I guess now that pango needs harfbuzz to have some freetype enabling.
### Related non-duplicate issues
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2507
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1459
### Additional Information
<!-- Any other information such as logs. Make use of <details> for long output -->https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/363Refactor message view API2023-02-08T08:12:43ZGuillaume DesmottesRefactor message view API`gst::message::StreamCollection<'a>` can't easily be stored because of the lifetime, making the API less convenient to use. Having `gst::message::StreamCollection<gst::Message>` instead would make things easier for users.
See [here](htt...`gst::message::StreamCollection<'a>` can't easily be stored because of the lifetime, making the API less convenient to use. Having `gst::message::StreamCollection<gst::Message>` instead would make things easier for users.
See [here](https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/586#note_1170554) and [here](https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/586#note_1170555) for context.https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/176Add bindings for the Tag library2023-02-08T08:07:38ZSebastian DrögeAdd bindings for the Tag libraryEspecially all those additional tag types defined there. They need to be manually implemented, one trait impl per tag type (see `gstreamer/src/tag.rs` for details).Especially all those additional tag types defined there. They need to be manually implemented, one trait impl per tag type (see `gstreamer/src/tag.rs` for details).https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1779ptp: Support PTP hybrid/mixed mode and unicast negotiation2023-02-08T07:35:14ZSebastian Drögeptp: Support PTP hybrid/mixed mode and unicast negotiationhttps://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1016srtpdec pushes encrypted buffers out when crypto is not set yet2023-02-07T17:09:25ZFabrice Belletfabrice@bellet.infosrtpdec pushes encrypted buffers out when crypto is not set yetI noticed a problematic behavior with sipe-pidgin, its farstream backend, and the way the srtp audio stream is passed from libnice to the siren decoder.
When the element starts to receive encrypted buffers, and the keys are not setup ye...I noticed a problematic behavior with sipe-pidgin, its farstream backend, and the way the srtp audio stream is passed from libnice to the siren decoder.
When the element starts to receive encrypted buffers, and the keys are not setup yet, the buffers are pushed out undecoded in ``gst_srtp_dec_chain()``. the problem here is that the size of the rtp buffer is not the same when data are decoded (52 bytes) and undecoded (62 bytes), and the siren decoder in my case expects fixed-size (40 bytes + 12 bytes rtp header) buffers.
The first problem is that the siren decoder is not hardened enough to handle a random content (overflow in the huffman tables) but this can be worked around.
The second problem is more annoying, because the siren decoder has no mechanism to detect and resync on the beginning of "valid" data, when the crypto is finally installed and the buffers pushed out now have their correct size. The visible consequence is that siren decoder fails, and takes down the pipeline partially:
```
(23:05:10) mediamanager: gst pipeline error: Internal data stream error.
(23:05:10) mediamanager: Debug details: ../libs/gst/base/gstbasesrc.c(3072): gst_base_src_loop (): /GstPipeline:pipeline0/GstBin:conf_0x6160000cf9d0/FsRtpConference:fsrtpconference1/GstBin:bin8/GstNiceSrc:nicesrc4:
streaming stopped, reason error (-5)
(23:05:10) backend-fs2: gst error Internal data stream error.
debugging: ../libs/gst/base/gstbasesrc.c(3072): gst_base_src_loop (): /GstPipeline:pipeline0/GstBin:conf_0x6160000cf9d0/FsRtpConference:fsrtpconference1/GstBin:bin8/GstNiceSrc:nicesrc4:
streaming stopped, reason error (-5)
```
This is not systematic, since introducing several times a 10 bytes offsets in the 40-bytes chucked stream will resync successfully 1 time out of 4 on average :)
Would it make sense to just ``goto drop_buffer`` instead of push_out when crypto is not setup yet?https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1766crash with SIGBUS in videoconvert2023-02-07T13:18:18ZSandro Stillercrash with SIGBUS in videoconvert### Describe your issue
Program crashes with SIGBUS inside videoconvert when processing decoded camera stream.
(image/jpeg) -> queue -> videorate -> imxvpudec -> (video/x-raw) -> videoconvert -> tee
#### Setup
- Platform: i.mx6 ARM p...### Describe your issue
Program crashes with SIGBUS inside videoconvert when processing decoded camera stream.
(image/jpeg) -> queue -> videorate -> imxvpudec -> (video/x-raw) -> videoconvert -> tee
#### Setup
- Platform: i.mx6 ARM processor, Quad-Core, 1G RAM
- gstreamer versions: 1.18.2 and 1.18.4
- gstreamer-imx: 0.13.1
- Yocto 3.1 (Dunfell)
- meta-gstreamer(dunfell)
### How reproducible is the bug?
- Heisenbug, I can not reproduce it on commandline or with `gdb`. But it occurs regularly in our software when started as systemd service.
- does not happen with `gst-launch`
### Additional Information
<!-- Any other information such as logs. Make use of <details> for long output -->
<details>
<summary>Stack dump from core</summary>
```
[...]
Core was generated by `/tmp/CalumaTouch'.
Program terminated with signal SIGBUS, Bus error.
#0 0x74b7fe94 in ?? ()
[Current thread is 1 (LWP 23010)]
(gdb) set sysroot[...]
[...]
(gdb) bt
#0 memcpy () at ../sysdeps/arm/armv7/multiarch/memcpy_impl.S:365
#1 0x5d8a5910 in memcpy (__len=<optimized out>, __src=<optimized out>, __dest=<optimized out>)
at /usr/include/bits/string_fortified.h:34
#2 orc_program_compile_full (program=program@entry=0x5e1def38, target=<optimized out>, flags=<optimized out>)
at ../orc-0.4.32/orc/orccompiler.c:455
#3 0x5d8a5ac4 in orc_program_compile_for_target (program=program@entry=0x5e1def38, target=<optimized out>)
at ../orc-0.4.32/orc/orccompiler.c:234
#4 0x5d8a5ad8 in orc_program_compile (program=program@entry=0x5e1def38) at ../orc-0.4.32/orc/orccompiler.c:211
#5 0x5e2476f8 in video_orc_planar_chroma_422_420 (d1=0x57908358 "", d1_stride=400,
s1=0x577a5c00 <error: Cannot access memory at address 0x577a5c00>, s1_stride=800,
s2=0x577a5d90 <error: Cannot access memory at address 0x577a5d90>, s2_stride=800, n=400, m=m@entry=300)
at gst-libs/gst/video/video-orc.c:15775
#6 0x5e26f3f0 in convert_plane_v_halve_task (task=<error reading variable: value has been optimized out>)
at ../gst-plugins-base-1.18.4/gst-libs/gst/video/video-converter.c:6129
#7 0x5e26d17e in gst_parallelized_task_runner_run (self=0x5e1cc6b0, self@entry=0x5e274a67 <convert_scale_planes+46>,
func=<optimized out>, task_data=task_data@entry=0x0)
at ../gst-plugins-base-1.18.4/gst-libs/gst/video/video-converter.c:297
#8 0x5e26e2f6 in convert_plane_v_halve (convert=<optimized out>, src=<optimized out>, dest=<optimized out>,
plane=<optimized out>) at ../gst-plugins-base-1.18.4/gst-libs/gst/video/video-converter.c:6176
#9 0x5e274a66 in convert_scale_planes (convert=0x5e1d5800, src=0x5c3dfc4c, dest=0x5c3dfdbc)
at ../gst-plugins-base-1.18.4/gst-libs/gst/video/video-converter.c:6379
#10 0x5e202c08 in gst_video_convert_transform_frame (filter=0x11a8760, in_frame=0x5c3dfc4c, out_frame=0x5c3dfdbc)
at ../gst-plugins-base-1.18.4/gst/videoconvert/gstvideoconvert.c:730
#11 0x5e26190a in gst_video_filter_transform (trans=0x11a8760, inbuf=<optimized out>, outbuf=0x5e1ce800)
at ../gst-plugins-base-1.18.4/gst-libs/gst/video/gstvideofilter.c:276
#12 0x6f6011f4 in default_generate_output (trans=0x11a8760, outbuf=0x5c3dffb0)
at ../gstreamer-1.18.4/libs/gst/base/gstbasetransform.c:2188
#13 0x6f600ae2 in gst_base_transform_chain (pad=<optimized out>, parent=0x11a8760, buffer=<optimized out>)
at ../gstreamer-1.18.4/libs/gst/base/gstbasetransform.c:2341
#14 0x745ba422 in gst_pad_chain_data_unchecked (pad=pad@entry=0x11aa630, type=type@entry=4112, data=<optimized out>,
data@entry=0x11b5738) at ../gstreamer-1.18.4/gst/gstpad.c:4399
#15 0x745bbefa in gst_pad_push_data (pad=pad@entry=0x1193658, type=type@entry=4112, data=data@entry=0x11b5738)
at ../gstreamer-1.18.4/gst/gstpad.c:4655
#16 0x745c1982 in gst_pad_push (pad=pad@entry=0x1193658, buffer=buffer@entry=0x11b5738)
at ../gstreamer-1.18.4/gst/gstpad.c:4774
#17 0x745abd0e in gst_proxy_pad_chain_default (pad=0x11a75f8, parent=<optimized out>, buffer=0x11b5738)
at ../gstreamer-1.18.4/gst/gstghostpad.c:127
#18 0x745ba422 in gst_pad_chain_data_unchecked (pad=pad@entry=0x11a75f8, type=type@entry=4112, data=<optimized out>,
data@entry=0x11b5738) at ../gstreamer-1.18.4/gst/gstpad.c:4399
#19 0x745bbefa in gst_pad_push_data (pad=0x11aae40, type=type@entry=4112, data=data@entry=0x11b5738)
at ../gstreamer-1.18.4/gst/gstpad.c:4655
#20 0x745c1982 in gst_pad_push (pad=<optimized out>, buffer=buffer@entry=0x11b5738)
at ../gstreamer-1.18.4/gst/gstpad.c:4774
#21 0x5e253710 in gst_video_decoder_clip_and_push_buf (decoder=decoder@entry=0x5e1c61d0, buf=buf@entry=0x11b5738)
at ../gst-plugins-base-1.18.4/gst-libs/gst/video/gstvideodecoder.c:3357
#22 0x5e2596f0 in gst_video_decoder_finish_frame (decoder=decoder@entry=0x5e1c61d0, frame=0x0, frame@entry=0x11b5690)
at ../gst-plugins-base-1.18.4/gst-libs/gst/video/gstvideodecoder.c:3208
#23 0x5adf39be in gst_imx_vpu_decoder_handle_frame (decoder=0x5e1c61d0, input_frame=<optimized out>)
at ../git/src/vpu/decoder.c:766
#24 0x5e25309a in gst_video_decoder_decode_frame (decoder=decoder@entry=0x5e1c61d0, frame=0x11b5690)
at ../gst-plugins-base-1.18.4/gst-libs/gst/video/gstvideodecoder.c:3567
#25 0x5e2552f2 in gst_video_decoder_chain_forward (decoder=decoder@entry=0x5e1c61d0, buf=buf@entry=0x5e1cebf0,
at_eos=at_eos@entry=0) at ../gst-plugins-base-1.18.4/gst-libs/gst/video/gstvideodecoder.c:2273
#26 0x5e2557c8 in gst_video_decoder_chain (pad=<optimized out>, parent=0x5e1c61d0, buf=0x5e1cebf0)
at ../gst-plugins-base-1.18.4/gst-libs/gst/video/gstvideodecoder.c:2588
#27 0x745ba422 in gst_pad_chain_data_unchecked (pad=pad@entry=0x11aace8, type=type@entry=4112, data=<optimized out>,
data@entry=0x5e1cebf0) at ../gstreamer-1.18.4/gst/gstpad.c:4399
#28 0x745bbefa in gst_pad_push_data (pad=0x11aa4d8, type=4112, data=0x5e1cebf0)
at ../gstreamer-1.18.4/gst/gstpad.c:4655
#29 0x745ba422 in gst_pad_chain_data_unchecked (pad=pad@entry=0x11aa380, type=type@entry=4112, data=<optimized out>,
data@entry=0x5e1cebf0) at ../gstreamer-1.18.4/gst/gstpad.c:4399
#30 0x745bbefa in gst_pad_push_data (pad=pad@entry=0x11a71c0, type=type@entry=4112, data=data@entry=0x5e1cebf0)
at ../gstreamer-1.18.4/gst/gstpad.c:4655
--Type <RET> for more, q to quit, c to continue without paging--
#31 0x745c1982 in gst_pad_push (pad=pad@entry=0x11a71c0, buffer=buffer@entry=0x5e1cebf0)
at ../gstreamer-1.18.4/gst/gstpad.c:4774
#32 0x745abd0e in gst_proxy_pad_chain_default (pad=0x11a61a0, parent=<optimized out>, buffer=0x5e1cebf0)
at ../gstreamer-1.18.4/gst/gstghostpad.c:127
#33 0x745ba422 in gst_pad_chain_data_unchecked (pad=pad@entry=0x11a61a0, type=type@entry=4112, data=<optimized out>,
data@entry=0x5e1cebf0) at ../gstreamer-1.18.4/gst/gstpad.c:4399
#34 0x745bbefa in gst_pad_push_data (pad=0x11aa228, type=type@entry=4112, data=0x5e1cebf0)
at ../gstreamer-1.18.4/gst/gstpad.c:4655
#35 0x745c1982 in gst_pad_push (pad=<optimized out>, buffer=<optimized out>) at ../gstreamer-1.18.4/gst/gstpad.c:4774
#36 0x5d81a888 in gst_video_rate_push_buffer (videorate=videorate@entry=0x11a8418, outbuf=<optimized out>,
duplicate=duplicate@entry=0, next_intime=next_intime@entry=18446744073709551615)
at ../gst-plugins-base-1.18.4/gst/videorate/gstvideorate.c:730
#37 0x5d81c1de in gst_video_rate_transform_ip (trans=0x11a8418, buffer=0x5e1cebf0)
at /usr/include/gstreamer-1.0/gst/gstbuffer.h:417
#38 0x6f601178 in default_generate_output (trans=0x11a8418, outbuf=0x5c3e0aa0)
at ../gstreamer-1.18.4/libs/gst/base/gstbasetransform.c:2183
#39 0x6f600ae2 in gst_base_transform_chain (pad=<optimized out>, parent=0x11a8418, buffer=<optimized out>)
at ../gstreamer-1.18.4/libs/gst/base/gstbasetransform.c:2341
#40 0x745ba422 in gst_pad_chain_data_unchecked (pad=pad@entry=0x11aa0d0, type=type@entry=4112, data=<optimized out>,
data@entry=0x5e1cebf0) at ../gstreamer-1.18.4/gst/gstpad.c:4399
#41 0x745bbefa in gst_pad_push_data (pad=0x1196db0, type=type@entry=4112, data=data@entry=0x5e1cebf0)
at ../gstreamer-1.18.4/gst/gstpad.c:4655
#42 0x745c1982 in gst_pad_push (pad=<optimized out>, buffer=buffer@entry=0x5e1cebf0)
at ../gstreamer-1.18.4/gst/gstpad.c:4774
#43 0x5cd6951a in gst_queue_push_one (queue=0x11a23a8) at ../gstreamer-1.18.4/plugins/elements/gstqueue.c:1386
#44 gst_queue_loop (pad=<optimized out>) at ../gstreamer-1.18.4/plugins/elements/gstqueue.c:1539
#45 0x745e6ca8 in gst_task_func (task=0x11b50d0) at ../gstreamer-1.18.4/gst/gsttask.c:384
#46 0x7447bb14 in g_thread_pool_thread_proxy (data=<optimized out>) at ../glib-2.62.6/glib/gthreadpool.c:308
#47 0x7447b58a in g_thread_proxy (data=0x1162b50) at ../glib-2.62.6/glib/gthread.c:805
#48 0x74ca9898 in start_thread (arg=0x100551a7) at pthread_create.c:477
#49 0x74bb8f3c in ?? () at ../sysdeps/unix/sysv/linux/arm/clone.S:73
from /home/stiller/sdks/fpc-04/stable_2022-11/sysroots/armv7at2hf-neon-tdx-linux-gnueabi/lib/libc.so.6
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
(gdb)
```
</details>
dot file created in SIGBUS signal handler: [sigbus_CameraVideoIn.dot](/uploads/87205d274e0a077873c13fb80a4e98c5/sigbus_CameraVideoIn.dot)https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1776amcvideoenc: does not create/output a GST_EVENT_SEGMENT2023-02-07T06:44:23ZUrsula Maplehurstamcvideoenc: does not create/output a GST_EVENT_SEGMENTgst-rtsp-server 1.18+ with `amcvideoenc` triggers an assertion (`gst_rtsp_stream_get_rates` is unhappy and complains about `no segment event on send_rtp_sink pad`). This was discussed on https://gitlab.freedesktop.org/gstreamer/gst-rtsp-...gst-rtsp-server 1.18+ with `amcvideoenc` triggers an assertion (`gst_rtsp_stream_get_rates` is unhappy and complains about `no segment event on send_rtp_sink pad`). This was discussed on https://gitlab.freedesktop.org/gstreamer/gst-rtsp-server/-/issues/119 and @bilboed says that the issue is with `amcvideoenc` not creating/outputting a `GST_EVENT_SEGMENT` as it should.https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1773Using Gstreamer as a subproject of another big project.2023-02-06T09:51:28ZRoy AmoyalUsing Gstreamer as a subproject of another big project.### Describe your issue
When running meson build in the big project, ```gst_pro = subproject('gstreamer')``` returns the error:
```subprojects/gstreamer/meson.build:155:4: ERROR: Recursive include of subprojects: gstreamer => gstreamer....### Describe your issue
When running meson build in the big project, ```gst_pro = subproject('gstreamer')``` returns the error:
```subprojects/gstreamer/meson.build:155:4: ERROR: Recursive include of subprojects: gstreamer => gstreamer.```
#### Expected Behavior
to compile the code
#### Observed Behavior
#### Setup
* **Operating System:** Linux
* **Device:** Computer
* **GStreamer Version:** GStreamer 1.22
* **Command line:** `meson build` (using the big project`s meson)
### Steps to reproduce the bug
Use Gstreamer as a subproject of another big project.
The big Project`s meson contains:
```gst_dep = subproject('gstreamer')```
because the code of the original gstreamer project contains another subprojects folder that includes another gstreamer directory I am getting the next error:
```
subprojects/gstreamer/meson.build:155:4: ERROR: Recursive include of subprojects: gstreamer => gstreamer.
```
The directories structure:
```
-BigProject
-meson.build
-subprojects
-gstreamer #The original gstreamer code folder
-meson.build
-subprojects
-gstreamer
-gst-plugins-good
-gst-plugins-bad
etc.
```
### How reproducible is the bug?
Always
### Screenshots if relevant
### Solutions you have tried
### Related non-duplicate issues
---------------------------------------------
And another questions.
1. how can I get the gst_dep from the ```gst_pro = subproject('gstreamer')```.
2. How should I include the gstreamer header files in my big project files.
For example: if I want to include ```#include <gst/app/gstappsrc.h>```, how should I do that after building and compiling the gstreamer from source with the directories structure that I gave you?
thanks!https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1771GL_CLAMP_TO_EDGE not defined when compiling gstream on mingw-w642023-02-05T08:36:46ZTony ZhangGL_CLAMP_TO_EDGE not defined when compiling gstream on mingw-w64### Describe your issue
<!-- a clear and concise summary of the bug. -->
<!-- For any GStreamer usage question, please contact the community using the #gstreamer channel on IRC https://www.oftc.net/ or the mailing list on https://gstream...### Describe your issue
<!-- a clear and concise summary of the bug. -->
<!-- For any GStreamer usage question, please contact the community using the #gstreamer channel on IRC https://www.oftc.net/ or the mailing list on https://gstreamer.freedesktop.org/lists/ -->
#### Expected Behavior
<!-- What did you expect to happen -->
Compilation done without error
#### Observed Behavior
<!-- What actually happened -->
GL_CLAMP_TO_EDGE not defined when compiling gstream on mingw-w64
#### Setup
- **Operating System:**
- **Device:** Mingw-w64-x86_64-gcc toolchain
- **GStreamer Version:branch 1.22
### How reproducible is the bug?
<!-- The reproducibility of the bug is Always/Intermittent/Only once after doing a very specific set of steps-->
### Screenshots if relevant
![2023-02-04-18-42-51-image](/uploads/a7a33281d628264f7bfef45a775d48fb/2023-02-04-18-42-51-image.png)
### Solutions you have tried
Just follow the guidance on [SOURCE](https://stackoverflow.com/questions/5617250/gl-clamp-to-edge-was-not-declared-in-this-scope) and add that definition, and error solved.
``` cpp
#define GL_CLAMP_TO_EDGE 0x812F
```
"It''s part of OpenGL 1.2, which is why it isn''t in Microsoft''s OpenGL 1.1 header.