GStreamer issueshttps://gitlab.freedesktop.org/groups/gstreamer/-/issues2022-08-30T06:00:35Zhttps://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/388Differencies of ParamSpecULong in different architectures2022-08-30T06:00:35ZMattia ADifferencies of ParamSpecULong in different architecturesI receive a mistype error if I run this code on an aarch64 architecture.
I compiled the code directly on the aarch64 machine, while on the x64 machine no error was raised.
The error:
**thread 'main' panicked at 'called `Result::unwrap(...I receive a mistype error if I run this code on an aarch64 architecture.
I compiled the code directly on the aarch64 machine, while on the x64 machine no error was raised.
The error:
**thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value:ValueTypeMismatchError { actual: gulong, requested: guint64 }', src/utils/converter.rs:192:44**
```
pub fn details_from_param_specs(param: &ParamSpec, element: &gst::Element) -> Detail {
let val = element.try_property_value(param.name());
let val = match val.is_ok(){
true => val.unwrap(),
false => param.default_value().clone(),
};
return match val.value_type() {
Type::BOOL =>
Detail::Boolean(BooleanDetails{
default: val.get::<bool>().unwrap_or_default()
}),
Type::STRING =>
Detail::String(StringDetails{
default: val.get::<String>().unwrap_or_default()
}),
Type::U_LONG => {
let ulong_param = param.downcast_ref::<ParamSpecULong>().unwrap();
let default = val.get::<c_ulong>().unwrap();
let range = (ulong_param.minimum() as c_ulong, ulong_param.maximum() as c_ulong);
return Detail::ULong(ULongDetail {
default, range
});
},
...
```https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/387Using glupload on windows with glutin and glow2022-09-15T11:43:56ZHenrique PerigoUsing glupload on windows with glutin and glowHello, I’m trying to build an app using `glutin` `glow` and `gstreamer` on Windows
I’m using as a reference the [glupload](https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/blob/main/examples/src/glupload.rs) example, I’m able to ...Hello, I’m trying to build an app using `glutin` `glow` and `gstreamer` on Windows
I’m using as a reference the [glupload](https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/blob/main/examples/src/glupload.rs) example, I’m able to compile the app but I’m running in this runtime error:
```jsx
0:00:23.651939000 11680 00000182A2FD4D80 WARN glcontext gstglcontext.c:1257:gst_gl_context_create_thread:<glcontextwgl0> Failed to create context
0:00:23.654347000 11680 00000182A2FD4D00 WARN glbasefilter gstglbasefilter.c:608:gst_gl_base_filter_find_gl_context_unlocked:<gluploadelement0> error: failed to share contexts through wglShareLists 0xaa
0:00:25.927844000 11680 00000182A2FD4DC0 WARN glcontext gstglcontext.c:1257:gst_gl_context_create_thread:<glcontextwgl1> Failed to create context
0:00:25.929047000 11680 00000182A2FD4D00 WARN glbasefilter gstglbasefilter.c:608:gst_gl_base_filter_find_gl_context_unlocked:<glcolorconvertelement0> error: failed to share contexts through wglShareLists 0xaa
0:00:31.059709000 11680 00000182A2FD4E00 WARN glcontext gstglcontext.c:1257:gst_gl_context_create_thread:<glcontextwgl2> Failed to create context
0:00:31.061391000 11680 00000182A2FD4D00 WARN glbasefilter gstglbasefilter.c:608:gst_gl_base_filter_find_gl_context_unlocked:<gluploadelement0> error: failed to share contexts through wglShareLists 0xaa
(pira-gst.exe:11680): GStreamer-CRITICAL **: 06:55:10.974: gst_caps_is_subset: assertion 'subset != NULL' failed
0:00:33.962252000 11680 00000182A2FD4D00 ERROR basetransform gstbasetransform.c:485:gst_base_transform_transform_caps:<gluploadelement0> transform_caps returned caps (NULL) which are not a real subset of the filter caps video/x-raw, format=(string){ AYUV64, ARGB64, GBRA_12LE, GBRA_12BE, Y412_LE, Y412_BE, A444_10LE, GBRA_10LE, A444_10BE, GBRA_10BE, A422_10LE, A422_10BE, A420_10LE, A420_10BE, RGB10A2_LE, BGR10A2_LE, Y410, GBRA, ABGR, VUYA, BGRA, AYUV, ARGB, RGBA, A420, Y444_16LE, Y444_16BE, v216, P016_LE, P016_BE, Y444_12LE, GBR_12LE, Y444_12BE, GBR_12BE, I422_12LE, I422_12BE, Y212_LE, Y212_BE, I420_12LE, I420_12BE, P012_LE, P012_BE, Y444_10LE, GBR_10LE, Y444_10BE, GBR_10BE, r210, I422_10LE, I422_10BE, NV16_10LE32, Y210, v210, UYVP, I420_10LE, I420_10BE, P010_10LE, NV12_10LE32, NV12_10LE40, P010_10BE, Y444, GBR, NV24, xBGR, BGRx, xRGB, RGBx, BGR, IYU2, v308, RGB, Y42B, NV61, NV16, VYUY, UYVY, YVYU, YUY2, I420, YV12, NV21, NV12, NV12_64Z32, NV12_4L4, NV12_32L32, Y41B, IYU1, YVU9, YUV9, RGB16, BGR16, RGB15, BGR15, RGB8P, GRAY16_LE, GRAY16_BE, GRAY10_LE32, GRAY8 }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], multiview-mode=(string){ mono, left, right }; video/x-bayer, format=(string){ bggr, rggb, grbg, gbrg }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], multiview-mode=(string){ mono, left, right }
** (pira-gst.exe:11680): WARNING **: 06:55:10.977: gluploadelement0: transform_caps returned caps which are not a real subset of the filter caps
(pira-gst.exe:11680): GStreamer-CRITICAL **: 06:55:10.977: gst_caps_intersect_full: assertion 'GST_IS_CAPS (caps2)' failed
(pira-gst.exe:11680): GStreamer-CRITICAL **: 06:55:10.977: gst_mini_object_unref: assertion 'mini_object != NULL' failed
(pira-gst.exe:11680): GStreamer-CRITICAL **: 06:55:10.977: gst_mini_object_unref: assertion 'mini_object != NULL' failed
(pira-gst.exe:11680): GStreamer-CRITICAL **: 06:55:10.977: gst_caps_intersect_full: assertion 'GST_IS_CAPS (caps2)' failed
(pira-gst.exe:11680): GStreamer-CRITICAL **: 06:55:10.977: gst_caps_is_empty: assertion 'GST_IS_CAPS (caps)' failed
(pira-gst.exe:11680): GStreamer-CRITICAL **: 06:55:10.977: gst_caps_intersect_full: assertion 'GST_IS_CAPS (caps1)' failed
(pira-gst.exe:11680): GStreamer-CRITICAL **: 06:55:10.978: gst_mini_object_unref: assertion 'mini_object != NULL' failed
(pira-gst.exe:11680): GStreamer-CRITICAL **: 06:55:10.978: gst_mini_object_unref: assertion 'mini_object != NULL' failed
0:00:33.966942000 11680 00000182A2FD4D00 WARN GST_CAPS gstpad.c:5702:pre_eventfunc_check:<glsinkbin0:sink> caps video/x-raw, format=(string)AYUV64, width=(int)320, height=(int)240, framerate=(fraction)30/1, multiview-mode=(string)mono, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive not accepted
0:00:33.968752000 11680 00000182A2FD4D00 WARN GST_CAPS gstpad.c:5702:pre_eventfunc_check:<glsinkbin0:sink> caps video/x-raw, format=(string)AYUV64, width=(int)320, height=(int)240, framerate=(fraction)30/1, multiview-mode=(string)mono, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive not accepted
0:00:33.969730000 11680 00000182A2FD4D00 WARN GST_PADS gstpad.c:4303:gst_pad_peer_query:<videotestsrc0:src> could not send sticky events
0:00:33.971674000 11680 00000182A2FD4D00 WARN GST_CAPS gstpad.c:5702:pre_eventfunc_check:<glsinkbin0:sink> caps video/x-raw, format=(string)AYUV64, width=(int)320, height=(int)240, framerate=(fraction)30/1, multiview-mode=(string)mono, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progress0:00:33.973723000 11680 00000182A2FD4D00 WARN basesrc gstbasesrc.c:3127:gst_base_src_loop:<videotestsrc0> error: Internal data stream error.
0:00:33.974315000 11680 00000182A2FD4D00 WARN basesrc gstbasesrc.c:3127:gst_base_src_loop:<videotestsrc0> error: streaming stopped, reason not-negotiated (-4)
0:00:33.975122000 11680 00000182A2FD4D00 WARN GST_CAPS gstpad.c:5702:pre_eventfunc_check:<glsinkbin0:sink> caps video/x-raw, format=(string)AYUV64, width=(int)320, height=(int)240, framerate=(fraction)30/1, multiview-mode=(string)mono, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive not accepted
0:00:33.975815000 11680 00000182A2FD4D00 WARN GST_CAPS gstpad.c:5702:pre_eventfunc_check:<glsinkbin0:sink> caps video/x-raw, format=(string)AYUV64, width=(int)320, height=(int)240, framerate=(fraction)30/1, multiview-mode=(string)mono, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive not accepted
0:00:33.976519000 11680 00000182A2FD4D00 WARN GST_CAPS gstpad.c:5702:pre_eventfunc_check:<glsinkbin0:sink> caps video/x-raw, format=(string)AYUive not accepted
```
Here's how I'm creating the gl context:
```
let gl_display = gst_gl::GLDisplay::new();
let mut shared_ctx_opt = None;
match unsafe { app.context.context().raw_handle() } {
piralib::glutin::platform::windows::RawHandle::Wgl(wgl_handle) => {
println!("WGL");
unsafe {
let raw_handle = wgl_handle as libc::uintptr_t;
shared_ctx_opt = gst_gl::GLContext::new_wrapped(
&gl_display,
raw_handle,
gst_gl::GLPlatform::WGL,
gst_gl::GLAPI::OPENGL3,
)
};
}
_ => (),
};
```
Here’s the code for reference if someone wants to see [https://github.com/Hperigo/pira-gst/blob/main/src/main.rs#L147](https://github.com/Hperigo/pira-gst/blob/main/src/main.rs#L147)https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/386StreamProducer does not forward tag events to consumers2023-04-04T08:07:55ZJimmi ChristensenStreamProducer does not forward tag events to consumersSeems like most events are actually not forwarded from the `StreamProducer`. One of the important ones to forward is tags. We have this patch locally to support this, but it does not seem like the cleanest solution:
```diff
@@ -147,11 +...Seems like most events are actually not forwarded from the `StreamProducer`. One of the important ones to forward is tags. We have this patch locally to support this, but it does not seem like the cleanest solution:
```diff
@@ -147,11 +147,25 @@ impl<'a> From<&'a gst_app::AppSink> for StreamProducer {
.new_sample(move |appsink| {
let mut consumers = consumers_clone.lock().unwrap();
- let sample = match appsink.pull_sample() {
- Ok(sample) => sample,
- Err(_err) => {
- return Err(gst::FlowError::Flushing);
+ let mut sample = None;
+ let mut events = vec![];
+ while let Ok(obj) = appsink.pull_object() {
+ let obj = match obj.downcast::<gst::Event>() {
+ Ok(event) => {
+ events.push(event);
+ continue;
+ }
+ Err(obj) => obj,
+ };
+ if let Ok(sam) = obj.downcast::<gst::Sample>() {
+ sample = Some(sam);
+ break;
}
+ }
+
+ let sample = match sample {
+ Some(sample) => sample,
+ None => return Err(gst::FlowError::Flushing),
};
if consumers.discard {
@@ -205,6 +219,11 @@ impl<'a> From<&'a gst_app::AppSink> for StreamProducer {
drop(consumers);
for consumer in current_consumers {
+ for event in &events {
+ let src_pad = consumer.static_pad("src").unwrap();
+ src_pad.push_event(event.clone());
+ }
+
let _ = consumer.push_sample(&sample);
}
```https://gitlab.freedesktop.org/gstreamer/meson-ports/x264/-/issues/9Failed to get the next NALu in H264 payload2022-05-24T00:34:23ZPRFailed to get the next NALu in H264 payloadTrying to write a h264 video and read, stream using gstreamer but getting error after 1 frame as Failed to get the next NALu in H264 payload.
Pipeline used to generate/ write video
gst-launch-1.0 videotestsrc pattern=ball num-buffers=500...Trying to write a h264 video and read, stream using gstreamer but getting error after 1 frame as Failed to get the next NALu in H264 payload.
Pipeline used to generate/ write video
gst-launch-1.0 videotestsrc pattern=ball num-buffers=500 ! timeoverlay ! videoconvert ! video/x-raw,format=NV12,width=640,height=480,framerate=25/1 ! queue ! x264enc speed-preset=veryfast bitrate=512 byte-stream=TRUE tune=zerolatency ! video/x-h264,stream-format=byte-stream,alignment=au,profile=baseline ! filesink location="trail.h264"
Pipeline used to stream,
"filesrc location=./trail.h264 ! queue ! video/x-h264, stream-format=byte-stream, alignment=au, profile=baseline ! appsink sync=TRUE emit-signals=TRUE name=appsink-video"
It seems like storing NALU for 1st frame but other frame, how can we fix this ?https://gitlab.freedesktop.org/gstreamer/meson-ports/x264/-/issues/8Failed to get the next NALu in H264 payload2022-05-23T17:22:00ZPRFailed to get the next NALu in H264 payloadTrying to write a h264 video and read, stream using gstreamer but getting error after 1 frame as Failed to get the next NALu in H264 payload.
Pipeline used to generate/ write video
gst-launch-1.0 videotestsrc pattern=ball num-buffers=500...Trying to write a h264 video and read, stream using gstreamer but getting error after 1 frame as Failed to get the next NALu in H264 payload.
Pipeline used to generate/ write video
gst-launch-1.0 videotestsrc pattern=ball num-buffers=500 ! timeoverlay ! videoconvert ! video/x-raw,format=NV12,width=640,height=480,framerate=25/1 ! queue ! x264enc speed-preset=veryfast bitrate=512 byte-stream=TRUE tune=zerolatency ! video/x-h264,stream-format=byte-stream,alignment=au,profile=baseline ! filesink location="trail.h264"
Pipeline used to stream,
"filesrc location=./trail.h264 ! queue ! video/x-h264, stream-format=byte-stream, alignment=au, profile=baseline ! appsink sync=TRUE emit-signals=TRUE name=appsink-video"
It seems like storing NALU for 1st frame but other frame, how can we fix this ?https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/385found issue with brew install gstreamer2022-05-25T05:20:18ZJason Shenfound issue with brew install gstreamerwhen create fdkaacenc i get this panic
```
panicked at 'Could not create fdkaacenc element: BoolError { message: "Failed to create element from factory name", filename: "/Users/jason/.cargo/registry/src/github.com-1ecc6299db9ec823/gstrea...when create fdkaacenc i get this panic
```
panicked at 'Could not create fdkaacenc element: BoolError { message: "Failed to create element from factory name", filename: "/Users/jason/.cargo/registry/src/github.com-1ecc6299db9ec823/gstreamer-0.18.8/src/auto/element_factory.rs", function: "gstreamer::auto::element_factory", line: 152 }', src/examples/rtmp/rtmp-uri.rs:17:6
```
i did look through the error logs i think this is the issue, its the linking is not right here
```
0:00:00.455538000 16095 0x14d61a400 DEBUG GST_PLUGIN_LOADING gstplugin.c:1693:gst_plugin_ext_dep_scan_dir_and_match_names:<plugin114> g_dir_open(/Users/jason/.frei0r-1/lib) failed: Error opening directory “/Users/jason/.frei0r-1/lib”: No such file or directory
0:00:00.455547000 16095 0x14d61a400 DEBUG GST_PLUGIN_LOADING gstplugin.c:1693:gst_plugin_ext_dep_scan_dir_and_match_names:<plugin114> g_dir_open(/opt/homebrew/Cellar/gst-plugins-bad/1.20.2/lib/frei0r-1) failed: Error opening directory “/opt/homebrew/Cellar/gst-plugins-bad/1.20.2/lib/frei0r-1”: No such file or directory
```
[new-Log_at_2022-05-21_8-34-13_PM.txt](/uploads/43772f5643c331c2400e9b952d5dd249/new-Log_at_2022-05-21_8-34-13_PM.txt)
i have attached the logs
any help would be great
cheers
Jasonhttps://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/384error when set_property on flvmux2022-05-20T06:41:33ZJason Shenerror when set_property on flvmuxthis is what i did
```rust
flvmux.set_property_from_str("streamable", "ture");
```
then i get a panic error
```javascript
thread '<unnamed>' panicked at 'called `Result::unwrap()` on an `Err` value: BoolError { message: "Failed to de...this is what i did
```rust
flvmux.set_property_from_str("streamable", "ture");
```
then i get a panic error
```javascript
thread '<unnamed>' panicked at 'called `Result::unwrap()` on an `Err` value: BoolError { message: "Failed to deserialize value", filename: "/Users/jason/.cargo/registry/src/github.com-1ecc6299db9ec823/gstreamer-0.18.8/src/value.rs", function: "gstreamer::value", line: 1175 }', /Users/jason/.cargo/registry/src/github.com-1ecc6299db9ec823/gstreamer-0.18.8/src/gobject.rs:39:53
```
looks like something happens badly when deserialize
wonder if anyone else experience this
cheers
Jasonhttps://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/383autovideosink on mac not showing2022-05-19T09:10:25ZJason Shenautovideosink on mac not showinghaving an issue, audovideosink is not popup the code compiles fine and audoaudiosink works, as i can hear the audio,
but no video popup.
the os is macos 12.3.1
gstreamer is install via brew, so its the latest available
i have attache...having an issue, audovideosink is not popup the code compiles fine and audoaudiosink works, as i can hear the audio,
but no video popup.
the os is macos 12.3.1
gstreamer is install via brew, so its the latest available
i have attached a log as well
any help would be awesome
thanks advance[Log_at_2022-05-19_4-30-30_PM.txt](/uploads/793dcab2217594fdfbe81db53cdd1b73/Log_at_2022-05-19_4-30-30_PM.txt)https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1230Mopiy-Iris with gstreamer doesn't play old MP3 files2022-05-19T14:07:05ZJoël MüllerMopiy-Iris with gstreamer doesn't play old MP3 files### Describe your issue
<!-- a clear and concise summary of the bug. -->
<!-- For any GStreamer usage question, please contact the community using the #gstreamer channel on IRC https://www.oftc.net/ or the mailing list on https://gstream...### Describe your issue
<!-- a clear and concise summary of the bug. -->
<!-- For any GStreamer usage question, please contact the community using the #gstreamer channel on IRC https://www.oftc.net/ or the mailing list on https://gstreamer.freedesktop.org/lists/ -->
#### Expected Behavior
Play the MP3
#### Observed Behavior
No sound
#### Setup
- Arch Linux Mainline 5.17.7-arch1-2
- Computer
- GStreamer Version: 0.10
### Steps to reproduce the bug
<!-- please fill in exact steps which reproduce the bug on your system, for example: -->
1. Install Mopidy and Mopidy-Iris from AUR (aur.archlinux.org)
2. Import your MP3 Files
3. Play a old MP3 from www.themixingbowl.org (Essential Mix)
### How reproducible is the bug?
Every time with the same files other are working
### Screenshots if relevant
### Solutions you have tried
Play with VLC
### Related non-duplicate issues
### Additional Informationhttps://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1229Compile issue with pangocairo with native msvc vs2022 build2022-05-18T09:54:55ZRares BraniciCompile issue with pangocairo with native msvc vs2022 buildI'm using Windows 11, Visual Studio 2022.
Cloned GStreamer main branch.
Ran "meson out\bad" and "meson compile -C out\bad"
Compilation fails with
```
[502/3806] Compiling C object subprojects/gst-plugins-base/ext/pango/gstpango.dll.p/gs...I'm using Windows 11, Visual Studio 2022.
Cloned GStreamer main branch.
Ran "meson out\bad" and "meson compile -C out\bad"
Compilation fails with
```
[502/3806] Compiling C object subprojects/gst-plugins-base/ext/pango/gstpango.dll.p/gsttextrender.c.obj
FAILED: subprojects/gst-plugins-base/ext/pango/gstpango.dll.p/gsttextrender.c.obj
"cl" "-Isubprojects\gst-plugins-base\ext\pango\gstpango.dll.p" "-Isubprojects\gst-plugins-base\ext\pango" "-I..\..\subprojects\gst-plugins-base\ext\pango" "-Isubprojects\gst-plugins-base" "-I..\..\subprojects\gst-plugins-base" "-Isubprojects\gst-plugins-base\gst-libs" "-I..\..\subprojects\gst-plugins-base\gst-libs" "-Isubprojects\gstreamer\libs" "-I..\..\subprojects\gstreamer\libs" "-Isubprojects\gstreamer" "-I..\..\subprojects\gstreamer" "-Isubprojects\orc" "-I..\..\subprojects\orc" "-Isubprojects\gst-plugins-base\gst-libs\gst\video" "-Isubprojects\gstreamer\gst" "-Ic:/projects/repos/cerbero.git/1.20/build/dist/msvc_x86_64/include/pango-1.0" "-IC:/gstreamer/1.0/msvc_x86_64/include/harfbuzz" "-IC:/gstreamer/1.0/msvc_x86_64/include" "-IC:/gstreamer/1.0/msvc_x86_64/include/fribidi" "-IC:/gstreamer/1.0/msvc_x86_64/include/glib-2.0" "-IC:/gstreamer/1.0/msvc_x86_64/lib/glib-2.0/include" "-IC:/gstreamer/1.0/msvc_x86_64/include/cairo" "-Ic:/projects/repos/cerbero.git/1.20/build/dist/msvc_x86_64/include/freetype2" "-IC:/gstreamer/1.0/msvc_x86_64/include/libpng16" "-IC:/gstreamer/1.0/msvc_x86_64/include/pixman-1" "/MD" "/nologo" "/showIncludes" "/utf-8" "/W2" "/O2" "/Zi" "/wd4018" "/wd4146" "/wd4244" "/wd4305" "/utf-8" "/we4002" "/we4003" "/we4013" "/we4020" "/we4027" "/we4029" "/we4033" "/we4045" "/we4047" "/we4053" "/we4062" "/we4098" "/we4101" "/we4189" "-DG_DISABLE_DEPRECATED" "/utf-8" "-DHAVE_CONFIG_H" "/Fdsubprojects\gst-plugins-base\ext\pango\gstpango.dll.p\gsttextrender.c.pdb" /Fosubprojects/gst-plugins-base/ext/pango/gstpango.dll.p/gsttextrender.c.obj "/c" ../../subprojects/gst-plugins-base/ext/pango/gsttextrender.c
C:\work\dev\public\gstreamer\subprojects\gst-plugins-base\ext\pango\gsttextrender.h(5): fatal error C1083: Cannot open include file: 'pango/pangocairo.h': No such file or directory
```
[meson-log.zip](/uploads/9a7e9050b3f6639d137b20f58197ed3d/meson-log.zip)https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/969Compile issue with pangocairo2022-05-18T09:24:32ZRares BraniciCompile issue with pangocairoI'm using Windows 11, Visual Studio 2022.
Cloned GStreamer main branch.
Ran "meson out\bad" and "meson compile -C out\bad"
Compilation fails with
[502/3806] Compiling C object subprojects/gst-plugins-base/ext/pango/gstpango.dll.p/gstte...I'm using Windows 11, Visual Studio 2022.
Cloned GStreamer main branch.
Ran "meson out\bad" and "meson compile -C out\bad"
Compilation fails with
[502/3806] Compiling C object subprojects/gst-plugins-base/ext/pango/gstpango.dll.p/gsttextrender.c.obj
FAILED: subprojects/gst-plugins-base/ext/pango/gstpango.dll.p/gsttextrender.c.obj
"cl" "-Isubprojects\gst-plugins-base\ext\pango\gstpango.dll.p" "-Isubprojects\gst-plugins-base\ext\pango" "-I..\..\subprojects\gst-plugins-base\ext\pango" "-Isubprojects\gst-plugins-base" "-I..\..\subprojects\gst-plugins-base" "-Isubprojects\gst-plugins-base\gst-libs" "-I..\..\subprojects\gst-plugins-base\gst-libs" "-Isubprojects\gstreamer\libs" "-I..\..\subprojects\gstreamer\libs" "-Isubprojects\gstreamer" "-I..\..\subprojects\gstreamer" "-Isubprojects\orc" "-I..\..\subprojects\orc" "-Isubprojects\gst-plugins-base\gst-libs\gst\video" "-Isubprojects\gstreamer\gst" "-Ic:/projects/repos/cerbero.git/1.20/build/dist/msvc_x86_64/include/pango-1.0" "-IC:/gstreamer/1.0/msvc_x86_64/include/harfbuzz" "-IC:/gstreamer/1.0/msvc_x86_64/include" "-IC:/gstreamer/1.0/msvc_x86_64/include/fribidi" "-IC:/gstreamer/1.0/msvc_x86_64/include/glib-2.0" "-IC:/gstreamer/1.0/msvc_x86_64/lib/glib-2.0/include" "-IC:/gstreamer/1.0/msvc_x86_64/include/cairo" "-Ic:/projects/repos/cerbero.git/1.20/build/dist/msvc_x86_64/include/freetype2" "-IC:/gstreamer/1.0/msvc_x86_64/include/libpng16" "-IC:/gstreamer/1.0/msvc_x86_64/include/pixman-1" "/MD" "/nologo" "/showIncludes" "/utf-8" "/W2" "/O2" "/Zi" "/wd4018" "/wd4146" "/wd4244" "/wd4305" "/utf-8" "/we4002" "/we4003" "/we4013" "/we4020" "/we4027" "/we4029" "/we4033" "/we4045" "/we4047" "/we4053" "/we4062" "/we4098" "/we4101" "/we4189" "-DG_DISABLE_DEPRECATED" "/utf-8" "-DHAVE_CONFIG_H" "/Fdsubprojects\gst-plugins-base\ext\pango\gstpango.dll.p\gsttextrender.c.pdb" /Fosubprojects/gst-plugins-base/ext/pango/gstpango.dll.p/gsttextrender.c.obj "/c" ../../subprojects/gst-plugins-base/ext/pango/gsttextrender.c
C:\work\dev\public\gstreamer\subprojects\gst-plugins-base\ext\pango\gsttextrender.h(5): fatal error C1083: Cannot open include file: 'pango/pangocairo.h': No such file or directory
[meson-log.zip](/uploads/d944b8453d3004f016330ba747cb3715/meson-log.zip)https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1228gstreamer and gnuradio2022-05-18T10:21:45Zrouba zeitoungstreamer and gnuradioI am currently working on a project that consists of sending live stream video from one SDR to another with GNURadio. I am also using Gstreamer to create a pipeline between 2 computers.
Unfortunately, I am repetitively facing the same p...I am currently working on a project that consists of sending live stream video from one SDR to another with GNURadio. I am also using Gstreamer to create a pipeline between 2 computers.
Unfortunately, I am repetitively facing the same problem where after 30 sec a message pops up
" WARNING debug information: gstbasesink.c(2902): gst_base_sink_is_too_late (): /GstPlayBin:playbin/GstPlaySink:playsink/GstBin:vbin/GstXvImageSink:xvimagesink0:
There may be a timestamping problem, or this computer is too slow "
and the receiver stops receiving the video. I tried decreasing the bitrate which allowed longer sending time but it still stops after a while.
What advice can you give me to solve this problem?
the commands i used on terminals are:
for Tx: gst-launch-1.0 -v v4l2src device="/dev/video0" ! videoconvert ! x264enc tune=zerolatency bitrate=300 ! mpegtsmux ! filesink location=video1.ts
for Rx: gst-play-1.0 video3.tshttps://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1227jpegdec: Segfault in libgstjpeg gst_jpeg_dec_handle_frame2022-05-25T05:50:35ZJames Hilliardjpegdec: Segfault in libgstjpeg gst_jpeg_dec_handle_frame### 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/ -->
Capturing a mjpeg stream through pipewire from a uvc camera has visual glitching and crashes with a segfault in libgstjpeg.
I am using libjpeg-turbo.
#### Setup
- **Operating System:** buildroot
- **Device:** Computer
- **GStreamer Version:** 1.20.1
- **Command line:** N/A
### Steps to reproduce the bug
<!-- please fill in exact steps which reproduce the bug on your system, for example: -->
1. open mjpeg camera stream in wpewebkit
### How reproducible is the bug?
<!-- The reproducibility of the bug is Always/Intermittent/Only once after doing a very specific set of steps-->
Within minutes
### Related non-duplicate issues
#1118 #1121 #1122
### Additional Information
<!-- Any other information such as logs. Make use of <details> for long output -->
```c
(gdb) bt
#0 gst_jpeg_dec_handle_frame (bdec=0x7f5e2c1e9a00, frame=0x7f5e80089a00) at ../ext/jpeg/gstjpegdec.c:1352
#1 0x00007f5ef8259977 in gst_video_decoder_decode_frame (decoder=decoder@entry=0x7f5e2c1e9a00, frame=frame@entry=0x7f5e80089a00) at ../gst-libs/gst/video/gstvideodecoder.c:4003
#2 0x00007f5ef8259d6c in gst_video_decoder_chain_forward (decoder=decoder@entry=0x7f5e2c1e9a00, buf=buf@entry=0x7f5e30122d80, at_eos=at_eos@entry=0) at ../gst-libs/gst/video/gstvideodecoder.c:2489
#3 0x00007f5ef825bd67 in gst_video_decoder_chain (pad=<optimized out>, parent=0x7f5e2c1e9a00, buf=0x7f5e30122d80) at ../gst-libs/gst/video/gstvideodecoder.c:2831
#4 0x00007f5efaf27a18 in gst_pad_chain_data_unchecked (pad=pad@entry=0x5646094e0c10, type=type@entry=4112, data=data@entry=0x7f5e30122d80) at ../gst/gstpad.c:4447
#5 0x00007f5efaf2935e in gst_pad_push_data (pad=pad@entry=0x5646094e0520, type=type@entry=4112, data=data@entry=0x7f5e30122d80) at ../gst/gstpad.c:4711
#6 0x00007f5efaf2e377 in gst_pad_push (pad=pad@entry=0x5646094e0520, buffer=buffer@entry=0x7f5e30122d80) at ../gst/gstpad.c:4830
#7 0x00007f5e8af381b9 in gst_single_queue_push_one (allow_drop=<synthetic pointer>, object=0x7f5e30122d80, sq=0x7f5e301326e0, mq=0x564609480730) at ../plugins/elements/gstmultiqueue.c:1941
#8 gst_multi_queue_loop (pad=<optimized out>) at ../plugins/elements/gstmultiqueue.c:2270
#9 0x00007f5efaf4ddf4 in gst_task_func (task=0x7f5e30122710) at ../gst/gsttask.c:384
#10 0x00007f5efb0b16db in g_thread_pool_thread_proxy (data=<optimized out>) at ../glib/gthreadpool.c:354
#11 0x00007f5efb0b1044 in g_thread_proxy (data=0x7f5eac09b120) at ../glib/gthread.c:827
#12 0x00007f5efab2d0e6 in start_thread (arg=<optimized out>) at pthread_create.c:442
#13 0x00007f5efab93fec in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81
(gdb) bt full
#0 gst_jpeg_dec_handle_frame (bdec=0x7f5e2c1e9a00, frame=0x7f5e80089a00) at ../ext/jpeg/gstjpegdec.c:1352
ret = GST_FLOW_OK
dec = 0x7f5e2c1e9a00
vframe = {info = {finfo = 0x7f5ef82bb8a8 <formats+488>, interlace_mode = GST_VIDEO_INTERLACE_MODE_PROGRESSIVE, flags = GST_VIDEO_FLAG_NONE, width = 1280, height = 720, size = 1382400, views = 1,
chroma_site = GST_VIDEO_CHROMA_SITE_NONE, colorimetry = {range = GST_VIDEO_COLOR_RANGE_0_255, matrix = GST_VIDEO_COLOR_MATRIX_BT601, transfer = GST_VIDEO_TRANSFER_UNKNOWN,
primaries = GST_VIDEO_COLOR_PRIMARIES_UNKNOWN}, par_n = 1, par_d = 1, fps_n = 30, fps_d = 1, offset = {0, 921600, 1152000, 0}, stride = {1280, 640, 640, 0}, ABI = {abi = {
multiview_mode = GST_VIDEO_MULTIVIEW_MODE_MONO, multiview_flags = GST_VIDEO_MULTIVIEW_FLAGS_NONE, field_order = GST_VIDEO_FIELD_ORDER_UNKNOWN}, _gst_reserved = {0x0, 0x0, 0x0, 0x0}}},
flags = GST_VIDEO_FRAME_FLAG_NONE, buffer = 0x7f5e9009fa20, meta = 0x0, id = -1, data = {0x7f5dd9600078, 0x7f5dd96e1078, 0x7f5dd9719478, 0x7f5e897dcdc7}, map = {{memory = 0x7f5dd9600000,
flags = (GST_MAP_READ | GST_MAP_WRITE),
data = 0x7f5dd9600078 "RPNMMMOQVZ^_^\\\\]][WSPQUZ`_]ZXXYZZYXXXYYYYWWZ\\\\\\^^\\\\]]\\[[XXZ\\^`aa`aa_\\[[ZZZYWUSRRSSSRSVY\\^]\\[[[[[\\[YXVUX[^^__^]\\\\\\]^``a``a_][[ZZYZ[[[[^aaa`__]\\]_aa_]^`aa__`bcbabb`^]\\]_`cdda__bcfeccdcb``cgkmllkiijjjiii"..., size = 1382400, maxsize = 1382400, user_data = {0x481482b536055200, 0x7f5ef829b08b, 0x7f5efafb59e0 <_gst_debug_min>, 0x56460940d6e0}, _gst_reserved = {
0x7f5efaf1eb38 <gst_debug_log_valist+77>, 0x7f5dddd095e0, 0x7f5efaf76fbb, 0x7f5e857205e0}}, {memory = 0x7f5e857205e0, flags = (unknown: 740203288),
data = 0x7f5efb0ceb03 <g_private_get+6> "\213\070Z\351\025\307\371\377H\203\354\030H\211t$\b\350\327\373\377\377H\213t$\b\213\070\350;\322\371\377\205\300t\016\211\307H\215\065\242\203\006", size = 0,
maxsize = 5193919985072034304, user_data = {0x7f5dddd095a0, 0x7f5dddd09780, 0x7f5eac091800, 0x3010}, _gst_reserved = {0x7f5dddd098a0, 0x7f5dddd09780, 0x30101, 0x7f5efaf1ec66 <gst_debug_log+139>}}, {
memory = 0x7f5efaf76fbb, flags = (unknown: 3721434592), data = 0x3000000030 <error: Cannot access memory at address 0x3000000030>, size = 140045913811768, maxsize = 140041130120832, user_data = {
0x7f5ef8299d3b, 0x18, 0x5646094e0c10, 0x4b1e}, _gst_reserved = {0x7f5e857205e0, 0x7f5efafb59e0 <_gst_debug_min>, 0x481482b536055200, 0x3}}, {memory = 0x7f5e2c1e9800, flags = (unknown: 2148047360),
data = 0x7f5e2c1e9a00 "\240\337\v,^\177", size = 140045914429920, maxsize = 0, user_data = {0x31, 0x7f5efaf1ec66 <gst_debug_log+139>, 0x7f5ef8299d3b, 0x7f5dddd09680}, _gst_reserved = {0x3000000030,
0x7f5dddd09768, 0x7f5ef8299d3b, 0x0}}}, _gst_reserved = {0x7f5e80089a00, 0x7f5e2c1e9a00, 0x7f5efafb59e0 <_gst_debug_min>, 0x7f5efb0ceb03 <g_private_get+6>}}
num_fields = <optimized out>
output_height = <optimized out>
height = <optimized out>
width = <optimized out>
code = <optimized out>
need_unmap = 1
state = 0x0
release_frame = 1
has_eoi = <optimized out>
data = 0x7f5dcced4078 "\377\330\377", <incomplete sequence \333>
nbytes = 180540
__func__ = "gst_jpeg_dec_handle_frame"
_g_boolean_var_ = <optimized out>
_g_boolean_var_ = <optimized out>
_g_boolean_var_ = <optimized out>
#1 0x00007f5ef8259977 in gst_video_decoder_decode_frame (decoder=decoder@entry=0x7f5e2c1e9a00, frame=frame@entry=0x7f5e80089a00) at ../gst-libs/gst/video/gstvideodecoder.c:4003
priv = 0x7f5e2c1e9800
decoder_class = 0x7f5e2c0bdfa0
ret = GST_FLOW_OK
__func__ = "gst_video_decoder_decode_frame"
#2 0x00007f5ef8259d6c in gst_video_decoder_chain_forward (decoder=decoder@entry=0x7f5e2c1e9a00, buf=buf@entry=0x7f5e30122d80, at_eos=at_eos@entry=0) at ../gst-libs/gst/video/gstvideodecoder.c:2489
frame = 0x7f5e80089a00
was_keyframe = 1
priv = 0x7f5e2c1e9800
klass = <optimized out>
ret = GST_FLOW_OK
__func__ = "gst_video_decoder_chain_forward"
#3 0x00007f5ef825bd67 in gst_video_decoder_chain (pad=<optimized out>, parent=0x7f5e2c1e9a00, buf=0x7f5e30122d80) at ../gst-libs/gst/video/gstvideodecoder.c:2831
decoder = 0x7f5e2c1e9a00
ret = GST_FLOW_OK
__func__ = "gst_video_decoder_chain"
#4 0x00007f5efaf27a18 in gst_pad_chain_data_unchecked (pad=pad@entry=0x5646094e0c10, type=type@entry=4112, data=data@entry=0x7f5e30122d80) at ../gst/gstpad.c:4447
chainfunc = 0x7f5ef825ba83 <gst_video_decoder_chain>
ret = <optimized out>
parent = 0x7f5e2c1e9a00
handled = 0
__func__ = "gst_pad_chain_data_unchecked"
_g_boolean_var_ = <optimized out>
_g_boolean_var_ = <optimized out>
_g_boolean_var_ = <optimized out>
#5 0x00007f5efaf2935e in gst_pad_push_data (pad=pad@entry=0x5646094e0520, type=type@entry=4112, data=data@entry=0x7f5e30122d80) at ../gst/gstpad.c:4711
peer = 0x5646094e0c10
ret = <optimized out>
handled = 0
__func__ = "gst_pad_push_data"
_g_boolean_var_ = <optimized out>
#6 0x00007f5efaf2e377 in gst_pad_push (pad=pad@entry=0x5646094e0520, buffer=buffer@entry=0x7f5e30122d80) at ../gst/gstpad.c:4830
res = <optimized out>
#7 0x00007f5e8af381b9 in gst_single_queue_push_one (allow_drop=<synthetic pointer>, object=0x7f5e30122d80, sq=0x7f5e301326e0, mq=0x564609480730) at ../plugins/elements/gstmultiqueue.c:1941
buffer = 0x7f5e30122d80
timestamp = 2998952533066
duration = <optimized out>
_g_boolean_var_ = <optimized out>
result = GST_FLOW_OK
srcpad = 0x5646094e0520
result = <optimized out>
srcpad = <optimized out>
__func__ = "gst_single_queue_push_one"
_g_boolean_var_ = <optimized out>
buffer = <optimized out>
timestamp = <optimized out>
duration = <optimized out>
_g_boolean_var_ = <optimized out>
_g_boolean_var_ = <optimized out>
_g_boolean_var_ = <optimized out>
event = <optimized out>
_g_boolean_var_ = <optimized out>
_g_boolean_var_ = <optimized out>
_g_boolean_var_ = <optimized out>
_g_boolean_var_ = <optimized out>
_g_boolean_var_ = <optimized out>
_g_boolean_var_ = <optimized out>
query = <optimized out>
res = <optimized out>
_g_boolean_var_ = <optimized out>
_g_boolean_var_ = <optimized out>
#8 gst_multi_queue_loop (pad=<optimized out>) at ../plugins/elements/gstmultiqueue.c:2270
sq = 0x7f5e301326e0
item = <optimized out>
sitem = 0x7f5eb00bcad0
mq = 0x564609480730
object = 0x7f5e30122d80
newid = 597
result = <optimized out>
next_time = <optimized out>
is_buffer = 1
is_query = 0
do_update_buffering = 0
dropping = <optimized out>
srcpad = 0x5646094e0520
__func__ = "gst_multi_queue_loop"
#9 0x00007f5efaf4ddf4 in gst_task_func (task=0x7f5e30122710) at ../gst/gsttask.c:384
lock = 0x5646094e0590
tself = 0x7f5eac09b120
priv = 0x7f5e301226c0
__func__ = "gst_task_func"
_g_boolean_var_ = <optimized out>
#10 0x00007f5efb0b16db in g_thread_pool_thread_proxy (data=<optimized out>) at ../glib/gthreadpool.c:354
task = 0x7f5e9805d8c0
pool = 0x5646090ca7a0
#11 0x00007f5efb0b1044 in g_thread_proxy (data=0x7f5eac09b120) at ../glib/gthread.c:827
thread = 0x7f5eac09b120
__func__ = "g_thread_proxy"
_g_boolean_var_ = <optimized out>
#12 0x00007f5efab2d0e6 in start_thread (arg=<optimized out>) at pthread_create.c:442
ret = <optimized out>
pd = <optimized out>
unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140041219197144, -8403116295774794287, 140041130124864, -160, 0, 8387712, 8491987764563938769, 8493743978443574737}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
not_first_call = <optimized out>
#13 0x00007f5efab93fec in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81
No locals.
```https://gitlab.freedesktop.org/gstreamer/cerbero/-/issues/374glib no longer picks up gio modules automatically on macOS2022-08-03T00:28:36ZNirbheek Chauhannirbheek.chauhan@gmail.comglib no longer picks up gio modules automatically on macOSEver since we moved to a relocatable prefix, glib is no longer picking up GIO modules automatically. The following is needed:
```
$ export GIO_EXTRA_MODULES=/Library/Frameworks/GStreamer.framework/Libraries/gio/modules/
```
This probab...Ever since we moved to a relocatable prefix, glib is no longer picking up GIO modules automatically. The following is needed:
```
$ export GIO_EXTRA_MODULES=/Library/Frameworks/GStreamer.framework/Libraries/gio/modules/
```
This probably requires a patch to gio to understand relocatable prefixes on macOS, similar to Windows.https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1223va: Fix/add buffer stride/offset validation2022-11-25T12:36:33ZNicolas Dufresneva: Fix/add buffer stride/offset validationOn my system, Vega64, VA element tries P010 decoding and exporting that to DMABuf, and that goes terribly wrong and fail.
```
0:08:13.958544331 410736 0x7fff840990c0 ERROR videometa gstvideometa.c:242:default_map: plane 1, ...On my system, Vega64, VA element tries P010 decoding and exporting that to DMABuf, and that goes terribly wrong and fail.
```
0:08:13.958544331 410736 0x7fff840990c0 ERROR videometa gstvideometa.c:242:default_map: plane 1, no memory at offset 16588800
0:08:13.958598383 410736 0x7fff840990c0 ERROR default video-frame.c:168:gst_video_frame_map_id: failed to map video frame plane 1
```
While debugging that, I've stumbled what looks like driver bug, but also pretty much dislike the sloppiness of the dmabuf exporting code (gst_va_dmabuf_allocator_setup_buffer_full()). This function is partially implemented and is missing any kind of validation. Here's the prime descriptor that I'm getting:
```
$4 = {
fourcc = 808530000,
width = 3840,
height = 2160,
num_objects = 2,
objects = {{
fd = 28,
size = 8294400,
drm_format_modifier = 0
}, {
fd = 29,
size = 8294400,
drm_format_modifier = 0
}, {
fd = 0,
size = 0,
drm_format_modifier = 0
}, {
fd = 0,
size = 0,
drm_format_modifier = 0
}},
num_layers = 2,
layers = {{
drm_format = 540422482,
num_planes = 1,
object_index = {0, 0, 0, 0},
offset = {0, 0, 0, 0},
pitch = {7680, 0, 0, 0}
}, {
drm_format = 842224199,
num_planes = 1,
object_index = {1, 0, 0, 0},
offset = {16588800, 0, 0, 0},
pitch = {7680, 0, 0, 0}
}, {
drm_format = 0,
num_planes = 0,
object_index = {0, 0, 0, 0},
offset = {0, 0, 0, 0},
pitch = {0, 0, 0, 0}
}, {
drm_format = 0,
num_planes = 0,
object_index = {0, 0, 0, 0},
offset = {0, 0, 0, 0},
pitch = {0, 0, 0, 0}
}}
}
```
So basically two DMABuf and 2 layers. That makes sense, more of less, I'm a little surprise that the offset aren't relative to the object starts here if you see what I mean. But perhaps this is documented somewhere ? In short, first bug, the size of the first DMABuf should have been at least 16588800 (which matches the offset), but has been set to 8294400. The pitch looks fine, the second dmabuf size is fine, since its sub-sampled. We should be able to fail early and cleanly on this type of driver error imho.
cc @He_Junyan @vjaquezhttps://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/382PadProbeId does not implement Copy+Clone2022-06-07T17:34:27ZStephan SeitzPadProbeId does not implement Copy+CloneI'm trying to log the probe id inside a PadProbe. However I can't move it out of `info` except with a hack like this (`info.id` is `Option<PadProbeId>`). Even `into_glib` would move out of the shared reference.
```rust
move |_pa...I'm trying to log the probe id inside a PadProbe. However I can't move it out of `info` except with a hack like this (`info.id` is `Option<PadProbeId>`). Even `into_glib` would move out of the shared reference.
```rust
move |_pad, info| {
let hack: *const u64 = unsafe {transmute(info.id.as_ref())};
let clone = unsafe { *hack };
}
```
The implementation of Pad
```rust
#[derive(Debug, PartialEq, Eq, PartialOrd, Ord, Hash)]
pub struct PadProbeId(NonZeroU64);
impl IntoGlib for PadProbeId {
type GlibType = libc::c_ulong;
fn into_glib(self) -> libc::c_ulong {
self.0.get() as libc::c_ulong
}
}
```
I think PadProbeId should derive `Clone+Copy`
![image](/uploads/537d525e829dc5457970f014ae5bd9ac/image.png)https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/381got panic failed to create element2022-05-17T13:02:27ZJason Shengot panic failed to create elementHi All
got this panic i have also try with videotestsrc
```rust
gst::init().unwrap();
// Create the elements
let source = gst::ElementFactory::make("uridecodebin", Some("source"))
.expect("Could not create sink element uride...Hi All
got this panic i have also try with videotestsrc
```rust
gst::init().unwrap();
// Create the elements
let source = gst::ElementFactory::make("uridecodebin", Some("source"))
.expect("Could not create sink element uridecodebin");
let convert = gst::ElementFactory::make("audioconvert", Some("convert"))
.expect("Could not create convert element");
```
thread 'main' panicked at 'Could not create sink element uridecodebin: BoolError { message: "Failed to create element from factory name", filename: "/Users/jason/.cargo/registry/src/github.com-1ecc6299db9ec823/gstreamer-0.18.8/src/auto/element_factory.rs", function: "gstreamer::auto::element_factory", line: 152 }'
i am on macos 12.3.1 m1
installed gstreamer with brew install
the version of gstreamer is 1.20.1 (installed it as per doc, but without the --with tags, which doesn't allow to install with t eh tags)
any help would be awesome
thanks advance
Jasonhttps://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1221elements_rtpstorage test failing with 1.20: cannot register existing type 'Gs...2023-05-21T13:16:06ZJeremy Bichaelements_rtpstorage test failing with 1.20: cannot register existing type 'GstRtpStorage'### Describe your issue
The elements_storage build test for gst-plugins-good is failing starting with the 1.20 series
#### Setup
- Ubuntu 22.10 Development (but also is failing on Ubuntu 22.04 LTS and Debian Unstable
- **GStreamer Vers...### Describe your issue
The elements_storage build test for gst-plugins-good is failing starting with the 1.20 series
#### Setup
- Ubuntu 22.10 Development (but also is failing on Ubuntu 22.04 LTS and Debian Unstable
- **GStreamer Version:** 1.20.1
### Steps to reproduce the bug
1. `meson test`
### How reproducible is the bug?
Always
### Additional Information
I opened https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1220 for another build test failure
<details><summary> test log</summary>
I don't think the `External plugin loader failed` warning is important since it also shows with other non-failing tests.
```
60/109 elements_rtpstorage FAIL 0.15s exit status 2
17:43:19 GST_REGISTRY=/<<PKGBUILDDIR>>/obj-x86_64-linux-gnu/tests/check/elements_rtpstorage.registry
GST_PLUGIN_SYSTEM_PATH_1_0=''
GST_PLUGIN_LOADING_WHITELIST=gstreamer:gst-plugins-base:timecode:gst-plugins-good@/<<PKGBUILDDIR>>/obj-x86_64-linux-gnu GST_PLUGIN_SCANNER_1_0=/usr/libexec/gstreamer-1.0/gst-plugin-scanner
GST_PLUGIN_PATH_1_0=/<<PKGBUILDDIR>>/obj-x86_64-linux-gnu:/usr/lib/x86_64-linux-gnu/gstreamer-1.0:/usr/lib/x86_64-linux-gnu/gstreamer-1.0
MALLOC_PERTURB_=11 GST_STATE_IGNORE_ELEMENTS='aasink autoaudiosrc autoaudiosink autovideosrc
autovideosink cacasink cairotextoverlay gtkglsink gtksink jackaudiosrc
jackaudiosink osssrc osssink osxaudiosink osxaudiosrc osxvideosrc osxvideosink
pulsesink pulsesrc pulsemixer v4l2src' GSETTINGS_BACKEND=memory CK_DEFAULT_TIMEOUT=20
/<<PKGBUILDDIR>>/obj-x86_64-linux-gnu/tests/check/elements_rtpstorage
----------------------------------- output -----------------------------------
stdout:
Unexpected critical/warning: cannot register existing type 'GstRtpStorage'
Stack trace:
gst_debug_get_stack_trace (/usr/lib/x86_64-linux-gnu/libgstreamer-1.0.so.0.2002.0:0x7fb1a1a3b7cf)
?? (/usr/lib/x86_64-linux-gnu/libgstcheck-1.0.so.0.2002.0:0x7fb1a1816bff)
g_logv (/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.7200.1:0x7fb1a18873f6)
g_log (/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.7200.1:0x7fb1a18876df)
?? (/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7200.1:0x7fb1a19979e4)
g_type_register_static (/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7200.1:0x7fb1a199e863)
g_type_register_static_simple (/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7200.1:0x7fb1a199eb09)
gst_rtp_storage_get_type_once (gstrtpstorage.c:86)
gst_rtp_storage_get_type (gstrtpstorage.c:86)
main (rtpstorage.c:525)
?? (/usr/lib/x86_64-linux-gnu/libc.so.6:0x7fb1a158ed8c)
__libc_start_main (/usr/lib/x86_64-linux-gnu/libc.so.6:0x7fb1a158ee3c)
_start (/<<PKGBUILDDIR>>/obj-x86_64-linux-gnu/tests/check/elements_rtpstorage:0x560e94db1061)
stderr:
(elements_rtpstorage:638605): GStreamer-WARNING **: 17:43:19.060: External plugin loader failed. This
most likely means that the plugin loader helper binary was not found or could not be run. You might
need to set the GST_PLUGIN_SCANNER environment variable if your setup is unusual. This should
normally not be required though.
../libs/gst/check/libcheck/check_msg.c:79: No messaging setup
```
</details>https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1220elements_rtpvp8 build test failing2023-05-21T13:14:16ZJeremy Bichaelements_rtpvp8 build test failing### Describe your issue
The elements_rtpvp8 build test for gst-plugins-good is failing. It looks like this build test was introduced for the 1.20 series.
#### Setup
- Ubuntu 22.10 Development (but also is failing on Ubuntu 22.04 LTS an...### Describe your issue
The elements_rtpvp8 build test for gst-plugins-good is failing. It looks like this build test was introduced for the 1.20 series.
#### Setup
- Ubuntu 22.10 Development (but also is failing on Ubuntu 22.04 LTS and Debian Unstable
- **GStreamer Version:** 1.20.1
### Steps to reproduce the bug
1. `meson test`
### How reproducible is the bug?
Always
### Additional Information
<details><summary> test log</summary>
I don't think the `External plugin loader failed` warning is important since it also shows with other non-failing tests.
```
48/110 elements_rtpvp8 FAIL 0.15s exit status 2
17:26:26 MALLOC_PERTURB_=19 GST_STATE_IGNORE_ELEMENTS='aasink autoaudiosrc autoaudiosink autovideosrc
autovideosink cacasink cairotextoverlay gtkglsink gtksink jackaudiosrc
jackaudiosink osssrc osssink osxaudiosink osxaudiosrc osxvideosrc osxvideosink
pulsesink pulsesrc pulsemixer v4l2src' GST_PLUGIN_SCANNER_1_0=/usr/libexec/gstreamer-1.0/gst-plugin-scanner
GST_REGISTRY=/<<PKGBUILDDIR>>/obj-x86_64-linux-gnu/tests/check/elements_rtpvp8.registry
GST_PLUGIN_LOADING_WHITELIST=gstreamer:gst-plugins-base:timecode:gst-plugins-good@/<<PKGBUILDDIR>>/obj-x86_64-linux-gnu
CK_DEFAULT_TIMEOUT=20 GST_PLUGIN_SYSTEM_PATH_1_0='' GSETTINGS_BACKEND=memory
GST_PLUGIN_PATH_1_0=/<<PKGBUILDDIR>>/obj-x86_64-linux-gnu:/usr/lib/x86_64-linux-gnu/gstreamer-1.0:/usr/lib/x86_64-linux-gnu/gstreamer-1.0 /<<PKGBUILDDIR>>/obj-x86_64-linux-gnu/tests/check/elements_rtpvp8
----------------------------------- output -----------------------------------
stdout:
Unexpected critical/warning: g_pointer_type_register_static: assertion 'g_type_from_name (name) == 0' failed
Stack trace:
gst_debug_get_stack_trace (/usr/lib/x86_64-linux-gnu/libgstreamer-1.0.so.0.2002.0:0x7f217ee4e7cf)
?? (/usr/lib/x86_64-linux-gnu/libgstcheck-1.0.so.0.2002.0:0x7f217ec29bff)
g_logv (/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.7200.1:0x7f217ec9a3f6)
g_log (/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.7200.1:0x7f217ec9a6df)
g_pointer_type_register_static (/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7200.1:0x7f217edb7a2e)
gst_meta_api_type_register (/usr/lib/x86_64-linux-gnu/libgstreamer-1.0.so.0.2002.0:0x7f217ee5b524)
gst_meta_register_custom (/usr/lib/x86_64-linux-gnu/libgstreamer-1.0.so.0.2002.0:0x7f217ee5b84a)
main (rtpvp8.c:784)
?? (/usr/lib/x86_64-linux-gnu/libc.so.6:0x7f217ea14d8c)
__libc_start_main (/usr/lib/x86_64-linux-gnu/libc.so.6:0x7f217ea14e3c)
_start (/<<PKGBUILDDIR>>/obj-x86_64-linux-gnu/tests/check/elements_rtpvp8:0x563ba1e6a741)
stderr:
(elements_rtpvp8:616191): GStreamer-WARNING **: 17:26:26.077: External plugin loader failed. This
most likely means that the plugin loader helper binary was not found or could not be run. You might
need to set the GST_PLUGIN_SCANNER environment variable if your setup is unusual. This should
normally not be required though.
../libs/gst/check/libcheck/check_msg.c:79: No messaging setup
------------------------------------------------------------------------------
49/110 elements_rtph265 OK 0.32s
17:26:25 GST_PLUGIN_PATH_1_0=/<<PKGBUILDDIR>>/obj-x86_64-linux-gnu:/usr/lib/x86_64-linux-gnu/gstreamer-1.0:/usr/lib/x86_64-linux-gnu/gstreamer-1.0 GST_REGISTRY=/<<PKGBUILDDIR>>/obj-x86_64-linux-gnu/tests/check/elements_rtph265.registry
GST_STATE_IGNORE_ELEMENTS='aasink autoaudiosrc autoaudiosink autovideosrc
autovideosink cacasink cairotextoverlay gtkglsink gtksink jackaudiosrc
jackaudiosink osssrc osssink osxaudiosink osxaudiosrc osxvideosrc osxvideosink
pulsesink pulsesrc pulsemixer v4l2src' MALLOC_PERTURB_=76
GST_PLUGIN_LOADING_WHITELIST=gstreamer:gst-plugins-base:timecode:gst-plugins-good@/<<PKGBUILDDIR>>/obj-x86_64-linux-gnu
CK_DEFAULT_TIMEOUT=20 GST_PLUGIN_SYSTEM_PATH_1_0='' GSETTINGS_BACKEND=memory
GST_PLUGIN_SCANNER_1_0=/usr/libexec/gstreamer-1.0/gst-plugin-scanner
/<<PKGBUILDDIR>>/obj-x86_64-linux-gnu/tests/check/elements_rtph265
----------------------------------- output -----------------------------------
stdout:
Running suite(s): rtph265
100%: Checks: 13, Failures: 0, Errors: 0
Check suite rtph265 ran in 0.168s (tests failed: 0)
stderr:
(elements_rtph265:616127): GStreamer-WARNING **: 17:26:25.927: External plugin loader failed. This
most likely means that the plugin loader helper binary was not found or could not be run. You might
need to set the GST_PLUGIN_SCANNER environment variable if your setup is unusual. This should
normally not be required though.
```
</details>https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1718Anonymous faces with faceblur, facedetect2023-07-20T10:38:21ZMichael PrujanAnonymous faces with faceblur, facedetectHi,
I need to anonymize faces on video.
I used faceblur plugin, however, the face is still there.
`gst-launch-1.0 autovideosrc ! videoconvert ! faceblur profile=/usr/share/OpenCV/haarcascades/haarcascade_frontalface_default.xml ! autovi...Hi,
I need to anonymize faces on video.
I used faceblur plugin, however, the face is still there.
`gst-launch-1.0 autovideosrc ! videoconvert ! faceblur profile=/usr/share/OpenCV/haarcascades/haarcascade_frontalface_default.xml ! autovideosink`
Facedetect plugin detects only one face in time.
Thanks for the help,
Michael.