GStreamer issueshttps://gitlab.freedesktop.org/groups/gstreamer/-/issues2022-04-26T09:01:08Zhttps://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/969Error after replacing prebuilt .so with compiled one2022-04-26T09:01:08ZH19012Error after replacing prebuilt .so with compiled oneHello,
I recently was able to modify and compile pulsesink, and it runs in the dev env. But when I copy libgstpulseaudio.so to /usr/lib/aarch64-linux-gnu/gstreamer-1.0/ and replace the original, then run a pipeline outside of dev env I g...Hello,
I recently was able to modify and compile pulsesink, and it runs in the dev env. But when I copy libgstpulseaudio.so to /usr/lib/aarch64-linux-gnu/gstreamer-1.0/ and replace the original, then run a pipeline outside of dev env I get this error-
`(gst-plugin-scanner:26253): GStreamer-WARNING **: 12:05:32.152: Failed to load plugin '/usr/lib/aarch64-linux-gnu/gstreamer-1.0/libgstpulseaudio.so': /usr/lib/aarch64-linux-gnu/gstreamer-1.0/libgstpulseaudio.so: undefined symbol: gst_device_provider_device_changed
`https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1176Totem or Glide show disorted MPEG4 video on Intel hardware2022-11-10T09:21:13ZPeter WeberTotem or Glide show disorted MPEG4 video on Intel hardware### Describe your issue
When I use [Totem](https://gitlab.gnome.org/GNOME/totem) or [Glide](https://github.com/philn/glide) to show a MPEG4 (H264) encoded video upon Wayland or X11 it renders a distorted video. Audio playback is fine.
A...### Describe your issue
When I use [Totem](https://gitlab.gnome.org/GNOME/totem) or [Glide](https://github.com/philn/glide) to show a MPEG4 (H264) encoded video upon Wayland or X11 it renders a distorted video. Audio playback is fine.
Affected Hardware: Intel Sandy Bridge (HD3000)
Not affected hardware: AMD
Not affected codecs: MPEG1, Theora, VP9
#### Expected Behavior
Clear image
#### Observed Behavior
Disorted image.
#### Setup
- **Operating System:** Archlinux
- **Device:** ThinkPad X220
- **GStreamer Version:** 1.20.1
- **Command line:** totem file.mp4 or glide file.mp4
### Steps to reproduce the bug
1. Select video file in file-browser and launch player
### How reproducible is the bug?
Always.
### Screenshots if relevant
![Screenshot_from_2022-04-23_14-50-12](/uploads/8265f0bce5f18a36e26c54d9853267d2/Screenshot_from_2022-04-23_14-50-12.png)
### Additional Information
[mpv](https://github.com/mpv-player/mpv) (fork of mplayer/mplayer2) is not affected.
[Pitivi](https://www.pitivi.org/) (using Gstreamer?) seems not affected but I'm not 100% sure, because the created video file doesn't contain what I expect. Likely other issue.https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1174msdk: Build fails on Ubuntu 22.04 + onevpl2022-11-10T09:21:13ZSeungha Yangseungha@centricular.commsdk: Build fails on Ubuntu 22.04 + onevpl```
Linking target subprojects/gst-plugins-bad/sys/msdk/libgstmsdk.so
FAILED: subprojects/gst-plugins-bad/sys/msdk/libgstmsdk.so
cc -o subprojects/gst-plugins-bad/sys/msdk/libgstmsdk.so subprojects/gst-plugins-bad/sys/msdk/libgstmsdk.s...```
Linking target subprojects/gst-plugins-bad/sys/msdk/libgstmsdk.so
FAILED: subprojects/gst-plugins-bad/sys/msdk/libgstmsdk.so
cc -o subprojects/gst-plugins-bad/sys/msdk/libgstmsdk.so subprojects/gst-plugins-bad/sys/msdk/libgstmsdk.so.p/gstmsdk.c.o subprojects/gst-plugins-bad/sys/msdk/libgstmsdk.so.p/gstmsdkbufferpool.c.o subprojects/gst-plugins-bad/sys/msdk/libgstmsdk.so.p/gstmsdkcontext.c.o subprojects/gst-plugins-bad/sys/msdk/libgstmsdk.so.p/gstmsdkcontextutil.c.o subprojects/gst-plugins-bad/sys/msdk/libgstmsdk.so.p/gstmsdkdec.c.o subprojects/gst-plugins-bad/sys/msdk/libgstmsdk.so.p/gstmsdkdecproputil.c.o subprojects/gst-plugins-bad/sys/msdk/libgstmsdk.so.p/gstmsdkenc.c.o subprojects/gst-plugins-bad/sys/msdk/libgstmsdk.so.p/gstmsdkh264dec.c.o subprojects/gst-plugins-bad/sys/msdk/libgstmsdk.so.p/gstmsdkh264enc.c.o subprojects/gst-plugins-bad/sys/msdk/libgstmsdk.so.p/gstmsdkh265dec.c.o subprojects/gst-plugins-bad/sys/msdk/libgstmsdk.so.p/gstmsdkh265enc.c.o subprojects/gst-plugins-bad/sys/msdk/libgstmsdk.so.p/gstmsdkmjpegdec.c.o subprojects/gst-plugins-bad/sys/msdk/libgstmsdk.so.p/gstmsdkmjpegenc.c.o subprojects/gst-plugins-bad/sys/msdk/libgstmsdk.so.p/gstmsdkmpeg2dec.c.o subprojects/gst-plugins-bad/sys/msdk/libgstmsdk.so.p/gstmsdkmpeg2enc.c.o subprojects/gst-plugins-bad/sys/msdk/libgstmsdk.so.p/gstmsdksystemmemory.c.o subprojects/gst-plugins-bad/sys/msdk/libgstmsdk.so.p/gstmsdkvc1dec.c.o subprojects/gst-plugins-bad/sys/msdk/libgstmsdk.so.p/gstmsdkvideomemory.c.o subprojects/gst-plugins-bad/sys/msdk/libgstmsdk.so.p/gstmsdkvp8dec.c.o subprojects/gst-plugins-bad/sys/msdk/libgstmsdk.so.p/gstmsdkvpp.c.o subprojects/gst-plugins-bad/sys/msdk/libgstmsdk.so.p/gstmsdkvpputil.c.o subprojects/gst-plugins-bad/sys/msdk/libgstmsdk.so.p/msdk-enums.c.o subprojects/gst-plugins-bad/sys/msdk/libgstmsdk.so.p/msdk.c.o subprojects/gst-plugins-bad/sys/msdk/libgstmsdk.so.p/msdk_libva.c.o subprojects/gst-plugins-bad/sys/msdk/libgstmsdk.so.p/gstmsdkallocator_libva.c.o subprojects/gst-plugins-bad/sys/msdk/libgstmsdk.so.p/gstmsdk_va.c.o subprojects/gst-plugins-bad/sys/msdk/libgstmsdk.so.p/gstmsdkvp9dec.c.o subprojects/gst-plugins-bad/sys/msdk/libgstmsdk.so.p/gstmsdkvp9enc.c.o subprojects/gst-plugins-bad/sys/msdk/libgstmsdk.so.p/gstmsdkav1dec.c.o -Wl,--as-needed -Wl,--no-undefined -shared -fPIC -Wl,--start-group -Wl,-soname,libgstmsdk.so -Wl,-Bsymbolic-functions '-Wl,-rpath,$ORIGIN/../../../gstreamer/libs/gst/base:$ORIGIN/../../../gstreamer/gst:$ORIGIN/../../../gst-plugins-base/gst-libs/gst/video:$ORIGIN/../../../orc/orc:$ORIGIN/../../../gst-plugins-base/gst-libs/gst/pbutils:$ORIGIN/../../../gst-plugins-base/gst-libs/gst/audio:$ORIGIN/../../../gst-plugins-base/gst-libs/gst/tag:$ORIGIN/../../../gst-plugins-base/gst-libs/gst/allocators:$ORIGIN/../../gst-libs/gst/codecparsers:$ORIGIN/../../gst-libs/gst/va' -Wl,-rpath-link,/home/seungha/Work/gstreamer/build/subprojects/gstreamer/libs/gst/base -Wl,-rpath-link,/home/seungha/Work/gstreamer/build/subprojects/gstreamer/gst -Wl,-rpath-link,/home/seungha/Work/gstreamer/build/subprojects/gst-plugins-base/gst-libs/gst/video -Wl,-rpath-link,/home/seungha/Work/gstreamer/build/subprojects/orc/orc -Wl,-rpath-link,/home/seungha/Work/gstreamer/build/subprojects/gst-plugins-base/gst-libs/gst/pbutils -Wl,-rpath-link,/home/seungha/Work/gstreamer/build/subprojects/gst-plugins-base/gst-libs/gst/audio -Wl,-rpath-link,/home/seungha/Work/gstreamer/build/subprojects/gst-plugins-base/gst-libs/gst/tag -Wl,-rpath-link,/home/seungha/Work/gstreamer/build/subprojects/gst-plugins-base/gst-libs/gst/allocators -Wl,-rpath-link,/home/seungha/Work/gstreamer/build/subprojects/gst-plugins-bad/gst-libs/gst/codecparsers -Wl,-rpath-link,/home/seungha/Work/gstreamer/build/subprojects/gst-plugins-bad/gst-libs/gst/va subprojects/gstreamer/libs/gst/base/libgstbase-1.0.so.0.2100.0 subprojects/gstreamer/gst/libgstreamer-1.0.so.0.2100.0 subprojects/gst-plugins-base/gst-libs/gst/video/libgstvideo-1.0.so.0.2100.0 subprojects/orc/orc/liborc-0.4.so.0.32.0 subprojects/gst-plugins-base/gst-libs/gst/pbutils/libgstpbutils-1.0.so.0.2100.0 subprojects/gst-plugins-base/gst-libs/gst/audio/libgstaudio-1.0.so.0.2100.0 subprojects/gst-plugins-base/gst-libs/gst/tag/libgsttag-1.0.so.0.2100.0 subprojects/gst-plugins-base/gst-libs/gst/allocators/libgstallocators-1.0.so.0.2100.0 subprojects/gst-plugins-bad/gst-libs/gst/codecparsers/libgstcodecparsers-1.0.so.0.2100.0 subprojects/gst-plugins-bad/gst-libs/gst/va/libgstva-1.0.so.0.2100.0 /usr/lib/x86_64-linux-gnu/libglib-2.0.so /usr/lib/x86_64-linux-gnu/libgobject-2.0.so /usr/lib/x86_64-linux-gnu/libgmodule-2.0.so -pthread -lm /usr/lib/x86_64-linux-gnu/libz.so -ldl /usr/lib/gcc/x86_64-linux-gnu/11/libstdc++.so -L/usr/lib/x86_64-linux-gnu/pkgconfig/../ -lvpl /usr/lib/x86_64-linux-gnu/libva.so /usr/lib/x86_64-linux-gnu/libva-drm.so /usr/lib/x86_64-linux-gnu/libdrm.so /usr/lib/x86_64-linux-gnu/libgudev-1.0.so -Wl,--end-group
/usr/bin/ld: cannot find -lvpl: No such file or directory
collect2: error: ld returned 1 exit status
```
But there is libvpl.so
```
/usr/lib/x86_64-linux-gnu$ ll | grep vpl
lrwxrwxrwx 1 root root 11 4월 3 17:34 libvpl.so -> libvpl.so.2
```https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1173nvh264enc: Adds SPS/PPS only to the 1st keyframe2022-04-22T13:34:43ZRoman Volkovnvh264enc: Adds SPS/PPS only to the 1st keyframe### Describe your issue
nvh264enc encoder (and nvh265enc also, as I know) adds SPS/PPS header only to the first keyframe.
#### Expected Behavior
I want to play stream from a random point. Not only from the start.
#### Observed Behavior...### Describe your issue
nvh264enc encoder (and nvh265enc also, as I know) adds SPS/PPS header only to the first keyframe.
#### Expected Behavior
I want to play stream from a random point. Not only from the start.
#### Observed Behavior
VLC output:
> [00007fcfb0b6aeb0] h264 packetizer warning: waiting for SPS/PPS
[00007fcfb0b6aeb0] h264 packetizer warning: waiting for SPS/PPS
[00007fcfb0b6aeb0] h264 packetizer warning: waiting for SPS/PPS
[00007fcfb0b6aeb0] h264 packetizer warning: waiting for SPS/PPS
[00007fcfb0b6aeb0] h264 packetizer warning: waiting for SPS/PPS
[00007fcfb0b6aeb0] h264 packetizer warning: waiting for SPS/PPS
[00007fcfb0b6aeb0] h264 packetizer warning: waiting for SPS/PPS
[00007fcfb0b6aeb0] h264 packetizer warning: waiting for SPS/PPS
[00007fcfb0b6aeb0] h264 packetizer warning: waiting for SPS/PPS
[00007fcfb0b6aeb0] h264 packetizer warning: waiting for SPS/PPS
#### Setup
- **Operating System on a local machine:** Ubuntu Server 20
- **Operating System on a remote machine:** Ubuntu Desktop 20
- **Device:** Computer <!-- Delete as appropriate !-->
- **GStreamer Version:** 1.20.1
- **Command line:** [gst_nvenc_h264_spts.sh](/uploads/f16db951e63555f03b93ee9fea5e374d/gst_nvenc_h264_spts.sh)
gst-launch-1.0 -v \
alsasrc device=hw:CARD=C4K,DEV=0 ! queue ! opusenc bitrate=128000 ! opusparse ! queue ! mux. \
v4l2src device=/dev/video$2 ! queue ! \
videoscale ! video/x-raw,format=NV12,width=1920,height=1080,framerate=30/1 ! \
nvh264enc aud=false bitrate=5000 gop-size=5 rc-mode=cbr rc-lookahead=5 i-adapt=true zerolatency=true ! queue ! h264parse ! \
mpegtsmux alignment=7 name=mux latency=200000 bitrate=6000000 ! udpsink host=$1 port=5054
### Steps to reproduce the bug
<!-- please fill in exact steps which reproduce the bug on your system, for example: -->
1. open terminal on a local machine
2. type `gst_nvenc_h264_spts.sh` and select video device index
3. type `v4l2-ctl -d /dev/video0 --list-formats-ext` where device index instead of zero (0)
4. type `arecord -L` and select alsa audio record device
5. select useful parameters and change the script
6. type `gst_nvenc_h264_spts.sh 192.168.1.34 2` where remote machine IP instead of 192.168.1.34 and device index instead of 2
7. open terminal on a remote system
8. type `vlc -v udp://@:5054`
### How reproducible is the bug?
Always. If You keep the sequence. If run player first it will see the first keyframe and will play video.https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1172d3d11videosink: Mouse double-click no longer works2022-05-01T15:34:03ZJake Hedlundd3d11videosink: Mouse double-click no longer works### Describe your issue
In a winforms app, with GstSharp, the double-click event is no longer raised when clicking on the video panel (using the `d3d11videosink`
#### Expected Behavior
The C# MouseClick, DoubleClick, and MouseDoubleCli...### Describe your issue
In a winforms app, with GstSharp, the double-click event is no longer raised when clicking on the video panel (using the `d3d11videosink`
#### Expected Behavior
The C# MouseClick, DoubleClick, and MouseDoubleClick events should be raised. The older `d3dvideosink` raised these events (and still does if manually specified in the pipeline).
#### Observed Behavior
No double-click event is raised, however an ElementMessage is sent on the bus for the mouse-click (but not double-click).
The `mouse-released` message is also not posted on the bus using d3d11.
#### Setup
- **Operating System:** Windows 10
- **Device:** Computer
- **GStreamer Version:** 1.20.1
- **Launch line:** videotestsrc ! d3d11videosink
### Steps to reproduce the bug
1. Setup a GstSharp/Winforms app, with the video sent to a panel.
1. Add an event listener for the double-click event.
1. Double-click the panel. Observe the event being raised.
1. Start the pipeline.
1. Double-click the panel. Observe the event is no longer raised.
### How reproducible is the bug?
Always.
### Additional Information
The `autovideosink` now chooses d3d11 as its actual-sink, so this is the default behavior on Windows all else being equal.
Mouse-move events are also sent on the Bus as Element messages.https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/968gstrtpjitterbuffer: Drop a lot of buffer because of too large 'seqnum_base'2022-04-22T03:14:54Zwu wangshenggstrtpjitterbuffer: Drop a lot of buffer because of too large 'seqnum_base'When I use this command to play a rtsp stream, sometimes I find the decoder cann't get buffer for long time.
-----command-----
gst-launch-1.0 uridecodebin uri=rtsp://*** ! autovideosink
-----------------
According to the log: GST_DEBUG=r...When I use this command to play a rtsp stream, sometimes I find the decoder cann't get buffer for long time.
-----command-----
gst-launch-1.0 uridecodebin uri=rtsp://*** ! autovideosink
-----------------
According to the log: GST_DEBUG=rtpjitterbuffer:5 , I found the element "rtpjitterbuffer" drop some buffers. The relevant source code is as follows:
`if (priv->seqnum_base != -1) {
gint gap;
gap = gst_rtp_buffer_compare_seqnum (priv->seqnum_base, seqnum);
if (gap < 0) {
GST_DEBUG_OBJECT (jitterbuffer,
"packet seqnum #%d before seqnum-base #%d", seqnum,
priv->seqnum_base);
gst_buffer_unref (buffer);
goto finished;
} else if (gap > 16384) {
/* From now on don't compare against the seqnum base anymore as
* at some point in the future we will wrap around and also that
* much reordering is very unlikely */
priv->seqnum_base = -1;
}
}`
If the seqnum of the buffer is bigger than seqnum-base, the buffer is pushed into down stream, otherwise, the element drop it by gst_buffer_unref. What's more, if seqnum of the buffer is 16384(I don't know why is 16384) bigger than seqnum_base, set seqnum_base to -1.
However, if the seqnum_base is too large, like 50000 or 60000. There is not exist that the seqnum is 16384 bigger than seqnum_base. Because the seqnum is of type guint16(0~65535). The seqnum is reset to 0 after 65535. At the time, the seqnum is smaller than seqnum_base. If the seqnum_base is 50000, it will drop 50000 buffers!
And I found the seqnum_base is always -1 when I use some other types camera. However for the test camera, the seqnum_base is a random value.
If you would like to help me, I would be very grateful!
The test camera is HIKVISION , DS-IPC-T12H-IAhttps://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1170Multiple pipeline in single application2022-04-21T06:31:23ZParveen BansalMultiple pipeline in single application1) Camera 1 :- UYVY 16-bit format
gst-launch-1.0 v4l2src name=outward_camera device=/dev/video0 ! 'video/x-raw, format=UYVY, width=3840, height=2160, framerate=30/1' ! nvvidconv ! 'video/x-raw(memory:NVMM), format=I420, width=3840, heig...1) Camera 1 :- UYVY 16-bit format
gst-launch-1.0 v4l2src name=outward_camera device=/dev/video0 ! 'video/x-raw, format=UYVY, width=3840, height=2160, framerate=30/1' ! nvvidconv ! 'video/x-raw(memory:NVMM), format=I420, width=3840, height=2160' ! queue name=queue_nrt leaky=2 max-size-buffers=0 max-size-bytes=0 max-size-time=4000000000 ! nvv4l2h265enc name=h265enc control-rate=0 bitrate=6000000 preset-level=3 maxperf-enable=1 iframeinterval=30 ! h265parse ! splitmuxsink name=muxsink muxer=matroskamux max-size-time=60000000000 sync=0 location=/home/ubuntu/out_nf2_%02d.mp4 &
2) Camera 2 : - UYVY 16-bit format
gst-launch-1.0 v4l2src name=inward_camera device=/dev/video1 ! 'video/x-raw, format=UYVY, width=1920, height=1280, framerate=30/1' ! nvvidconv ! 'video/x-raw(memory:NVMM), format=I420, width=1920, height=1280' ! queue name=queue_nrt leaky=2 max-size-buffers=0 max-size-bytes=0 max-size-time=4000000000 ! nvv4l2h265enc name=h265enc control-rate=0 bitrate=6000000 preset-level=3 maxperf-enable=1 iframeinterval=30 ! h265parse ! splitmuxsink name=muxsink muxer=matroskamux max-size-time=60000000000 location=/home/ubuntu/in_rgb_ir_test_%02d.mp4 &
3) Camera 3 : - RAW 8-bit format
gst-launch-1.0 v4l2src name=inward_camerair device=/dev/video2 blocksize=2457600 ! 'video/x-bayer, width=(int)1920, height=(int)1280, format=(string)rggb, framerate=30/1' ! capssetter join=0 replace=1 caps='video/x-raw,width=1920,height=1280,format=GRAY8,framerate=30/1' ! nvvidconv ! 'video/x-raw(memory:NVMM), format=I420, width=1920, height=1280' ! queue name=queue_nrt leaky=2 max-size-buffers=0 max-size-bytes=0 max-size-time=4000000000 ! videorate name=vrconv_nrt max-rate=30 ! nvv4l2h265enc name=h265enc control-rate=0 bitrate=5000000 peak-bitrate=5000000 preset-level=3 maxperf-enable=1 idrinterval=0 iframeinterval=30 ! h265parse ! splitmuxsink name=muxsink muxer=matroskamux max-size-time=60000000000 location=/home/ubuntu/IRRAW_video%02d.mp4 &
We can successfully record using above commands from command line, but we are facing issue when we run these pipelines from gst test application. Please find the attached gst_test source code.
Issue :- if Camera3 pipeline parsed after camera1 & camera2 pipeline then we are getting "internal data error". but if we parsed camera3 pipeline at first in test app then there is no issue.
After debugging we found in failure case application is negotiating wrong caps.
Please let us know if running multiple streams from single process is forcing same frame setting for all pipelines or Is there any issue from driver side.https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1169pulsesink not compiling2022-04-21T07:13:17ZH19012pulsesink not compilingHi,
I am trying to make some edits to pulsesink src code and try it out, I was able to build Gstreamer using the meson build system using this guide (https://github.com/GStreamer/gst-build#development-environment). But all the folder in...Hi,
I am trying to make some edits to pulsesink src code and try it out, I was able to build Gstreamer using the meson build system using this guide (https://github.com/GStreamer/gst-build#development-environment). But all the folder in build/subprojects/gst-plugins-good/ext are empty.
Pulsesink folder in build/subprojects/gst-plugins-good/ext/pulse is also empty.
I have tried passing additional args like "meson -Dgood=enabled -Dgst-plugins-good:pulse=enabled build" with no results.https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1167va: Multi-GPU support in a process2022-11-05T11:55:35ZSeungha Yangseungha@centricular.comva: Multi-GPU support in a processcc @vjaquez @He_Junyan
I've tested multi-Intel-gpu environment on Windows with d3d11 and/or qsv plugin (I am not saying inter-gpu processing, just mutiple GPU objects are flowing per dedicated branch in a pipeline) that works pretty we...cc @vjaquez @He_Junyan
I've tested multi-Intel-gpu environment on Windows with d3d11 and/or qsv plugin (I am not saying inter-gpu processing, just mutiple GPU objects are flowing per dedicated branch in a pipeline) that works pretty well and as expected.
But I am not able to find muti-gpu consideration from gstva. Clearly MSDK has no consideration for the muti-GPU.
I'm wondering such scenario on Linux is possible, or has a plan to supporthttps://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1165mfh264enc: Odd Width and height input encoded incorrectly2023-05-05T09:06:07ZGerard Ryanmfh264enc: Odd Width and height input encoded incorrectly### Describe your issue
using `mfh264enc` with odd-numbered width and height input caps renders the output in an incorrectly sized rect.
#### Expected Behavior
![image](/uploads/227370255fd487a3f7bbf69922aaba21/image.png)
#### Observed...### Describe your issue
using `mfh264enc` with odd-numbered width and height input caps renders the output in an incorrectly sized rect.
#### Expected Behavior
![image](/uploads/227370255fd487a3f7bbf69922aaba21/image.png)
#### Observed Behavior
![image](/uploads/c8a77e7beca6e996841b3d3b163d5b80/image.png)
#### Setup
- **Operating System:** Windows 10 21H2
- **Device:** Virtual Machine with GPU passthrough
- **GStreamer Version:** 1.20.1
- **Command line:**
### Steps to reproduce the bug
<!-- please fill in exact steps which reproduce the bug on your system, for example: -->
1. open terminal
2. enter `gst-launch-1.0.exe videotestsrc ! video/x-raw,width=679,height=479 ! mfh264enc ! decodebin ! autovideosink`
### How reproducible is the bug?
always
### Screenshots if relevant
### Solutions you have tried
### Related non-duplicate issues
### Additional Information
* Accounts for an Odd numbered height **or** width just fine, only seems to be with an Odd numbered height **and** width
<details><summary>
`.\gst-launch-1.0.exe --verbose videotestsrc ! video/x-raw,width=679,height=479 ! mfh264enc ! decodebin ! autovideosink`
</summary>
```log
Use Windows high-resolution clock, precision: 1 ms
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
Got context from element 'autovideosink0': gst.d3d11.device.handle=context, device=(GstD3D11Device)"\(GstD3D11Device\)\ d3d11device6", adapter=(uint)0, adapter-luid=(gint64)32967, device-id=(uint)7298, vendor-id=(uint)4318, hardware=(boolean)true, description=(string)"NVIDIA\ GeForce\ GTX\ 1050\ Ti";
/GstPipeline:pipeline0/GstVideoTestSrc:videotestsrc0.GstPad:src: caps = video/x-raw, format=(string)NV12, width=(int)679, height=(int)479, framerate=(fraction)30/1, multiview-mode=(string)mono, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive
/GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:src: caps = video/x-raw, format=(string)NV12, width=(int)679, height=(int)479, framerate=(fraction)30/1, multiview-mode=(string)mono, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive
/GstPipeline:pipeline0/GstMFH264Enc:mfh264enc0.GstPad:sink: caps = video/x-raw, format=(string)NV12, width=(int)679, height=(int)479, framerate=(fraction)30/1, multiview-mode=(string)mono, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive
/GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:sink: caps = video/x-raw, format=(string)NV12, width=(int)679, height=(int)479, framerate=(fraction)30/1, multiview-mode=(string)mono, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive
/GstPipeline:pipeline0/GstMFH264Enc:mfh264enc0.GstPad:src: caps = video/x-h264, stream-format=(string)byte-stream, alignment=(string)au, profile=(string)main, width=(int)679, height=(int)479, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)30/1, interlace-mode=(string)progressive, colorimetry=(string)bt601, chroma-site=(string)jpeg, multiview-mode=(string)mono, multiview-flags=(GstVideoMultiviewFlagsSet)0:ffffffff:/right-view-first/left-flipped/left-flopped/right-flipped/right-flopped/half-aspect/mixed-mono
/GstPipeline:pipeline0/GstDecodeBin:decodebin0.GstGhostPad:sink.GstProxyPad:proxypad0: caps = video/x-h264, stream-format=(string)byte-stream, alignment=(string)au, profile=(string)main, width=(int)679, height=(int)479, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)30/1, interlace-mode=(string)progressive, colorimetry=(string)bt601, chroma-site=(string)jpeg, multiview-mode=(string)mono, multiview-flags=(GstVideoMultiviewFlagsSet)0:ffffffff:/right-view-first/left-flipped/left-flopped/right-flipped/right-flopped/half-aspect/mixed-mono
/GstPipeline:pipeline0/GstDecodeBin:decodebin0/GstTypeFindElement:typefind.GstPad:src: caps = video/x-h264, stream-format=(string)byte-stream, alignment=(string)au, profile=(string)main, width=(int)679, height=(int)479, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)30/1, interlace-mode=(string)progressive, colorimetry=(string)bt601, chroma-site=(string)jpeg, multiview-mode=(string)mono, multiview-flags=(GstVideoMultiviewFlagsSet)0:ffffffff:/right-view-first/left-flipped/left-flopped/right-flipped/right-flopped/half-aspect/mixed-mono
/GstPipeline:pipeline0/GstDecodeBin:decodebin0/GstH264Parse:h264parse0.GstPad:src: caps = video/x-h264, stream-format=(string)byte-stream, alignment=(string)au, profile=(string)main, width=(int)679, height=(int)479, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)30/1, interlace-mode=(string)progressive, colorimetry=(string)bt601, chroma-site=(string)jpeg, multiview-mode=(string)mono, multiview-flags=(GstVideoMultiviewFlagsSet)0:ffffffff:/right-view-first/left-flipped/left-flopped/right-flipped/right-flopped/half-aspect/mixed-mono, parsed=(boolean)true
Redistribute latency...
/GstPipeline:pipeline0/GstDecodeBin:decodebin0/avdec_h264:avdec_h264-0.GstPad:sink: caps = video/x-h264, stream-format=(string)byte-stream, alignment=(string)au, profile=(string)main, width=(int)679, height=(int)479, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)30/1, interlace-mode=(string)progressive, colorimetry=(string)bt601, chroma-site=(string)jpeg, multiview-mode=(string)mono, multiview-flags=(GstVideoMultiviewFlagsSet)0:ffffffff:/right-view-first/left-flipped/left-flopped/right-flipped/right-flopped/half-aspect/mixed-mono, parsed=(boolean)true
/GstPipeline:pipeline0/GstDecodeBin:decodebin0/GstCapsFilter:capsfilter1.GstPad:src: caps = video/x-h264, stream-format=(string)byte-stream, alignment=(string)au, profile=(string)main, width=(int)679, height=(int)479, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)30/1, interlace-mode=(string)progressive, colorimetry=(string)bt601, chroma-site=(string)jpeg, multiview-mode=(string)mono, multiview-flags=(GstVideoMultiviewFlagsSet)0:ffffffff:/right-view-first/left-flipped/left-flopped/right-flipped/right-flopped/half-aspect/mixed-mono, parsed=(boolean)true
/GstPipeline:pipeline0/GstDecodeBin:decodebin0/GstCapsFilter:capsfilter1.GstPad:sink: caps = video/x-h264, stream-format=(string)byte-stream, alignment=(string)au, profile=(string)main, width=(int)679, height=(int)479, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)30/1, interlace-mode=(string)progressive, colorimetry=(string)bt601, chroma-site=(string)jpeg, multiview-mode=(string)mono, multiview-flags=(GstVideoMultiviewFlagsSet)0:ffffffff:/right-view-first/left-flipped/left-flopped/right-flipped/right-flopped/half-aspect/mixed-mono, parsed=(boolean)true
/GstPipeline:pipeline0/GstDecodeBin:decodebin0/GstH264Parse:h264parse0.GstPad:sink: caps = video/x-h264, stream-format=(string)byte-stream, alignment=(string)au, profile=(string)main, width=(int)679, height=(int)479, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)30/1, interlace-mode=(string)progressive, colorimetry=(string)bt601, chroma-site=(string)jpeg, multiview-mode=(string)mono, multiview-flags=(GstVideoMultiviewFlagsSet)0:ffffffff:/right-view-first/left-flipped/left-flopped/right-flipped/right-flopped/half-aspect/mixed-mono
/GstPipeline:pipeline0/GstDecodeBin:decodebin0/GstTypeFindElement:typefind.GstPad:sink: caps = video/x-h264, stream-format=(string)byte-stream, alignment=(string)au, profile=(string)main, width=(int)679, height=(int)479, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)30/1, interlace-mode=(string)progressive, colorimetry=(string)bt601, chroma-site=(string)jpeg, multiview-mode=(string)mono, multiview-flags=(GstVideoMultiviewFlagsSet)0:ffffffff:/right-view-first/left-flipped/left-flopped/right-flipped/right-flopped/half-aspect/mixed-mono
/GstPipeline:pipeline0/GstDecodeBin:decodebin0.GstGhostPad:sink: caps = video/x-h264, stream-format=(string)byte-stream, alignment=(string)au, profile=(string)main, width=(int)679, height=(int)479, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)30/1, interlace-mode=(string)progressive, colorimetry=(string)bt601, chroma-site=(string)jpeg, multiview-mode=(string)mono, multiview-flags=(GstVideoMultiviewFlagsSet)0:ffffffff:/right-view-first/left-flipped/left-flopped/right-flipped/right-flopped/half-aspect/mixed-mono
/GstPipeline:pipeline0/GstDecodeBin:decodebin0/GstH264Parse:h264parse0.GstPad:src: caps = video/x-h264, stream-format=(string)byte-stream, alignment=(string)au, profile=(string)main, width=(int)679, height=(int)479, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)30/1, interlace-mode=(string)progressive, colorimetry=(string)bt601, chroma-site=(string)jpeg, multiview-mode=(string)mono, multiview-flags=(GstVideoMultiviewFlagsSet)0:ffffffff:/right-view-first/left-flipped/left-flopped/right-flipped/right-flopped/half-aspect/mixed-mono, chroma-format=(string)4:2:0, bit-depth-luma=(uint)8, bit-depth-chroma=(uint)8, parsed=(boolean)true, level=(string)3
/GstPipeline:pipeline0/GstDecodeBin:decodebin0/GstCapsFilter:capsfilter1.GstPad:src: caps = video/x-h264, stream-format=(string)byte-stream, alignment=(string)au, profile=(string)main, width=(int)679, height=(int)479, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)30/1, interlace-mode=(string)progressive, colorimetry=(string)bt601, chroma-site=(string)jpeg, multiview-mode=(string)mono, multiview-flags=(GstVideoMultiviewFlagsSet)0:ffffffff:/right-view-first/left-flipped/left-flopped/right-flipped/right-flopped/half-aspect/mixed-mono, chroma-format=(string)4:2:0, bit-depth-luma=(uint)8, bit-depth-chroma=(uint)8, parsed=(boolean)true, level=(string)3
Redistribute latency...
/GstPipeline:pipeline0/GstDecodeBin:decodebin0/avdec_h264:avdec_h264-0.GstPad:sink: caps = video/x-h264, stream-format=(string)byte-stream, alignment=(string)au, profile=(string)main, width=(int)679, height=(int)479, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)30/1, interlace-mode=(string)progressive, colorimetry=(string)bt601, chroma-site=(string)jpeg, multiview-mode=(string)mono, multiview-flags=(GstVideoMultiviewFlagsSet)0:ffffffff:/right-view-first/left-flipped/left-flopped/right-flipped/right-flopped/half-aspect/mixed-mono, chroma-format=(string)4:2:0, bit-depth-luma=(uint)8, bit-depth-chroma=(uint)8, parsed=(boolean)true, level=(string)3
/GstPipeline:pipeline0/GstDecodeBin:decodebin0/GstCapsFilter:capsfilter1.GstPad:sink: caps = video/x-h264, stream-format=(string)byte-stream, alignment=(string)au, profile=(string)main, width=(int)679, height=(int)479, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)30/1, interlace-mode=(string)progressive, colorimetry=(string)bt601, chroma-site=(string)jpeg, multiview-mode=(string)mono, multiview-flags=(GstVideoMultiviewFlagsSet)0:ffffffff:/right-view-first/left-flipped/left-flopped/right-flipped/right-flopped/half-aspect/mixed-mono, chroma-format=(string)4:2:0, bit-depth-luma=(uint)8, bit-depth-chroma=(uint)8, parsed=(boolean)true, level=(string)3
/GstPipeline:pipeline0/GstDecodeBin:decodebin0/avdec_h264:avdec_h264-0.GstPad:src: caps = video/x-raw, format=(string)I420, width=(int)679, height=(int)479, interlace-mode=(string)progressive, multiview-mode=(string)mono, multiview-flags=(GstVideoMultiviewFlagsSet)0:ffffffff:/right-view-first/left-flipped/left-flopped/right-flipped/right-flopped/half-aspect/mixed-mono, pixel-aspect-ratio=(fraction)1/1, chroma-site=(string)jpeg, colorimetry=(string)bt601, framerate=(fraction)30/1
/GstPipeline:pipeline0/GstAutoVideoSink:autovideosink0.GstGhostPad:sink.GstProxyPad:proxypad1: caps = video/x-raw, format=(string)I420, width=(int)679, height=(int)479, interlace-mode=(string)progressive, multiview-mode=(string)mono, multiview-flags=(GstVideoMultiviewFlagsSet)0:ffffffff:/right-view-first/left-flipped/left-flopped/right-flipped/right-flopped/half-aspect/mixed-mono, pixel-aspect-ratio=(fraction)1/1, chroma-site=(string)jpeg, colorimetry=(string)bt601, framerate=(fraction)30/1
/GstPipeline:pipeline0/GstAutoVideoSink:autovideosink0/GstD3D11VideoSink:autovideosink0-actual-sink-d3d11video.GstPad:sink: caps = video/x-raw, format=(string)I420, width=(int)679, height=(int)479, interlace-mode=(string)progressive, multiview-mode=(string)mono, multiview-flags=(GstVideoMultiviewFlagsSet)0:ffffffff:/right-view-first/left-flipped/left-flopped/right-flipped/right-flopped/half-aspect/mixed-mono, pixel-aspect-ratio=(fraction)1/1, chroma-site=(string)jpeg, colorimetry=(string)bt601, framerate=(fraction)30/1
/GstPipeline:pipeline0/GstAutoVideoSink:autovideosink0.GstGhostPad:sink: caps = video/x-raw, format=(string)I420, width=(int)679, height=(int)479, interlace-mode=(string)progressive, multiview-mode=(string)mono, multiview-flags=(GstVideoMultiviewFlagsSet)0:ffffffff:/right-view-first/left-flipped/left-flopped/right-flipped/right-flopped/half-aspect/mixed-mono, pixel-aspect-ratio=(fraction)1/1, chroma-site=(string)jpeg, colorimetry=(string)bt601, framerate=(fraction)30/1
/GstPipeline:pipeline0/GstDecodeBin:decodebin0.GstDecodePad:src_0.GstProxyPad:proxypad2: caps = video/x-raw, format=(string)I420, width=(int)679, height=(int)479, interlace-mode=(string)progressive, multiview-mode=(string)mono, multiview-flags=(GstVideoMultiviewFlagsSet)0:ffffffff:/right-view-first/left-flipped/left-flopped/right-flipped/right-flopped/half-aspect/mixed-mono, pixel-aspect-ratio=(fraction)1/1, chroma-site=(string)jpeg, colorimetry=(string)bt601, framerate=(fraction)30/1
Redistribute latency...
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
Redistribute latency...
New clock: GstSystemClock
handling interrupt.9.
Interrupt: Stopping pipeline ...
Execution ended after 0:00:06.646827000
Setting pipeline to NULL ...
Freeing pipeline ...
```
</details>https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1714How to install bad plugins in Windows2022-04-18T20:41:12ZAngela YanHow to install bad plugins in Windows**Version: 1.20.1**
**OS: Win 10**
I have installed the MSVC 64-bit and MinGW 64-bit package with complete installation. I even successfully built AWS Kinesis Video Stream Producer plugin on the same Windows system by referencing files ...**Version: 1.20.1**
**OS: Win 10**
I have installed the MSVC 64-bit and MinGW 64-bit package with complete installation. I even successfully built AWS Kinesis Video Stream Producer plugin on the same Windows system by referencing files from MSVC installation directory.
But I couldn't find bad plugins in either MSVC or MinGW directory. I would like to use **uvch264src** plugin in the Windows system.
May I know how to install good/ugly/bad plugins in Windows?
I have download the tar file from https://gstreamer.freedesktop.org/src/gst-plugins-bad/ but not sure if I can manually copy the extracted files into MSVC directory or copy to any specific path.
Not sure if it matters, first time install of MSVC and MinGW were using 'typical' installation and later launch the installer again, and modify the installation by manually select every single components. Also tried the 'complete installation' as an over-installation on existing installation. But still can't find bad plugin files in the installation.https://gitlab.freedesktop.org/gstreamer/meson-ports/ffmpeg/-/issues/28Update 4.4 / 4.3 branches for latest bug-fix releases2022-07-02T23:41:22ZTim-Philipp Müllertim@centricular.comUpdate 4.4 / 4.3 branches for latest bug-fix releaseshttps://git.ffmpeg.org/gitweb/ffmpeg.git/tags
# Todo
- [x] n4.4.2 -> https://gitlab.freedesktop.org/gstreamer/meson-ports/ffmpeg/-/merge_requests/67
- [x] n4.3.4 -> https://gitlab.freedesktop.org/gstreamer/meson-ports/ffmpeg/-/merge_re...https://git.ffmpeg.org/gitweb/ffmpeg.git/tags
# Todo
- [x] n4.4.2 -> https://gitlab.freedesktop.org/gstreamer/meson-ports/ffmpeg/-/merge_requests/67
- [x] n4.3.4 -> https://gitlab.freedesktop.org/gstreamer/meson-ports/ffmpeg/-/merge_requests/682022-07-14https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/967gstreamer pipeline EOS deadlock2023-07-04T17:09:55ZDan Sirbugstreamer pipeline EOS deadlockI have a java app that uses gstreamer to process some audio. My pipeline is:
udpsrc name=side1 address="loadtest3" retrieve-sender-address=false reuse=false port=17840 caps="application/x-rtp, media=(string)audio, payload=0, clock-rate=...I have a java app that uses gstreamer to process some audio. My pipeline is:
udpsrc name=side1 address="loadtest3" retrieve-sender-address=false reuse=false port=17840 caps="application/x-rtp, media=(string)audio, payload=0, clock-rate=(int)8000" timeout=10000000000 ! rtppcmudepay ! rtppcmupay min-ptime=1000000000 max-ptime=1000000000 mtu=10012 ! rtppcmudepay ! mulawdec ! interleave name=mix ! mulawenc ! appsink name=appsink wait-on-eos=false emit-signals=true sync=false async=false udpsrc name=side2 address="loadtest3" retrieve-sender-address=false reuse=false port=17842 caps="application/x-rtp, media=(string)audio, payload=0, clock-rate=(int)8000" ! rtppcmudepay ! rtppcmupay min-ptime=1000000000 max-ptime=1000000000 mtu=10012 ! rtppcmudepay ! mulawdec ! mix.
I do have over 200 pipelines running in parrallel and when the code sends an EOS in PLAYING state some of the pipelines are getting deadlocked into the sendEOS request.
For example, from 1693 pipelines executed I do get 67 that end-up in that deadlock.
In the end all thread executors will be 'stuck' in the sendEOS and the app fail processing new requests.
What I do not understand is why for some time, some EOS events are processed ok by gstreamer until all are getting in a deadlock in that send EOS event.
If I execute one pipeline there is no issue & the send EOS works ok - or at least I could not reproduce it.
![kW5S8](/uploads/bff065cb4074576a79a2036b78d2d9d1/kW5S8.png)https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/380Failed to use plugins of latest GStreamer version 1.20.x installed by brew on...2022-04-17T07:50:47ZAlbert CheungFailed to use plugins of latest GStreamer version 1.20.x installed by brew on macOSI have a test project to try gstreamer-rs examples with dependencies from crates.io.
It worked nicely at first, but after recent upgrade of gstreamer, the code no longer runs. It complains for missing element from various plugins, e.g. ...I have a test project to try gstreamer-rs examples with dependencies from crates.io.
It worked nicely at first, but after recent upgrade of gstreamer, the code no longer runs. It complains for missing element from various plugins, e.g. "no element playbin", "no element decodebin", etc:
I have pushed the test project to Github so you may try it with the project: [text](https://github.com/albertcsm/rust-gst-examples)
Here is what I see when I run the example
```
$ cargo run --bin basic-tutorial-1
Finished dev [unoptimized + debuginfo] target(s) in 0.10s
Running `target/debug/basic-tutorial-1`
thread '<unnamed>' panicked at 'called `Result::unwrap()` on an `Err` value: Error { domain: gst_parse_error, code: 1, message: "no element \"playbin\"" }', src/bin/basic-tutorial-1.rs:14:71
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
Versions of gstreamer and plugins are all 1.20.1. I forgot the previous version, probably it was 1.18.x.
I have no way to revert, as brew only supports installing the latest version. In fact, I didn't intend to upgrade gstreamer, but brew did it by itself when I install other unrelated brew formula.
```
I tried re-installing gstreamer, rust & toolchain, and upgraded macOS from 12.2 to 12.3.1, but none of them worked.
Then I check GStreamer's release notes, and note that it moved all modules (I suppose it include plugins) to single git repository in 1.20.0.
> Development in GitLab was switched to a single git repository containing all the modules
I guess this could be the reason I got the "no element playbin" error.https://gitlab.freedesktop.org/gstreamer/cerbero/-/issues/372Fetch issue with last GIT security patch (version 2.35.2)2022-09-21T10:16:57ZRubén GonzalezFetch issue with last GIT security patch (version 2.35.2)Error as root:
```
# wget wget https://ftpmirror.gnu.org/automake/automake-1.15.1.tar.xz
# tar xvf automake-1.15.1.tar.xz
# cd automake-1.15.1
# ls -l # Note user is jenkins (1000) instead of root
total 1520
-rw-r--r-- 1 jenkins jenkins...Error as root:
```
# wget wget https://ftpmirror.gnu.org/automake/automake-1.15.1.tar.xz
# tar xvf automake-1.15.1.tar.xz
# cd automake-1.15.1
# ls -l # Note user is jenkins (1000) instead of root
total 1520
-rw-r--r-- 1 jenkins jenkins 1516 Jun 18 2017 aclocal.m4
-rw-r--r-- 1 jenkins jenkins 553 Dec 20 2015 AUTHORS
drwxrwxr-x 2 jenkins jenkins 4096 Jun 19 2017 bin
-rwxrwxr-x 1 jenkins jenkins 3995 Jun 17 2017 bootstrap
-r--r--r-- 1 jenkins jenkins 816626 Jun 19 2017 ChangeLog
-rwxrwxr-x 1 jenkins jenkins 232853 Jun 18 2017 configure
-rw-rw-r-- 1 jenkins jenkins 22833 Jun 18 2017 configure.ac
drwxrwxr-x 4 jenkins jenkins 4096 Jun 19 2017 contrib
-rw-rw-r-- 1 jenkins jenkins 17987 Jun 17 2017 COPYING
drwxrwxr-x 3 jenkins jenkins 4096 Jun 19 2017 doc
-rwxrwxr-x 1 jenkins jenkins 13940 Jun 16 2017 gen-testsuite-part
-rw-rw-r-- 1 jenkins jenkins 3300 Jun 16 2017 GNUmakefile
-rw-rw-r-- 1 jenkins jenkins 17844 Jun 18 2017 HACKING
-rw-rw-r-- 1 jenkins jenkins 15752 Jun 17 2017 INSTALL
drwxrwxr-x 4 jenkins jenkins 4096 Jun 19 2017 lib
drwxrwxr-x 4 jenkins jenkins 4096 Jun 19 2017 m4
drwxrwxr-x 2 jenkins jenkins 4096 Jun 19 2017 maintainer
-rw-rw-r-- 1 jenkins jenkins 4278 Jun 16 2017 Makefile.am
-rw-r--r-- 1 jenkins jenkins 133420 Jun 18 2017 Makefile.in
-rw-rw-r-- 1 jenkins jenkins 124401 Jun 18 2017 NEWS
drwxrwxr-x 2 jenkins jenkins 4096 Jun 19 2017 old
drwxr-xr-x 4 jenkins jenkins 4096 Jun 17 2017 PLANS
-rw-rw-r-- 1 jenkins jenkins 2713 Jun 17 2017 README
drwxrwxr-x 6 jenkins jenkins 53248 Jun 19 2017 t
-rw-rw-r-- 1 jenkins jenkins 22998 Jun 17 2017 THANKS
# git init
hint: Using 'master' as the name for the initial branch. This default branch name
hint: is subject to change. To configure the initial branch name to use in all
hint: of your new repositories, which will suppress this warning, call:
hint:
hint: git config --global init.defaultBranch <name>
hint:
hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
hint: 'development'. The just-created branch can be renamed via this command:
hint:
hint: git branch -m <name>
Initialized empty Git repository in /tmp/a/automake-1.15.1/.git/
# git status
fatal: unsafe repository ('/tmp/a/automake-1.15.1' is owned by someone else)
To add an exception for this directory, call:
git config --global --add safe.directory /tmp/a/automake-1.15.1
# git config user.email "cerbero@gstreamer.freedesktop.org"
fatal: not in a git directory
```
Related to:
https://stackoverflow.com/questions/71849415/cannot-add-parent-directory-to-safe-directory-on-git
and
https://github.blog/2022-04-12-git-security-vulnerability-announced/
Solution is using `--no-same-owner` to extract files as yourself when running tar
Pending to implement python branch to unpack.
See: https://github.com/fluendo/cerbero/commit/88d13b87690912e832e98a93935273bd99987249https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1158master / main branches2022-04-16T08:50:35ZTechnetiummaster / main branchesThere is both a `master` and `main` branch at the same time. This should not be the case.There is both a `master` and `main` branch at the same time. This should not be the case.https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1157rtpgstpay: Header packets have bogus RTP timestamps2022-04-27T12:34:25ZSebastian Drögertpgstpay: Header packets have bogus RTP timestamps`rtpgstpay` is outputting its first packets before any input packet is received and as such before the input timestamps are known. This causes basepayload to output them with the RTP timestamp that corresponds to running time 0.
If the ...`rtpgstpay` is outputting its first packets before any input packet is received and as such before the input timestamps are known. This causes basepayload to output them with the RTP timestamp that corresponds to running time 0.
If the stream does not start at running time 0 this would cause a completely bogus RTP timestamp to be sent.
The only solution I can think of would be to delay the headers until the first input buffer arrived, but that would potentially delay them for a considerable amount of time and could break existing applications that assume that the headers arrive immediately in the beginning.https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1713gstwebrtcbin.c: retransmissions work with bundle-policy=max-bundle but not wi...2022-10-25T02:38:42ZMarkus Pollakgstwebrtcbin.c: retransmissions work with bundle-policy=max-bundle but not with default bundle-policyHello,
I've found a bug in gstwebrtcbin.c (https://github.com/GStreamer/gst-plugins-bad/blob/master/ext/webrtc/gstwebrtcbin.c) which causes retransmissions (RTX for NACKs) to not work in common scenarios. I've also found the root cause ...Hello,
I've found a bug in gstwebrtcbin.c (https://github.com/GStreamer/gst-plugins-bad/blob/master/ext/webrtc/gstwebrtcbin.c) which causes retransmissions (RTX for NACKs) to not work in common scenarios. I've also found the root cause and provide a detailed explanation:
**Setup:**
- Gstreamer installation based on restreamio/gstreamer:1.19.2.0-prod Docker image
- do-nack is set to true at the transceiver (fec-type is not set as I'm testing retransmissions only)
- gst1-java-core:1.4.0 is used to build up the pipeline
- Gstreamer is used to send a video stream (video only, no audio, send-only) to Chrome
- A range of multiple video source is used (rtspsrc, srtsrc, videotestsrc, ...)
- Chrome on Windows is used for receiving a video-stream via WebRTC
- H264 encoding (baseline and high profile) is used in different cases
- Clumsy is used for simulating packet loss (client-side)
**SDPs:**
The SDPs are correctly mentioning nack and rtx and pt mappings seem to be correct.
**SDP Offer:**
```
v=0
o=- 8338404406669528263 0 IN IP4 0.0.0.0
s=-
t=0 0
a=ice-options:trickle
m=video 9 UDP/TLS/RTP/SAVPF 97 96
c=IN IP4 0.0.0.0
a=setup:actpass
a=ice-ufrag:qt8YBq9p6brgGFJPTcOEZnpzNuGGaiZc
a=ice-pwd:IUzbx6zU7c1cAEpr9v8pUd8fQX4WMWc4
a=rtcp-mux
a=rtcp-rsize
a=sendonly
a=rtpmap:97 H264/90000
a=rtcp-fb:97 nack
a=rtcp-fb:97 nack pli
a=rtcp-fb:97 transport-cc
a=framerate:25
a=fmtp:97 packetization-mode=1;profile-level-id=4d001f;sprop-parameter-sets=Z00AH5Y1QKALdNwEBAUAAAcIAAFfkAQ=,aO48gA==
a=rtpmap:96 rtx/90000
a=fmtp:96 apt=97
a=ssrc-group:FID 2 876927395
a=ssrc:2 msid:user73081093@host-10bea89f webrtctransceiver4
a=ssrc:2 cname:user73081093@host-10bea89f
a=ssrc:876927395 msid:user73081093@host-10bea89f webrtctransceiver4
a=ssrc:876927395 cname:user73081093@host-10bea89f
a=mid:video0
a=fingerprint:sha-256 5A:BB:64:EB:DA:4C:59:AE:25:97:46:BA:18:BC:67:A1:8A:8B:30:15:B0:D3:F0:21:7C:43:95:79:DA:EA:66:25
a=rtcp-mux-only
```
**SDP Answer:**
```
v=0
o=- 9170499300271825649 2 IN IP4 127.0.0.1
s=-
t=0 0
a=msid-semantic: WMS
m=video 9 UDP/TLS/RTP/SAVPF 97 96
c=IN IP4 0.0.0.0
a=rtcp:9 IN IP4 0.0.0.0
a=ice-ufrag:eFrN
a=ice-pwd:8X4CVq0UQPKCyHgT9Mt+ArfF
a=ice-options:trickle
a=fingerprint:sha-256 9E:43:31:2F:55:64:63:76:53:B8:35:F9:9B:B9:AD:71:04:95:E2:F9:2A:66:71:2D:64:B0:26:42:E8:4D:CD:73
a=setup:active
a=mid:video0
a=recvonly
a=rtcp-mux
a=rtcp-rsize
a=rtpmap:97 H264/90000
a=rtcp-fb:97 transport-cc
a=rtcp-fb:97 nack
a=rtcp-fb:97 nack pli
a=fmtp:97 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=4d001f
a=rtpmap:96 rtx/90000
a=fmtp:96 apt=97
```
I can see that NACKs are sent by Chrome via chrome://webrtc-internals
The NACK count is increasing when packets are lost.
So far so good, but the retransmissions through Gstreamer don't work yet.
**I've debugged it and finally found the reason in gstwebrtcbin.c:**
on_rtpbin_request_aux_sender calls _set_rtx_ptmap_from_stream (webrtc, stream) after creating the rtprtxsend (rtx = gst_element_factory_make ("rtprtxsend", NULL)) while stream->rtxsend has not yet been set.
It's basically set at the end of on_rtpbin_request_aux_sender: stream->rtxsend = gst_object_ref (rtx);
I can verify that _set_rtx_ptmap_from_stream is called only once while rtprtxsend is null via the logs (GST_DEBUG='3,rtprtx*:5,webrtc*:6'):
```
0:01:19.678286676 6 0x7fd1c42d7060 DEBUG webrtcbin gstwebrtcbin.c:4313:_set_rtx_ptmap_from_stream:<transportstream0> setting payload map on (NULL) : (NULL) and application/x-rtp-pt-map, 97=(uint)96;
```
The following logs show that the retransmissions triggered by NACKs are not working:
```
0:01:19.679474693 6 0x7fd1c53bc700 WARN rtprtxsend gstrtprtxsend.c:655:gst_rtp_rtx_send_sink_event:<rtprtxsend0> Payload 97 not in rtx-pt-map
```
and
```
0:08:28.606424318 6 0x7fd1a1176c60 DEBUG rtprtxsend gstrtprtxsend.c:489:gst_rtp_rtx_send_src_event:<rtprtxsend0> got rtx request for seqnum: 31149, ssrc: 2
0:08:28.606434319 6 0x7fd1a1176c60 WARN rtprtxsend gstrtprtxsend.c:525:gst_rtp_rtx_send_src_event:<rtprtxsend0> requested seqnum 31149 has not been transmitted yet in the original stream; eithe
r the remote end is not configured correctly, or the source is too slow
0:08:28.606442719 6 0x7fd1a1176c60 DEBUG rtprtxsend gstrtprtxsend.c:489:gst_rtp_rtx_send_src_event:<rtprtxsend0> got rtx request for seqnum: 31150, ssrc: 2
0:08:28.606447819 6 0x7fd1a1176c60 WARN rtprtxsend gstrtprtxsend.c:525:gst_rtp_rtx_send_src_event:<rtprtxsend0> requested seqnum 31150 has not been transmitted yet in the original stream; eithe
r the remote end is not configured correctly, or the source is too slow
```
The lost packets are not received by Chrome too and the video stream starts freezing already at <5% packet loss.
This is problematic because _set_rtx_ptmap_from_stream only sets the "playload-type-map" if stream->rtxsend is set which is not the case:
```
if (stream->rtxreceive)
g_object_set (stream->rtxreceive, "payload-type-map", pt_map, NULL);
if (stream->rtxsend)
g_object_set (stream->rtxsend, "payload-type-map", pt_map, NULL);
```
A workaround is to use bundle-policy=max-bundle because in this case _set_rtx_ptmap_from_stream is called a second time from _update_transceiver_from_sdp_media:
```
if (!bundled || bundle_idx == media_idx) {
if (stream->rtxsend || stream->rtxreceive) {
_set_rtx_ptmap_from_stream (webrtc, stream);
}
g_object_set (stream, "dtls-client",
new_setup == GST_WEBRTC_DTLS_SETUP_ACTIVE, NULL);
}
```
**The workaround can be verified via logs too:**
The "payload-type-map" is set via _set_rtx_ptmap_from_stream at the second call (from _update_transceiver_from_sdp_media) with `stream->rtxsend` being not null:
```
0:01:11.110764316 7 0x7f9220b115e0 DEBUG webrtcbin gstwebrtcbin.c:4313:_set_rtx_ptmap_from_stream:<transportstream0> setting payload map on (NULL) : (NULL) and application/x-rtp-pt-map, 97=(uin
t)96;
0:01:11.111793531 7 0x7f9220b115e0 DEBUG webrtcbin gstwebrtcbin.c:4313:_set_rtx_ptmap_from_stream:<transportstream0> setting payload map on (NULL) : <rtprtxsend0> and application/x-rtp-pt-map,
97=(uint)96;
```
The requested packets are found and retransmitted:
```
0:02:35.661652056 7 0x7f91fc840d20 DEBUG rtprtxsend gstrtprtxsend.c:489:gst_rtp_rtx_send_src_event:<rtprtxsend0> got rtx request for seqnum: 45671, ssrc: 2
0:02:35.661658856 7 0x7f91fc840d20 DEBUG rtprtxsend gstrtprtxsend.c:405:gst_rtp_rtx_buffer_new:<rtprtxsend0> creating rtx buffer, orig seqnum: 45671, rtx seqnum: 58534, rtx ssrc: 851211DE
0:02:35.661680057 7 0x7f91fc840d20 DEBUG rtprtxsend gstrtprtxsend.c:489:gst_rtp_rtx_send_src_event:<rtprtxsend0> got rtx request for seqnum: 45672, ssrc: 2
0:02:35.661693457 7 0x7f91fc840d20 DEBUG rtprtxsend gstrtprtxsend.c:405:gst_rtp_rtx_buffer_new:<rtprtxsend0> creating rtx buffer, orig seqnum: 45672, rtx seqnum: 58535, rtx ssrc: 851211DE
0:02:35.661705557 7 0x7f91fc840d20 DEBUG rtprtxsend gstrtprtxsend.c:489:gst_rtp_rtx_send_src_event:<rtprtxsend0> got rtx request for seqnum: 45673, ssrc: 2
0:02:35.661715557 7 0x7f91fc840d20 DEBUG rtprtxsend gstrtprtxsend.c:405:gst_rtp_rtx_buffer_new:<rtprtxsend0> creating rtx buffer, orig seqnum: 45673, rtx seqnum: 58536, rtx ssrc: 851211DE
0:02:35.661726757 7 0x7f91fc840d20 DEBUG rtprtxsend gstrtprtxsend.c:489:gst_rtp_rtx_send_src_event:<rtprtxsend0> got rtx request for seqnum: 45674, ssrc: 2
```
Now the retransmission is working and the video stream is still stable at >20% packet loss.
I would appreciate if someone from the Gstreamer community could verify my bug report and fix it.
Thank you!
Best regards,
Markus Pollakhttps://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1155How to push multiple streams2022-11-10T09:21:12Z佳明刘How to push multiple streamsI want to convert one RTSP video stream into two UDP video streams. How to operate?
The following is a RTSP video stream converted into a UDP video stream:
`gst-launch-1.0 rtspsrc location="rtsp://192.168.10.40:554/user=admin&password=&...I want to convert one RTSP video stream into two UDP video streams. How to operate?
The following is a RTSP video stream converted into a UDP video stream:
`gst-launch-1.0 rtspsrc location="rtsp://192.168.10.40:554/user=admin&password=&channel=1&stream=0.sdp" latency=0 ! udpsink host=127.0.0.1 port=5620`
I want to convert one RTSP video stream into two UDP video streams,but it failed:
`gst-launch-1.0 rtspsrc location="rtsp://192.168.10.40:554/user=admin&password=&channel=1&stream=0.sdp" latency=0 ! udpsink host=127.0.0.1 port=5620 ! udpsink host=127.0.0.1 port=5621`https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/196[gtksink-gl-bits] Problem with the experimental GL implementation for GTK42023-02-02T18:28:02ZDániel Kolozsi[gtksink-gl-bits] Problem with the experimental GL implementation for GTK4Opening this issue as requested [here](https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1148#note_1341060), concerning [this](https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/588) merge request.
My `te...Opening this issue as requested [here](https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1148#note_1341060), concerning [this](https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/588) merge request.
My `test.py` is attached here: [test.py](/uploads/6c32dc6e693f77fff7ed1ff960876022/test.py) - Note that I hard-coded the video file location as `/home/daniel/video.mp4`.
Here's the output:
```
[daniel@fedoraPC ~]$ python3 test.py
thread '<unnamed>' panicked at 'Calling realize without surface set', video/gtk4/src/sink/imp.rs:472:18
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
fatal runtime error: failed to initiate panic, error 5
Aborted (core dumped)
```
And with more info:
```
[daniel@fedoraPC ~]$ RUST_BACKTRACE=1 python3 test.py
thread '<unnamed>' panicked at 'Calling realize without surface set', video/gtk4/src/sink/imp.rs:472:18
stack backtrace:
0: rust_begin_unwind
1: core::panicking::panic_fmt
2: core::panicking::panic_display
3: core::panicking::panic_str
4: core::option::expect_failed
5: core::option::Option<T>::expect
at /builddir/build/BUILD/rustc-1.60.0-src/library/core/src/option.rs:715:21
6: gstgtk4::sink::imp::PaintableSink::realize_context::{{closure}}
at ./gst-plugin-rs/video/gtk4/src/sink/imp.rs:470:27
7: core::ops::function::FnOnce::call_once
at /builddir/build/BUILD/rustc-1.60.0-src/library/core/src/ops/function.rs:227:5
8: gstgtk4::utils::invoke_on_main_thread::{{closure}}
at ./gst-plugin-rs/video/gtk4/src/utils.rs:13:19
9: glib::main_context::<impl glib::auto::main_context::MainContext>::invoke_unsafe::trampoline
at /root/.cargo/git/checkouts/gtk-rs-core-7be42ca38bd6361c/2263671/glib/src/main_context.rs:126:13
10: g_main_context_invoke_full
11: glib::main_context::<impl glib::auto::main_context::MainContext>::invoke_unsafe
at /root/.cargo/git/checkouts/gtk-rs-core-7be42ca38bd6361c/2263671/glib/src/main_context.rs:133:9
12: glib::main_context::<impl glib::auto::main_context::MainContext>::invoke_with_priority
at /root/.cargo/git/checkouts/gtk-rs-core-7be42ca38bd6361c/2263671/glib/src/main_context.rs:64:13
13: glib::main_context::<impl glib::auto::main_context::MainContext>::invoke
at /root/.cargo/git/checkouts/gtk-rs-core-7be42ca38bd6361c/2263671/glib/src/main_context.rs:48:9
14: gstgtk4::utils::invoke_on_main_thread
at ./gst-plugin-rs/video/gtk4/src/utils.rs:12:5
15: gstgtk4::sink::PaintableSink::create_paintable
at ./gst-plugin-rs/video/gtk4/src/sink/mod.rs:76:19
16: <gstgtk4::sink::imp::PaintableSink as glib::subclass::object::ObjectImpl>::property
at ./gst-plugin-rs/video/gtk4/src/sink/imp.rs:106:21
17: glib::subclass::object::property
at /root/.cargo/git/checkouts/gtk-rs-core-7be42ca38bd6361c/2263671/glib/src/subclass/object.rs:80:13
18: g_object_get_property
19: <unknown>
20: PyObject_GetAttr
21: _PyEval_EvalFrameDefault
22: <unknown>
23: <unknown>
24: g_closure_invoke
25: <unknown>
26: g_signal_emit_valist
27: g_signal_emit
28: <unknown>
29: g_application_run
30: ffi_call_unix64
31: ffi_call
32: <unknown>
33: <unknown>
34: _PyObject_Call
35: _PyEval_EvalFrameDefault
36: <unknown>
37: _PyEval_EvalFrameDefault
38: <unknown>
39: PyEval_EvalCode
40: <unknown>
41: <unknown>
42: <unknown>
43: _PyRun_SimpleFileObject
44: _PyRun_AnyFileObject
45: Py_RunMain
46: Py_BytesMain
47: __libc_start_call_main
48: __libc_start_main_impl
49: _start
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
fatal runtime error: failed to initiate panic, error 5
Aborted (core dumped)
```
Finally with full backtrace:
```
[daniel@fedoraPC ~]$ RUST_BACKTRACE=full python3 test.py
thread '<unnamed>' panicked at 'Calling realize without surface set', video/gtk4/src/sink/imp.rs:472:18
stack backtrace:
0: 0x7f026007258c - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h572300f0ebfde2a7
1: 0x7f026008cd8c - core::fmt::write::h9a40954895def713
2: 0x7f0260070411 - std::io::Write::write_fmt::h589135a83419f2d6
3: 0x7f0260073b05 - std::panicking::default_hook::{{closure}}::h619386df4f38a529
4: 0x7f02600737c4 - std::panicking::default_hook::ha87f40e82c315143
5: 0x7f0260074238 - std::panicking::rust_panic_with_hook::h220e25558f92196d
6: 0x7f0260073f47 - std::panicking::begin_panic_handler::{{closure}}::hffd3696cd0a1a22a
7: 0x7f0260072a24 - std::sys_common::backtrace::__rust_end_short_backtrace::hbec50169ea271f2f
8: 0x7f0260073c69 - rust_begin_unwind
9: 0x7f0260025113 - core::panicking::panic_fmt::h5f7f26e7daf91179
10: 0x7f026008be81 - core::panicking::panic_display::hebdf3323cf544adf
11: 0x7f026008be2b - core::panicking::panic_str::he95875ad20123cf6
12: 0x7f0260024f86 - core::option::expect_failed::hb268047d949e0471
13: 0x7f026002bb19 - core::option::Option<T>::expect::h263de80e31e0ea82
at /builddir/build/BUILD/rustc-1.60.0-src/library/core/src/option.rs:715:21
14: 0x7f026002bb19 - gstgtk4::sink::imp::PaintableSink::realize_context::{{closure}}::h31c73d1cbcf49fde
at /home/daniel/gst-plugin-rs/video/gtk4/src/sink/imp.rs:470:27
15: 0x7f026002bb19 - core::ops::function::FnOnce::call_once::h1f90c3eda1ff9a85
at /builddir/build/BUILD/rustc-1.60.0-src/library/core/src/ops/function.rs:227:5
16: 0x7f026002bb19 - gstgtk4::utils::invoke_on_main_thread::{{closure}}::h8dada273288baf0f
at /home/daniel/gst-plugin-rs/video/gtk4/src/utils.rs:13:19
17: 0x7f026002bb19 - glib::main_context::<impl glib::auto::main_context::MainContext>::invoke_unsafe::trampoline::had6609d2dca786fa
at /root/.cargo/git/checkouts/gtk-rs-core-7be42ca38bd6361c/2263671/glib/src/main_context.rs:126:13
18: 0x7f0266ff1935 - g_main_context_invoke_full
19: 0x7f026002fed4 - glib::main_context::<impl glib::auto::main_context::MainContext>::invoke_unsafe::h7890580065f30f4b
at /root/.cargo/git/checkouts/gtk-rs-core-7be42ca38bd6361c/2263671/glib/src/main_context.rs:133:9
20: 0x7f026002fed4 - glib::main_context::<impl glib::auto::main_context::MainContext>::invoke_with_priority::hb8fea6a681f9f68e
at /root/.cargo/git/checkouts/gtk-rs-core-7be42ca38bd6361c/2263671/glib/src/main_context.rs:64:13
21: 0x7f026002fed4 - glib::main_context::<impl glib::auto::main_context::MainContext>::invoke::hb57e828e47c79c7c
at /root/.cargo/git/checkouts/gtk-rs-core-7be42ca38bd6361c/2263671/glib/src/main_context.rs:48:9
22: 0x7f026002fed4 - gstgtk4::utils::invoke_on_main_thread::hfb2bfcf591527ce2
at /home/daniel/gst-plugin-rs/video/gtk4/src/utils.rs:12:5
23: 0x7f026004945e - gstgtk4::sink::PaintableSink::create_paintable::ha5c83e6ffbce3494
at /home/daniel/gst-plugin-rs/video/gtk4/src/sink/mod.rs:76:19
24: 0x7f026004ff7b - <gstgtk4::sink::imp::PaintableSink as glib::subclass::object::ObjectImpl>::property::h70abb69374c25e82
at /home/daniel/gst-plugin-rs/video/gtk4/src/sink/imp.rs:106:21
25: 0x7f026002ddad - glib::subclass::object::property::hd0415db3f60c023d
at /root/.cargo/git/checkouts/gtk-rs-core-7be42ca38bd6361c/2263671/glib/src/subclass/object.rs:80:13
26: 0x7f0266f42831 - g_object_get_property
27: 0x7f026711c832 - <unknown>
28: 0x7f02678c177a - PyObject_GetAttr
29: 0x7f02678ba787 - _PyEval_EvalFrameDefault
30: 0x7f02678b4600 - <unknown>
31: 0x7f026711b94a - <unknown>
32: 0x7f0266f30c7f - g_closure_invoke
33: 0x7f0266f4d126 - <unknown>
34: 0x7f0266f4e9ea - g_signal_emit_valist
35: 0x7f0266f4ec03 - g_signal_emit
36: 0x7f0266da3188 - <unknown>
37: 0x7f0266da3366 - g_application_run
38: 0x7f0267affc04 - ffi_call_unix64
39: 0x7f0267aff108 - ffi_call
40: 0x7f0267118e1b - <unknown>
41: 0x7f02671178d6 - <unknown>
42: 0x7f02678cad98 - _PyObject_Call
43: 0x7f02678b8715 - _PyEval_EvalFrameDefault
44: 0x7f02678b4600 - <unknown>
45: 0x7f02678b5ba3 - _PyEval_EvalFrameDefault
46: 0x7f02678b4600 - <unknown>
47: 0x7f02679304e4 - PyEval_EvalCode
48: 0x7f0267962a24 - <unknown>
49: 0x7f026795dba6 - <unknown>
50: 0x7f026782fa96 - <unknown>
51: 0x7f0267957ea2 - _PyRun_SimpleFileObject
52: 0x7f0267957c57 - _PyRun_AnyFileObject
53: 0x7f0267954e44 - Py_RunMain
54: 0x7f026792170d - Py_BytesMain
55: 0x7f02675c7560 - __libc_start_call_main
56: 0x7f02675c760c - __libc_start_main_impl
57: 0x5587c917f095 - _start
58: 0x0 - <unknown>
fatal runtime error: failed to initiate panic, error 5
Aborted (core dumped)
```Jordan PetridіsJordan Petridіs