GStreamer issueshttps://gitlab.freedesktop.org/groups/gstreamer/-/issues2021-10-27T18:42:10Zhttps://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/853va: regression: vapostproc rotation 90/270 wrong output2021-10-27T18:42:10ZU. Artie Eoffva: regression: vapostproc rotation 90/270 wrong outputvapostproc rotation at 90/270 degrees (video-direction) no longer works correctly since commit b53446ddc9a9bdb8ee9a7e7d8c506f15385c823b (!1109)
Previously a 90/270 rotation resulted in swapped dimensions and rotated image (i.e. WxH -> H...vapostproc rotation at 90/270 degrees (video-direction) no longer works correctly since commit b53446ddc9a9bdb8ee9a7e7d8c506f15385c823b (!1109)
Previously a 90/270 rotation resulted in swapped dimensions and rotated image (i.e. WxH -> HxW). Now the rotation outputs image rotated but in original WxH scaled output.
```
export LIBVA_DRIVER_NAME=iHD
gst-launch-1.0 -vf videotestsrc ! video/x-raw,format=NV12,width=1280,height=720 \
! vapostproc video-direction=90r ! video/x-raw,format=NV12 ! vaapisink
```
```
commit b53446ddc9a9bdb8ee9a7e7d8c506f15385c823b (HEAD -> main)
Author: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
Date: Tue Oct 5 20:15:09 2021 +0200
vapostproc: Simplify fixate.
The first approach to fixate was simply a copy&paste of both
videoconvert and videoscale, trying to keep their logic as isolated
as possible. But that brought duplicated and sparse logic.
This patch merge both approaches simplifying the fixate operation.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1109>
```Víctor Manuel Jáquez LealVíctor Manuel Jáquez Lealhttps://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/945AWS SDK - Internal data streaming error with FLIR Boson camera2021-11-02T09:12:13ZkdotAWS SDK - Internal data streaming error with FLIR Boson cameraHi,
We are a new to the world of streaming and are struggling with the right video convert commands. We are using the modalai VOXL which hosts a custom linux platform - we installed the Kinesis AWS SDK which uses gstreamer in a docker c...Hi,
We are a new to the world of streaming and are struggling with the right video convert commands. We are using the modalai VOXL which hosts a custom linux platform - we installed the Kinesis AWS SDK which uses gstreamer in a docker container and can run test RTSP streams fine with no problem. When we try to use the Boson 640, 32° (HFOV) 14 mm camera with this set up we get an internal data streaming error. We have tried many different gst launch commands to no luck and also implemented some of the solutions suggested in this post -
https://github.com/awslabs/amazon-kinesis-video-streams-producer-sdk-cpp/issues/343
** Logging **
![Selection_003](/uploads/bfa3580f540211bed028baf9912788c3/Selection_003.png)
gst-launch-1.0 --gst-debug-level=2 -v v4l2src device=/dev/video2 ! video/x-raw,format=I420 ! videoconvert ! video/x-raw, framerate=60/1 ! x264enc bframes=0 key-int-max=5 bitrate=500 tune=zerolatency ! video/x-h264,stream-format=avc,alignment=au ! kvssink stream-name=MyKVStream storage-size=128 access-key="MyAccessKey" secret-key="MySecretKey" aws-region="eu-central-1"
![Selection_004](/uploads/1194f925ee8f446ec8a3858fdf3b41f7/Selection_004.png)
gst-launch-1.0 --gst-debug-level=2 -v v4l2src device=/dev/video2 ! video/x-raw,format=GRAY8 ! videoconvert ! video/x-raw, framerate=60/1 ! x264enc bframes=0 key-int-max=5 bitrate=500 tune=zerolatency ! video/x-h264,stream-format=avc,alignment=au ! kvssink stream-name=MyKVStream storage-size=128 access-key="MyAccessKey" secret-key="MySecretKey" aws-region="eu-central-1"
![Selection_005](/uploads/756f7fa67b1a3d777186c2ccaab1764d/Selection_005.png)
** Any design considerations/constraints **
Our end solution is to implement this into a custom drone we are building. We use AWS IoTCore for MQTT messages for handling the telemetry data and are hoping to use kinesis/gstreamer with the FLIR boson camera. We currently have a solution using ffmpeg streaming to an EC2 but there is high latency of around 20s and we need to be able to manage the stream via kinesis in the end solution.
Thank you for your time and any suggestions in the right direction will be much appreciated.https://gitlab.freedesktop.org/gstreamer/gst-examples/-/issues/58using element by element mode can‘t work the webrtc2023-05-18T15:52:42ZAadeITusing element by element mode can‘t work the webrtcHi,every one .
Thanks for your work
I using gst-launch mode(Gst.parse_launch) code can be work, but i using element by element mode(Gst.ElementFactory.make) the code can't work, i want to get offer,but it(on_offer_created) can't generat...Hi,every one .
Thanks for your work
I using gst-launch mode(Gst.parse_launch) code can be work, but i using element by element mode(Gst.ElementFactory.make) the code can't work, i want to get offer,but it(on_offer_created) can't generate.
this is code
```python
import sys
sys.path.append("../")
import gi
gi.require_version("Gst", "1.0")
from gi.repository import GObject, Gst
from gi.repository import GLib
class WebRTCClient:
def __init__(self):
self.webrtcbin = None
self.rtspsrc = None
self.parse = None
self.rtph264pay = None
self.caps = None
self.pipeline = None
self.loop = None
self.fake = None
def on_offer_created(self, promise, _, __):
promise.wait()
reply = promise.get_reply()
print(type(reply))
offer = reply.get_value('offer')
print(type(offer))
promise = Gst.Promise.new()
self.webrtcbin.emit('set-local-description', offer, promise)
promise.interrupt()
print(type(offer))
print(offer.sdp.as_text())
def on_negotiation_needed(self, element):
promise = Gst.Promise.new_with_change_func(self.on_offer_created, element, None)
element.emit('create-offer', None, promise)
def send_ice_candidate_message(self, _, mlineindex, candidate):
icemsg = json.dumps({'ice': {'candidate': candidate, 'sdpMLineIndex': mlineindex}})
print('Send ice:\n%s'%(icemsg))
def on_incoming_stream(self, _, pad):
if pad.direction != Gst.PadDirection.SRC:
print("Direction ! = SRC \n"*10)
return
caps=pad.get_current_caps()
structure = caps.get_structure(0)
print(structure.get_name())
fakesink = Gst.ElementFactory.make('fakesink')
self.pipeline.add(fakesink)
fakesink.sync_state_with_parent()
self.webrtcbin.link(fakesink)
def send_ice_candidate_message(self, _, mlineindex, candidate):
icemsg = json.dumps({'ice': {'candidate': candidate, 'sdpMLineIndex': mlineindex}})
def build(self):
rtspsrc -> parsebin -> rtph264pay -> caps -> webrtcbin -> fakesink
self.rtspsrc = Gst.ElementFactory.make("rtspsrc","rtsp")
self.rtspsrc.set_property("location","rtsp://wowzaec2demo.streamlock.net/vod/mp4:BigBuckBunny_115k.mov")
self.parse = Gst.ElementFactory.make("parsebin","pars")
self.rtph264pay = Gst.ElementFactory.make("rtph264pay","rtph264")
self.caps = Gst.ElementFactory.make("capsfilter","caps")
self.caps.set_property("caps", Gst.Caps.from_string("application/x-rtp,media=video,encoding-name=H264,payload=96"))
self.pipeline = Gst.Pipeline()
self.webrtcbin = Gst.ElementFactory.make("webrtcbin","webrtc")
self.webrtcbin.connect('on-negotiation-needed', self.on_negotiation_needed)
self.webrtcbin.connect('on-ice-candidate', self.send_ice_candidate_message)
self.webrtcbin.connect('pad-added', self.on_incoming_stream)
self.pipeline.add(self.rtspsrc)
self.pipeline.add(self.parse)
self.pipeline.add(self.rtph264pay)
self.pipeline.add(self.caps)
self.pipeline.add(self.webrtcbin)
self.rtspsrc.link(self.parse)
self.parse.link(self.rtph264pay)
self.rtph264pay.link(self.caps)
self.caps.link(self.webrtcbin)
self.loop = GObject.MainLoop()
self.pipeline.set_state(Gst.State.PLAYING)
self.loop.run()
Gst.init(None)
GObject.threads_init()
web = WebRTCClient()
web.build()
```
logs
> 0:00:05.470299336 25997 0x7fe3fc031450 FIXME default gstutils.c:3981:gst_pad_create_stream_id_internal:<fakesrc0:src> Creating random stream-id, consider implementing a deterministic way of creating a stream-id
> 0:00:05.470338427 25997 0x7fe3fc030f70 FIXME default gstutils.c:3981:gst_pad_create_stream_id_internal:<fakesrc1:src> Creating random stream-id, consider implementing a deterministic way of creating a stream-id
> 0:00:05.804444889 25997 0x7fe3fc030c50 WARN basesrc gstbasesrc.c:3055:gst_base_src_loop:<udpsrc3> error: Internal data stream error.
> 0:00:05.804509269 25997 0x7fe3fc030c50 WARN basesrc gstbasesrc.c:3055:gst_base_src_loop:<udpsrc3> error: streaming stopped, reason not-linked (-1)
> 0:00:06.004596168 25997 0x7fe3fc030ca0 WARN basesrc gstbasesrc.c:3055:gst_base_src_loop:<udpsrc0> error: Internal data stream error.
> 0:00:06.004639662 25997 0x7fe3fc030ca0 WARN basesrc gstbasesrc.c:3055:gst_base_src_loop:<udpsrc0> error: streaming stopped, reason not-linked (-1)
> 0:00:31.400609521 25997 0x7fe3fc030d90 WARN rtspsrc gstrtspsrc.c:3155:on_timeout:<rtsp> source 52508b08, stream 52508b08 in session 1 timed out
> 0:00:33.716604781 25997 0x7fe3fc030cf0 WARN rtspsrc gstrtspsrc.c:3155:on_timeout:<rtsp> source 68b8dd80, stream 68b8dd80 in session 0 timed out
Looking forward to your replyhttps://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/854pipelines-seek non-deterministic test failure (load sensitive?)2021-10-31T03:58:14ZApterykspipelines-seek non-deterministic test failure (load sensitive?)### Describe your issue
The pipelines-seek test suite failed; possibly load sensitive
#### Expected Behavior
all tests should pass
#### Observed Behavior
```
95/108 pipelines_seek FAIL 7.18s exit status 1
...### Describe your issue
The pipelines-seek test suite failed; possibly load sensitive
#### Expected Behavior
all tests should pass
#### Observed Behavior
```
95/108 pipelines_seek FAIL 7.18s exit status 1
>>> GST_PLUGIN_SCANNER_1_0=/tmp/guix-build-gstreamer-1.18.5.drv-0/build/libs/gst/helpers/gst-plugin-scanner CK_DEFAULT_TIMEOUT=600 GST_PLUGIN_PATH_1_0=/tmp/guix-build-gstreamer-1.18.5.drv-0/build GST_PLUGIN_LOADING_WHITELIST=gstreamer GST_REGISTRY=/tmp/guix-build-gstreamer-1.18.5.drv-0/build/tests/check/pipelines_seek.registry MALLOC_PERTURB_=130 GST_STATE_IGNORE_ELEMENTS='' GST_PLUGIN_SYSTEM_PATH_1_0='' /tmp/guix-build-gstreamer-1.18.5.drv-0/build/tests/check/pipelines_seek
――――――――――――――――――――――――――――――――――――― ✀ ―――――――――――――――――――――――――――――――――――――
Running suite(s): pipelines-seek
66%: Checks: 3, Failures: 1, Errors: 0
../gstreamer-1.18.5/tests/check/pipelines/seek.c:526:F:general:test_loopback_2:0: no message within the timed window
Check suite pipelines_seek ran in 7.140s (tests failed: 1)
――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
96/108 pipelines_queue_error OK 0.10s
97/108 pipelines_simple_launch_lines OK 1.66s
98/108 pipelines_parse_launch OK 0.13s
99/108 pipelines_cleanup OK 0.08s
100/108 tools_gstinspect OK 0.05s
101/108 elements_fakesink OK 10.82s
102/108 gst_gstbin OK 7.43s
103/108 gst_gstbus OK 12.64s
104/108 gst_gstevent OK 2.76s
105/108 pipelines_stress OK 11.60s
106/108 generic_sinks OK 4.56s
107/108 gst_gstcpp OK 0.06s
108/108 libs_gstlibscpp OK 0.11s
Summary of Failures:
95/108 pipelines_seek FAIL 7.18s exit status 1
Ok: 106
Expected Fail: 0
Fail: 1
Unexpected Pass: 0
Skipped: 1
Timeout: 0
Full log written to /tmp/guix-build-gstreamer-1.18.5.drv-0/build/meson-logs/testlog.txt
FAILED: meson-test
/gnu/store/iajwhaqi5ah00d80k1frh2ylfbpk92nc-meson-0.60.0/bin/meson test --no-rebuild --print-errorlogs
ninja: build stopped: subcommand failed.
error: in phase 'check': uncaught exception:
%exception #<&invoke-error program: "ninja" arguments: ("test") exit-status: 1 term-signal: #f stop-signal: #f>
phase `check' failed after 205.1 seconds
command "ninja" "test" failed with status 1
```
#### Setup
- **Operating System:** Guix System
- **Device:** Computer
- **GStreamer Version:** 1.18.5
- **Command line:** meson test --no-rebuild --print-errorlogs
### Steps to reproduce the bug
Run the test suite on a loaded machine repeatedly until failure.
### How reproducible is the bug?
Seems hard to trigger, probably requires the machine to be under heavy load.https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1683Memory leak when repeatedly playing videos using d3d11h265dec2021-11-17T13:21:37ZAlexander BehnanMemory leak when repeatedly playing videos using d3d11h265decI have noticed a memory leak when using an application which repeatedly plays h265 videos using `d3d11h265dec`.
This was tested using a Qt 5.15.1 project built against the following gstreamer version (64bit): https://gstreamer.freedeskt...I have noticed a memory leak when using an application which repeatedly plays h265 videos using `d3d11h265dec`.
This was tested using a Qt 5.15.1 project built against the following gstreamer version (64bit): https://gstreamer.freedesktop.org/data/pkg/windows/1.18.5/msvc/
In the attached project [untitled2.zip](/uploads/14ed1dc1c0e979e3924eb9a0e290dbe6/untitled2.zip), if `main.cpp:36` is commented out, the memory leak disappears.
I have not noticed a memory leak when using `avdec_h265` nor `d3d11h264dec` (when playing h264).
This implies that the issue is limited to `d3d11h265dec`.https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/936mp4mux: pipeline never starts playing when specifying the moov-recovery-file ...2021-10-29T09:21:42ZErlend Eriksenmp4mux: pipeline never starts playing when specifying the moov-recovery-file optionThe `moov-recovery-file` option seems to be broken in (at least) 1.18.5:
```
$ gst-launch-1.0 --version
gst-launch-1.0 version 1.18.5
GStreamer 1.18.5
https://www.archlinux.org/
$ gst-launch-1.0 -e videotestsrc ! video/x-raw,width=1920,...The `moov-recovery-file` option seems to be broken in (at least) 1.18.5:
```
$ gst-launch-1.0 --version
gst-launch-1.0 version 1.18.5
GStreamer 1.18.5
https://www.archlinux.org/
$ gst-launch-1.0 -e videotestsrc ! video/x-raw,width=1920,height=1080 ! x264enc ! h264parse ! mp4mux moov-recovery-file=out.recover ! filesink location=out.mp4
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
Redistribute latency...
^C^Z
[1]+ Stopped gst-launch-1.0 -e videotestsrc ! video/x-raw,width=1920,height=1080 ! x264enc ! h264parse ! mp4mux moov-recovery-file=out.recover ! filesink location=out.mp4
$ killall -9 gst-launch-1.0
$
[1]+ Killed gst-launch-1.0 -e videotestsrc ! video/x-raw,width=1920,height=1080 ! x264enc ! h264parse ! mp4mux moov-recovery-file=out.recover ! filesink location=out.mp4
$
$ du out.mp4 out.recover
0 out.mp4
0 out.recover
```
When removing the moov-recovery-file option, the pipeline works:
```
$ gst-launch-1.0 -e videotestsrc ! video/x-raw,width=1920,height=1080 ! x264enc ! h264parse ! mp4mux ! filesink location=out.mp4
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
Redistribute latency...
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
^Chandling interrupt.
Interrupt: Stopping pipeline ...
EOS on shutdown enabled -- Forcing EOS on the pipeline
Waiting for EOS...
Got EOS from element "pipeline0".
EOS received - stopping pipeline...
Execution ended after 0:00:06.243538418
Setting pipeline to NULL ...
Freeing pipeline ...
$ du out.mp4
1356 out.mp4
```https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/855mpeg4videoparse: Critical errors generated by mpeg4videoparse drop=false conf...2021-10-28T18:43:59ZIgor Tchouchenkovmpeg4videoparse: Critical errors generated by mpeg4videoparse drop=false config-interval=1### 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/ -->
Hi,
i use such pipelines to emulate mpeg4 data transmission over rtsp with gstreamer:
Sender (works fine):
gst-launch-1.0 -v videotestsrc is-live=true ! video/x-raw,width=1280,height=720,framerate=30/1 ! videoconvert ! avenc_mpeg4 ! rtpmp4vpay ! udpsink host=127.0.0.1 port=5500 sync=false
Receiver & Transmitter 1 (works fine; without drop=false pipeline does not work, but it is not my problem):
gst-launch-1.0 -v udpsrc port=5500 caps="application/x-rtp" ! rtpmp4vdepay ! mpeg4videoparse drop=false ! queue ! mpegtsmux ! udpsink host=127.0.0.1 port=5600 sync=false
Receiver & Transmitter 2:
gst-launch-1.0 -v udpsrc port=5500 caps="application/x-rtp" ! rtpmp4vdepay ! mpeg4videoparse drop=false config-interval=1 ! queue ! mpegtsmux ! udpsink host=127.0.0.1 port=5600 sync=false
works, but i get a lot of errors (the errors repeated):
(gst-launch-1.0:9180): GStreamer-CRITICAL **: 15:38:12.776: gst_buffer_map_range: assertion 'GST_IS_BUFFER (buffer)' failed
(gst-launch-1.0:9180): GStreamer-CRITICAL **: 15:38:12.788: gst_buffer_unmap: assertion 'GST_IS_BUFFER (buffer)' failed
(gst-launch-1.0:9180): GStreamer-CRITICAL **: 15:38:12.794: gst_mini_object_ref: assertion 'mini_object != NULL' failed
(gst-launch-1.0:9180): GStreamer-CRITICAL **: 15:38:12.799: gst_buffer_append_region: assertion 'GST_IS_BUFFER (buf1)' failed
(gst-launch-1.0:9180): GStreamer-CRITICAL **: 15:38:12.809: gst_buffer_copy_into: assertion 'dest != NULL' failed
(gst-launch-1.0:9180): GStreamer-CRITICAL **: 15:38:12.814: gst_mini_object_unref: assertion 'mini_object != NULL' failed
End Receiver (works fine, but probably you wish to see video from Receiver & Transmitter):
gst-launch-1.0 -v udpsrc port=5600 ! tsparse ! tsdemux ! video/mpeg,width=1280,height=720 ! avdec_mpeg4 ! queue ! videoconvert ! autovideosink
The errors produces mpeg4videoparse config-interval=1 (or other values for config-interval: -1, 10,...).
I need the config-interval with a value because without that files written by multifilesink are not playable (in my real setup with rtspsrc etc.). The videosoutce i use is a camera stream encoded with vpuenc and sended via RTP (with rtpmp4vdepay etc.), but it is not relevant for the problem.
Thank You!
#### Expected Behavior
<!-- What did you expect to happen -->
No critical errors
#### Observed Behavior
<!-- What actually happened -->
Critical errors are generated
#### Setup
- **Operating System:**
Windows 10 with all updates
- **Device:** Computer / Virtual Machine <!-- Delete as appropriate !-->
Different computers (Laptop, Desktop, Virtual Machines)
- **GStreamer Version:**
mingw 64 Bit 1.18.5 (full installation)
- **Command line:**
Described below
### Steps to reproduce the bug
<!-- please fill in exact steps which reproduce the bug on your system, for example: -->
1. open two terminals
2. in first terminal type
gst-launch-1.0 -v videotestsrc is-live=true ! video/x-raw,width=1280,height=720,framerate=30/1 ! videoconvert ! avenc_mpeg4 ! rtpmp4vpay ! udpsink host=127.0.0.1 port=5500 sync=false
3. in second terminal type
gst-launch-1.0 -v udpsrc port=5500 caps="application/x-rtp" ! rtpmp4vdepay ! mpeg4videoparse drop=false config-interval=1 ! queue ! mpegtsmux ! udpsink host=127.0.0.1 port=5600 sync=false
### How reproducible is the bug?
<!-- The reproducibility of the bug is Always/Intermittent/Only once after doing a very specific set of steps-->
Always
### Screenshots if relevant
### Solutions you have tried
### Related non-duplicate issues
### Additional Information
<!-- Any other information such as logs. Make use of <details> for long output -->https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1684zxing: fails to build when using a recent zxing-cpp version (master branch)2021-10-29T09:16:05ZApterykszxing: fails to build when using a recent zxing-cpp version (master branch)Hello,
I tried to build gstreamer 1.18.5 using the master branch of zxing (00783db7aa3bcf8620a301854ac71c0ceaaca0c1), which includes fixes to allow building it using system libraries; unfortunately gst-plugins-bad 1.18.5 fails to build ...Hello,
I tried to build gstreamer 1.18.5 using the master branch of zxing (00783db7aa3bcf8620a301854ac71c0ceaaca0c1), which includes fixes to allow building it using system libraries; unfortunately gst-plugins-bad 1.18.5 fails to build with it:
```
[...]
[890/1112] Compiling C object tests/check/elements_mpeg4videoparse.p/elements_mpeg4videoparse.c.o
[891/1112] Linking target tests/check/elements_jpeg2000parse
[892/1112] Compiling C object ext/x265/libgstx265.so.p/gstx265enc.c.o
[893/1112] Compiling C object tests/check/elements_mxfmux.p/elements_mxfmux.c.o
[894/1112] Compiling C object tests/check/elements_mpegtsdemux.p/elements_mpegtsdemux.c.o
[895/1112] Compiling C object tests/check/elements_gdpdepay.p/elements_gdpdepay.c.o
[896/1112] Compiling C++ object ext/zxing/libgstzxing.so.p/gstzxing.cpp.o
FAILED: ext/zxing/libgstzxing.so.p/gstzxing.cpp.o
c++ -Iext/zxing/libgstzxing.so.p -Iext/zxing -I../gst-plugins-bad-1.18.5/ext/zxing -I. -I../gst-plugins-bad-1.18.5 -I/gnu/store/l4zh3hgnykfrm0mlqzhf5bg2g5minkqs-glib-2.70.0/include/glib-2.0 -I/gnu/store/l4zh3hgnykfrm0mlqzhf5bg2g5minkqs-glib-2.70.0/lib/glib-2.0/include -I/gnu/store/ma49cgrp0zx5sglkimrbyjw6dzdyjdjv-orc-0.4.32/include/orc-0.4 -I/gnu/store/vd667z4mw6hsay07dh22qyvn3a50k9wg-gstreamer-1.18.5/include/gstreamer-1.0 -I/gnu/store/cykqndb3y2h2y3mdg5v7f347xqn18j4d-gst-plugins-base-1.18.5/include/gstreamer-1.0 -I/gnu/store/kj9bp55vf8wxmhkrlqp0nm5shdzifxw7-zxing-cpp-1.2.0-0.00783db/include/ZXing -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wnon-virtual-dtor -std=c++11 -O2 -g -Wno-non-virtual-dtor -fvisibility=hidden -fno-strict-aliasing -Wformat-nonliteral -Wmissing-declarations -Wredundant-decls -Wwrite-strings -Wformat -Wformat-security -Winit-self -Wmissing-include-dirs -Waddress -Wno-multichar -Wvla -Wpointer-arith -fPIC -pthread -MD -MQ ext/zxing/libgstzxing.so.p/gstzxing.cpp.o -MF ext/zxing/libgstzxing.so.p/gstzxing.cpp.o.d -o ext/zxing/libgstzxing.so.p/gstzxing.cpp.o -c ../gst-plugins-bad-1.18.5/ext/zxing/gstzxing.cpp
../gst-plugins-bad-1.18.5/ext/zxing/gstzxing.cpp: In function ‘GstFlowReturn gst_zxing_transform_frame_ip(GstVideoFilter*, GstVideoFrame*)’:
../gst-plugins-bad-1.18.5/ext/zxing/gstzxing.cpp:330:30: error: invalid initialization of reference of type ‘const ZXing::ImageView&’ from expression of type ‘gint’ {aka ‘int’}
330 | auto result = ReadBarcode (width, height, (unsigned char *) data, width,
| ^~~~~
In file included from ../gst-plugins-bad-1.18.5/ext/zxing/gstzxing.cpp:60:
/gnu/store/kj9bp55vf8wxmhkrlqp0nm5shdzifxw7-zxing-cpp-1.2.0-0.00783db/include/ZXing/ReadBarcode.h:31:37: note: in passing argument 1 of ‘ZXing::Result ZXing::ReadBarcode(const ZXing::ImageView&, const ZXing::DecodeHints&)’
31 | Result ReadBarcode(const ImageView& buffer, const DecodeHints& hints = {});
| ~~~~~~~~~~~~~~~~~^~~~~~
[897/1112] Compiling C object tests/check/elements_pcapparse.p/elements_pcapparse.c.o
../gst-plugins-bad-1.18.5/tests/check/elements/pcapparse.c: In function ‘test_parse_zerosize_frames’:
../gst-plugins-bad-1.18.5/tests/check/elements/pcapparse.c:100:3: warning: ‘g_memdup’ is deprecated: Use 'g_memdup2' instead [-Wdeprecated-declarations]
100 | in_buf = gst_buffer_new_wrapped (g_memdup (zerosize_data, data_size),
| ^~~~~~
In file included from /gnu/store/l4zh3hgnykfrm0mlqzhf5bg2g5minkqs-glib-2.70.0/include/glib-2.0/glib.h:82,
from /gnu/store/vd667z4mw6hsay07dh22qyvn3a50k9wg-gstreamer-1.18.5/include/gstreamer-1.0/gst/gst.h:27,
from /gnu/store/vd667z4mw6hsay07dh22qyvn3a50k9wg-gstreamer-1.18.5/include/gstreamer-1.0/gst/check/gstcheck.h:32,
from ../gst-plugins-bad-1.18.5/tests/check/elements/parser.h:26,
from ../gst-plugins-bad-1.18.5/tests/check/elements/pcapparse.c:1:
/gnu/store/l4zh3hgnykfrm0mlqzhf5bg2g5minkqs-glib-2.70.0/include/glib-2.0/glib/gstrfuncs.h:257:23: note: declared here
257 | gpointer g_memdup (gconstpointer mem,
| ^~~~~~~~
[898/1112] Linking target tests/check/elements_id3mux
[899/1112] Compiling C object tests/check/elements_nvdec.p/elements_nvdec.c.o
[900/1112] Compiling C object tests/check/elements_mxfdemux.p/elements_mxfdemux.c.o
[901/1112] Linking target tests/check/elements_mpeg4videoparse
[902/1112] Linking target ext/x265/libgstx265.so
[903/1112] Compiling C object tests/check/elements_mpegvideoparse.p/elements_mpegvideoparse.c.o
[904/1112] Compiling C object tests/check/elements_gdppay.p/elements_gdppay.c.o
[905/1112] Compiling C object tests/check/elements_mpegtsmux.p/elements_mpegtsmux.c.o
[906/1112] Linking target tests/check/elements_mpegtsdemux
[907/1112] Linking target tests/check/elements_mxfmux
[908/1112] Compiling C object tests/check/elements_nvenc.p/elements_nvenc.c.o
[909/1112] Linking target tests/check/elements_gdpdepay
[910/1112] Compiling C object tests/check/elements_pnm.p/elements_pnm.c.o
[911/1112] Compiling C object tests/check/elements_camerabin.p/elements_camerabin.c.o
[912/1112] Compiling C object tests/check/elements_rtpsrc.p/elements_rtpsrc.c.o
[913/1112] Compiling C object tests/check/elements_rtponvifparse.p/elements_rtponvifparse.c.o
[914/1112] Compiling C object tests/check/elements_h265parse.p/elements_h265parse.c.o
[915/1112] Compiling C object tests/check/elements_rtponviftimestamp.p/elements_rtponviftimestamp.c.o
[916/1112] Compiling C++ object ext/webrtcdsp/libgstwebrtcdsp.so.p/gstwebrtcdsp.cpp.o
[917/1112] Compiling C object tests/check/elements_ristrtpext.p/elements_ristrtpext.c.o
[918/1112] Compiling C object tests/check/elements_hlsdemux_m3u8.p/elements_hlsdemux_m3u8.c.o
[919/1112] Compiling C object ext/webrtc/libgstwebrtc.so.p/gstwebrtcbin.c.o
ninja: build stopped: subcommand failed.
error: in phase 'build': uncaught exception:
%exception #<&invoke-error program: "ninja" arguments: ("-j" "24") exit-status: 1 term-signal: #f stop-signal: #f>
phase `build' failed after 14.0 seconds
command "ninja" "-j" "24" failed with status 1
builder for `/gnu/store/4y3mcc97ibjxpaqvzvlz9mxvxizpzxfr-gst-plugins-bad-1.18.5.drv' failed with exit code 1
build of /gnu/store/4y3mcc97ibjxpaqvzvlz9mxvxizpzxfr-gst-plugins-bad-1.18.5.drv failed
View build log at '/var/log/guix/drvs/4y/3mcc97ibjxpaqvzvlz9mxvxizpzxfr-gst-plugins-bad-1.18.5.drv'.
```
Thanks!https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/856mp4mux: pipeline never starts playing when specifying the moov-recovery-file ...2021-11-03T13:29:01ZErlend Eriksenmp4mux: pipeline never starts playing when specifying the moov-recovery-file option### 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/ -->
The `moov-recovery-file` option seems to be broken in (at least) 1.18.5. The pipeline never starts playing when using it.
#### Expected Behavior
<!-- What did you expect to happen -->
I expected the pipeline to play, and produce a video.
#### Observed Behavior
The pipeline never plays, and the video is empty:
```
$ gst-launch-1.0 -e videotestsrc ! video/x-raw,width=1920,height=1080 ! x264enc ! h264parse ! mp4mux moov-recovery-file=out.recover ! filesink location=out.mp4
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
Redistribute latency...
^C^Z
[1]+ Stopped gst-launch-1.0 -e videotestsrc ! video/x-raw,width=1920,height=1080 ! x264enc ! h264parse ! mp4mux moov-recovery-file=out.recover ! filesink location=out.mp4
$
$ du out.mp4 out.recover
0 out.mp4
0 out.recover
```
The pipeline works without the moov-recovery-file option.
#### Setup
- **Operating System:** Linux
- **Device:** Computer <!-- Delete as appropriate !-->
- **GStreamer Version:** 1.18.5, also observed on 1.18.3 and 4.
- **Command line:** `$ gst-launch-1.0 -e videotestsrc ! video/x-raw,width=1920,height=1080 ! x264enc ! h264parse ! mp4mux moov-recovery-file=out.recover ! filesink location=out.mp4`
### 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 -e videotestsrc ! video/x-raw,width=1920,height=1080 ! x264enc ! h264parse ! mp4mux moov-recovery-file=out.recover ! filesink location=out.mp4`
### How reproducible is the bug?
<!-- The reproducibility of the bug is Always/Intermittent/Only once after doing a very specific set of steps-->
It always happens on my system, in addition to my imx6, so seems like a general gstreamer 1.18 issue to me.
### Screenshots if relevant
### Solutions you have tried
### Related non-duplicate issues
### Additional Information
<!-- Any other information such as logs. Make use of <details> for long output -->https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/937Dependency gdk-pixbuf won't build on M1 mac on Monterey with Rosetta2021-10-31T18:07:27ZTomas HolasDependency gdk-pixbuf won't build on M1 mac on Monterey with Rosetta**How to reproduce:**
Open rosetta terminal on M1 mac and run `/usr/local/homebrew/bin/brew install gst-plugins-good` as the bottle for Monterey is not available yet, it will try to build from source and fail with `../meson.build:1:0: ER...**How to reproduce:**
Open rosetta terminal on M1 mac and run `/usr/local/homebrew/bin/brew install gst-plugins-good` as the bottle for Monterey is not available yet, it will try to build from source and fail with `../meson.build:1:0: ERROR: Unknown options: “gir, x11”` on trying to build the dependency `gdk-pixbuf`. The easiest solution would be create the bottle of this package for Monterey.
**full log:**
```
Warning: Building gdk-pixbuf from source as the bottle needs:
HOMEBREW_CELLAR: /usr/local/Cellar (yours is /usr/local/homebrew/Cellar)
HOMEBREW_PREFIX: /usr/local (yours is /usr/local/homebrew)
==> Downloading https://download.gnome.org/sources/gdk-pixbuf/2.42/gdk-pixbuf
Already downloaded: /Users/tom/Library/Caches/Homebrew/downloads/724ae1276c831c94cf837f54b9317526877d761f644175d58eccc3d5fc297c71--gdk-pixbuf-2.42.6.tar.xz
==> meson --prefix=/usr/local/homebrew/Cellar/gdk-pixbuf/2.42.6 --libdir=/usr
Last 15 lines from /Users/tom/Library/Logs/Homebrew/gdk-pixbuf/01.meson:
-Drelocatable=false
-Dnative_windows_loaders=false
-Dinstalled_tests=false
-Dman=false
..
The Meson build system
Version: 0.60.0
Source dir: /private/tmp/gdk-pixbuf-20211028-50351-38tvna/gdk-pixbuf-2.42.6
Build dir: /private/tmp/gdk-pixbuf-20211028-50351-38tvna/gdk-pixbuf-2.42.6/build
Build type: native build
../meson.build:1:0: ERROR: Unknown options: “gir, x11”https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/946opengl: egl: Can't handle configless egl contexts2021-10-29T14:16:51ZMatthias Clasenopengl: egl: Can't handle configless egl contextsGTK4's egl setup was recently rewritten to use configless EGL contexts when available.
I've just updated my system to F35, getting a newer gstreamer stack (1.19.2), and now video playback in widget-factory is broken. I get errors from g...GTK4's egl setup was recently rewritten to use configless EGL contexts when available.
I've just updated my system to F35, getting a newer gstreamer stack (1.19.2), and now video playback in widget-factory is broken. I get errors from gstreamers gl setup code:
```
1467:gst_gl_context_egl_fill_info:<glwrappedcontext0> could not retrieve egl config from its ID 0x0. Wrong EGLDisplay or context?
```
Disabling the configless EGL contexts on the gtk side makes video playback work again.
So I think gstreamers gl setup code needs to learn about EGL_KHR_no_config_contexthttps://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/858opengl: egl: Can't handle configless egl contexts2021-11-02T19:26:07ZMatthias Clasenopengl: egl: Can't handle configless egl contextsGTK4's egl setup was recently rewritten to use configless EGL contexts when available.
I've just updated my system to F35, getting a newer gstreamer stack (1.19.2), and now video playback in widget-factory is broken. I get errors from g...GTK4's egl setup was recently rewritten to use configless EGL contexts when available.
I've just updated my system to F35, getting a newer gstreamer stack (1.19.2), and now video playback in widget-factory is broken. I get errors from gstreamers gl setup code:
```
1467:gst_gl_context_egl_fill_info:<glwrappedcontext0> could not retrieve egl config from its ID 0x0. Wrong EGLDisplay or context?
```
Disabling the configless EGL contexts on the gtk side makes video playback work again.
So I think gstreamers gl setup code needs to learn about EGL_KHR_no_config_contexthttps://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/171Build broken as subproject of gstreamer monorepo2021-12-22T11:54:51ZMichael FarrellBuild broken as subproject of gstreamer monorepoBuilding `gst-plugins-rs` as a subproject of the gstreamer monorepo is broken:
```
Error: CliError { error: Some(could not find `Cargo.toml` in `/home/michael/gstreamer/build` or any parent directory), exit_code: 101 }
FAILED: subprojec...Building `gst-plugins-rs` as a subproject of the gstreamer monorepo is broken:
```
Error: CliError { error: Some(could not find `Cargo.toml` in `/home/michael/gstreamer/build` or any parent directory), exit_code: 101 }
FAILED: subprojects/gst-plugins-rs/libgstrsaudiofx.so subprojects/gst-plugins-rs/libgstcdg.so subprojects/gst-plugins-rs/libgstclaxon.so subprojects/gst-plugins-rs/libgstrsclosedcaption.so subprojects/gst-plugins-rs/libgstfallbackswitch.so subprojects/gst-plugins-rs/libgstffv1.so subprojects/gst-plugins-rs/libgstrsfile.so subprojects/gst-plugins-rs/libgstrsflv.so subprojects/gst-plugins-rs/libgstgif.so subprojects/gst-plugins-rs/libgsthsv.so subprojects/gst-plugins-rs/libgstrsjson.so subprojects/gst-plugins-rs/libgstlewton.so subprojects/gst-plugins-rs/libgstrav1e.so subprojects/gst-plugins-rs/libgstrsregex.so subprojects/gst-plugins-rs/libgstreqwest.so subprojects/gst-plugins-rs/libgstrspng.so subprojects/gst-plugins-rs/libgstrusoto.so subprojects/gst-plugins-rs/libgstsodium.so subprojects/gst-plugins-rs/libgstrstextwrap.so subprojects/gst-plugins-rs/libgstthreadshare.so subprojects/gst-plugins-rs/libgsttogglerecord.so subprojects/gst-plugins-rs/libgstrswebp.so
/usr/bin/python3 /home/michael/gstreamer/subprojects/gst-plugins-rs/cargo_wrapper.py build /home/michael/gstreamer/build/subprojects/gst-plugins-rs /home/michael/gstreamer/subprojects/gst-plugins-rs /home/michael/gstreamer/build debug gst-plugin-audiofx,gst-plugin-cdg,gst-plugin-claxon,gst-plugin-closedcaption,gst-plugin-fallbackswitch,gst-plugin-ffv1,gst-plugin-file,gst-plugin-flavors,gst-plugin-gif,gst-plugin-hsv,gst-plugin-json,gst-plugin-lewton,gst-plugin-rav1e,gst-plugin-regex,gst-plugin-reqwest,gst-plugin-rspng,gst-plugin-rusoto,gst-plugin-sodium,gst-plugin-textwrap,gst-plugin-threadshare,gst-plugin-togglerecord,gst-plugin-webp '' /home/michael/.local/gst lib/x86_64-linux-gnu so
```
!566 removed the `--manifest-path` parameter from calls to `cargo cbuild`, so now `cargo` doesn't look in the correct place for `Cargo.toml`.
Re-adding the flag to `cargo_wrapper.py` fixes the build:
```python
for p in include:
cargo_cmd.extend(['-p', p])
cargo_cmd.extend(['--manifest-path', os.path.join(meson_current_source_dir, 'Cargo.toml')])
run(cargo_cmd, env)
```Guillaume DesmottesGuillaume Desmotteshttps://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/859"gst-launch-1.0 --version" Failed2021-10-31T10:55:54ZYAN vivie"gst-launch-1.0 --version" Failed**I recompile gstreamer-1.18.5**
**I added environment variables in bashrc:**
export PATH=$PATH:/usr/local/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
export GST_PLUGIN_PATH=/usr/local/lib/aarch64-linux-gnu/gstreamer-1...**I recompile gstreamer-1.18.5**
**I added environment variables in bashrc:**
export PATH=$PATH:/usr/local/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
export GST_PLUGIN_PATH=/usr/local/lib/aarch64-linux-gnu/gstreamer-1.0:/usr/local/lib/aarch64-linux-gnu/gstreamer-1.0/validate
export GI_TYPELIB_PATH=/usr/local/lib/aarch64-linux-gnu/girepository-1.0
**When I execute "gst-launch-1.0 -- version", the output is as follows:**
`(gst-plugin-scanner:9902): GStreamer-WARNING **: 16:34:21.596: Failed to load plugin '/usr/local/lib/aarch64-linux-gnu/gstreamer-1.0/libgstaudiobuffersplit.so': /usr/local/lib/aarch64-linux-gnu/gstreamer-1.0/libgstaudiobuffersplit.so: undefined symbol: gst_audio_buffer_truncate
(gst-plugin-scanner:9902): GStreamer-WARNING **: 16:34:21.599: Failed to load plugin '/usr/local/lib/aarch64-linux-gnu/gstreamer-1.0/libgstvideobox.so': /usr/local/lib/aarch64-linux-gnu/gstreamer-1.0/libgstvideobox.so: undefined symbol: gst_type_mark_as_plugin_api
(gst-plugin-scanner:9902): GStreamer-WARNING **: 16:34:21.602: Failed to load plugin '/usr/local/lib/aarch64-linux-gnu/gstreamer-1.0/libgstaudiovisualizers.so': /usr/local/lib/aarch64-linux-gnu/gstreamer-1.0/libgstaudiovisualizers.so: undefined symbol: gst_type_mark_as_plugin_api
(gst-plugin-scanner:9902): GStreamer-WARNING **: 16:34:21.603: Failed to load plugin '/usr/local/lib/aarch64-linux-gnu/gstreamer-1.0/libgstwavpack.so': /usr/local/lib/aarch64-linux-gnu/gstreamer-1.0/libgstwavpack.so: undefined symbol: gst_type_mark_as_plugin_api
(gst-plugin-scanner:9902): GStreamer-WARNING **: 16:34:21.604: Failed to load plugin '/usr/local/lib/aarch64-linux-gnu/gstreamer-1.0/libgstfieldanalysis.so': /usr/local/lib/aarch64-linux-gnu/gstreamer-1.0/libgstfieldanalysis.so: undefined symbol: gst_type_mark_as_plugin_api
(gst-plugin-scanner:9902): GStreamer-WARNING **: 16:34:21.606: Failed to load plugin '/usr/local/lib/aarch64-linux-gnu/gstreamer-1.0/libgstlegacyrawparse.so': /usr/local/lib/aarch64-linux-gnu/gstreamer-1.0/libgstlegacyrawparse.so: undefined symbol: gst_type_mark_as_plugin_api
(gst-plugin-scanner:9902): GStreamer-WARNING **: 16:34:21.607: Failed to load plugin '/usr/local/lib/aarch64-linux-gnu/gstreamer-1.0/libgstaudiorate.so': /usr/local/lib/aarch64-linux-gnu/gstreamer-1.0/libgstaudiorate.so: undefined symbol: gst_buffer_add_audio_meta
(gst-plugin-scanner:9902): GStreamer-WARNING **: 16:34:21.645: Failed to load plugin '/usr/local/lib/aarch64-linux-gnu/gstreamer-1.0/libgstvideoscale.so': /usr/local/lib/aarch64-linux-gnu/gstreamer-1.0/libgstvideoscale.so: undefined symbol: gst_type_mark_as_plugin_api
(gst-plugin-scanner:9902): GStreamer-WARNING **: 16:34:21.645: Failed to load plugin '/usr/local/lib/aarch64-linux-gnu/gstreamer-1.0/libgstaudiofx.so': /usr/local/lib/aarch64-linux-gnu/gstreamer-1.0/libgstaudiofx.so: undefined symbol: gst_type_mark_as_plugin_api
(gst-plugin-scanner:9902): GStreamer-WARNING **: 16:34:21.646: Failed to load plugin '/usr/local/lib/aarch64-linux-gnu/gstreamer-1.0/libgstlame.so': /usr/local/lib/aarch64-linux-gnu/gstreamer-1.0/libgstlame.so: undefined symbol: gst_type_mark_as_plugin_api
(gst-plugin-scanner:9902): GStreamer-WARNING **: 16:34:21.648: Failed to load plugin '/usr/local/lib/aarch64-linux-gnu/gstreamer-1.0/libgstsmpte.so': /usr/local/lib/aarch64-linux-gnu/gstreamer-1.0/libgstsmpte.so: undefined symbol: gst_type_mark_as_plugin_api
(gst-plugin-scanner:9902): GStreamer-WARNING **: 16:34:21.648: Failed to load plugin '/usr/local/lib/aarch64-linux-gnu/gstreamer-1.0/libgstspeex.so': /usr/local/lib/aarch64-linux-gnu/gstreamer-1.0/libgstspeex.so: undefined symbol: gst_type_mark_as_plugin_api
(gst-plugin-scanner:9902): GStreamer-WARNING **: 16:34:21.649: Failed to load plugin '/usr/local/lib/aarch64-linux-gnu/gstreamer-1.0/libgstaudiomixer.so': /usr/local/lib/aarch64-linux-gnu/gstreamer-1.0/libgstaudiomixer.so: undefined symbol: gst_type_mark_as_plugin_api
(gst-plugin-scanner:9902): GStreamer-WARNING **: 16:34:21.649: Failed to load plugin '/usr/local/lib/aarch64-linux-gnu/gstreamer-1.0/libgstx264.so': /usr/local/lib/aarch64-linux-gnu/gstreamer-1.0/libgstx264.so: undefined symbol: gst_video_color_primaries_to_iso
(gst-plugin-scanner:9902): GStreamer-WARNING **: 16:34:21.673: Failed to load plugin '/usr/local/lib/aarch64-linux-gnu/gstreamer-1.0/libgstgtk.so': /usr/local/lib/aarch64-linux-gnu/gstreamer-1.0/libgstgtk.so: undefined symbol: gst_type_mark_as_plugin_api
(gst-plugin-scanner:9902): GStreamer-WARNING **: 16:34:21.674: Failed to load plugin '/usr/local/lib/aarch64-linux-gnu/gstreamer-1.0/libgstgdkpixbuf.so': /usr/local/lib/aarch64-linux-gnu/gstreamer-1.0/libgstgdkpixbuf.so: undefined symbol: gst_type_mark_as_plugin_api
(gst-plugin-scanner:9902): GStreamer-WARNING **: 16:34:21.674: Failed to load plugin '/usr/local/lib/aarch64-linux-gnu/gstreamer-1.0/libgstautodetect.so': /usr/local/lib/aarch64-linux-gnu/gstreamer-1.0/libgstautodetect.so: undefined symbol: gst_type_mark_as_plugin_api
(gst-plugin-scanner:9902): GStreamer-WARNING **: 16:34:21.675: Failed to load plugin '/usr/local/lib/aarch64-linux-gnu/gstreamer-1.0/libgstdecklink.so': /usr/local/lib/aarch64-linux-gnu/gstreamer-1.0/libgstdecklink.so: undefined symbol: gst_video_vbi_parser_new
(gst-plugin-scanner:9902): GStreamer-WARNING **: 16:34:21.676: Failed to load plugin '/usr/local/lib/aarch64-linux-gnu/gstreamer-1.0/libgstdv.so': /usr/local/lib/aarch64-linux-gnu/gstreamer-1.0/libgstdv.so: undefined symbol: gst_type_mark_as_plugin_api
(gst-plugin-scanner:9902): GStreamer-WARNING **: 16:34:21.678: Failed to load plugin '/usr/local/lib/aarch64-linux-gnu/gstreamer-1.0/libgstwaylandsink.so': /usr/local/lib/aarch64-linux-gnu/gstreamer-1.0/libgstwaylandsink.so: undefined symbol: gst_type_mark_as_plugin_api
(gst-plugin-scanner:9902): GStreamer-WARNING **: 16:34:21.679: Failed to load plugin '/usr/local/lib/aarch64-linux-gnu/gstreamer-1.0/libgstsegmentclip.so': /usr/local/lib/aarch64-linux-gnu/gstreamer-1.0/libgstsegmentclip.so: undefined symbol: gst_type_mark_as_plugin_api
(gst-plugin-scanner:9902): GStreamer-WARNING **: 16:34:21.679: Failed to load plugin '/usr/local/lib/aarch64-linux-gnu/gstreamer-1.0/libgstmultifile.so': /usr/local/lib/aarch64-linux-gnu/gstreamer-1.0/libgstmultifile.so: undefined symbol: gst_type_mark_as_plugin_api
(gst-plugin-scanner:9902): GStreamer-WARNING **: 16:34:21.684: Failed to load plugin '/usr/local/lib/aarch64-linux-gnu/gstreamer-1.0/libgstopengl.so': /usr/local/lib/aarch64-linux-gnu/gstreamer-1.0/libgstopengl.so: undefined symbol: gst_video_aggregator_get_type
...
(gst-plugin-scanner:9902): GStreamer-WARNING **: 16:34:21.795: Failed to load plugin '/usr/local/lib/aarch64-linux-gnu/gstreamer-1.0/libgstflac.so': /usr/local/lib/aarch64-linux-gnu/gstreamer-1.0/libgstflac.so: undefined symbol: gst_type_mark_as_plugin_api
(gst-plugin-scanner:9902): GStreamer-WARNING **: 16:34:21.796: Failed to load plugin '/usr/local/lib/aarch64-linux-gnu/gstreamer-1.0/libgstmxf.so': /usr/local/lib/aarch64-linux-gnu/gstreamer-1.0/libgstmxf.so: undefined symbol: gst_type_mark_as_plugin_api
(gst-plugin-scanner:9902): GStreamer-WARNING **: 16:34:21.797: Failed to load plugin '/usr/local/lib/aarch64-linux-gnu/gstreamer-1.0/libgstvideoconvert.so': /usr/local/lib/aarch64-linux-gnu/gstreamer-1.0/libgstvideoconvert.so: undefined symbol: gst_video_transfer_function_is_equivalent
(gst-plugin-scanner:9902): GStreamer-WARNING **: 16:34:21.798: Failed to load plugin '/usr/local/lib/aarch64-linux-gnu/gstreamer-1.0/libgstopus.so': /usr/local/lib/aarch64-linux-gnu/gstreamer-1.0/libgstopus.so: undefined symbol: gst_type_mark_as_plugin_api
(gst-plugin-scanner:9902): GStreamer-WARNING **: 16:34:21.799: Failed to load plugin '/usr/local/lib/aarch64-linux-gnu/gstreamer-1.0/libgstencoding.so': /usr/local/lib/aarch64-linux-gnu/gstreamer-1.0/libgstencoding.so: undefined symbol: gst_type_mark_as_plugin_api
gst-launch-1.0 version 1.18.5
GStreamer 1.14.5
Unknown package origin
`
**How to solve it?**
Thanks!https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/947Video info calculating incorrect size for RGB format2021-11-02T14:03:37Zuser userVideo info calculating incorrect size for RGB formatI am getting an "invalid buffer size" when using appsrc to push RGB buffers (occasionally changing dimensions) to a simple pipeline "appsrc -> videoconvert -> autovideosink".
Looking into it more i found out that the message comes from ...I am getting an "invalid buffer size" when using appsrc to push RGB buffers (occasionally changing dimensions) to a simple pipeline "appsrc -> videoconvert -> autovideosink".
Looking into it more i found out that the message comes from a mismatch between the buffer size and the video info expected size, while transforming in videoconvert. The expected size is calculated as following
```
info->stride[0] = GST_ROUND_UP_4 (width * 2);
info->size = info->stride[0] * height;
```
So for example, for a 350x350 RGB video, the size should be 350x350x3 = **367,500**
However it is expected to be **368200**
This can be reproduced with creating caps = (width 350, height 350, format = RGB) and converting them with `gst_video_info_from_caps`;
I would appreciate any suggestion on how to work around this, and why the rounding is needed. Thank you in advancehttps://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/862h264parse: inserts extra NALU AUDs2022-11-10T09:21:09ZAndreas Frischh264parse: inserts extra NALU AUDsIn a pipeline demuxing an flv stream into h264 byte-stream, an additional NAL Access unit delimiter 0x0000000109f0 is inserted before the already existing AUD 0x000000010910 for every packet.
Tested with GStreamer 1.18.5 and main (1.19....In a pipeline demuxing an flv stream into h264 byte-stream, an additional NAL Access unit delimiter 0x0000000109f0 is inserted before the already existing AUD 0x000000010910 for every packet.
Tested with GStreamer 1.18.5 and main (1.19.2.1)
`gst-launch-1.0 videotestsrc num-buffers=1 ! x264enc bitrate=1 ! flvmux ! flvdemux ! h264parse ! video/x-h264, stream-format=byte-stream ! fakesink dump=true`
results in:
`00000000 (0x7f2aa015c2d0): 00 00 00 01 09 f0 00 00 00 01 09 10 00 00 00 01 ................`
`gst-launch-1.0 videotestsrc num-buffers=1 ! x264enc bitrate=1 ! flvmux ! flvdemux ! h264parse ! video/x-h264 ! fakesink dump=true`
results in:
`00000000 (0x7f46ac0054e0): 00 00 00 02 09 10 00 00 00 1d 67 f4 00 0d 91 9b ..........g.....`
the problem persists when working with an flv file that was generated by ffmpeg, so i suspect the culprit to be in the flv demuxer, not the muxer.https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/863gst-plugin-scanner signal SIGFPE crash2022-11-10T09:21:09ZMelroy van den Berggst-plugin-scanner signal SIGFPE crash### 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://gstre...### 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
No crashes.
#### Observed Behavior
Crash in gst-plugin-scanner:
```
Core was generated by `/usr/lib/x86_64-linux-gnu/gstreamer1.0/gstreamer-1.0/gst-plugin-scanner -l /usr'.
Program terminated with signal SIGFPE, Arithmetic exception.
#0 0x00007f5ae867bd74 in libcamera::ControlInfoMap::validate() () from /lib/x86_64-linux-gnu/libcamera.so.0
```
**See full report:** https://termbin.com/8c15
#### Setup
- **Operating System:** Linux Mint 20.2 (Ubuntu based)
- **Device:** Computer
- **GStreamer Version:** 1.16.2
- **Command line:** bash
### Steps to reproduce the bug
I don't know for sure. Maybe I was busy with my webcam.
### How reproducible is the bug?
I don't know exactly.
### Related non-duplicate issues
### Additional Information
[crash.tar.gz](/uploads/09c4be194bed37148c55f3353b43f8c9/crash.tar.gz)https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/864Follow-up from "v4l2codecs: Fix segfaults when VIDIOC_REQBUFS doesn't return ...2023-06-01T16:30:54ZNicolas DufresneFollow-up from "v4l2codecs: Fix segfaults when VIDIOC_REQBUFS doesn't return enough buffers"The following discussion from !1220 should be addressed:
- [ ] @ndufresne started a [discussion](https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1220#note_1113481):
> As you can see, we have 4 arbitrary buffer ...The following discussion from !1220 should be addressed:
- [ ] @ndufresne started a [discussion](https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1220#note_1113481):
> As you can see, we have 4 arbitrary buffer allocated in that case. Perhaps we should check if the number of allocation is no less then the requested number - 4 ?
>
> On stateful decoder, we use a copy threshold for that case. Though it can be problematic when importing DMAbuf and out of a sudden you get a system memory buffer.
>
> If you don't have time, we can turn this thread into an issue, everything I have read here looks correct.https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/948audiomixer producing GST_BUFFER_FLAG_GAP2023-07-27T10:35:19ZMarianna Smidth Buschleaudiomixer producing GST_BUFFER_FLAG_GAPI have this pipeline doing audiomixing which works fine:
```
GST_DEBUG="*:3,GST_TRACER:7" GST_TRACERS="buffer(filter=audioconvert)" gst-launch-1.0 autoaudiosrc is-live=true provide-clock=false ! "audio/x-raw,format=S32LE,layout=interleav...I have this pipeline doing audiomixing which works fine:
```
GST_DEBUG="*:3,GST_TRACER:7" GST_TRACERS="buffer(filter=audioconvert)" gst-launch-1.0 autoaudiosrc is-live=true provide-clock=false ! "audio/x-raw,format=S32LE,layout=interleaved,rate=44100,channels=2,channel-mask=(bitmask)0x3" ! deinterleave name=d d.src_0 ! tee name=ch0_audio d.src_1 ! tee name=ch1_audio interleave name=ilv ! "audio/x-raw,format=S32LE,layout=interleaved,rate=44100,channels=2,channel-mask=(bitmask)0x3" ! queue ! audioconvert ! autoaudiosink audiomixer start-time-selection=zero name=leftamix sink_0::volume=0 sink_1::volume=0 ! "audio/x-raw,channels=1,channel-mask=(bitmask)0x1" ! queue ! ilv.sink_0 audiomixer start-time-selection=zero name=rightamix sink_0::volume=1 sink_1::volume=1 ! "audio/x-raw,channels=1,channel-mask=(bitmask)0x2" ! queue ! ilv.sink_1 ch0_audio. ! queue ! leftamix. ch0_audio. ! queue ! rightamix. ch1_audio. ! queue ! leftamix. ch1_audio. ! queue ! rightamix.
```
However as soon as I add `interpipesink/src` (from RidgeRun, based on `appsrc/sink`) in between it stops working: no sound and all buffers seem to be marked with GST_BUFFER_FLAG_GAP
GST_BUFFER_FLAG_GAP (2048) – the buffer has been created to fill a gap in the stream and contains media neutral data (elements can switch to optimized code path that ignores the buffer content).
So, it seems like the mixer is discarding the frames.
```
GST_DEBUG="*:3,GST_TRACER:7" GST_TRACERS="buffer(filter=audioconvert)" gst-launch-1.0 autoaudiosrc is-live=true provide-clock=false ! "audio/x-raw,format=S32LE,layout=interleaved,rate=44100,channels=2,channel-mask=(bitmask)0x3" ! interpipesink name=audio_src sync=false async=false interpipesrc listen-to=audio_src is-live=true stream-sync=passthrough-ts format=time ! deinterleave name=d d.src_0 ! tee name=ch0_audio d.src_1 ! tee name=ch1_audio interleave name=ilv ! "audio/x-raw,format=S32LE,layout=interleaved,rate=44100,channels=2,channel-mask=(bitmask)0x3" ! queue ! audioconvert ! autoaudiosink audiomixer start-time-selection=zero name=leftamix sink_0::volume=0 sink_1::volume=0 ! "audio/x-raw,channels=1,channel-mask=(bitmask)0x1" ! queue ! ilv.sink_0 audiomixer start-time-selection=zero name=rightamix sink_0::volume=1 sink_1::volume=1 ! "audio/x-raw,channels=1,channel-mask=(bitmask)0x2" ! queue ! ilv.sink_1 ch0_audio. ! queue ! leftamix. ch0_audio. ! queue ! rightamix. ch1_audio. ! queue ! leftamix. ch1_audio. ! queue ! rightamix.
```
Adding more debug *aggregator*:6 gives me this message: 0:00:00.834373796 12456 0x563d8cfec300 DEBUG audioaggregator gstaudioaggregator.c:1755:gst_audio_aggregator_fill_buffer:<rightamix:sink_0> Buffer before segment or current position: 35721 < 35721 which comes from here: https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/blob/master/gst-libs/gst/audio/gstaudioaggregator.c#L1934
```
if (pad->priv->position >= pad->priv->size) {
/* Empty buffer, drop */
pad->priv->dropped += pad->priv->size;
pad->priv->position = 0;
pad->priv->size = 0;
GST_DEBUG_OBJECT (pad,
"Buffer before segment or current position: %" G_GUINT64_FORMAT
" < %" G_GINT64_FORMAT, end_output_offset, aagg->priv->offset);
return FALSE;
}
```
First I would say that the debug message doesn't really match what is happening, I would expect it to tell me something about `pad->priv->position >= pad->priv->size`.
Second, what is the problem? And what is causing it?
Also, if I change `interpipesrc` (based on `appsrc`) to `is-live=false` the `GST_BUFFER_FLAG_GAP` disappears, but I still get no sound.
If I also change `interpipesink` to `sync=true` (based on `appsink`) it starts working (I get sound).
What is the difference between live and non-live behavior that causes this?
My end application will use `alsasrc` so I believe I need thing to behave well with live sources...https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/867qmlsink-multisink example FTBFS with Qt 5.9 on Ubuntu 18.04: class QSharedPoi...2022-02-24T10:46:08Zstefan cabarkapaqmlsink-multisink example FTBFS with Qt 5.9 on Ubuntu 18.04: class QSharedPointer<VideoItemPrivate> has no member named ‘get’Hello everyone,
I'm trying to install gst-plugins-good 1.19.2 version on Ubuntu 18.04 OS.
Below is output of command:
```
ubuntu@ip-10-0-93-143:~/gstreamer/gst-plugins-good$ sudo ninja -C build install
ninja: Entering directory `build'
...Hello everyone,
I'm trying to install gst-plugins-good 1.19.2 version on Ubuntu 18.04 OS.
Below is output of command:
```
ubuntu@ip-10-0-93-143:~/gstreamer/gst-plugins-good$ sudo ninja -C build install
ninja: Entering directory `build'
[1/3] Compiling C++ object tests/examples/qt/qmlsink-multisink/qmlsink-multisink.p/videoitem_videoitem.cpp.o
FAILED: tests/examples/qt/qmlsink-multisink/qmlsink-multisink.p/videoitem_videoitem.cpp.o
c++ -Itests/examples/qt/qmlsink-multisink/qmlsink-multisink.p -Itests/examples/qt/qmlsink-multisink -I../tests/examples/qt/qmlsink-multisink -I. -I.. -I/usr/local/include/gstreamer-1.0 -I/usr/include/x86_64-linux-gnu -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/local/lib/x86_64-linux-gnu/gstreamer-1.0/include -I/usr/include/libdrm -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtGui -I/usr/include/x86_64-linux-gnu/qt5/QtWidgets -I/usr/include/x86_64-linux-gnu/qt5/QtQml -I/usr/include/x86_64-linux-gnu/qt5/QtNetwork -I/usr/include/x86_64-linux-gnu/qt5/QtQuick -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wnon-virtual-dtor -std=c++11 -O2 -g -Wmissing-declarations -Wredundant-decls -Wwrite-strings -Winit-self -Wmissing-include-dirs -Wno-multichar -Wvla -Wpointer-arith -fPIC -pthread -MD -MQ tests/examples/qt/qmlsink-multisink/qmlsink-multisink.p/videoitem_videoitem.cpp.o -MF tests/examples/qt/qmlsink-multisink/qmlsink-multisink.p/videoitem_videoitem.cpp.o.d -o tests/examples/qt/qmlsink-multisink/qmlsink-multisink.p/videoitem_videoitem.cpp.o -c ../tests/examples/qt/qmlsink-multisink/videoitem/videoitem.cpp
../tests/examples/qt/qmlsink-multisink/videoitem/videoitem.cpp: In constructor ‘VideoItem::VideoItem(QQuickItem*)’:
../tests/examples/qt/qmlsink-multisink/videoitem/videoitem.cpp:154:64: error: ‘class QSharedPointer<VideoItemPrivate>’ has no member named ‘get’
gst_bus_set_sync_handler(_priv->bus, messageHandler, _priv.get(), nullptr);
^~~
ninja: build stopped: subcommand failed.
```
Could you please tell me what is causing the problem?
Thank you in advance!!!
Regards,
Stefan