GStreamer issueshttps://gitlab.freedesktop.org/groups/gstreamer/-/issues2022-07-20T19:27:25Zhttps://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1326Can't find NVJPEGDEC source code2022-07-20T19:27:25ZElliott VelascoCan't find NVJPEGDEC source codeHello,
I was just wondering where I could find the source code for the nvjpegdec element under the nvcodec plugin. And another question I have is is there an nvjpeg encoder element? I don't see one under the plugin, so I'm attempting to...Hello,
I was just wondering where I could find the source code for the nvjpegdec element under the nvcodec plugin. And another question I have is is there an nvjpeg encoder element? I don't see one under the plugin, so I'm attempting to create one myself if there is not a nvjpeg encoder element.https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/393Add gst_buffer_get_reference_timestamp_meta to Rust2022-07-13T17:33:16Zeden-parallelAdd gst_buffer_get_reference_timestamp_meta to RustHi,
I am trying to use the gst_buffer_get_reference_timestamp_meta C API in Rust, but I can't find it on the BufferRef struct. I see gst_buffer_add_reference_timestamp_meta, but not gst_buffer_get_reference_timestamp_meta.
Is this suppo...Hi,
I am trying to use the gst_buffer_get_reference_timestamp_meta C API in Rust, but I can't find it on the BufferRef struct. I see gst_buffer_add_reference_timestamp_meta, but not gst_buffer_get_reference_timestamp_meta.
Is this supported by the Rust bindings?
-Edenhttps://gitlab.freedesktop.org/gstreamer/gstreamer-project/-/issues/101gstapp timeout and application crash2022-07-14T12:44:58ZGokila Mgstapp timeout and application crashHello,
We have a Media Server integrated with GStreamer for transcoding. Our application is running absolutely fine in production system.
Recently, we have upgraded the G-Streamer to 1.20.0 version and integration went fine without err...Hello,
We have a Media Server integrated with GStreamer for transcoding. Our application is running absolutely fine in production system.
Recently, we have upgraded the G-Streamer to 1.20.0 version and integration went fine without errors.
When we run the application, even for a single call we see that G-Streamer timeout happens when we transcode the media.
Every time our Media Server application crashed due to this issue and the dump is being generated.
While analysing the dump, it is pointing the G-Streamer function as mentioned below,
```
0:159> ~#kv
ChildEBP RetAddr Args to Child
WARNING: Frame IP not in any known module. Following frames may be wrong.
2d11eb6c 6fb4986b 2678e7c0 0a15bea8 f1683d72 0x1633eaed
2d11eb98 77c58389 00000000 00000021 25d2b0a8 **libgstapp_1_0_0!gst_app_src_set_callbacks+0x16ab**
2d11ec30 77c582b7 25d2b0a8 6df29bed 6810ab1e ntdll!RtlReAllocateHeap+0x109
2d11ec6c 64bf74bb 25d2b0a8 2d11ec8c 7573261b ntdll!RtlReAllocateHeap+0x37
2d11ec78 7573261b 01430000 00000000 00000000 libglib_2_0_0!g_realloc+0x2b
2d11ec8c 64c4688f 266b3634 00000000 00000020 ucrtbase!free_base+0x1b
2d11ecac 6de99217 266b3634 2d11ecf0 77c53e1d libglib_2_0_0!g_mutex_unlock+0xf
2d11ecb8 77c53e1d 0000000c 00000000 264da6c1 libgstreamer_1_0_0!gst_mini_object_remove_parent+0x3527
2d11ed1c 64bf74bb 262ff548 00000000 00000000 ntdll!RtlAllocateHeap+0x23d
00000000 00000000 00000000 00000000 00000000 libglib_2_0_0!g_realloc+0x2b
```
Please provide your comments on this issue and let us know if you need any additional information.
Also please provide steps to capture the G-Streamer logs.
Note: We can able to capture the G-Streamer logs when we invoke it independently. How do we capture the logs when G-Streamer integrated with any other application ?
Thanks in advance,
Gokilahttps://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/216generic/fmp4: racy test test_live_timeout2022-07-20T16:16:55ZFrançois Laignelgeneric/fmp4: racy test test_live_timeoutSee: https://gitlab.freedesktop.org/fengalin/gst-plugins-rs/-/jobs/25189957See: https://gitlab.freedesktop.org/fengalin/gst-plugins-rs/-/jobs/25189957https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/984Links are not working / are not visible on the rtpbin documentation page2022-07-11T08:13:20Zdb-techLinks are not working / are not visible on the rtpbin documentation pageLinks are not working / are not visible on the rtpbin documentation page
[https://gstreamer.freedesktop.org/documentation/rtpmanager/rtpbin.html?gi-language=c#rtpbin ](https://gstreamer.freedesktop.org/documentation/rtpmanager/rtpbin.htm...Links are not working / are not visible on the rtpbin documentation page
[https://gstreamer.freedesktop.org/documentation/rtpmanager/rtpbin.html?gi-language=c#rtpbin ](https://gstreamer.freedesktop.org/documentation/rtpmanager/rtpbin.html?gi-language=c#rtpbin)https://gitlab.freedesktop.org/gstreamer/gst-libav/-/issues/111tracker-extract-3 coredump2022-07-11T09:41:44ZLuya Tshimbalangatracker-extract-3 coredumpAs suggested by gnome-photos developers, here is [a backtrace ](https://bugzilla-attachments.redhat.com/attachment.cgi?id=1866299)showing an issue with gst-libav as detected by tracker3.
Originally reported on [GNOME Tracker ticket](htt...As suggested by gnome-photos developers, here is [a backtrace ](https://bugzilla-attachments.redhat.com/attachment.cgi?id=1866299)showing an issue with gst-libav as detected by tracker3.
Originally reported on [GNOME Tracker ticket](https://gitlab.gnome.org/GNOME/gnome-photos/-/issues/200).https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/215hlssink3: No space left on device2022-08-30T06:09:27ZGolubev Matveihlssink3: No space left on devicePlugin crashes if there is no space on disk. Is it possible to add removal of old segments when there is not enough disk space?Plugin crashes if there is no space on disk. Is it possible to add removal of old segments when there is not enough disk space?https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/983How do I verify packets-lost in rtpbin2022-07-08T12:38:02ZJonas DanielssonHow do I verify packets-lost in rtpbinHi!
I want to write an application to analyze the performance of a pipeline streaming live video over RTP, I want to find out how many packets gets lost, among other things. I have attached the source code to this issue. The output from...Hi!
I want to write an application to analyze the performance of a pipeline streaming live video over RTP, I want to find out how many packets gets lost, among other things. I have attached the source code to this issue. The output from this application is:
```
$ ./target/release/rtp-analyzer
[2861218137] [10.0.3.34:34813] bitrate: 1263 kb/s, packets: 529, lost: 29 (5.48%), total: 572 kB
[2230382417] [10.0.3.34:50983] bitrate: 44 kb/s, packets: 234, lost: 0 (0.00%), total: 27 kB
[2861218137] [10.0.3.34:34813] bitrate: 1023 kb/s, packets: 1053, lost: 65 (6.17%), total: 1138 kB
[2230382417] [10.0.3.34:50983] bitrate: 43 kb/s, packets: 470, lost: 0 (0.00%), total: 54 kB
[2861218137] [10.0.3.34:34813] bitrate: 1044 kb/s, packets: 1610, lost: 67 (4.16%), total: 1750 kB
[2230382417] [10.0.3.34:50983] bitrate: 43 kb/s, packets: 704, lost: 0 (0.00%), total: 82 kB
[2861218137] [10.0.3.34:34813] bitrate: 949 kb/s, packets: 2169, lost: 67 (3.09%), total: 2364 kB
[2230382417] [10.0.3.34:50983] bitrate: 43 kb/s, packets: 938, lost: 0 (0.00%), total: 109 kB
[2861218137] [10.0.3.34:34813] bitrate: 1061 kb/s, packets: 2727, lost: 67 (2.46%), total: 2977 kB
[2230382417] [10.0.3.34:50983] bitrate: 43 kb/s, packets: 1173, lost: 0 (0.00%), total: 136 kB
[2861218137] [10.0.3.34:34813] bitrate: 946 kb/s, packets: 3265, lost: 88 (2.70%), total: 3563 kB
[2230382417] [10.0.3.34:50983] bitrate: 43 kb/s, packets: 1408, lost: 0 (0.00%), total: 164 kB
[2861218137] [10.0.3.34:34813] bitrate: 1032 kb/s, packets: 3801, lost: 109 (2.87%), total: 4146 kB
[2230382417] [10.0.3.34:50983] bitrate: 43 kb/s, packets: 1643, lost: 0 (0.00%), total: 191 kB
[2861218137] [10.0.3.34:34813] bitrate: 940 kb/s, packets: 4356, lost: 109 (2.50%), total: 4757 kB
[2230382417] [10.0.3.34:50983] bitrate: 43 kb/s, packets: 1877, lost: 0 (0.00%), total: 218 kB
[2861218137] [10.0.3.34:34813] bitrate: 1057 kb/s, packets: 4911, lost: 109 (2.22%), total: 5368 kB
```
And I often end up with a packet loss of around ~1%. Which for running on my local network seems very high. When I perform RTP stream analysis with Wireshark it reports 0% packet loss. And the same when I use ffmpeg with a SDP file:
```
ffmpeg -protocol_whitelist "file,rtp,udp" -i low-latency-test.sdp -y -vcodec copy -acodec copy test.flv
```
No, or almost no RTP packets reported missing. And using vlc with the same sdp file I get no frames loss in the statistics.
Am I doing something fishy, or could it be something fishy with how rtpbin/rtpsource calculates packet loss?
Thank you!
[main.rs](/uploads/68355aa0f3da44cdda21742ccb4161d1/main.rs)https://gitlab.freedesktop.org/gstreamer/meson-ports/ffmpeg/-/issues/29Compilation fails on VS 2022: stdatomic.h2022-10-15T00:10:29ZRyan LuciaCompilation fails on VS 2022: stdatomic.h```
[4/2428] Compiling C object subprojects/ffmpeg/libavutil-static.a.p/libavutil_buffer.c.obj
FAILED: subprojects/ffmpeg/libavutil-static.a.p/libavutil_buffer.c.obj
"cl" "-Isubprojects\ffmpeg\libavutil-static.a.p" "-Isubprojects\ffmpeg"...```
[4/2428] Compiling C object subprojects/ffmpeg/libavutil-static.a.p/libavutil_buffer.c.obj
FAILED: subprojects/ffmpeg/libavutil-static.a.p/libavutil_buffer.c.obj
"cl" "-Isubprojects\ffmpeg\libavutil-static.a.p" "-Isubprojects\ffmpeg" "-I..\subprojects\ffmpeg" "/MD" "/nologo" "/showIncludes" "/utf-8" "/W2" "/O2" "/Zi" "/wo4005" "/wd4018" "/wd4146" "/wd4244" "/wd4305" "/wd4554" "/wd4114" "/wd4028" "/wd4090" "/wd4133" "/utf-8" "-D_ISOC99_SOURCE" "-D_GNU_SOURCE" "-D_LARGEFILE_SOURCE" "-DPIC" "-D_USE_MATH_DEFINES" "-D_CRT_SECURE_NO_WARNINGS" "-D_CRT_NONSTDC_NO_WARNINGS" "-D_WIN32_WINNT=0x0600" "-DCSRI_NO_EXPORT" "-DHAVE_AV_CONFIG_H" "-DBUILDING_avutil" "/Fdsubprojects\ffmpeg\libavutil-static.a.p\libavutil_buffer.c.pdb" /Fosubprojects/ffmpeg/libavutil-static.a.p/libavutil_buffer.c.obj "/c" ../subprojects/ffmpeg/libavutil/buffer.c
C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.32.31326\include\stdatomic.h(15): fatal error C1189: #error: <stdatomic.h> is not yet supported when compiling as C, but this is planned for a future release.
ninja: build stopped: subcommand failed.```
```https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/982`rtph264depay` element doesn’t handle multiple NALs in a FU as well as VLC an...2023-07-08T09:24:59ZEric Chandrasekhar`rtph264depay` element doesn’t handle multiple NALs in a FU as well as VLC and ffmpegI work for IPConfigure, a video management software company that heavily relies on GStreamer for streaming utilities.
We’ve recently come across an issue when using the `rtph264depay` element while streaming H.264 from one of our camera...I work for IPConfigure, a video management software company that heavily relies on GStreamer for streaming utilities.
We’ve recently come across an issue when using the `rtph264depay` element while streaming H.264 from one of our camera vendors.
When streaming from this camera, no buffers containing I-Frames are pushed out of the rtph264depay element, resulting in corrupted output video. This was strange, as both FFmpeg and VLC display the video fine.
Digging further into what was going on, we discovered the camera fragments multiple NAL units over several RTP packets. Here is a screenshot of wireshark capture when streaming from this camera:
![Screenshot_from_2022-07-06_15-08-21](/uploads/384d76c15fa3032b037481143a46fd84/Screenshot_from_2022-07-06_15-08-21.png)
As seen above, there are multiple NAL units all within the same fragmentation unit, with the final NAL unit of this initial FU, the I-frame, continuing into the next 30 FUs. These NAL units are separated by Annex-B startcodes.
From RFC 6184 (RTP Payload format for H.264 Video), _fragmentation is defined only for a single NAL unit_, which means this camera is not abiding by the RFC.
The rtph264depay element is extracting the initial nal type of 7 (SPS) at the start of the FU, and storing that entire assembled FU as SPS data, when really that buffer contains multiple different NALs including an I-Frame.
Both VLC and FFmpeg support this stream despite the fact that it is non-RFC-compliant. Are there any preferred ways to get GStreamer to handle this situation similarly, and if not, would it be feasible for us to submit a patch that increases this element’s flexibility?https://gitlab.freedesktop.org/gstreamer/orc/-/issues/40ORC_RESTRICT has no effect on MSVC build2022-10-30T16:15:08ZSeungha Yangseungha@centricular.comORC_RESTRICT has no effect on MSVC buildMSVC uses `restrict` syntax only for function return type (e.g., `__declspec(restrict)`) and `__restrict` is the one equivalent to GCC's `__restrict__`
Probably this is one of reasons why I've seen some slowness on Windows host than ...MSVC uses `restrict` syntax only for function return type (e.g., `__declspec(restrict)`) and `__restrict` is the one equivalent to GCC's `__restrict__`
Probably this is one of reasons why I've seen some slowness on Windows host than WSL2https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1320Unable to use adaptivedemux2 and gst-editing-services together2022-07-07T13:57:46ZOzan SenerUnable to use adaptivedemux2 and gst-editing-services together### Describe your issue
We have an (server-side) app that uses gstreamer-editing-services C API to render videos. I want to include DASH playlists as possible inputs but neither old plugins nor the new adaptivedemux2 seems to work with G...### Describe your issue
We have an (server-side) app that uses gstreamer-editing-services C API to render videos. I want to include DASH playlists as possible inputs but neither old plugins nor the new adaptivedemux2 seems to work with GES in my tests. I built GStreamer from source and confirmed the bug with both our code and ges-launch-1.0 command. I included steps for ges-launch-1.0 below.
#### Expected Behavior
gst-editing-services can use DASH playlists as an input.
#### Observed Behavior
Using DASH playlists causes GES to fail.
#### Setup
- **Operating System:** Ubuntu 20.04
- **GStreamer Version:** Built from Git main by the time this issue is created [https://gitlab.freedesktop.org/gstreamer/gstreamer/-/commit/b233df3537a67c551d36c69796b05e8d27cf981e/pipelines?ref=main]
- **Command line:**
### Steps to reproduce the bug
1. Build gstreamer with adaptivedemux2 without old DASH support
2. Use a DASH playlist for GES clip
```sh
GST_DEBUG=INFO ges-launch-1.0 -o file:///tmp/ges.mp4 +clip https://bitmovin-a.akamaihd.net/content/MI201109210084_1/mpds/f08e80da-bf1d-4e3d-8899-f0f6155f6efa.mpd inpoint=0 duration=3000
```
### How reproducible is the bug?
Always
### Solutions you have tried
### Related non-duplicate issues
### Additional Information
<!-- Any other information such as logs. Make use of <details> for long output -->
gst-launch logs with a test video found on the Internet:
```sh
GST_DEBUG=INFO ges-launch-1.0 -o file:///tmp/ges.mp4 +clip https://bitmovin-a.akamaihd.net/content/MI201109210084_1/mpds/f08e80da-bf1d-4e3d-8899-f0f6155f6efa.mpd inpoint=0 duration=3000
```
[Command output](https://omh45f.csb.app)
gst-launch logs with some local stream:
```sh
GST_DEBUG=INFO ges-launch-1.0 -o file:///tmp/ges.mp4 +clip http://localhost:8000/output.mpd inpoint=0 duration=3000
```
[Command output](https://v8e4ze.csb.app)https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1725hlssink3: No space left on device2022-07-09T14:19:46ZGolubev Matveihlssink3: No space left on devicePlugin crashes if there is no space on disk. Is it possible to add removal of old segments when there is not enough disk space?Plugin crashes if there is no space on disk. Is it possible to add removal of old segments when there is not enough disk space?https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/981pulsedeviceprovider keep increasing ref count during each NULL->PLAYING stat...2022-09-28T10:50:02ZBhoomil Chavdapulsedeviceprovider keep increasing ref count during each NULL->PLAYING state of pipeline and also found 4KB memory increase in VmRSSWith below attach reference code I am trying to simulate my actual usecase.
Usecase : Need to monitor the pulseaudio device and change the state of pipeline either PLAYING or NULL based on device monitor `GST_MESSAGE_DEVICE_ADDED` and `G...With below attach reference code I am trying to simulate my actual usecase.
Usecase : Need to monitor the pulseaudio device and change the state of pipeline either PLAYING or NULL based on device monitor `GST_MESSAGE_DEVICE_ADDED` and `GST_MESSAGE_DEVICE_REMOVED` events respectively.[dev_monitor_test.c](/uploads/2e69893b71037c00a5937769835d2fcd/dev_monitor_test.c)
In example code, I have remove pulsesrc dependency and just used audiotestsrc as of now. audiotestsrc will provide data to fakesink once my pulseaudiodevice is added and state of pipeline goes to PLAYING and during remove time pipeline state set to NULL.
It is observed that there is a 4KB memory increase within 6-7 iteration of device ADDED/REMOVED (or PALYING/NULL pipeline). After checking with LEAK TRACE not found anything related to leakage. As a last option I have start using `GST_DEBUG=GST_REFCOUNTING` with my binary and found that `pulsedeviceprovider0` object keep increasing the reference counts. All increased `pulsedeviceprovider0` reference counts windup at the time of application termination but during application alive time and provide device ADDED/REMOVE event is contributing 4KB memory increase in VmRSS.
Have start looking into https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/blob/master/ext/pulse/pulsedeviceprovider.c but to make this fast I raise this issue(I don't know whether this is really a bug or not because at terminatio time all ref count is setback to 0 and object itself is dispose but with my usecase 4KB is increasing may be due to pulsedeviceprovider I guess).
ref count log is attached.[pulsedeviceprovider_keep_increase_ref_count_until_terminate.txt](/uploads/cc01e18ab47bd42d07034bfd2edc4ffd/pulsedeviceprovider_keep_increase_ref_count_until_terminate.txt)https://gitlab.freedesktop.org/gstreamer/gstreamer-project/-/issues/100Rename -bad2022-07-04T15:40:56ZPhilippe NormandRename -badFor years now people see -bad and think, oh this is bad, we must avoid it at all cost... This name is so misleading. What about -staging? Or something else that has no misleading meaning?For years now people see -bad and think, oh this is bad, we must avoid it at all cost... This name is so misleading. What about -staging? Or something else that has no misleading meaning?https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1315Apple colorimetry 1:3:5:1: bt709, but full color range?2022-07-26T21:08:12ZF. DuncanhApple colorimetry 1:3:5:1: bt709, but full color range?
When h264 video from Apple's Airplay-mirror streaming protocol is streamed to gstreamer, h264parse gets its colorimetry values as 1:3:5;1
which video4linux2 does not recognize and caps negotiations fail. Is there some known full-colo...
When h264 video from Apple's Airplay-mirror streaming protocol is streamed to gstreamer, h264parse gets its colorimetry values as 1:3:5;1
which video4linux2 does not recognize and caps negotiations fail. Is there some known full-color-range variant of bt709 (bt709 colorimetry = 2:3:5:1)?
The workaround is to use capsetter to declare the colorimetry as bt709, and then things work (v4l2h264dec plugin on Raspberry Pi).
is there any recognized color scheme variant of h264 like this? or could h264parse be getting it wrong, and it is just bt709? Could this just be Apple doing its own thing?
I'm guessing that the values are taken from some parameters in the initial SPS and PPS NAL units that begin the first frame of the bitstream. All content streamed in the iOS/macOS client screen-mirroring protocol seems to be 1:3:5:1. Where to look?, I can read the SPS and PPS.
Its not really an issue, since the capsetter workaround in the pipeline (in between between h264parse and v4l2h264dec) works, but I would welcome any input on this, thanks.https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1314MPEG-TS plugin is unhappy when system iconv doesn't support ISO 69372023-01-02T09:44:18ZA. WilcoxMPEG-TS plugin is unhappy when system iconv doesn't support ISO 6937### Describe your issue
The MPEG-TS plugin of gst-plugins-bad does not work when the system iconv does not support ISO 6937. This happened to me on musl libc.
#### Expected Behavior
Tests for gst-plugins-bad to pass.
#### Observed Beh...### Describe your issue
The MPEG-TS plugin of gst-plugins-bad does not work when the system iconv does not support ISO 6937. This happened to me on musl libc.
#### Expected Behavior
Tests for gst-plugins-bad to pass.
#### Observed Behavior
```
Running suite(s): MPEG Transport Stream helper library
Unexpected critical/warning: g_convert_with_iconv: assertion 'converter != (GIConv) -1' failed
Unexpected critical/warning: g_convert_with_iconv: assertion 'converter != (GIConv) -1' failed
Unexpected critical/warning: g_convert_with_iconv: assertion 'converter != (GIConv) -1' failed
62%: Checks: 8, Failures: 3, Errors: 0
../libs/gst/check/gstcheck.c:286:F:general:test_mpegts_nit:0: Unexpected critical/warning: g_convert_with_iconv: assertion 'converter != (GIConv) -1' failed
../libs/gst/check/gstcheck.c:286:F:general:test_mpegts_sdt:0: Unexpected critical/warning: g_convert_with_iconv: assertion 'converter != (GIConv) -1' failed
../libs/gst/check/gstcheck.c:286:F:general:test_mpegts_dvb_descriptors:0: Unexpected critical/warning: g_convert_with_iconv: assertion 'converter != (GIConv) -1' failed
Check suite mpegts ran in 0.025s (tests failed: 3)
```
#### Setup
- **Operating System:** Linux gwyn.foxkit.us 5.15.28-mc1-easy #1 SMP Sun May 29 05:30:46 UTC 2022 ppc64 GNU/Linux
- **Device:** Computer (Talos II)
- **GStreamer Version:** 1.20.3
- **Command line:** `GST_DEBUG='*:4' build/tests/check/libs_mpegts`
### Steps to reproduce the bug
Use the `dvb_text_from_utf8` function in `gstmpegtsdescriptor.c`.
### How reproducible is the bug?
Always.
### Solutions you have tried
The following patch, which I am willing to submit in an MR if it helps, does fix the assertion:
```patch
--- a/gst-libs/gst/mpegts/gstmpegtsdescriptor.c 2022-05-02 17:29:29.000000000 -0500
+++ b/gst-libs/gst/mpegts/gstmpegtsdescriptor.c 2022-07-02 23:19:51.027302943 -0500
@@ -296,7 +296,7 @@
dvb_text_from_utf8 (const gchar * text, gsize * out_size)
{
GError *error = NULL;
- gchar *out_text;
+ gchar *out_text = NULL;
guint8 *out_buffer;
guint encoding;
GIConv giconv = (GIConv) - 1;
@@ -304,7 +304,8 @@
/* We test character maps one-by-one. Start with the default */
encoding = _ICONV_ISO6937;
giconv = _get_iconv (_ICONV_UTF8, encoding);
- out_text = g_convert_with_iconv (text, -1, giconv, NULL, out_size, &error);
+ if (giconv != (GIConv) - 1)
+ out_text = g_convert_with_iconv (text, -1, giconv, NULL, out_size, &error);
if (out_text) {
GST_DEBUG ("Using default ISO6937 encoding");
```
However, then the tests fail with off-by-3 errors because of the padding needed to use ISO-8559-1:
```
62%: Checks: 8, Failures: 3, Errors: 0
../tests/check/libs/mpegts.c:402:F:general:test_mpegts_nit:0: 0x52 != 0x49 in byte 2 of NIT section
../tests/check/libs/mpegts.c:491:F:general:test_mpegts_sdt:0: 0x44 != 0x38 in byte 2 of SDT section
../tests/check/libs/mpegts.c:598:F:general:test_mpegts_dvb_descriptors:0: Assertion 'desc->length == 4' failed
Check suite mpegts ran in 0.026s (tests failed: 3)
```
My thought is that the tests should probably be skipped if the system iconv doesn't support ISO 6937, but I'm not sure how to test that from the test code itself as _get_iconv is not available there. We could hardcode the constants for UTF8/ISO6937, or perhaps try a different method.https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/980Found memory leak using GST_TRACER while device ADD/REMOVE event coming in de...2022-09-29T08:20:37ZBhoomil ChavdaFound memory leak using GST_TRACER while device ADD/REMOVE event coming in device monitor callback.Found memory leak using GST_TRACER while device ADD/REMOVE event coming in device monitor callback. Not able to decode below logs to resolve object-alive tracer warning/error.
Below is TRACER logs
======================================...Found memory leak using GST_TRACER while device ADD/REMOVE event coming in device monitor callback. Not able to decode below logs to resolve object-alive tracer warning/error.
Below is TRACER logs
==============================================================================================================================================================
0:01:31.261435590 2649 0x2785b60 TRACE GST_TRACER :0:: object-alive, type-name=(string)GstMessage, address=(gpointer)0x2877b18, description=(string)device-added message: 0x2877b18, time 99:99:99.999999999, seq-num 854, element 'pulsedeviceprovider0', GstMessageDeviceAdded, device=(GstDevice)"\(GstPulseDevice\)\ pulsedevice49";, ref-count=(uint)1, trace=(string);
0:01:31.261484757 2649 0x2785b60 TRACE GST_TRACER :0:: object-alive, type-name=(string)GstMessage, address=(gpointer)0xf241e008, description=(string)device-removed message: 0xf241e008, time 99:99:99.999999999, seq-num 965, element 'pulsedeviceprovider0', GstMessageDeviceRemoved, device=(GstDevice)"\(GstPulseDevice\)\ pulsedevice53";, ref-count=(uint)1, trace=(string);
0:01:31.261534757 2649 0x2785b60 TRACE GST_TRACER :0:: object-alive, type-name=(string)GstMessage, address=(gpointer)0xf2406d18, description=(string)device-removed message: 0xf2406d18, time 99:99:99.999999999, seq-num 139, element 'pulsedeviceprovider0', GstMessageDeviceRemoved, device=(GstDevice)"\(GstPulseDevice\)\ pulsedevice14";, ref-count=(uint)1, trace=(string);
0:01:31.262654184 2649 0x2785b60 TRACE GST_TRACER :0:: object-alive, type-name=(string)GstMessage, address=(gpointer)0xf1a0cd20, description=(string)device-removed message: 0xf1a0cd20, time 99:99:99.999999999, seq-num 1147, element 'pulsedeviceprovider0', GstMessageDeviceRemoved, device=(GstDevice)"\(GstPulseDevice\)\ pulsedevice62";, ref-count=(uint)1, trace=(string);
0:01:31.262721892 2649 0x2785b60 TRACE GST_TRACER :0:: object-alive, type-name=(string)GstMessage, address=(gpointer)0xf1a0dd10, description=(string)device-removed message: 0xf1a0dd10, time 99:99:99.999999999, seq-num 1441, element 'pulsedeviceprovider0', GstMessageDeviceRemoved, device=(GstDevice)"\(GstPulseDevice\)\ pulsedevice76";, ref-count=(uint)1, trace=(string);
0:01:31.262774704 2649 0x2785b60 TRACE GST_TRACER :0:: object-alive, type-name=(string)GstMessage, address=(gpointer)0xf10071b8, description=(string)device-added message: 0xf10071b8, time 99:99:99.999999999, seq-num 476, element 'pulsedeviceprovider0', GstMessageDeviceAdded, device=(GstDevice)"\(GstPulseDevice\)\ pulsedevice31";, ref-count=(uint)1, trace=(string);
==============================================================================================================================================================https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/972Support DSD native2023-07-27T12:22:14Zantonio manciniSupport DSD nativeHi,
there is no work on native DSD support?
It seems that someone did, successfully...
`[root@homepc tmp]# gst-typefind-1.0 /tmp/2L-45_stereo_01_DSF_2822k_1b.dsf
/tmp/2L-45_stereo_01_DSF_2822k_1b.dsf - audio/x-dsf`
```
[root@homepc...Hi,
there is no work on native DSD support?
It seems that someone did, successfully...
`[root@homepc tmp]# gst-typefind-1.0 /tmp/2L-45_stereo_01_DSF_2822k_1b.dsf
/tmp/2L-45_stereo_01_DSF_2822k_1b.dsf - audio/x-dsf`
```
[root@homepc tmp]# gst-inspect-1.0 | grep dsd
pcm2dsd128: pcm2dsd128: PCM to DSD Converter
pcm2dsd: pcm2dsd: PCM to DSD Converter
audiopcm2dsdbin: audiopcm2dsdbin: AudioPCM2DSDBin
pcm2dsd64: pcm2dsd64: PCM to DSD Converter
pcm2dsd256: pcm2dsd256: PCM to DSD Converter
audiopcm2dsd: audiopcm2dsd: AudioPCM2DSD
libav: avdec_dsd_msbf_planar: libav DSD (Direct Stream Digital), most significant bit first, planar decoder
libav: avdec_dsd_lsbf_planar: libav DSD (Direct Stream Digital), least significant bit first, planar decoder
libav: avdec_dsd_msbf: libav DSD (Direct Stream Digital), most significant bit first decoder
libav: avdec_dsd_lsbf: libav DSD (Direct Stream Digital), least significant bit first decoder
```https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1312RFC: Media Source (MSE) API for GStreamer2023-11-19T14:52:51ZGeorge KiagiadakisRFC: Media Source (MSE) API for GStreamerHello everyone,
I am working on a project that requires the use of the web MSE API [1], in native
C/C++ code, outside the context of a web browser, in combination with a
GStreamer playback pipeline.
We are considering adding this API o...Hello everyone,
I am working on a project that requires the use of the web MSE API [1], in native
C/C++ code, outside the context of a web browser, in combination with a
GStreamer playback pipeline.
We are considering adding this API on GStreamer, consisting of 2 parts:
* A library (in -bad) that implements the MSE API
* An element (webmsesource) that will act as the source element of the playback pipeline
The design and implementation of all of this is / will be based on Webkit's
implementation of the same API.
[1]. https://www.w3.org/TR/media-source-2/
## The library
The library is going to expose at least the following 4 public classes:
* GstMediaSource
* GstSourceBuffer
* GstSourceBufferList
* GstMediaSourceTrack
GstMediaSource is the top-level object that manages a list of GstSourceBuffer.
GstSourceBuffer accepts data that is provided by the application and internally
launches a secondary pipeline to parse the provided data and fill in internal
queues. It manages a list of GstMediaSourceTrack.
GstSourceBufferList expresses a list of source buffers and exposes signals that
inform the application of buffers that were added or removed.
GstMediaSourceTrack is the equivalent of MediaSourceTrackGStreamer and TrackQueue
from Webkit. It expresses a single parsed track, with a queue of parsed data
that can be pulled from the playback pipeline. This is normally a private object
in browsers, but we need to expose it here so that it can be linked
to by the element that is going to act as the playback pipeline’s source.
The API of these classes is going to be very similar to the JavaScript ones in
the MSE specification, but written in C and using the GObject / GStreamer programming
conventions and style.
## The source element
The source element is going to accept a GstMediaSource via a GObject property
and refuse to operate without it. It will have to associate itself with the
GstMediaSource (so that it can also be referenced from the MediaSource code)
and will need to create streams (and post a GstStreamCollection) according to
the available tracks on the MediaSource. For each stream, it will create a new
src pad, and continuously pull data from the track's queue and push it in
the pipeline.
(This is basically "webkitmediasrc" ported away from C++ and Webkit)
Comments? Questions?
(CC @ocrete @jyelloz @philn)George KiagiadakisGeorge Kiagiadakis