GStreamer issueshttps://gitlab.freedesktop.org/groups/gstreamer/-/issues2018-11-27T02:26:40Zhttps://gitlab.freedesktop.org/gstreamer/cerbero/-/issues/88gdk-pixbuf recipe fails to compile on Windows2018-11-27T02:26:40ZMarie Maurergdk-pixbuf recipe fails to compile on WindowsI am trying to compile master branch of https://github.com/GStreamer/cerbero
With Meson on my Windows computer. So far it seemed working, but now I get an error message with gdk-pixbuf.
Tried it multiple times, but never succeeded this p...I am trying to compile master branch of https://github.com/GStreamer/cerbero
With Meson on my Windows computer. So far it seemed working, but now I get an error message with gdk-pixbuf.
Tried it multiple times, but never succeeded this part. From step 122 on it tells me “no input files” and “compilation terminated”.
```
[122/134] x86_64-w64-mingw32-gcc @tests/tests@@pixbuf-pixdata@exe/meson-generated_.._resources.c.obj.rsp
FAILED: tests/tests@@pixbuf-pixdata@exe/meson-generated_.._resources.c.obj
x86_64-w64-mingw32-gcc @tests/tests@@pixbuf-pixdata@exe/meson-generated_.._resources.c.obj.rsp
x86_64-w64-mingw32-gcc: error: tests/resources.c: No such file or directory
x86_64-w64-mingw32-gcc: fatal error: no input files
compilation terminated.
[gdk-pixbuf-compile-log.txt](/uploads/e8b404483629704a10ec80bcc92df740/gdk-pixbuf-compile-log.txt)
```
Nirbheek Chauhannirbheek.chauhan@gmail.comNirbheek Chauhannirbheek.chauhan@gmail.comhttps://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/824h264/h265parse: Don't need to insert SPS/PPS per config-interval if they are ...2018-12-13T13:53:34ZSeungha Yangseungha@centricular.comh264/h265parse: Don't need to insert SPS/PPS per config-interval if they are in frameDepending on config-interval property, h264/5 parse insert SPS/PPS nals regardless of existence in current frame.
So, in following scenario, every keyframe buffer has double SPS/PPS, since x264 will insert SPS/PPS nal per keyframe by our...Depending on config-interval property, h264/5 parse insert SPS/PPS nals regardless of existence in current frame.
So, in following scenario, every keyframe buffer has double SPS/PPS, since x264 will insert SPS/PPS nal per keyframe by our default setting.
`videotestsrc ! x264enc key-int-max=30 ! h264parse config-interval=-1 ! ...`https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/330gst-inspect-1.0 outputs nothing on macOS when the output fits in the terminal2018-11-23T16:01:40ZNirbheek Chauhannirbheek.chauhan@gmail.comgst-inspect-1.0 outputs nothing on macOS when the output fits in the terminal`less -F` on macOS differs from Linux in that it clears the screen on when termcap outputs deinitialization strings, so nothing is displayed at all:
```
giniro:~ nirbheek$ gst-inspect-1.0 foo
giniro:~ nirbheek$
giniro:~ nirbheek$ gst-i...`less -F` on macOS differs from Linux in that it clears the screen on when termcap outputs deinitialization strings, so nothing is displayed at all:
```
giniro:~ nirbheek$ gst-inspect-1.0 foo
giniro:~ nirbheek$
giniro:~ nirbheek$ gst-inspect-1.0 foo | cat
No such element or plugin 'foo'
giniro:~ nirbheek$
```
One fix is to use `less -X -F` which doesn't send those deinitialization strings. However, that will also mean that the output will fill up the screen paginating normally, so we should only use `-X` on macOS.
Apparently `-X` also breaks scrolling (I tested this), so maybe `less` is better.https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/519rtpmanager : rtpsession: Dubious total bytes calculation2023-06-02T06:13:56ZEdward Herveyrtpmanager : rtpsession: Dubious total bytes calculationWhile going over rtpsession code, I encountered this line:
https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/blob/master/gst/rtpmanager/rtpsession.c#L2015
```
/* get packet size including header overhead */
pinfo->bytes += gst_...While going over rtpsession code, I encountered this line:
https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/blob/master/gst/rtpmanager/rtpsession.c#L2015
```
/* get packet size including header overhead */
pinfo->bytes += gst_buffer_get_size (*buffer) + pinfo->header_len;
```
But this doesn't seem to make sense. A RTP/RTCP buffer size *will* contain the RTP header length also (it's part of the buffer). Digging back, it was already present in 0.10 (using `GST_BUFFER_SIZE`). Maybe it was a glitch that crept in the 1.0 porting ?https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/823webrtcbin: add turn server fails with "Failed to set TURN server"2018-11-22T15:59:01ZHarshad Khedkarwebrtcbin: add turn server fails with "Failed to set TURN server"I am using the latest master branch of gst-plugins-bad and try to get it worked with webrtc.
Platform: Ubunt-18.04-lts
Libnice: 0.1.14-1
Gstreamer: Master branch with latest commit
I have found the issue while adding the turn-server th...I am using the latest master branch of gst-plugins-bad and try to get it worked with webrtc.
Platform: Ubunt-18.04-lts
Libnice: 0.1.14-1
Gstreamer: Master branch with latest commit
I have found the issue while adding the turn-server through webrtcbin.
I am setting 'turn-server' property of webrtcbin which fails at : ERROR webrtcice gstwebrtcice.c:368:_add_turn_server: Failed to set TURN server
After some investigation, I found that it is failing while passing the parameters to nice_agent_set_relay_info().
We need to use 'host' from gst_uri_get_host as libnice agent expects it.
Currently master code of gst1-plugins-bad use plain-string host name while passing it to libnice agent: nice_agent_set_relay_info() in gstwebrtcice.c while adding turn_server(_add_turn_server).
It is observered that if we don't convert the host parameter by using gst_uri_get_host, it fails in libnice agent(0.1.14-1).
Code does, actually, set the host correctly but while passing params to nice_agent_set_relay_info, it uses incorrect one.https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/518aspectratiocrop sends its caps directly from the main thread2018-11-26T10:20:36ZAlexandru Băluțaspectratiocrop sends its caps directly from the main threadCan be seen in this Pitivi issue: https://gitlab.gnome.org/GNOME/pitivi/issues/2259Can be seen in this Pitivi issue: https://gitlab.gnome.org/GNOME/pitivi/issues/2259https://gitlab.freedesktop.org/gstreamer/gstreamer-project/-/issues/37CI manifest handling is broken2018-11-22T00:39:09ZNicolas DufresneCI manifest handling is brokenTwo MR, two time it didn't build from the right revisions.
Failed, but should have worked:
https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/merge_requests/25
Worked, but should have failed:
https://gitlab.freedesktop.org/gstre...Two MR, two time it didn't build from the right revisions.
Failed, but should have worked:
https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/merge_requests/25
Worked, but should have failed:
https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/merge_requests/25https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/822CEA-608 renderer support2021-09-24T14:36:47ZAntonio LarrosaCEA-608 renderer supportRecently some CC support has been added to gstreamer for CEA-708 but it seems CEA-608 support is still missing.
I've built the latest git master and tried playing [a sample video](http://trac.webkit.org/export/53075/trunk/LayoutTests/me...Recently some CC support has been added to gstreamer for CEA-708 but it seems CEA-608 support is still missing.
I've built the latest git master and tried playing [a sample video](http://trac.webkit.org/export/53075/trunk/LayoutTests/media/content/counting-captioned.mov) which includes CEA-608 CCs. Using gst-play, video is shown fine, but CCs are not rendered and I'm getting the following error on the terminal output:
> 0:00:00.120853554 10567 0x7fd99400ae30 ERROR playbin gstplaybin2.c:3561:pad_added_cb:<playbin> unknown type closedcaption/x-cea-608 for pad uridecodebin0:src_1
It would be nice to have better support for CEA-608 in addition to CEA-708.https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/162Add bindings for GStreamer GParamSpecs2018-12-13T18:10:33ZSebastian DrögeAdd bindings for GStreamer GParamSpecsSebastian DrögeSebastian Drögehttps://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/161Add subclassing support for GstVideoDecoder2019-05-22T20:57:20ZSebastian DrögeAdd subclassing support for GstVideoDecoderSee https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-base-libs/html/gst-plugins-base-libs-GstVideoDecoder.html
It probably makes sense to first wrap more parts libgstvideo in gstreamer-rs so that things like GstVide...See https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-base-libs/html/gst-plugins-base-libs-GstVideoDecoder.html
It probably makes sense to first wrap more parts libgstvideo in gstreamer-rs so that things like GstVideoCodecFrame and GstVideoInfo/Frame can possibly be directly used without writing manual bindings. https://github.com/sdroege/gstreamer-rs/issues/5
As part of this should also be a simple decoder element. Maybe just a minimal element that takes e.g. a BMP image and *decodes* it (or rather parses the header and throws away the header).Guillaume DesmottesGuillaume Desmotteshttps://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/160Add subclassing support for GstVideoEncoder2019-05-25T08:18:59ZSebastian DrögeAdd subclassing support for GstVideoEncoderSee https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-base-libs/html/gst-plugins-base-libs-GstVideoEncoder.html
It probably makes sense to first wrap more parts libgstvideo in gstreamer-rs so that things like GstVide...See https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-base-libs/html/gst-plugins-base-libs-GstVideoEncoder.html
It probably makes sense to first wrap more parts libgstvideo in gstreamer-rs so that things like GstVideoCodecFrame and GstVideoInfo/Frame can possibly be directly used without writing manual bindings. https://github.com/sdroege/gstreamer-rs/issues/5
As part of this should also be a simple decoder element. Maybe just a minimal element that takes e.g. a BMP image and *encodes* it (or rather adds the header).Sebastian DrögeSebastian Drögehttps://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/159Add subclassing support for GstAudioDecoder2019-09-17T08:25:55ZSebastian DrögeAdd subclassing support for GstAudioDecoderSee https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-base-libs/html/GstAudioDecoder.html
As part of this should also be a simple decoder element. Maybe just a minimal element that takes e.g. a ALAW/MULAW decoder.See https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-base-libs/html/GstAudioDecoder.html
As part of this should also be a simple decoder element. Maybe just a minimal element that takes e.g. a ALAW/MULAW decoder.https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/158Add subclassing support for GstAudioEncoder2019-09-17T08:25:55ZSebastian DrögeAdd subclassing support for GstAudioEncoderSee https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-base-libs/html/GstAudioEncoder.html
As part of this should also be a simple encoder element. Maybe just a minimal element that takes e.g. a ALAW/MULAW encoder.See https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-base-libs/html/GstAudioEncoder.html
As part of this should also be a simple encoder element. Maybe just a minimal element that takes e.g. a ALAW/MULAW encoder.https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/157Add subclassing support for GstBaseParse2019-06-01T15:25:54ZSebastian DrögeAdd subclassing support for GstBaseParseSee https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer-libs/html/GstBaseParse.html
As part of this should also be a simple parser element. Maybe just a minimal element that takes e.g. a PNG or JPEG parserSee https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer-libs/html/GstBaseParse.html
As part of this should also be a simple parser element. Maybe just a minimal element that takes e.g. a PNG or JPEG parserGuillaume DesmottesGuillaume Desmotteshttps://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/156Add subclassing support for VideoFilter2021-05-10T09:51:40ZSebastian DrögeAdd subclassing support for VideoFilterA start exists in https://github.com/sdroege/gst-plugin-rs/tree/video_filterA start exists in https://github.com/sdroege/gst-plugin-rs/tree/video_filterhttps://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/155Add BaseTransform virtual method wrappers for submit_input / prepare_output2020-02-15T09:36:53ZSebastian DrögeAdd BaseTransform virtual method wrappers for submit_input / prepare_outputhttps://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/154Export `gst_plugin_NAME_register()` and `gst_plugin_NAME_get_desc()` function...2019-05-27T20:31:30ZSebastian DrögeExport `gst_plugin_NAME_register()` and `gst_plugin_NAME_get_desc()` functions if targetting GStreamer >= 1.14The following discussion from gst-plugin-rs!42 should be addressed:
- [ ] @slomo started a [discussion](https://gitlab.freedesktop.org/gstreamer/gst-plugin-rs/merge_requests/42#note_74347):
> With GStreamer >= 1.14 we should optio...The following discussion from gst-plugin-rs!42 should be addressed:
- [ ] @slomo started a [discussion](https://gitlab.freedesktop.org/gstreamer/gst-plugin-rs/merge_requests/42#note_74347):
> With GStreamer >= 1.14 we should optionally just create a `gst_plugin_NAME_get_desc()` and `gst_plugin_NAME_register()` function like `GST_PLUGIN_DEFINE` does. That makes everything easier for us as we can run actual code instead of having to statically create a C struct here.
>
> It would also allow using actual *strings* instead of NUL-terminated byte arrays for the plugin metadata.Sebastian DrögeSebastian Drögehttps://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/821Remove mmssrc ?2021-10-20T18:32:54ZTim-Philipp Müllertim@centricular.comRemove mmssrc ?I wonder if there's still a need to keep `mmssrc` around. I'm not aware of this protocol still being used and I don't have any test URLs or servers that are still up and running.
If it's still used, then the only thing any client does i...I wonder if there's still a need to keep `mmssrc` around. I'm not aware of this protocol still being used and I don't have any test URLs or servers that are still up and running.
If it's still used, then the only thing any client does is likely to redirect to rtspX://.
@hadess - any thoughts/opinions?https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/153gstreamer-video: Implement Sync and/or Send traits to VideoFrame2018-11-26T10:23:16ZVíctor Manuel Jáquez Lealgstreamer-video: Implement Sync and/or Send traits to VideoFrameJust as Buffer and Sample, it should be possible to pass a VideoFrame across different threads.Just as Buffer and Sample, it should be possible to pass a VideoFrame across different threads.https://gitlab.freedesktop.org/gstreamer/gstreamer-sharp/-/issues/13Gst.Object.Replace doesn't seem to work2021-09-24T10:46:43ZTomislav TustonicGst.Object.Replace doesn't seem to workHello
I'm trying to create a player, similar to (https://github.com/GStreamer/gst-plugins-base/blob/master/tools/gst-play.c)
In the [handler for `GST_MESSAGE_STREAM_COLLECTION`](https://github.com/GStreamer/gst-plugins-base/blob/maste...Hello
I'm trying to create a player, similar to (https://github.com/GStreamer/gst-plugins-base/blob/master/tools/gst-play.c)
In the [handler for `GST_MESSAGE_STREAM_COLLECTION`](https://github.com/GStreamer/gst-plugins-base/blob/master/tools/gst-play.c#L534) (line 534) there's a call to `gst_object_replace`. If I understand correctly, it's supposed to replace an old collection with the new by replacing the pointers.
I try to use `Gst.Object.Replace`, but it doesn't seem to work and there's an error:
`(GstPlayer.exe:19812): GStreamer-CRITICAL **: gst_object_replace: assertion 'oldobj != NULL' failed`
When I look at the code for the `Replace` method it seems that there are a few errors.
* The `gst_object_replace` takes a **, so the import should probably be
`static extern bool gst_object_replace(ref IntPtr oldobj, IntPtr newobj);` // note the ref oldobj
* Also, the `Replace `method should also take a `ref Gst.Object oldobj` parameter.
* In the case when the oldptr==null , the IntPtr value sent to the `gst_object_replace` is not an `OwnedHandle` of the `oldobj`, so the `oldobj `doesn't change.
* However, since handles in Gst.Object cannot just be replaced, when `gst_object_replace` returns true, a new value for the `oldobj` needs to be created with the replaced handle.
Attached are the test and the patch. There are two versions of Replace, a generic and non-generic. Test shows the usage for both of them.
Hope it's OK,
Tom
[TestStreamCollection.cs](/uploads/a4917b2cc9359464d3c5a107703445ed/TestStreamCollection.cs)
[0001-A-fix-for-a-Gst.Object.Replace-in-Object.cs.patch](/uploads/37955bf10a8b9d049d0305e0d7dff0d9/0001-A-fix-for-a-Gst.Object.Replace-in-Object.cs.patch)