gstreamer-project issueshttps://gitlab.freedesktop.org/gstreamer/gstreamer-project/-/issues2021-01-27T21:40:18Zhttps://gitlab.freedesktop.org/gstreamer/gstreamer-project/-/issues/77GStreamer Hackfest Fall 20202021-01-27T21:40:18ZAaron BoxerGStreamer Hackfest Fall 2020In the midst of the global apocalypse, GStreamer hackers make time to focus on the important things:
like finally fixing foobar.
Opportunity for everyone to set time aside in advance for upstream hacking.
Time frame: Late November - Ea...In the midst of the global apocalypse, GStreamer hackers make time to focus on the important things:
like finally fixing foobar.
Opportunity for everyone to set time aside in advance for upstream hacking.
Time frame: Late November - Early December
Location: ANYWHERE
Organizing this event should be fairly low-effort, as all infra is already in place.
It would be nice to add a video conference platform like ]Pexip[ for those who
want to discuss f2f.
cc @tpm @slomo @ocrete @gdesmott @ndufresne @hgrhttps://gitlab.freedesktop.org/gstreamer/gstreamer-project/-/issues/78Bump compiler requirement and coding style to C992022-10-21T16:52:41ZTim-Philipp Müllertim@centricular.comBump compiler requirement and coding style to C99Looks like people are keen to
- declare variables inline
- use advanced/nicer struct initialisers
- use C++-style `// comments`
GLib made C99 (or at least the subset newer MSVC versions support) a requirement with version 2.64 (we ar...Looks like people are keen to
- declare variables inline
- use advanced/nicer struct initialisers
- use C++-style `// comments`
GLib made C99 (or at least the subset newer MSVC versions support) a requirement with version 2.64 (we are about to bump our GLib req to 2.56).
We now have pretty good CI coverage, esp. for MSVC, and also bumped the MSVC requirement to drop support for ancient versions.
So there isn't really any technical reason not to officially bump our requirement and also change our coding style.
This shouldn't pose any problems with other compilers such as ICC either.1.19.3https://gitlab.freedesktop.org/gstreamer/gstreamer-project/-/issues/43Give commit access to Seungha Yang2019-11-02T17:48:14ZSebastian DrögeGive commit access to Seungha Yang@seungha.yang is contributing to GStreamer for quite a while now and his MRs are usually high quality and don't require much review. I think it would be about time to give him commit access so he can merge simple things himself without w...@seungha.yang is contributing to GStreamer for quite a while now and his MRs are usually high quality and don't require much review. I think it would be about time to give him commit access so he can merge simple things himself without waiting for reviews, so that he can review other people's MRs in areas he's proficient, and also merge his own MRs after review.
I talked with @tpm @ndufresne @thiblahute @nirbheek at the conference and they all agreed.
Any objections from anybody else? :)https://gitlab.freedesktop.org/gstreamer/gstreamer-project/-/issues/71Give commit access to Jan Alexander Steffens2020-05-06T10:01:32ZVivia NikolaidouGive commit access to Jan Alexander Steffens@heftig has been a contributor for a very long time. He's, among other things, the author of the rtmp2 components, including a dedicated RTMP implementation instead of librtmp. He always writes very careful and well-structured code, need...@heftig has been a contributor for a very long time. He's, among other things, the author of the rtmp2 components, including a dedicated RTMP implementation instead of librtmp. He always writes very careful and well-structured code, needing minimal review comments, if at all. I think it would make sense for him to have commit access. Also discussed it shortly with @slomo and he seems to agree.https://gitlab.freedesktop.org/gstreamer/gstreamer-project/-/issues/44Developer commit access for Haihao Xiang for MSDK plugin development2019-11-15T00:24:44ZTim-Philipp Müllertim@centricular.comDeveloper commit access for Haihao Xiang for MSDK plugin developmentIt was discussed that we should give developer access to @haihao (https://gitlab.freedesktop.org/haihao), primarily for the purpose of developing the msdk plugin in gst-plugins-bad.
I would be in favour of this, as long as non-trivial p...It was discussed that we should give developer access to @haihao (https://gitlab.freedesktop.org/haihao), primarily for the purpose of developing the msdk plugin in gst-plugins-bad.
I would be in favour of this, as long as non-trivial patches to other components still go through the usual review process.
I have received several +1 for this in private mails and in person, so if anyone has anything to add please speak up now :)Tim-Philipp Müllertim@centricular.comTim-Philipp Müllertim@centricular.comhttps://gitlab.freedesktop.org/gstreamer/gstreamer-project/-/issues/28Subgroup for GStreamer maintained meson ports2019-01-28T22:38:41ZTim-Philipp Müllertim@centricular.comSubgroup for GStreamer maintained meson portsI think we should add a `meson-ports` subgroup where we maintain forks of various project with Meson ports for gst-build purposes.
This would collect various ports that are now maintained on personal or company github repos in one locat...I think we should add a `meson-ports` subgroup where we maintain forks of various project with Meson ports for gst-build purposes.
This would collect various ports that are now maintained on personal or company github repos in one location where it can be maintained by all interested GStreamer developers.
This would not preclude any efforts to upstream such ports of course, or to upload them to Meson's wrapdb.
My primary goal for now is to move various things which we depend on now away from company repos, in particular: libffi, zlib, and gl-headers. (libnice is probably ready soon enough to be submitted directly to upstream.)Tim-Philipp Müllertim@centricular.comTim-Philipp Müllertim@centricular.comhttps://gitlab.freedesktop.org/gstreamer/gstreamer-project/-/issues/72Enable "Part-of:" commit message tagging in Marge bot2020-06-22T13:44:57ZNicolas DufresneEnable "Part-of:" commit message tagging in Marge botAs part of only letting Marge run the CI (see gst-ci!274) we need a way for Marge the merge bot to trigger a new pipeline under it's username. In Mesa, this always happens since Marge will rewrite all commit messages to add "Part-of:" ta...As part of only letting Marge run the CI (see gst-ci!274) we need a way for Marge the merge bot to trigger a new pipeline under it's username. In Mesa, this always happens since Marge will rewrite all commit messages to add "Part-of:" tag, see https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4432/commits for an example).
I don't think this is a bad idea to have this tag, so basically I'm asking if we'd be ok with enabling that. I'd need @alatiera to take care of course.Jordan PetridіsJordan Petridіshttps://gitlab.freedesktop.org/gstreamer/gstreamer-project/-/issues/35Enable "Only allow merge requests to be merged if all discussions are resolve...2019-11-06T15:47:31ZEdward HerveyEnable "Only allow merge requests to be merged if all discussions are resolved" on all projectsThere is that option on all projects, we should enabled it IMHO. Ensures no comment goes un-noticed.There is that option on all projects, we should enabled it IMHO. Ensures no comment goes un-noticed.https://gitlab.freedesktop.org/gstreamer/gstreamer-project/-/issues/45Give commit access to Håvard Graff2019-12-02T15:22:38ZMathieu DuponchelleGive commit access to Håvard Graff@hgr has been contributing to GStreamer for longer than I have, and is probably as knowledgeable about gstreamer's RTP stack as any of us are. I think it would make sense for him to have commit access, I talked with him and @slomo and ot...@hgr has been contributing to GStreamer for longer than I have, and is probably as knowledgeable about gstreamer's RTP stack as any of us are. I think it would make sense for him to have commit access, I talked with him and @slomo and others at the conference and they agreed, any objections?https://gitlab.freedesktop.org/gstreamer/gstreamer-project/-/issues/42Remove Autotools build system2019-10-15T10:48:40ZTim-Philipp Müllertim@centricular.comRemove Autotools build system# Tracker issue for the Autotools build system removal
The purpose of this issue is to track progress and tasks related to removing Autotools as a build system in GStreamer in favour of the Meson build system.
It is not to discuss the ...# Tracker issue for the Autotools build system removal
The purpose of this issue is to track progress and tasks related to removing Autotools as a build system in GStreamer in favour of the Meson build system.
It is not to discuss the pros and cons of doing this or the timing of doing this.
This completes a journey started more than four years ago.
So long, and thanks for all the ~~fish~~ libtool, Autotools!
## Modules
- [x] ~~gst-ci: needs update for removal of common submodule?~~
- [x] https://gitlab.freedesktop.org/gstreamer/gstreamer/merge_requests/300
- [x] https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/merge_requests/462
- [x] https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/merge_requests/364
- [x] https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/merge_requests/771
- [x] https://gitlab.freedesktop.org/gstreamer/gst-plugins-ugly/merge_requests/34
- [x] https://gitlab.freedesktop.org/gstreamer/gst-libav/merge_requests/45
- [x] https://gitlab.freedesktop.org/gstreamer/gst-rtsp-server/merge_requests/77
- [x] https://gitlab.freedesktop.org/gstreamer/gst-editing-services/merge_requests/118
- [x] https://gitlab.freedesktop.org/gstreamer/gst-omx/merge_requests/50
- [x] https://gitlab.freedesktop.org/gstreamer/gst-template/merge_requests/2
- [x] https://gitlab.freedesktop.org/gstreamer/gst-python/merge_requests/22
- [x] https://gitlab.freedesktop.org/gstreamer/gst-devtools/merge_requests/132
- [x] https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/merge_requests/189
- [x] https://gitlab.freedesktop.org/gstreamer/orc/merge_requests/24
## Tasks
- [x] Announce on mailing list (@tpm)1.17.1Tim-Philipp Müllertim@centricular.comTim-Philipp Müllertim@centricular.comhttps://gitlab.freedesktop.org/gstreamer/gstreamer-project/-/issues/34gitlab bot for nagging people to enable the 'allow commits from members who c...2020-12-01T10:56:14ZTim-Philipp Müllertim@centricular.comgitlab bot for nagging people to enable the 'allow commits from members who can merge on the target branch' checkboxhttps://docs.gitlab.com/ee/user/project/merge_requests/allow_collaboration.html
Unfortunately there doesn't seem to be a global setting to make this the default.
Without it maintainers can't rebase and have to nag/wait.https://docs.gitlab.com/ee/user/project/merge_requests/allow_collaboration.html
Unfortunately there doesn't seem to be a global setting to make this the default.
Without it maintainers can't rebase and have to nag/wait.https://gitlab.freedesktop.org/gstreamer/gstreamer-project/-/issues/33ci: check indentation on merge requests2019-05-11T17:50:49ZTim-Philipp Müllertim@centricular.comci: check indentation on merge requestsJordan PetridіsJordan Petridіshttps://gitlab.freedesktop.org/gstreamer/gstreamer-project/-/issues/100Rename -bad2022-07-04T15:40:56ZPhilippe NormandRename -badFor years now people see -bad and think, oh this is bad, we must avoid it at all cost... This name is so misleading. What about -staging? Or something else that has no misleading meaning?For years now people see -bad and think, oh this is bad, we must avoid it at all cost... This name is so misleading. What about -staging? Or something else that has no misleading meaning?https://gitlab.freedesktop.org/gstreamer/gstreamer-project/-/issues/36Enable Cerbero build in Gitlab CI2020-09-09T16:02:50ZNicolas DufresneEnable Cerbero build in Gitlab CII've been playing around now long enough, here's a dump of what I'm heading for to enable Cerbero in the Gitlab CI. My goal is to reuse as much as possible of what @alatiera and @thiblahute have made, and make sure it blends well. And al...I've been playing around now long enough, here's a dump of what I'm heading for to enable Cerbero in the Gitlab CI. My goal is to reuse as much as possible of what @alatiera and @thiblahute have made, and make sure it blends well. And also to reuse as much as possible from Jenkins, as all the secret sauce are there. But also avoid the down side of contiguous builds when this does not imply waiting hours for the CI to complete.
I'm splitting my plan in different steps, Docker, Builds, and Cerbero.
This is related to #6 and #29
## Dockers
The plan is to generate dockers from gst-ci, so that we can reuse what is already exist and that all dockers will ends in the same registry. This part isn't very special, it is nearly identical to what we do now. I'm also starting with Fedora and I will expend when this first chain is working.
The design is that we will have dockers generated for cerbero builds. Instead of duplicating the bootstrapper, one change I do is that I clone and run the boostrap step in the Dockerfile. This installs all the OS dependencies, and external stuff like android NDK. It also builds the build-tools (for now, cerbero work is needed if we want to remove). We then cache the bootsrap in the docker. As of current implementation, a /bootstrap folder is create, and this is used at the initial value of build/ if the runner didn't provide a cache. It contains build-tools, build-tools.cache, .cache (cerbero downloads) and .ccache. I don't plan on adding run-time docker for now, I think cerbero should have a --runtime alternative to it's bootstrap for this to really make sense.
### ToDo
- [X] Create build cerbero/Dockerfile-fedora
- [x] Implement in cerbero.git builds
- [x] Implement fast cerbero builds for other component
WIP exists already in https://gitlab.freedesktop.org/ndufresne/gst-ci branch cerbero-ci
## Builds
The main issue with cerbero builds is that they slow on full rebuild (mainly due to repo configure time). On Jenkins CI, we have optimized this by doing contiguous builds (reusing previous state). That created some manual maintenance, which I'd like to avoid. Yet, I need something faster. So my plan is to have a stage in cerbero.git that generates builds from scratch. Those builds are special, they would build all the dependencies of gstreamer-1.0 package, but none of the recipes for GStreamer that are included in the CI (cerbero changes needed). The dist and .cache of that build would be uploaded as artifact.
Other builds would pick that artifact (by downloading the latest from cerbero.git artifacts store), and use that as it's initial state. Download cache and CCache are stored are normal runner cache as usual. The result should be that only the GStreamer reciepes needs to be built. This will still be slower then gst-build, as we don't benefit from the meson configure cache, and we install stuff unlike the gst-build, but no longer be massively slower. Unlike the previous method, we never start from a failed state either.
### ToDo
- [x] Create cerbero/gitlab-ci.yml to implement dependency builds
- [x] Update gst-ci/gitlab/ci_template.yml for the other component builds**
- [x] Add cerbero to manifest and script to clone the same version of cerbero for all jobs in the pipeline
** Need not to forget the except: cerbero/
## Cerbero
Some changes in cerbero are needed for this to work. Most are already written. And later there is some improvement we could do. Notably, not building the build-tools at the docker creation, because it will be done later anyway and cached in the runners.
### ToDo
- [X] Bug: We should not need perl to run boostrap
- [X] Allow non-interactive package installation
- [X] Allow doing system bootstrap only
- [x] Add a option to excludes recipes when building packages (build-deps command)
- [x] Add a fetch-cache command for fast builds (WIP)
WIP exist in https://gitlab.freedesktop.org/ndufresne/cerbero.git branch cerbero-ci
## Post Work
This is of course not the end. We'd all like to go further then Jenkins in automation. I'll keep collecting here what are the whish and/or post work.
- [ ] Build "apps" from the cerbero artifacts (run them if possible)
- [ ] Run validate from cerbero artifacts
- [ ] Run gst* checks for native builds (in cerbero ?)
- [ ] Create releases artefacts on tags
- [x] Integrate manifest2cerbero.py into cerbero
- [x] Enable cross-mingw*
- [x] Enable cross-android*
- [ ] Enable Windows builds (need runners)
- [x] Enable OSX builds https://gitlab.freedesktop.org/gstreamer/gst-ci/merge_requests/133
- [x] Enable IOS Builds https://gitlab.freedesktop.org/gstreamer/gst-ci/merge_requests/138
- [ ] Edit me !
cc @alatiera @thiblahute @bilboed @nirbheekNicolas DufresneNicolas Dufresnehttps://gitlab.freedesktop.org/gstreamer/gstreamer-project/-/issues/25Implement protected branches/tags2018-11-14T07:24:35ZMatthew Watersmatthew@centricular.comImplement protected branches/tagsLooking through https://gitlab.freedesktop.org/help/user/permissions and https://gitlab.freedesktop.org/help/user/project/protected_branches there are various advantages to protected branches:
- Nobody can force-push to those branches
-...Looking through https://gitlab.freedesktop.org/help/user/permissions and https://gitlab.freedesktop.org/help/user/project/protected_branches there are various advantages to protected branches:
- Nobody can force-push to those branches
- Fine-grained control over what roles can push and/or merge to which branches, e.g. Developers+ to master, Maintainers+ to stable, no-one to old stables
Note: if a wildcard matches multiple branches, it seems like the union of permissions is taken.
Proposal:
1. master is protected to Developers+Maintainers
2. latest stable/stable-1 is protected to Maintainers
3. All other branches are protected and disallow anybody from pushing.
4. All tags are protected to Maintainershttps://gitlab.freedesktop.org/gstreamer/gstreamer-project/-/issues/2Decide on modules to migrate from cgit2018-11-02T15:54:00ZMatthew Watersmatthew@centricular.comDecide on modules to migrate from cgit- [x] Create file in `bztogl` repo with list of repos to migrate and to be passed to `fdo-import-repo.py`
## List of maintained git repos
- [x] cerbero
- [x] common
- [x] gst-build
- [x] gst-ci
- [x] gst-devtools
- [x] gst-docs
- [x] g...- [x] Create file in `bztogl` repo with list of repos to migrate and to be passed to `fdo-import-repo.py`
## List of maintained git repos
- [x] cerbero
- [x] common
- [x] gst-build
- [x] gst-ci
- [x] gst-devtools
- [x] gst-docs
- [x] gst-editing-services
- [x] gst-examples
- [x] gst-integration-testsuites
- [x] gst-libav
- [x] gst-omx
- [x] gst-plugins-bad
- [x] gst-plugins-base
- [x] gst-plugins-good
- [x] gst-plugins-ugly
- [x] gst-python
- [x] gst-rtsp-server
- [x] gst-template
- [x] gstreamer
- [x] gstreamer-sharp
- [x] gstreamer-vaapi
- [x] orc
- [x] www (can rename to gstreamer.freedesktop.org and gitlab pages later)
## Other cgit repos (Won't be migrated)
- gst-streaming-server
- attic/gst-android
- attic/gst-openmax
- attic/gst-plugins-gl
- attic/insanity
- attic/insanity-gst
- gnonlin
- jhbuild
- qt-gstreamer
## cgit symlinks
@daniels : Is anything special required for those symlinks to remain active after migration ?
- sdk/cerbero -> cerbero
- gst-ffmpeg -> gst-libav
Note: Old modules will still be available via cgithttps://gitlab.freedesktop.org/gstreamer/gstreamer-project/-/issues/116gstreamer cannot load gtk-demo.webm on arm642024-03-13T18:40:16ZChris Tgstreamer cannot load gtk-demo.webm on arm64Hello!
I am on Mobian (Debian) trixie with Gstreamer 1.22 (I also tried with 1.24 from sid). I was trying to add GtkVideos to a program and for some reason, there is an issue with `gtk-demo.webm` provided by `gtk4-widget-factory` on Mob...Hello!
I am on Mobian (Debian) trixie with Gstreamer 1.22 (I also tried with 1.24 from sid). I was trying to add GtkVideos to a program and for some reason, there is an issue with `gtk-demo.webm` provided by `gtk4-widget-factory` on Mobian Trixie. I tried this on a Librem 5 and a Pineephone Pro with the same result. I am able to get `mp4`s and other `webm` to work. I am attaching a small test app that can reproduce the issue for me:
[test_app.zip](/uploads/9f7fd4788d9c0cc6efbc170404658522/test_app.zip)
I commented out:
```
// gtk_media_file_set_resource (GTK_MEDIA_FILE (video_two), "/test_app/test/test46464/video.webm");
// gtk_video_set_media_stream (self->video_one, GTK_MEDIA_STREAM (video_one));
// gtk_video_set_media_stream (self->video_two, GTK_MEDIA_STREAM (video_two));
```
to have the smallest code to show the error, but you can uncomment those lines to see what happens when it loads up. I also attached the errored I get when I run `GST_DEBUG=2`:
```
mobian@mobian:~/dev/test_app$ GST_DEBUG=2 ./_build/src/test_app 2>&1 | tee output.txt
0:00:00.088904953 3673 0xaaab00d50270 WARN basesrc gstbasesrc.c:3693:gst_base_src_start_complete:<source> pad not activated yet
0:00:00.102452146 3673 0xaaab00d50270 WARN basesrc gstbasesrc.c:3693:gst_base_src_start_complete:<source> pad not activated yet
0:00:00.390860299 3673 0xffff7c001800 WARN matroskareadcommon matroska-read-common.c:762:gst_matroska_read_common_parse_skip:<matroskademux0:sink> Unknown CueTrackPositions subelement 0xf0 - ignoring
0:00:00.390916462 3673 0xffff7c001800 WARN matroskareadcommon matroska-read-common.c:762:gst_matroska_read_common_parse_skip:<matroskademux0:sink> Unknown CueTrackPositions subelement 0xf0 - ignoring
0:00:00.492806262 3673 0xffff7c001da0 ERROR v4l2codecs-decoder gstv4l2decoder.c:545:gst_v4l2_decoder_request_buffers:<v4l2decoder2> VIDIOC_REQBUFS failed: Device or resource busy
0:00:00.492870585 3673 0xffff7c001da0 ERROR v4l2codecs-decoder gstv4l2decoder.c:545:gst_v4l2_decoder_request_buffers:<v4l2decoder2> VIDIOC_REQBUFS failed: Device or resource busy
0:00:00.492899866 3673 0xffff7c001da0 ERROR v4l2codecs-decoder gstv4l2decoder.c:545:gst_v4l2_decoder_request_buffers:<v4l2decoder2> VIDIOC_REQBUFS failed: Device or resource busy
0:00:00.492936708 3673 0xffff7c001da0 WARN v4l2codecs-vp9dec gstv4l2codecvp9dec.c:573:gst_v4l2_codec_vp9_dec_decide_allocation:<maindec> error: Not enough memory to allocate sink buffers.
0:00:00.493113236 3673 0xffff7c001da0 WARN videodecoder gstvideodecoder.c:4409:gst_video_decoder_negotiate_pool:<maindec> Subclass failed to decide allocation
0:00:00.493457052 3673 0xaaab00d50270 ERROR gst-play gstplay.c:1014:error_cb:<gtkgstplay0> ERROR: from element /GstPlayBin:playbin/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0/v4l2slvp9alphadecodebin:v4l2slvp9alphadecodebin0/v4l2slvp9dec:maindec: Not enough memory to allocate sink buffers.
0:00:00.493481894 3673 0xaaab00d50270 ERROR gst-play gstplay.c:1016:error_cb:<gtkgstplay0> Additional debug info: ../sys/v4l2codecs/gstv4l2codecvp9dec.c(573): gst_v4l2_codec_vp9_dec_decide_allocation (): /GstPlayBin:playbin/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0/v4l2slvp9alphadecodebin:v4l2slvp9alphadecodebin0/v4l2slvp9dec:maindec
0:00:00.493565058 3673 0xaaab00d50270 ERROR gst-play gstplay.c:938:on_error:<gtkgstplay0> Error: Error from element /GstPlayBin:playbin/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0/v4l2slvp9alphadecodebin:v4l2slvp9alphadecodebin0/v4l2slvp9dec:maindec: No space left on the resource.
Not enough memory to allocate sink buffers.
../sys/v4l2codecs/gstv4l2codecvp9dec.c(573): gst_v4l2_codec_vp9_dec_decide_allocation (): /GstPlayBin:playbin/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0/v4l2slvp9alphadecodebin:v4l2slvp9alphadecodebin0/v4l2slvp9dec:maindec (gst-play-error-quark, 0)
0:00:00.494446139 3673 0xffff7c002070 ERROR v4l2codecs-decoder gstv4l2decoder.c:545:gst_v4l2_decoder_request_buffers:<v4l2decoder3> VIDIOC_REQBUFS failed: Device or resource busy
0:00:00.494487301 3673 0xffff7c002070 ERROR v4l2codecs-decoder gstv4l2decoder.c:545:gst_v4l2_decoder_request_buffers:<v4l2decoder3> VIDIOC_REQBUFS failed: Device or resource busy
0:00:00.494514062 3673 0xffff7c002070 ERROR v4l2codecs-decoder gstv4l2decoder.c:545:gst_v4l2_decoder_request_buffers:<v4l2decoder3> VIDIOC_REQBUFS failed: Device or resource busy
0:00:00.494540463 3673 0xffff7c002070 WARN v4l2codecs-vp9dec gstv4l2codecvp9dec.c:573:gst_v4l2_codec_vp9_dec_decide_allocation:<alphadec> error: Not enough memory to allocate sink buffers.
0:00:00.494616667 3673 0xffff7c002070 WARN videodecoder gstvideodecoder.c:4409:gst_video_decoder_negotiate_pool:<alphadec> Subclass failed to decide allocation
0:00:00.494836517 3673 0xffff7c001800 WARN matroskademux matroska-demux.c:6109:gst_matroska_demux_loop:<matroskademux0> error: Internal data stream error.
0:00:00.494856198 3673 0xffff7c001800 WARN matroskademux matroska-demux.c:6109:gst_matroska_demux_loop:<matroskademux0> error: streaming stopped, reason not-negotiated (-4)
0:00:00.494956763 3673 0xffff7c001800 WARN multiqueue gstmultiqueue.c:2789:gst_multi_queue_sink_event:<multiqueue0> error: Internal data stream error.
0:00:00.494974643 3673 0xffff7c001800 WARN multiqueue gstmultiqueue.c:2789:gst_multi_queue_sink_event:<multiqueue0> error: streaming stopped, reason not-negotiated (-4)
```https://gitlab.freedesktop.org/gstreamer/gstreamer-project/-/issues/115What is the correct way to stream frames over udp sink using gstreamer in pyt...2023-11-28T06:39:07ZPyMangekyoWhat is the correct way to stream frames over udp sink using gstreamer in python?I am reading frames from a USB camera using gstreamer (v4l2) and reading it using cv2.videoCapture. It works fine. I want to dump these frames using udp sink and gi. What is the correct way to achieve it? Following is my code, it works b...I am reading frames from a USB camera using gstreamer (v4l2) and reading it using cv2.videoCapture. It works fine. I want to dump these frames using udp sink and gi. What is the correct way to achieve it? Following is my code, it works but after few minutes I get hugh lag. Kindly let me know what mistake I am doing. Thanks!
import cv2
import gi
import numpy as np
import time
gi.require_version("Gst", "1.0")
from gi.repository import Gst, GObject, GLib
Gst.init(None)
pipeline_str = ("appsrc name=source ! tiovxdlcolorconvert ! video/x-raw,format=NV12 ! queue ! jpegenc ! multipartmux boundary=spionisto ! rndbuffersize max=65000 ! udpsink host=127.0.0.1 port=8081 sync=false")
pipeline = Gst.parse_launch(pipeline_str)
source = pipeline.get_by_name("source")
pipeline.set_state(Gst.State.PLAYING)
gst_pipeline = 'v4l2src device=/dev/video-usb-cam0 io-mode=2 ! image/jpeg, width=1280, height=720 ! jpegdec ! tiovxdlcolorconvert ! video/x-raw, format=NV12 ! \
tiovxmultiscaler ! video/x-raw, format=NV12 ! tiovxdlcolorconvert ! video/x-raw, format=RGB ! videoconvert ! video/x-raw, format=BGR ! queue ! appsink'
cap = cv2.VideoCapture(gst_pipeline, cv2.CAP_GSTREAMER)
try:
while True:
ret, frame = cap.read()
if not ret:
break
t1 = time.time()
raw_frame = cv2.cvtColor(frame, cv2.COLOR_BGR2RGB)
gst_buffer = Gst.Buffer.new_wrapped(raw_frame.tobytes())
caps = Gst.caps_from_string(f"video/x-raw,format=RGB,width={frame.shape[1]},height={frame.shape[0]}")
source.set_property("caps", caps)
source.emit("push-buffer", gst_buffer)
t2 = time.time()
print('FPS : ', 1/(t2-t1))
except KeyboardInterrupt:
pass
finally:
pipeline.set_state(Gst.State.NULL)
cap.release()https://gitlab.freedesktop.org/gstreamer/gstreamer-project/-/issues/114TLS/SSL support not available; install glib-networking2023-11-03T12:40:53ZTLS/SSL support not available; install glib-networkingI'm trying to make a secure WebRTC connection using [GStreamer 1.22 on macOS](https://gstreamer.freedesktop.org/download/#macos), based on [this example](https://github.com/GStreamer/gst-examples/blob/master/webrtc/multiparty-sendrecv/gs...I'm trying to make a secure WebRTC connection using [GStreamer 1.22 on macOS](https://gstreamer.freedesktop.org/download/#macos), based on [this example](https://github.com/GStreamer/gst-examples/blob/master/webrtc/multiparty-sendrecv/gst/mp-webrtc-sendrecv.c). When trying to connect to the signaling server via `wss://`, I get the following error:
> HTTP/1.1 6 TLS/SSL support not available; install glib-networking
Should the example work out-of-the-box? Is `glib-networking` somewhere in `GStreamer.framework`, and just isn't being found?
Or, if I have to add it manually: How can I do so without creating system-wide dependencies? Everything needs to be self-contained in one folder, which can be moved and sent to customers. So using a package manager to install `glib-networking` system-wide won't do.
In `GStreamer.framework/Libraries/gio/modules/` there's only `libgioopenssl.so`. I've tried loading that manually using `g_module_open_full`, before the call to `gst_init_check`. Loading succeeds, but I still get the above error.
Any help would be appreciated.https://gitlab.freedesktop.org/gstreamer/gstreamer-project/-/issues/113ubuntu 22.04 meson all plugins cannot open shared object file: No such file ...2023-08-10T11:13:27Zart vanubuntu 22.04 meson all plugins cannot open shared object file: No such file or directory or undefined symbol:following tutorial for general build and using meson on ubuntu 22.04, the build completes without errors but every plugin has the error `cannot open shared object file: No such file or directory` or ` undefined symbol:`
Is there a basic...following tutorial for general build and using meson on ubuntu 22.04, the build completes without errors but every plugin has the error `cannot open shared object file: No such file or directory` or ` undefined symbol:`
Is there a basic step missing in the docs to prevent this?
using `meson setup --reconfigure -Dgpl=enabled --prefix=/home/ubuntu/out builddir`
also tried adding `-Ddefault_library=static` but this gives `meson.build:438:12: ERROR: <SharedLibrary f5a7a95@@gstreamer-1.0@sha: libgstreamer-1.0.so.0.2300.0> is not a static library.`