GStreamer issueshttps://gitlab.freedesktop.org/groups/gstreamer/-/issues2023-09-04T17:13:01Zhttps://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2955hlssink2 get-fragment-stream callback does not work if I call with after flag...2023-09-04T17:13:01ZGuru Govindanhlssink2 get-fragment-stream callback does not work if I call with after flag set to trueGstreamer version: 1.20.5
I have a rust pipeline that needs to know when a ts segment is written so that we can do some additional processing. I setup a signal callback for the "get-fragment-stream" and set the after value boolean to t...Gstreamer version: 1.20.5
I have a rust pipeline that needs to know when a ts segment is written so that we can do some additional processing. I setup a signal callback for the "get-fragment-stream" and set the after value boolean to true so that I get notified after the default callback is called.
But if I set the after to true, I dont get notified at all after the file segments are written. It works if I set the flag to false that is before calling the default implementation.
The following is a code snippet of how it is implemented. I tried both the "connect" and "connect_closure" and it is the same result.
```
vod_sink.connect_closure(
"get-fragment-stream",
true, // after
glib::closure!(
move |_elem: &Element, filename: &str| -> FileOutputStream {
//TODO: use the file name to probe the file
let file = File::for_path(filename);
log::info!("vod-sink connect_closure callback filename={}", filename);
match fs::metadata(&filename) {
Ok(info) => log::info!("found the file in the path created={:?}", info.created()),
Err(e) => log::error!("The file is not yet created={}", filename),
}
file.replace(None, false, FileCreateFlags::NONE, Cancellable::NONE).unwrap()
}),
);
```https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1001gst-plugins-bad depends on two different versions webrtc-audio-processing2023-09-04T15:44:40ZJan Tojnargst-plugins-bad depends on two different versions webrtc-audio-processingWhen updating gst-plugins-bad to 1.20.0 on NixOS, we noticed that it depends on two different versions of webrtc-audio-processing:
* `isac` plug-in requires ≥ 1.0: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/blob/6434d69f8c1ed9...When updating gst-plugins-bad to 1.20.0 on NixOS, we noticed that it depends on two different versions of webrtc-audio-processing:
* `isac` plug-in requires ≥ 1.0: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/blob/6434d69f8c1ed94271c4fa9c8ce6275106e42dd0/subprojects/gst-plugins-bad/ext/isac/meson.build#L1
* `webrtcdsp` plug-in requires < 0.4: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/blob/6434d69f8c1ed94271c4fa9c8ce6275106e42dd0/subprojects/gst-plugins-bad/ext/webrtcdsp/meson.build#L7
Can’t this cause symbol conflicts at runtime?
Downstream discussion: https://github.com/NixOS/nixpkgs/pull/158280https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2954pipeline deadlocking after dropping frames continuously2023-09-04T14:59:38ZMartin Gerovpipeline deadlocking after dropping frames continuously#### Intro
I have an application, which splits to three separate buffers(stream, multifilesrc0, multifilesrc1), but on one of the branches buffer must continue downstream on event, else -> DROP buffers.
I must be able to Drop buffe...#### Intro
I have an application, which splits to three separate buffers(stream, multifilesrc0, multifilesrc1), but on one of the branches buffer must continue downstream on event, else -> DROP buffers.
I must be able to Drop buffers for roughly 2 seconds. That's when a new event is attached.
#### Expected result
I am expecting a non-stopping stream, file-save from one of the multifilesrc elements and file save from the other based on event.
#### Observing
After dropping three or more, continuous frame, the pipeline looks like has deadlocked.
#### Setup
- **Operating System:** Linux 22.04
- **Device:** tested on Computer and Jetson
- **GStreamer Version:** GStreamer Core Library version 1.20.3
#### Steps to reproduce the issue:
Have made a simple minimal example application
[neural-network-test.py](/uploads/ccf639275359dcd25564fa7f2e5b3e67/neural-network-test.py)
### How reproducible is the bug?
The reproducibility of the bug is Always
### Screenshots if relevant
![image](/uploads/d4b199be5aeaa5b09c7057cf47bc3fbf/image.png)
### Solutions you have tried
different memory type
all leaky types in queue
no synchronization in sink elements.https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/416support av1 on cmafmux2023-09-04T14:23:10ZFlavio Ribeirosupport av1 on cmafmuxI'm creating this issue just to discuss the complexity of extending the cmafmux to accommodate for AV1 video from elements like
[rav1enc](https://gstreamer.freedesktop.org/documentation/rav1e/index.html?gi-language=c#rav1enc-page). I sh...I'm creating this issue just to discuss the complexity of extending the cmafmux to accommodate for AV1 video from elements like
[rav1enc](https://gstreamer.freedesktop.org/documentation/rav1e/index.html?gi-language=c#rav1enc-page). I should follow up here when I spend more time looking at the spec details and the [gpac/mp4box](https://github.com/gpac/gpac/wiki/rfav1) implementation.
reference: https://aomediacodec.github.io/av1-isobmff/https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1784Add metadata to every video frame with GStreamer and save whole video2023-09-04T12:28:34Zbobby jacksonAdd metadata to every video frame with GStreamer and save whole videoI have a pipeline as below in C++;
`GstElement* pipeline = gst_pipeline_new("video_pipeline");
GstElement* videoSrc = gst_element_factory_make("filesrc", "video_source");
GstElement* decoder = gst_element_factory_make("decodebin...I have a pipeline as below in C++;
`GstElement* pipeline = gst_pipeline_new("video_pipeline");
GstElement* videoSrc = gst_element_factory_make("filesrc", "video_source");
GstElement* decoder = gst_element_factory_make("decodebin", "decoder");
GstElement* nvvideoconvert = gst_element_factory_make("nvvideoconvert", "nvidiaconverter");
GstElement* videoConvert = gst_element_factory_make("videoconvert", "convert");
GstElement* videoScale = gst_element_factory_make("videoscale", "video_scale");
GstElement* videoFilter = gst_element_factory_make("capsfilter", "filter");
GstElement* encoder = gst_element_factory_make("vp8enc", "encoder");
GstElement* mux = gst_element_factory_make("avimux", "muxer");
GstElement* videoSink = gst_element_factory_make("filesink", "video_sink");`
We want to add and read metadata(i.e. frame number for every frame) with "GstMeta", "gst_buffer_add_meta", "gst_buffer_get_meta" functions. Saved video must be this metadata(frame number).
We can add metadata to buffer and also read metadata but we cannot save video with metadata. We rescreach this problem but "gst_buffer_add_meta" function add metadata only in buffer not video file.
How can i save video with metadata for every frame?
Thanks in advance!https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2913splitmuxsrc: If set range the splitmuxsrc, This output file cannot be played ...2023-09-04T08:40:14ZShigeharu Kamiyasplitmuxsrc: If set range the splitmuxsrc, This output file cannot be played with VLC Player.Hello.
I am Kamiya.
I posted the following to the mailling list.
But it may be bug, so I posted here, too.
-------------------------------------------------------------------------
I tried the followin pipeline with C++ coding (Proper...Hello.
I am Kamiya.
I posted the following to the mailling list.
But it may be bug, so I posted here, too.
-------------------------------------------------------------------------
I tried the followin pipeline with C++ coding (Properties are omitted).
`pipeline1 : splitmuxsrc ! h264parse ! queue ! qtmux ! filesink`
The created media file can be played correctly with any player.
But, if I changed range "start" to bigger than 0 with gst_event_new_seek,
the VLC player could not play the created media file.
It's movie stopped after a few seconds playing, but only the player's slider is moving to the last.
The first of buffer is not GST_BUFFER_FLAG_DELTA_UNIT.
On the other hand, in the case of the following pipeline without splitmuxsrc,
The created media file can be played correctly with any player contains the VLC,
even ifI changed range "start" to bigger than 0 with gst_event_new_seek.
`pipeline2 : filesrc ! qtdemux ! h264parse ! queue ! qtmux ! filesink`
I tried the pipeline1 which changed H.265.
The result was the same, but the following error occurred in gst-discover analysis.
```
ERROR libav :0:: Duplicate POC in a sequence: 3.
ERROR libav :0:: Duplicate POC in a sequence: 4.
```
I would like to combine some media files. So I hope pipeline1.
I don't know what the problem is and how the next action is.
please help me.
Best regards,
Kamiya.https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2929av1enc: videotestsrc av1enc error ERROR: pipeline doesn't want to preroll2023-09-04T08:35:29Zmetal A-wingav1enc: videotestsrc av1enc error ERROR: pipeline doesn't want to prerollhttps://gstreamer.freedesktop.org/documentation/aom/av1enc.html
### environment debian
```Dockerfile
FROM debian:bookworm-20230814
RUN apt update -y && apt install -y --no-install-recommends libgstreamer1.0-dev gstreamer1.0-tools \
...https://gstreamer.freedesktop.org/documentation/aom/av1enc.html
### environment debian
```Dockerfile
FROM debian:bookworm-20230814
RUN apt update -y && apt install -y --no-install-recommends libgstreamer1.0-dev gstreamer1.0-tools \
libgstreamer-plugins-base1.0-dev gstreamer1.0-plugins-base \
gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly
```
ERROR: pipeline doesn't want to preroll.
```bash
gst-launch-1.0 videotestsrc num-buffers=50 ! av1enc ! webmmux ! filesink location=av1.webm
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
Redistribute latency...
ERROR: from element /GstPipeline:pipeline0/GstVideoTestSrc:videotestsrc0: Internal data stream error.
Additional debug info:
../libs/gst/base/gstbasesrc.c(3132): gst_base_src_loop (): /GstPipeline:pipeline0/GstVideoTestSrc:videotestsrc0:
streaming stopped, reason not-negotiated (-4)
ERROR: pipeline doesn't want to preroll.
Setting pipeline to NULL ...
Freeing pipeline ...
```
* * *
### environment alpine
```Dockerfile
FROM alpine:3.18.3
RUN apk add --no-cache gstreamer gstreamer-dev libnice-gstreamer gstreamer-tools gst-plugins-good gst-plugins-base gst-plugins-bad
```
Segmentation fault (core dumped)
```bash
/ # gst-launch-1.0 -v videotestsrc num-buffers=50 ! av1enc ! webmmux ! filesink location=av1.webm
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
/GstPipeline:pipeline0/GstVideoTestSrc:videotestsrc0.GstPad:src: caps = video/x-raw, width=(int)320, height=(int)240, framerate=(fraction)30/1, format=(string)I420, multiview-mode=(string)mo
no, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive
Redistribute latency...
/GstPipeline:pipeline0/GstAV1Enc:av1enc0.GstPad:sink: caps = video/x-raw, width=(int)320, height=(int)240, framerate=(fraction)30/1, format=(string)I420, multiview-mode=(string)mono, pixel-a
spect-ratio=(fraction)1/1, interlace-mode=(string)progressive
Segmentation fault (core dumped)
```
* * *
### environment archlinux
```Dockerfile
FROM archlinux:base-20230723.0.166908
RUN pacman -Syy && pacman -S --noconfirm gstreamer gst-plugins-good gst-plugins-base gst-plugins-bad
```
It is normal
```bash
gst-launch-1.0 videotestsrc num-buffers=50 ! av1enc ! webmmux ! filesink location=av1.webm
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
Redistribute latency...
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
Redistribute latency...
New clock: GstSystemClock
Got EOS from element "pipeline0".
Execution ended after 0:00:35.768311266
Setting pipeline to NULL ...
Freeing pipeline ...
```https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/1026Params to get Interlaced signal from SDI (v4l2src plugin)2023-09-04T07:21:15ZDmitry sdmParams to get Interlaced signal from SDI (v4l2src plugin)### Signal from SDI capture card:
`# mwcap-info -i /dev/video1`
```
Input specific
Signal status .......................... Valid
Type ................................... HD
Scanning type .......................... Interlaced
C...### Signal from SDI capture card:
`# mwcap-info -i /dev/video1`
```
Input specific
Signal status .......................... Valid
Type ................................... HD
Scanning type .......................... Interlaced
Color depth ............................ 10 Bits
Sampling struct ........................ Y/Cb/Cr, 4:2:2
ST352 payloadID ........................ 16778629
```
### gst-launch-1.0 v4l2src shown options for SDI capture card:
`# gst-launch-1.0 --gst-debug=v4l2src:5 v4l2src device=/dev/video1 ! fakesink 2>&1 | sed -une '/caps of src/ s/[:;] /\n/gp'`
```
...
video/x-raw, format=(string)I420, width=(int)[ 48, 2048 ], height=(int)[ 32, 2160 ], framerate=(fraction)[ 1/1, 5000000/83333 ]
video/x-raw(format:Interlaced), format=(string)I420, width=(int)[ 48, 2048 ], height=(int)[ 32, 2160 ], framerate=(fraction)[ 1/1, 5000000/83333 ], interlace-mode=(string)alternate
...
```
### command for get NDI from SDI:
```gst-launch-1.0 -e v4l2src device="/dev/video1" do-timestamp=true pixel-aspect-ratio=1 ! video/x-raw, format=I420, width=1920, height=1080, framerate=50/1, interlace-mode=interlaced ! queue ! ndisinkcombiner name=combiner alsasrc device="hw:CARD=SDI_1,DEV=0" do-timestamp=true ! audio/x-raw, rate=96000, channels=2 ! queue ! audioconvert ! combiner.audio combiner. ! ndisink ndi-name="video1"```
i think that something wrong with interlace-mode= option, because my
### tests results is follow:
1) without option interlace-mode= - NDI Studio Monitor shown - 1080 50p
2) interlace-mode=Interlaced / interlace-mode=interlaced - NDI Studio Monitor shown - 1080 50p
3) interlace-mode=alternate - ERROR: from element /GstPipeline:pipeline0/GstV4l2Src:v4l2src0: Invalid caps
Additional debug info:
../sys/v4l2/gstv4l2object.c(4078): gst_v4l2_object_set_format_full (): /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:
Can't parse caps video/x-raw, format=(string)I420, width=(int)1920, height=(int)1080, framerate=(fraction)50/1, interlace-mode=(string)alternate, pixel-aspect-ratio=(fraction)1/1
ERROR: from element /GstPipeline:pipeline0/GstV4l2Src:v4l2src0: Internal data stream error.
4) interlace-mode=interleaved - ERROR: from element /GstPipeline:pipeline0/GstV4l2Src:v4l2src0: Device '/dev/video1' has no supported format
I have found this link:
[gstreamer.freedesktop.org - raw-video-media-types](https://gstreamer.freedesktop.org/documentation/additional/design/mediatype-video-raw.html?gi-language=c#raw-video-media-types)
with options: [progressive, interleaved, mixed, fields, alternate]
and this link:
[gstreamer.freedesktop.org - GstDeinterlaceModes](https://gstreamer.freedesktop.org/documentation/deinterlace/index.html?gi-language=c#GstDeinterlaceModes)
with options: [auto, interlaced, disabled, auto-strict]
Which one i need to use in for parse caps?
**Maybe i need to use escape symbols for correct parse video/x-raw(format:Interlaced) ?**
Problem, that i split signat to NDI and RTSP and
final stream - rtsp://*.*.*.*:8554/video1
shown 50 fps progressive, but i need 25 fps progressive for get less redundancy
ffprobe.exe rtsp://*.*.*.*:8554/video1
Input #0, rtsp, from 'rtsp://*.*.*.*:8554/video1':
Metadata:
title : Stream
Duration: N/A, start: 0.101708, bitrate: N/A
Stream #0:0: Audio: opus, 48000 Hz, stereo, fltp
Stream #0:1: Video: h264 (High), yuv420p(tv, bt709, **progressive**), 1920x1080 [SAR 1:1 DAR 16:9], **50 fps**, 50 tbr, 90k tbn
**What i need to get 1080 50i for NDI (approximately as a RAW signal), at same time i use this signal for deinterlace it as 25p to RTSP**https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2951monoscope element fails caps re-negotiation with glimagesink2023-09-04T06:46:29ZJakub Adammonoscope element fails caps re-negotiation with glimagesink`gst-launch-1.0 audiotestsrc ! monoscope ! glimagesink` stops after playing one frame on not-negotiated error.
When debugging the problem I noticed that the initial caps negotiation completes successfully and the pipeline goes to PLAY...`gst-launch-1.0 audiotestsrc ! monoscope ! glimagesink` stops after playing one frame on not-negotiated error.
When debugging the problem I noticed that the initial caps negotiation completes successfully and the pipeline goes to PLAYING.
* `monoscope.src` and `gluploadelement.sink` settle on `video/x-raw, format=(string)BGRx, width=(int)256, height=(int)128, framerate=(fraction)25/1`
* From an allocation query, `monoscope` picks an instance of `GstGLBufferPool` for its buffer allocations
* When the first buffer generated by `monoscope` gets passed to `gst_gl_upload_perform_with_buffer()`, `gluploadelement` selects "GLMemory" upload method.
* The first buffer gets uploaded and displayed.
Later on in `gst_monoscope_chain()` `monoscope` decides to renegotiate the caps and calls `gst_monoscope_src_negotiate()`:
* caps query on the peer pad (`gluploadelement.sink`) now returns only a set of `video/x-raw(memory:GLMemory)` caps, based on previously selected "GLMemory" upload method.
* However, `monoscope` supports only system memory `video/x-raw` caps on its srcpad, so there's an empty intersection between the pads' caps and `monoscope` returns `GST_FLOW_NOT_NEGOTIATED`.
So there's a discrepancy between the supported caps `monoscope` advertises for its srcpad and the fact it's actually using `GstGLBufferPool` obtained from an allocation query. I'm not sure what would be the best way to fix this issue.
![pip.svg](/uploads/fcc5d1673fed85c103a137974612e320/pip.svg)https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/483How to set a special property in a plugin under strict type check2023-09-01T09:47:23Zway zhaoHow to set a special property in a plugin under strict type checkI am a rookie for gstreamer-rs and English is not my native language.
I got a problem as follow:
`
let src = gst::ElementFactory::make("videotestsrc").build().unwrap();
src.set_property("pattern", &0i32);
`
and I got a error: type 'Gst...I am a rookie for gstreamer-rs and English is not my native language.
I got a problem as follow:
`
let src = gst::ElementFactory::make("videotestsrc").build().unwrap();
src.set_property("pattern", &0i32);
`
and I got a error: type 'GstVideoTestSrc' can't be set from the given type (expected: 'GstVideoTestSrcPattern', got: 'gint')'
How to set a special property like above which has a special type like 'GstVideoTestSrcPattern'?
I read the document about 'videotestsrc' and the 'GstVideoTestSrcPattern' is a enum.
Is there any way to declare a GValue which can satisfy the strict type check ?
I would appreciate it if anyone could help me.https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2950elements_svthevcenc test failure2023-08-31T17:35:36ZApterykselements_svthevcenc test failureSystem: Guix System
Version: 1.22.2
Hello,
Using my trusty old Core 2 Duo desktop (Q6700 with 8 GiB of RAM), I encountered the following test failure:
```
Summary of Failures:
35/87 elements_svthevcenc FAIL 5.04...System: Guix System
Version: 1.22.2
Hello,
Using my trusty old Core 2 Duo desktop (Q6700 with 8 GiB of RAM), I encountered the following test failure:
```
Summary of Failures:
35/87 elements_svthevcenc FAIL 5.04s exit status 3
Ok: 84
Expected Fail: 0
Fail: 1
Unexpected Pass: 0
Skipped: 2
Timeout: 0
```
Detailed output:
```
35/87 elements_svthevcenc FAIL 5.04s exit status 3
>>> GST_PLUGIN_LOADING_WHITELIST=gstreamer:gst-plugins-base:gst-plugins-good:gst-plugins-ugly:gst-libav:libnice:gst-plugins-bad@/tmp/guix-build-gst-plugins-bad-1.22.2.drv-0/build GST_REGISTRY=/tmp/guix-build-gst-plugins-bad-1.22.2.drv-0/build/tests/check/elements_svthevcenc.registry GST_PLUGIN_SYSTEM_PATH_1_0=/gnu/store/dq13628r3p0w38lpg3lf4bn5jpan44nl-gst-plugins-good-1.22.2/lib/gstreamer-1.0 MALLOC_PERTURB_=125 GST_PLUGIN_SCANNER_1_0=/gnu/store/mz98ydpwa7hn5ky0q3g0xf66ps2ycfm2-gstreamer-1.22.2/libexec/gstreamer-1.0/gst-plugin-scanner GST_STATE_IGNORE_ELEMENTS='' CK_DEFAULT_TIMEOUT=600 GST_PLUGIN_PATH_1_0=/tmp/guix-build-gst-plugins-bad-1.22.2.drv-0/build:/gnu/store/mz98ydpwa7hn5ky0q3g0xf66ps2ycfm2-gstreamer-1.22.2/lib/gstreamer-1.0:/gnu/store/wlai2f9pl1mwjcykx1gn48a4blr14n71-gst-plugins-base-1.22.2/lib/gstreamer-1.0 LD_LIBRARY_PATH=/tmp/guix-build-gst-plugins-bad-1.22.2.drv-0/build/gst-libs/gst/interfaces:/tmp/guix-build-gst-plugins-bad-1.22.2.drv-0/build/gst-libs/gst/basecamerabinsrc:/tmp/guix-build-gst-plugins-bad-1.22.2.drv-0/build/gst-libs/gst/uridownloader /tmp/guix-build-gst-plugins-bad-1.22.2.drv-0/build/tests/check/elements_svthevcenc
――――――――――――――――――――――――――――――――――――― ✀ ―――――――――――――――――――――――――――――――――――――
Running suite(s): svthevcenc
SVT [version]: SVT-HEVC Encoder Lib v1.5.1
SVT [build] : GCC 11.3.0 64 bit
LIB Build date: Jan 1 1970 00:00:01
-------------------------------------------
Number of logical cores available: 4
Number of PPCS 77
-------------------------------------------
SVT [config]: Main Profile Tier (auto) Level (auto)
SVT [config]: EncoderMode / Tune : 9 / 1
SVT [config]: EncoderBitDepth / CompressedTenBitFormat / EncoderColorFormat : 8 / 0 / 1
SVT [config]: SourceWidth / SourceHeight / InterlacedVideo : 320 / 240 / 0
SVT [config]: Fps_Numerator / Fps_Denominator / Gop Size / IntraRefreshType : 25 / 1 / 24 / -1
SVT [config]: HierarchicalLevels / BaseLayerSwitchMode / PredStructure : 3 / 0 / 2
SVT [config]: BRC Mode / QP / LookaheadDistance / SceneChange : CQP / 25 / 40 / 1
SVT [config]: BitRateReduction / ImproveSharpness : 0 / 0
SVT [config]: tileColumnCount / tileRowCount / tileSliceMode / Constraint MV : 1 / 1 / 0 / 0
SVT [config]: De-blocking Filter / SAO Filter : 1 / 1
SVT [config]: HME / UseDefaultHME : 1 / 1
SVT [config]: MV Search Area Width / Height : 16 / 7
SVT [config]: HRD / VBV MaxRate / BufSize / BufInit : 0 / 0 / 0 / 90
-------------------------------------------
SVT [version]: SVT-HEVC Encoder Lib v1.5.1
SVT [build] : GCC 11.3.0 64 bit
LIB Build date: Jan 1 1970 00:00:01
-------------------------------------------
Number of logical cores available: 4
Number of PPCS 77
-------------------------------------------
SVT [config]: Main Profile Tier (auto) Level (auto)
SVT [config]: EncoderMode / Tune : 9 / 1
SVT [config]: EncoderBitDepth / CompressedTenBitFormat / EncoderColorFormat : 8 / 0 / 1
SVT [config]: SourceWidth / SourceHeight / InterlacedVideo : 320 / 240 / 0
SVT [config]: Fps_Numerator / Fps_Denominator / Gop Size / IntraRefreshType : 25 / 1 / 24 / -1
SVT [config]: HierarchicalLevels / BaseLayerSwitchMode / PredStructure : 3 / 0 / 2
SVT [config]: BRC Mode / QP / LookaheadDistance / SceneChange : CQP / 25 / 40 / 1
SVT [config]: BitRateReduction / ImproveSharpness : 0 / 0
SVT [config]: tileColumnCount / tileRowCount / tileSliceMode / Constraint MV : 1 / 1 / 0 / 0
SVT [config]: De-blocking Filter / SAO Filter : 1 / 1
SVT [config]: HME / UseDefaultHME : 1 / 1
SVT [config]: MV Search Area Width / Height : 16 / 7
SVT [config]: HRD / VBV MaxRate / BufSize / BufInit : 0 / 0 / 0 / 90
-------------------------------------------
SVT [version]: SVT-HEVC Encoder Lib v1.5.1
SVT [build] : GCC 11.3.0 64 bit
LIB Build date: Jan 1 1970 00:00:01
-------------------------------------------
Number of logical cores available: 4
Number of PPCS 77
-------------------------------------------
SVT [config]: Main Profile Tier (auto) Level (auto)
SVT [config]: EncoderMode / Tune : 7 / 1
SVT [config]: EncoderBitDepth / CompressedTenBitFormat / EncoderColorFormat : 8 / 0 / 1
SVT [config]: SourceWidth / SourceHeight / InterlacedVideo : 320 / 240 / 0
SVT [config]: Fps_Numerator / Fps_Denominator / Gop Size / IntraRefreshType : 25 / 1 / 24 / -1
SVT [config]: HierarchicalLevels / BaseLayerSwitchMode / PredStructure : 3 / 0 / 2
SVT [config]: BRC Mode / QP / LookaheadDistance / SceneChange : CQP / 25 / 40 / 1
SVT [config]: BitRateReduction / ImproveSharpness : 0 / 0
SVT [config]: tileColumnCount / tileRowCount / tileSliceMode / Constraint MV : 1 / 1 / 0 / 0
SVT [config]: De-blocking Filter / SAO Filter : 1 / 1
SVT [config]: HME / UseDefaultHME : 1 / 1
SVT [config]: MV Search Area Width / Height : 16 / 7
SVT [config]: HRD / VBV MaxRate / BufSize / BufInit : 0 / 0 / 0 / 90
-------------------------------------------
SVT [WARNING] Elevated privileges required to run with real-time policies! Check Linux Best Known Configuration in User Guide to run application in real-time without elevated privileges!
SVT [version]: SVT-HEVC Encoder Lib v1.5.1
SVT [build] : GCC 11.3.0 64 bit
LIB Build date: Jan 1 1970 00:00:01
-------------------------------------------
Number of logical cores available: 4
Number of PPCS 77
-------------------------------------------
SVT [config]: Main Profile Tier (auto) Level (auto)
SVT [config]: EncoderMode / Tune : 7 / 1
SVT [config]: EncoderBitDepth / CompressedTenBitFormat / EncoderColorFormat : 8 / 0 / 1
SVT [config]: SourceWidth / SourceHeight / InterlacedVideo : 320 / 240 / 0
SVT [config]: Fps_Numerator / Fps_Denominator / Gop Size / IntraRefreshType : 25 / 1 / 24 / -1
SVT [config]: HierarchicalLevels / BaseLayerSwitchMode / PredStructure : 3 / 0 / 2
SVT [config]: BRC Mode / QP / LookaheadDistance / SceneChange : CQP / 25 / 40 / 1
SVT [config]: BitRateReduction / ImproveSharpness : 0 / 0
SVT [config]: tileColumnCount / tileRowCount / tileSliceMode / Constraint MV : 1 / 1 / 0 / 0
SVT [config]: De-blocking Filter / SAO Filter : 1 / 1
SVT [config]: HME / UseDefaultHME : 1 / 1
SVT [config]: MV Search Area Width / Height : 16 / 7
SVT [config]: HRD / VBV MaxRate / BufSize / BufInit : 0 / 0 / 0 / 90
-------------------------------------------
25%: Checks: 4, Failures: 0, Errors: 3
../gst-plugins-bad-1.22.2/tests/check/elements/svthevcenc.c:23:E:general:test_encode_simple:0: (after this point) Received signal 4 (Illegal instruction)
../gst-plugins-bad-1.22.2/tests/check/elements/svthevcenc.c:105:E:general:test_reuse:0: (after this point) Received signal 4 (Illegal instruction)
../gst-plugins-bad-1.22.2/tests/check/elements/svthevcenc.c:213:E:general:test_reconfigure:0: (after this point) Received signal 4 (Illegal instruction)
Check suite svthevcenc ran in 4.370s (tests failed: 3)
――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
```
Attached is the complete build log.
[gst-plugins-bad-1.22.2.drv.gz](/uploads/16dc30ea26746813f77891fa314a6826/gst-plugins-bad-1.22.2.drv.gz)https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1783elements_svthevcenc test failure2023-08-31T13:39:35ZApterykselements_svthevcenc test failureSystem: Guix System
Version: 1.22.2
Hello,
Using my trusty old Core 2 Duo desktop (Q6700 with 8 GiB of RAM), I encountered the following test failure:
```
Summary of Failures:
35/87 elements_svthevcenc FAIL 5.04...System: Guix System
Version: 1.22.2
Hello,
Using my trusty old Core 2 Duo desktop (Q6700 with 8 GiB of RAM), I encountered the following test failure:
```
Summary of Failures:
35/87 elements_svthevcenc FAIL 5.04s exit status 3
Ok: 84
Expected Fail: 0
Fail: 1
Unexpected Pass: 0
Skipped: 2
Timeout: 0
```
Detailed output:
```
35/87 elements_svthevcenc FAIL 5.04s exit status 3
>>> GST_PLUGIN_LOADING_WHITELIST=gstreamer:gst-plugins-base:gst-plugins-good:gst-plugins-ugly:gst-libav:libnice:gst-plugins-bad@/tmp/guix-build-gst-plugins-bad-1.22.2.drv-0/build GST_REGISTRY=/tmp/guix-build-gst-plugins-bad-1.22.2.drv-0/build/tests/check/elements_svthevcenc.registry GST_PLUGIN_SYSTEM_PATH_1_0=/gnu/store/dq13628r3p0w38lpg3lf4bn5jpan44nl-gst-plugins-good-1.22.2/lib/gstreamer-1.0 MALLOC_PERTURB_=125 GST_PLUGIN_SCANNER_1_0=/gnu/store/mz98ydpwa7hn5ky0q3g0xf66ps2ycfm2-gstreamer-1.22.2/libexec/gstreamer-1.0/gst-plugin-scanner GST_STATE_IGNORE_ELEMENTS='' CK_DEFAULT_TIMEOUT=600 GST_PLUGIN_PATH_1_0=/tmp/guix-build-gst-plugins-bad-1.22.2.drv-0/build:/gnu/store/mz98ydpwa7hn5ky0q3g0xf66ps2ycfm2-gstreamer-1.22.2/lib/gstreamer-1.0:/gnu/store/wlai2f9pl1mwjcykx1gn48a4blr14n71-gst-plugins-base-1.22.2/lib/gstreamer-1.0 LD_LIBRARY_PATH=/tmp/guix-build-gst-plugins-bad-1.22.2.drv-0/build/gst-libs/gst/interfaces:/tmp/guix-build-gst-plugins-bad-1.22.2.drv-0/build/gst-libs/gst/basecamerabinsrc:/tmp/guix-build-gst-plugins-bad-1.22.2.drv-0/build/gst-libs/gst/uridownloader /tmp/guix-build-gst-plugins-bad-1.22.2.drv-0/build/tests/check/elements_svthevcenc
――――――――――――――――――――――――――――――――――――― ✀ ―――――――――――――――――――――――――――――――――――――
Running suite(s): svthevcenc
SVT [version]: SVT-HEVC Encoder Lib v1.5.1
SVT [build] : GCC 11.3.0 64 bit
LIB Build date: Jan 1 1970 00:00:01
-------------------------------------------
Number of logical cores available: 4
Number of PPCS 77
-------------------------------------------
SVT [config]: Main Profile Tier (auto) Level (auto)
SVT [config]: EncoderMode / Tune : 9 / 1
SVT [config]: EncoderBitDepth / CompressedTenBitFormat / EncoderColorFormat : 8 / 0 / 1
SVT [config]: SourceWidth / SourceHeight / InterlacedVideo : 320 / 240 / 0
SVT [config]: Fps_Numerator / Fps_Denominator / Gop Size / IntraRefreshType : 25 / 1 / 24 / -1
SVT [config]: HierarchicalLevels / BaseLayerSwitchMode / PredStructure : 3 / 0 / 2
SVT [config]: BRC Mode / QP / LookaheadDistance / SceneChange : CQP / 25 / 40 / 1
SVT [config]: BitRateReduction / ImproveSharpness : 0 / 0
SVT [config]: tileColumnCount / tileRowCount / tileSliceMode / Constraint MV : 1 / 1 / 0 / 0
SVT [config]: De-blocking Filter / SAO Filter : 1 / 1
SVT [config]: HME / UseDefaultHME : 1 / 1
SVT [config]: MV Search Area Width / Height : 16 / 7
SVT [config]: HRD / VBV MaxRate / BufSize / BufInit : 0 / 0 / 0 / 90
-------------------------------------------
SVT [version]: SVT-HEVC Encoder Lib v1.5.1
SVT [build] : GCC 11.3.0 64 bit
LIB Build date: Jan 1 1970 00:00:01
-------------------------------------------
Number of logical cores available: 4
Number of PPCS 77
-------------------------------------------
SVT [config]: Main Profile Tier (auto) Level (auto)
SVT [config]: EncoderMode / Tune : 9 / 1
SVT [config]: EncoderBitDepth / CompressedTenBitFormat / EncoderColorFormat : 8 / 0 / 1
SVT [config]: SourceWidth / SourceHeight / InterlacedVideo : 320 / 240 / 0
SVT [config]: Fps_Numerator / Fps_Denominator / Gop Size / IntraRefreshType : 25 / 1 / 24 / -1
SVT [config]: HierarchicalLevels / BaseLayerSwitchMode / PredStructure : 3 / 0 / 2
SVT [config]: BRC Mode / QP / LookaheadDistance / SceneChange : CQP / 25 / 40 / 1
SVT [config]: BitRateReduction / ImproveSharpness : 0 / 0
SVT [config]: tileColumnCount / tileRowCount / tileSliceMode / Constraint MV : 1 / 1 / 0 / 0
SVT [config]: De-blocking Filter / SAO Filter : 1 / 1
SVT [config]: HME / UseDefaultHME : 1 / 1
SVT [config]: MV Search Area Width / Height : 16 / 7
SVT [config]: HRD / VBV MaxRate / BufSize / BufInit : 0 / 0 / 0 / 90
-------------------------------------------
SVT [version]: SVT-HEVC Encoder Lib v1.5.1
SVT [build] : GCC 11.3.0 64 bit
LIB Build date: Jan 1 1970 00:00:01
-------------------------------------------
Number of logical cores available: 4
Number of PPCS 77
-------------------------------------------
SVT [config]: Main Profile Tier (auto) Level (auto)
SVT [config]: EncoderMode / Tune : 7 / 1
SVT [config]: EncoderBitDepth / CompressedTenBitFormat / EncoderColorFormat : 8 / 0 / 1
SVT [config]: SourceWidth / SourceHeight / InterlacedVideo : 320 / 240 / 0
SVT [config]: Fps_Numerator / Fps_Denominator / Gop Size / IntraRefreshType : 25 / 1 / 24 / -1
SVT [config]: HierarchicalLevels / BaseLayerSwitchMode / PredStructure : 3 / 0 / 2
SVT [config]: BRC Mode / QP / LookaheadDistance / SceneChange : CQP / 25 / 40 / 1
SVT [config]: BitRateReduction / ImproveSharpness : 0 / 0
SVT [config]: tileColumnCount / tileRowCount / tileSliceMode / Constraint MV : 1 / 1 / 0 / 0
SVT [config]: De-blocking Filter / SAO Filter : 1 / 1
SVT [config]: HME / UseDefaultHME : 1 / 1
SVT [config]: MV Search Area Width / Height : 16 / 7
SVT [config]: HRD / VBV MaxRate / BufSize / BufInit : 0 / 0 / 0 / 90
-------------------------------------------
SVT [WARNING] Elevated privileges required to run with real-time policies! Check Linux Best Known Configuration in User Guide to run application in real-time without elevated privileges!
SVT [version]: SVT-HEVC Encoder Lib v1.5.1
SVT [build] : GCC 11.3.0 64 bit
LIB Build date: Jan 1 1970 00:00:01
-------------------------------------------
Number of logical cores available: 4
Number of PPCS 77
-------------------------------------------
SVT [config]: Main Profile Tier (auto) Level (auto)
SVT [config]: EncoderMode / Tune : 7 / 1
SVT [config]: EncoderBitDepth / CompressedTenBitFormat / EncoderColorFormat : 8 / 0 / 1
SVT [config]: SourceWidth / SourceHeight / InterlacedVideo : 320 / 240 / 0
SVT [config]: Fps_Numerator / Fps_Denominator / Gop Size / IntraRefreshType : 25 / 1 / 24 / -1
SVT [config]: HierarchicalLevels / BaseLayerSwitchMode / PredStructure : 3 / 0 / 2
SVT [config]: BRC Mode / QP / LookaheadDistance / SceneChange : CQP / 25 / 40 / 1
SVT [config]: BitRateReduction / ImproveSharpness : 0 / 0
SVT [config]: tileColumnCount / tileRowCount / tileSliceMode / Constraint MV : 1 / 1 / 0 / 0
SVT [config]: De-blocking Filter / SAO Filter : 1 / 1
SVT [config]: HME / UseDefaultHME : 1 / 1
SVT [config]: MV Search Area Width / Height : 16 / 7
SVT [config]: HRD / VBV MaxRate / BufSize / BufInit : 0 / 0 / 0 / 90
-------------------------------------------
25%: Checks: 4, Failures: 0, Errors: 3
../gst-plugins-bad-1.22.2/tests/check/elements/svthevcenc.c:23:E:general:test_encode_simple:0: (after this point) Received signal 4 (Illegal instruction)
../gst-plugins-bad-1.22.2/tests/check/elements/svthevcenc.c:105:E:general:test_reuse:0: (after this point) Received signal 4 (Illegal instruction)
../gst-plugins-bad-1.22.2/tests/check/elements/svthevcenc.c:213:E:general:test_reconfigure:0: (after this point) Received signal 4 (Illegal instruction)
Check suite svthevcenc ran in 4.370s (tests failed: 3)
――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
```
Attached is the complete build log.
[gst-plugins-bad-1.22.2.drv.gz](/uploads/6e57426d5ef863255399e49c21870872/gst-plugins-bad-1.22.2.drv.gz)https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2949NVMM not working in pair with Tee2023-08-31T11:02:50ZMartin GerovNVMM not working in pair with Tee**Please provide complete information as applicable to your setup.**
**• Hardware Platform - Jetson**
**• DeepStream Version - 6.0**
**• JetPack Version - 32.4**
**• Issue Type - bug**
I've encountered a bug in the usage of `tee` elemen...**Please provide complete information as applicable to your setup.**
**• Hardware Platform - Jetson**
**• DeepStream Version - 6.0**
**• JetPack Version - 32.4**
**• Issue Type - bug**
I've encountered a bug in the usage of `tee` element with `NVMM` memory.
The issue arises if I drop frames from one branch of the tee, while processing buffers from the other branch. Subsequently, the other part of the queue sends a timeout signal to the GStreamer bus.
It's worth noting that when only one of the pipelines (either streaming or DeepStream) is active, everything functions correctly.
**Steps to Reproduce:**
1. Not working pipeline:
[neural-network-test_not_working.py](/uploads/2c0a0bd7f91c9f9639881c73085df58e/neural-network-test_not_working.py)
2. Working pipeline:
[neural-network-test_working.py](/uploads/4dc3088771943c49323bc9f44dfcc00a/neural-network-test_working.py)
3. Minimum requirement for replicating the behaviour:
[minimumn_example_not_working.py](/uploads/a4fa6dd53a4eb57c1ee4983aaa7c7a1f/minimumn_example_not_working.py)
After dropping a specific number of frames, the described timeout behaviour occurs, leading to the bug I have encountered.https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2946v4l2videodec: get incorrect Pixel Aspect Ratio2023-08-30T20:13:03ZZhipeng Daiv4l2videodec: get incorrect Pixel Aspect Ratio### 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/ -->
During the playback of the HLS content, content may be having multiple resolution mixed streams of different resolution, aspect ratios(WxR) and also different pixel aspect ratios. but it doesn't seem to update.
#### Expected Behavior
<!-- What did you expect to happen -->
update correct Pixel Aspect Ratio after when resolution changed.
#### Log
The pixel-aspect-ratio is always 1.
0:00:29.568966617 871 0xb4d20f28 DEBUG v4l2videodec gstv4l2videodec.c:750:gst_v4l2_update_caps:<v4l2mtkvpudec1> update caps: video/x-raw, format=(string)M21S, width=(int)640, height=(int)320, 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)1363/1360**, colorimetry=(string)bt709, framerate=(fraction)24/1, display_width=(int)640, display_height=(int)272
0:00:31.571832540 871 0xb4d20f28 DEBUG v4l2videodec gstv4l2videodec.c:750:gst_v4l2_update_caps:<v4l2mtkvpudec1> update caps: video/x-raw, format=(string)M21S, width=(int)512, height=(int)256, 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)1363/1360**, colorimetry=(string)bt709, framerate=(fraction)24/1, display_width=(int)512, display_height=(int)216https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2865v4l2jpegdec : stream hangs2023-08-30T14:52:03ZCarl Karstenv4l2jpegdec : stream hangsgst-launch-1.0 videotestsrc ! jpegenc ! jpegparse ! v4l2jpegdec ! videoconvert ! video/x-raw,colorimetry=bt709 ! fakesink
#### Expected Behavior
run forever
#### Observed Behavior
counts to 00:00:00.2 and hangs.
sometimes loger, but n...gst-launch-1.0 videotestsrc ! jpegenc ! jpegparse ! v4l2jpegdec ! videoconvert ! video/x-raw,colorimetry=bt709 ! fakesink
#### Expected Behavior
run forever
#### Observed Behavior
counts to 00:00:00.2 and hangs.
sometimes loger, but not for more than 30 seconds.
Pi4 - raspios, bullseye and beta bookworm
- **GStreamer Version:**
- gst-inspect-1.0 v4l2jpegdec
- ...
Version 1.22.0
License LGPL
Source module gst-plugins-good
Documentation https://gstreamer.freedesktop.org/documentation/video4linux2/
Source release date 2023-01-23
Binary package GStreamer Good Plugins (Debian)
Origin URL https://tracker.debian.org/pkg/gst-plugins-good1.0
- **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. type `command`
### How reproducible is the bug?
<!-- The reproducibility of the bug is Always/Intermittent/Only once after doing a very specific set of steps-->
### Related non-duplicate issues
similar https://gitlab.freedesktop.org/gstreamer/gst-omx/-/issues/41
### Additional Information
<!-- Any other information such as logs. Make use of <details> for long output -->https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2728ptp: Send packets on the interface that we received on2023-08-30T13:30:31ZArun Raghavanptp: Send packets on the interface that we received onWith `gst-ptp-helper` we send on the socket without specifying an interface, which might be any of the interfaces on the system (since there is no binding of the socket to any given interface). Even specifying an interface during init do...With `gst-ptp-helper` we send on the socket without specifying an interface, which might be any of the interfaces on the system (since there is no binding of the socket to any given interface). Even specifying an interface during init does not solve this (as that only determines the interface on which we join the multicast group, but not what we send on).
With multiple interfaces and the PTP master being on an interface that is not selected by default for sending, this may result in delay request packets never really being sent.Sebastian DrögeSebastian Drögehttps://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2908gstreamer1.0-libav - file detection inconsistencies?2023-08-30T13:25:30ZUwe Dippelgstreamer1.0-libav - file detection inconsistencies?I new in here, and didn't find any forum to ask. Google also couldn't help me, sorry.
This is my issue: Recently I discovered that certain files were missing in the list of files shown (and subsequently streamed) by rygel. I have updated...I new in here, and didn't find any forum to ask. Google also couldn't help me, sorry.
This is my issue: Recently I discovered that certain files were missing in the list of files shown (and subsequently streamed) by rygel. I have updated the discovery process a number of times, and could reproduce the failure for certain files of the same extension: mp4.
Here are two examples:
```
$ file Die_Konsequenz.mp4
Die_Konsequenz.mp4: ISO Media, MP4 v2 [ISO 14496-14]
$ file Die_Jagd.mp4
Die_Jagd.mp4: ISO Media, MP4 Base Media v1 [ISO 14496-12:2003]
```
Both seem to be of the same format, mp4, but the first one is never indexed, the second file always.
This is the output of the installed support:
```
$ gst-inspect-1.0 | grep v2
...
libav: avdec_msmpeg4v2: libav MPEG-4 part 2 Microsoft variant version 2 decoder
libav: avenc_msmpeg4v2: libav MPEG-4 part 2 Microsoft variant version 2 encoder
...
```
If anything else is helpful, for more detail, please ask!https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/413gtk4paintablesink usage in Vala2023-08-30T12:46:06ZŁukasz Grabskigtk4paintablesink usage in ValaHi,
I'm having problems with using gtk4paintablesink with Vala, here is my example code:
```
var pipeline = new Gst.Pipeline("test");
var src = Gst.ElementFactory.make("videotestsrc", "src");
var sink = Gst.ElementFac...Hi,
I'm having problems with using gtk4paintablesink with Vala, here is my example code:
```
var pipeline = new Gst.Pipeline("test");
var src = Gst.ElementFactory.make("videotestsrc", "src");
var sink = Gst.ElementFactory.make("gtk4paintablesink", "sink");
pipeline.add_many(src, sink);
src.link(sink);
// Get the paintable from the sink
GLib.Value val = GLib.Value(typeof(Gdk.Paintable));
sink.get_property("paintable", ref val);
var paintable = val as Gdk.Paintable;
var image = new Gtk.Picture();
image.set_size_request(800, 600);
image.set_paintable (paintable);
pipeline.set_state(Gst.State.READY);
```
The problem I'm observing is that the Picture is completely black, nothing is displayed at all. When i remove set_paintable line the image is rendered white so something is happening but not much :/
I appreciate any kind of help here...
Many thanks in advance.https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2413Enhanced RTMP support (HEVC, VP9 and AV1)2023-08-30T11:46:11ZQuackdocEnhanced RTMP support (HEVC, VP9 and AV1)There is enhanced[ RTMP support protocol spec](https://github.com/veovera/enhanced-rtmp) which adds hevc and av1 support to rtmp
according to a PR on [OBS' tracker](https://github.com/obsproject/obs-studio/pull/8522), the PR which assu...There is enhanced[ RTMP support protocol spec](https://github.com/veovera/enhanced-rtmp) which adds hevc and av1 support to rtmp
according to a PR on [OBS' tracker](https://github.com/obsproject/obs-studio/pull/8522), the PR which assumedly follows the spec has been tested with
```
Tested using FFmpeg as the RTMP server, and FFplay as the client.
Tested against YouTube’s RTMP server, up to 4K 60fps.
Tested AV1 live encoding using NVENC and Intel encoders.
```
would be really nice to havehttps://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2947Error with qmlglsink plugin on MacOS against 1.222023-08-30T03:53:07ZChris DawsonError with qmlglsink plugin on MacOS against 1.22### Describe your issue
I'm trying to get the latest qmlglsink plugin working on on MacOS. I see this error message.
`qtsink gstqtsink.cc:359:gst_qt_sink_change_state:<glsink> error: Required property 'widget' not set`
It appears the...### Describe your issue
I'm trying to get the latest qmlglsink plugin working on on MacOS. I see this error message.
`qtsink gstqtsink.cc:359:gst_qt_sink_change_state:<glsink> error: Required property 'widget' not set`
It appears the widget property is not being set correctly either in `gst_qt_sink_init` or `gst_qt_sink_set_property` of gstqtsink.cc. I don't see this same issue with 1.18; it sets the property correctly.
This causes the entire process to abort with `GST_STATE_CHANGE_FAILURE` and means the pipeline is not started.
#### Expected Behavior
The pipeline will start correctly.
#### Observed Behavior
The pipeline fails to run.
#### Setup
- MacOS (intel/x86)
- Computer
- **GStreamer Version:** 1.22.5
### Steps to reproduce the bug
1. Download gstreamer source, checkout 1.22.5 tag.
2. Build the libgstqml.dylib (`meson setup -Dgst-plugins-good:qt=enabled build && cd build && ninja subprojects/gst-plugins-good/ext/qt/libgstqmlgl.dylib`)
2. Install MacOS binaries from https://gstreamer.freedesktop.org/download/. I used 1.22.5.
2. Add libgstqml.dylib to `/Library/Frameworks/GStreamer.framework/Versions/1.0/lib/gstreamer-1.0/`
2. Make sure you can see libgstqml.dylib using `gst-inspect-1.0 qmlglsink`
3. Clone this project: https://github.com/patrickelectric/gstpipeline-qmlsink
4. Install Qt 5x using Qt Creator downloader
5. Set the path: `export PATH=~/Qt/5.14.2/clang_64/bin/:$PATH`
6. Verify qmake: `qmake --version` -> `QMake version 3.1\nUsing Qt version 5.14.2...`
7. Generate makefile with qmake: `PKG_CONFIG_PATH=/Library/Frameworks/GStreamer.framework/Versions/1.0/lib/pkgconfig/:/Library/Frameworks/GStreamer.framework/Versions/1.0/lib/gstreamer-1.0/pkgconfig/ qmake`
7. Edit the gst pipeline inside the main.qml to just use videotestsrc: `sed -e '34s/.*/description: "videotestsrc"/' -i '' qml/main.qml`. It should then read `description: "videotestsrc"` (and just start videotestsrc instead of use the complicated UDP based pipeline).
8. `make`
9. `macdeployqt ./play.app/ -qmldir=$HOME/Qt/5.14.2/clang_64/lib`
9. `GST_DEBUG=2 ./play.app/Contents/MacOS/play`
Running with GST_DEBUG=2 shows this warning.
`0:00:00.643647000 41543 0x7ff30f0e9400 WARN qtsink gstqtsink.cc:359:gst_qt_sink_change_state:<glsink> error: Required property 'widget' not set`
And, inside `gstqtsink.cc`, you can see this blocks starting the pipeline.
### How reproducible is the bug?
Always
### Screenshots if relevant
### Solutions you have tried
I tried adding `QCoreApplication::setAttribute(Qt::AA_ShareOpenGLContexts);` to line 16 in main.ccp as recommended in some other threads, but this had no effect.
Tried simplifying the pipeline using videotestsrc, no luck.
### Details
This is the full stack trace with GST_DEBUG=4
```
$ GST_DEBUG=4 ./play.app/Contents/MacOS/play
Using temporary folder: "/private/var/folders/7q/3ypj4th13gg85qy6bf3rdcdw0000gn/T"
0:00:00.000203000 41665 0x7f869a416e00 INFO GST_INIT gst.c:576:init_pre: Initializing GStreamer Core Library version 1.22.5
0:00:00.000233000 41665 0x7f869a416e00 INFO GST_INIT gst.c:577:init_pre: Using library installed in /Library/Frameworks/GStreamer.framework/Versions/1.0/lib
0:00:00.000256000 41665 0x7f869a416e00 INFO GST_INIT gst.c:597:init_pre: Darwin RooseveltPwnsU.local 19.6.0 Darwin Kernel Version 19.6.0: Tue Jun 21 21:18:39 PDT 2022; root:xnu-6153.141.66~1/RELEASE_X86_64 x86_64
0:00:00.000560000 41665 0x7f869a416e00 INFO GST_INIT gstmessage.c:129:_priv_gst_message_initialize: init messages
0:00:00.000954000 41665 0x7f869a416e00 INFO GST_INIT gstcontext.c:86:_priv_gst_context_initialize: init contexts
0:00:00.001131000 41665 0x7f869a416e00 INFO GST_PLUGIN_LOADING gstplugin.c:324:_priv_gst_plugin_initialize: registering 0 static plugins
0:00:00.001234000 41665 0x7f869a416e00 INFO GST_PLUGIN_LOADING gstplugin.c:232:gst_plugin_register_static: registered static plugin "staticelements"
0:00:00.001245000 41665 0x7f869a416e00 INFO GST_PLUGIN_LOADING gstplugin.c:234:gst_plugin_register_static: added static plugin "staticelements", result: 1
0:00:00.001454000 41665 0x7f869a416e00 INFO GST_REGISTRY gstregistry.c:1836:ensure_current_registry: reading registry cache: /Users/xrdawson/.cache/gstreamer-1.0/registry.x86_64.bin
0:00:00.016000000 41665 0x7f869a416e00 INFO GST_REGISTRY gstregistrybinary.c:683:priv_gst_registry_binary_read_cache: loaded /Users/xrdawson/.cache/gstreamer-1.0/registry.x86_64.bin in 0.014519 seconds
0:00:00.016062000 41665 0x7f869a416e00 INFO GST_REGISTRY gstregistry.c:1703:scan_and_update_registry: Validating plugins from registry cache: /Users/xrdawson/.cache/gstreamer-1.0/registry.x86_64.bin
0:00:00.024057000 41665 0x7f869a416e00 INFO GST_REGISTRY gstregistry.c:1795:scan_and_update_registry: Registry cache has not changed
0:00:00.024068000 41665 0x7f869a416e00 INFO GST_REGISTRY gstregistry.c:1871:ensure_current_registry: registry reading and updating done
0:00:00.024075000 41665 0x7f869a416e00 INFO GST_INIT gst.c:806:init_post: GLib runtime version: 2.74.4
0:00:00.024090000 41665 0x7f869a416e00 INFO GST_INIT gst.c:808:init_post: GLib headers version: 2.74.4
0:00:00.024094000 41665 0x7f869a416e00 INFO GST_INIT gst.c:809:init_post: initialized GStreamer successfully
Window does not contain a valid pointer.
0:00:00.521603000 41665 0x7f869a416e00 INFO GST_PIPELINE gstparse.c:345:gst_parse_launch_full: parsing pipeline description 'videotestsrc ! videoconvert ! video/x-raw, format=RGBA, framerate=30/1 ! queue ! glupload ! qmlglsink name=glsink sync=true'
0:00:00.526558000 41665 0x7f869a416e00 INFO GST_PLUGIN_LOADING gstplugin.c:987:_priv_gst_plugin_load_file_for_registry: plugin "/Library/Frameworks/GStreamer.framework/Versions/1.0/lib/gstreamer-1.0/libgstvideotestsrc.dylib" loaded
0:00:00.526775000 41665 0x7f869a416e00 INFO GST_ELEMENT_FACTORY gstelementfactory.c:489:gst_element_factory_create_with_properties: creating element "videotestsrc"
0:00:00.526831000 41665 0x7f869a416e00 INFO GST_ELEMENT_PADS gstelement.c:759:gst_element_add_pad:<GstBaseSrc@0x7f869aa2b8e0> adding pad 'src'
0:00:00.531632000 41665 0x7f869a416e00 INFO GST_PLUGIN_LOADING gstplugin.c:987:_priv_gst_plugin_load_file_for_registry: plugin "/Library/Frameworks/GStreamer.framework/Versions/1.0/lib/gstreamer-1.0/libgstvideoconvertscale.dylib" loaded
0:00:00.531838000 41665 0x7f869a416e00 INFO GST_ELEMENT_FACTORY gstelementfactory.c:489:gst_element_factory_create_with_properties: creating element "videoconvert"
0:00:00.531864000 41665 0x7f869a416e00 INFO GST_ELEMENT_PADS gstelement.c:759:gst_element_add_pad:<GstBaseTransform@0x7f869b076d40> adding pad 'sink'
0:00:00.531877000 41665 0x7f869a416e00 INFO GST_ELEMENT_PADS gstelement.c:759:gst_element_add_pad:<GstBaseTransform@0x7f869b076d40> adding pad 'src'
0:00:00.537334000 41665 0x7f869a416e00 INFO GST_PLUGIN_LOADING gstplugin.c:987:_priv_gst_plugin_load_file_for_registry: plugin "/Library/Frameworks/GStreamer.framework/Versions/1.0/lib/gstreamer-1.0/libgstcoreelements.dylib" loaded
0:00:00.537393000 41665 0x7f869a416e00 INFO GST_ELEMENT_FACTORY gstelementfactory.c:489:gst_element_factory_create_with_properties: creating element "queue"
0:00:00.537417000 41665 0x7f869a416e00 INFO GST_ELEMENT_PADS gstelement.c:759:gst_element_add_pad:<GstQueue@0x7f869aa361c0> adding pad 'sink'
0:00:00.537441000 41665 0x7f869a416e00 INFO GST_ELEMENT_PADS gstelement.c:759:gst_element_add_pad:<GstQueue@0x7f869aa361c0> adding pad 'src'
0:00:00.547213000 41665 0x7f869a416e00 INFO GST_PLUGIN_LOADING gstplugin.c:987:_priv_gst_plugin_load_file_for_registry: plugin "/Library/Frameworks/GStreamer.framework/Versions/1.0/lib/gstreamer-1.0/libgstopengl.dylib" loaded
0:00:00.547399000 41665 0x7f869a416e00 INFO GST_ELEMENT_FACTORY gstelementfactory.c:489:gst_element_factory_create_with_properties: creating element "glupload"
0:00:00.547423000 41665 0x7f869a416e00 INFO GST_ELEMENT_PADS gstelement.c:759:gst_element_add_pad:<GstBaseTransform@0x7f869b080170> adding pad 'sink'
0:00:00.547436000 41665 0x7f869a416e00 INFO GST_ELEMENT_PADS gstelement.c:759:gst_element_add_pad:<GstBaseTransform@0x7f869b080170> adding pad 'src'
0:00:00.558949000 41665 0x7f869a416e00 INFO GST_PLUGIN_LOADING gstplugin.c:987:_priv_gst_plugin_load_file_for_registry: plugin "/Library/Frameworks/GStreamer.framework/Versions/1.0/lib/gstreamer-1.0/libgstqmlgl.dylib" loaded
(process:41665): GLib-GObject-CRITICAL **: 09:41:32.107: g_param_spec_pool_lookup: assertion 'pool != NULL' failed
(process:41665): GLib-GObject-CRITICAL **: 09:41:32.107: g_param_spec_pool_insert: assertion 'pool != NULL' failed
(process:41665): GLib-GObject-CRITICAL **: 09:41:32.107: g_param_spec_pool_lookup: assertion 'pool != NULL' failed
(process:41665): GLib-GObject-CRITICAL **: 09:41:32.107: g_param_spec_pool_lookup: assertion 'pool != NULL' failed
(process:41665): GLib-GObject-CRITICAL **: 09:41:32.107: g_param_spec_pool_insert: assertion 'pool != NULL' failed
(process:41665): GLib-GObject-CRITICAL **: 09:41:32.107: g_param_spec_pool_lookup: assertion 'pool != NULL' failed
(process:41665): GLib-GObject-CRITICAL **: 09:41:32.107: g_param_spec_pool_lookup: assertion 'pool != NULL' failed
(process:41665): GLib-GObject-CRITICAL **: 09:41:32.107: g_param_spec_pool_insert: assertion 'pool != NULL' failed
(process:41665): GLib-GObject-CRITICAL **: 09:41:32.107: g_param_spec_pool_lookup: assertion 'pool != NULL' failed
0:00:00.559294000 41665 0x7f869a416e00 INFO GST_ELEMENT_FACTORY gstelementfactory.c:489:gst_element_factory_create_with_properties: creating element "qmlglsink"
0:00:00.559323000 41665 0x7f869a416e00 INFO GST_ELEMENT_PADS gstelement.c:759:gst_element_add_pad:<GstBaseSink@0x7f869aa3e730> adding pad 'sink'
0:00:00.559382000 41665 0x7f869a416e00 INFO GST_ELEMENT_FACTORY gstelementfactory.c:489:gst_element_factory_create_with_properties: creating element "pipeline"
0:00:00.559512000 41665 0x7f869a416e00 INFO GST_PIPELINE gst/parse/grammar.y:1002:gst_parse_perform_link: linking some pad of GstVideoTestSrc named videotestsrc0 to some pad of GstVideoConvert named videoconvert0 (0/0) with caps "(NULL)"
0:00:00.559543000 41665 0x7f869a416e00 INFO GST_ELEMENT_PADS gstutils.c:1821:gst_element_link_pads_full: trying to link element videotestsrc0:(any) to element videoconvert0:(any)
0:00:00.559561000 41665 0x7f869a416e00 INFO GST_PADS gstutils.c:1081:gst_pad_check_link: trying to link videotestsrc0:src and videoconvert0:sink
0:00:00.559611000 41665 0x7f869a416e00 INFO GST_PADS gstpad.c:4367:gst_pad_peer_query:<videoconvert0:src> pad has no peer
0:00:00.559968000 41665 0x7f869a416e00 INFO GST_PADS gstutils.c:1635:prepare_link_maybe_ghosting: videotestsrc0 and videoconvert0 in same bin, no need for ghost pads
0:00:00.559994000 41665 0x7f869a416e00 INFO GST_PADS gstpad.c:2388:gst_pad_link_prepare: trying to link videotestsrc0:src and videoconvert0:sink
0:00:00.560004000 41665 0x7f869a416e00 INFO GST_PADS gstpad.c:4367:gst_pad_peer_query:<videoconvert0:src> pad has no peer
0:00:00.560267000 41665 0x7f869a416e00 INFO GST_PADS gstpad.c:2596:gst_pad_link_full: linked videotestsrc0:src and videoconvert0:sink, successful
0:00:00.560284000 41665 0x7f869a416e00 INFO GST_EVENT gstevent.c:1687:gst_event_new_reconfigure: creating reconfigure event
0:00:00.560296000 41665 0x7f869a416e00 INFO GST_EVENT gstpad.c:5986:gst_pad_send_event_unchecked:<videotestsrc0:src> Received event on flushing pad. Discarding
0:00:00.560324000 41665 0x7f869a416e00 INFO GST_PIPELINE gst/parse/grammar.y:1002:gst_parse_perform_link: linking some pad of GstVideoConvert named videoconvert0 to some pad of GstQueue named queue0 (0/0) with caps "video/x-raw, format=(string)RGBA, framerate=(fraction)30/1"
0:00:00.560332000 41665 0x7f869a416e00 INFO GST_ELEMENT_FACTORY gstelementfactory.c:489:gst_element_factory_create_with_properties: creating element "capsfilter"
0:00:00.560382000 41665 0x7f869a416e00 INFO GST_ELEMENT_PADS gstelement.c:759:gst_element_add_pad:<GstBaseTransform@0x7f869aa461d0> adding pad 'sink'
0:00:00.560397000 41665 0x7f869a416e00 INFO GST_ELEMENT_PADS gstelement.c:759:gst_element_add_pad:<GstBaseTransform@0x7f869aa461d0> adding pad 'src'
0:00:00.560410000 41665 0x7f869a416e00 INFO GST_STATES gstbin.c:2070:gst_bin_get_state_func:<pipeline0> getting state
0:00:00.560426000 41665 0x7f869a416e00 INFO GST_STATES gstelement.c:2817:gst_element_continue_state:<capsfilter0> completed state change to NULL
0:00:00.560439000 41665 0x7f869a416e00 INFO GST_EVENT gstevent.c:1687:gst_event_new_reconfigure: creating reconfigure event
0:00:00.560452000 41665 0x7f869a416e00 INFO GST_ELEMENT_PADS gstutils.c:1821:gst_element_link_pads_full: trying to link element videoconvert0:(any) to element capsfilter0:sink
0:00:00.560459000 41665 0x7f869a416e00 INFO GST_ELEMENT_PADS gstelement.c:1017:gst_element_get_static_pad: found pad capsfilter0:sink
0:00:00.560465000 41665 0x7f869a416e00 INFO GST_PADS gstutils.c:1635:prepare_link_maybe_ghosting: videoconvert0 and capsfilter0 in same bin, no need for ghost pads
0:00:00.560474000 41665 0x7f869a416e00 INFO GST_PADS gstpad.c:2388:gst_pad_link_prepare: trying to link videoconvert0:src and capsfilter0:sink
0:00:00.560682000 41665 0x7f869a416e00 INFO GST_PADS gstpad.c:4367:gst_pad_peer_query:<capsfilter0:src> pad has no peer
0:00:00.560710000 41665 0x7f869a416e00 INFO GST_PADS gstpad.c:2596:gst_pad_link_full: linked videoconvert0:src and capsfilter0:sink, successful
0:00:00.560716000 41665 0x7f869a416e00 INFO GST_EVENT gstevent.c:1687:gst_event_new_reconfigure: creating reconfigure event
0:00:00.560721000 41665 0x7f869a416e00 INFO GST_EVENT gstpad.c:5986:gst_pad_send_event_unchecked:<videoconvert0:src> Received event on flushing pad. Discarding
0:00:00.560732000 41665 0x7f869a416e00 INFO GST_ELEMENT_PADS gstutils.c:1821:gst_element_link_pads_full: trying to link element capsfilter0:src to element queue0:(any)
0:00:00.560740000 41665 0x7f869a416e00 INFO GST_ELEMENT_PADS gstelement.c:1017:gst_element_get_static_pad: found pad capsfilter0:src
0:00:00.560747000 41665 0x7f869a416e00 INFO GST_PADS gstutils.c:1081:gst_pad_check_link: trying to link capsfilter0:src and queue0:sink
0:00:00.560968000 41665 0x7f869a416e00 INFO GST_PADS gstpad.c:4367:gst_pad_peer_query:<queue0:src> pad has no peer
0:00:00.560981000 41665 0x7f869a416e00 INFO GST_PADS gstutils.c:1635:prepare_link_maybe_ghosting: capsfilter0 and queue0 in same bin, no need for ghost pads
0:00:00.560990000 41665 0x7f869a416e00 INFO GST_PADS gstpad.c:2388:gst_pad_link_prepare: trying to link capsfilter0:src and queue0:sink
0:00:00.561205000 41665 0x7f869a416e00 INFO GST_PADS gstpad.c:4367:gst_pad_peer_query:<queue0:src> pad has no peer
0:00:00.561217000 41665 0x7f869a416e00 INFO GST_PADS gstpad.c:2596:gst_pad_link_full: linked capsfilter0:src and queue0:sink, successful
0:00:00.561222000 41665 0x7f869a416e00 INFO GST_EVENT gstevent.c:1687:gst_event_new_reconfigure: creating reconfigure event
0:00:00.561227000 41665 0x7f869a416e00 INFO GST_EVENT gstpad.c:5986:gst_pad_send_event_unchecked:<capsfilter0:src> Received event on flushing pad. Discarding
0:00:00.561241000 41665 0x7f869a416e00 INFO GST_PIPELINE gst/parse/grammar.y:1002:gst_parse_perform_link: linking some pad of GstQueue named queue0 to some pad of GstGLUploadElement named gluploadelement0 (0/0) with caps "(NULL)"
0:00:00.561248000 41665 0x7f869a416e00 INFO GST_ELEMENT_PADS gstutils.c:1821:gst_element_link_pads_full: trying to link element queue0:(any) to element gluploadelement0:(any)
0:00:00.561256000 41665 0x7f869a416e00 INFO GST_PADS gstutils.c:1081:gst_pad_check_link: trying to link queue0:src and gluploadelement0:sink
0:00:00.561469000 41665 0x7f869a416e00 INFO GST_PADS gstpad.c:4367:gst_pad_peer_query:<gluploadelement0:src> pad has no peer
0:00:00.561660000 41665 0x7f869a416e00 INFO GST_PADS gstutils.c:1635:prepare_link_maybe_ghosting: queue0 and gluploadelement0 in same bin, no need for ghost pads
0:00:00.561676000 41665 0x7f869a416e00 INFO GST_PADS gstpad.c:2388:gst_pad_link_prepare: trying to link queue0:src and gluploadelement0:sink
0:00:00.561900000 41665 0x7f869a416e00 INFO GST_PADS gstpad.c:4367:gst_pad_peer_query:<gluploadelement0:src> pad has no peer
0:00:00.562032000 41665 0x7f869a416e00 INFO GST_PADS gstpad.c:2596:gst_pad_link_full: linked queue0:src and gluploadelement0:sink, successful
0:00:00.562039000 41665 0x7f869a416e00 INFO GST_EVENT gstevent.c:1687:gst_event_new_reconfigure: creating reconfigure event
0:00:00.562045000 41665 0x7f869a416e00 INFO GST_EVENT gstpad.c:5986:gst_pad_send_event_unchecked:<queue0:src> Received event on flushing pad. Discarding
0:00:00.562059000 41665 0x7f869a416e00 INFO GST_PIPELINE gst/parse/grammar.y:1002:gst_parse_perform_link: linking some pad of GstGLUploadElement named gluploadelement0 to some pad of play named glsink (0/0) with caps "(NULL)"
0:00:00.562067000 41665 0x7f869a416e00 INFO GST_ELEMENT_PADS gstutils.c:1821:gst_element_link_pads_full: trying to link element gluploadelement0:(any) to element glsink:(any)
0:00:00.562074000 41665 0x7f869a416e00 INFO GST_PADS gstutils.c:1081:gst_pad_check_link: trying to link gluploadelement0:src and glsink:sink
0:00:00.562360000 41665 0x7f869a416e00 INFO GST_PADS gstutils.c:1635:prepare_link_maybe_ghosting: gluploadelement0 and glsink in same bin, no need for ghost pads
0:00:00.562372000 41665 0x7f869a416e00 INFO GST_PADS gstpad.c:2388:gst_pad_link_prepare: trying to link gluploadelement0:src and glsink:sink
0:00:00.562639000 41665 0x7f869a416e00 INFO GST_PADS gstpad.c:2596:gst_pad_link_full: linked gluploadelement0:src and glsink:sink, successful
0:00:00.562647000 41665 0x7f869a416e00 INFO GST_EVENT gstevent.c:1687:gst_event_new_reconfigure: creating reconfigure event
0:00:00.562652000 41665 0x7f869a416e00 INFO GST_EVENT gstpad.c:5986:gst_pad_send_event_unchecked:<gluploadelement0:src> Received event on flushing pad. Discarding
0:00:00.562674000 41665 0x7f869a416e00 INFO GST_PARENTAGE gstbin.c:4386:gst_bin_get_by_name: [pipeline0]: looking up child element glsink
Running pipeline: "videotestsrc"
0:00:00.563492000 41665 0x7f869a416e00 INFO qtglutility gstqtglutility.cc:94:gst_qt_get_gl_display: QGuiApplication::instance()->platformName() cocoa
(process:41665): GLib-CRITICAL **: 09:41:32.112: g_datalist_id_set_data_full: assertion 'key_id > 0' failed
(play:41665): GLib-GObject-WARNING **: 09:41:32.112: g_object_set_is_valid_property: object class 'play' has no property named 'widget'
0:00:00.656633000 41665 0x7f869a416e00 INFO glcontext gstglcontext.c:1113:_create_context_info:<glwrappedcontext0> GL_VERSION: 2.1 INTEL-14.7.28
0:00:00.656653000 41665 0x7f869a416e00 INFO glcontext gstglcontext.c:1116:_create_context_info:<glwrappedcontext0> GL_SHADING_LANGUAGE_VERSION: 1.20
0:00:00.656660000 41665 0x7f869a416e00 INFO glcontext gstglcontext.c:1118:_create_context_info:<glwrappedcontext0> GL_VENDOR: Intel Inc.
0:00:00.656674000 41665 0x7f869a416e00 INFO glcontext gstglcontext.c:1120:_create_context_info:<glwrappedcontext0> GL_RENDERER: Intel HD Graphics 4000 OpenGL Engine
0:00:00.661555000 41665 0x7f869a416e00 INFO GST_STATES gstbin.c:2484:gst_bin_element_set_state:<glsink> current NULL pending VOID_PENDING, desired next READY
0:00:00.661570000 41665 0x7f869a416e00 WARN qtsink gstqtsink.cc:359:gst_qt_sink_change_state:<glsink> error: Required property 'widget' not set
0:00:00.661584000 41665 0x7f869a416e00 INFO GST_ERROR_SYSTEM gstelement.c:2282:gst_element_message_full_with_details:<glsink> posting message: Required property 'widget' not set
0:00:00.661641000 41665 0x7f869a416e00 INFO GST_ERROR_SYSTEM gstelement.c:2309:gst_element_message_full_with_details:<glsink> posted error message: Required property 'widget' not set
0:00:00.661647000 41665 0x7f869a416e00 INFO GST_STATES gstelement.c:3102:gst_element_change_state:<glsink> have FAILURE change_state return
0:00:00.661653000 41665 0x7f869a416e00 INFO GST_STATES gstelement.c:2690:gst_element_abort_state:<glsink> aborting state from NULL to READY
0:00:00.661660000 41665 0x7f869a416e00 INFO GST_STATES gstbin.c:2955:gst_bin_change_state_func:<pipeline0> child 'glsink' failed to go to state 2(READY)
0:00:00.661687000 41665 0x7f869a416e00 INFO GST_STATES gstelement.c:2817:gst_element_continue_state:<glsink> completed state change to NULL
0:00:00.661696000 41665 0x7f869a416e00 INFO GST_STATES gstelement.c:2817:gst_element_continue_state:<gluploadelement0> completed state change to NULL
0:00:00.661703000 41665 0x7f869a416e00 INFO GST_STATES gstelement.c:2817:gst_element_continue_state:<queue0> completed state change to NULL
0:00:00.661709000 41665 0x7f869a416e00 INFO GST_STATES gstelement.c:2817:gst_element_continue_state:<capsfilter0> completed state change to NULL
0:00:00.661716000 41665 0x7f869a416e00 INFO GST_STATES gstelement.c:2817:gst_element_continue_state:<videoconvert0> completed state change to NULL
0:00:00.661725000 41665 0x7f869a416e00 INFO GST_STATES gstelement.c:2817:gst_element_continue_state:<videotestsrc0> completed state change to NULL
0:00:00.661733000 41665 0x7f869a416e00 INFO GST_STATES gstelement.c:3102:gst_element_change_state:<pipeline0> have FAILURE change_state return
```