GStreamer issueshttps://gitlab.freedesktop.org/groups/gstreamer/-/issues2019-11-07T22:48:47Zhttps://gitlab.freedesktop.org/gstreamer/cerbero/-/issues/178OSX: libtool failed at 'relocate_osx_libraries'2019-11-07T22:48:47ZXiaolin ZhangOSX: libtool failed at 'relocate_osx_libraries'Hi, I encounter the following fatal error while building on my MacBookPro. But it seems skip this step can continue building following recipes. Any Suggestion? Thanks in advance.
```
[(5/20) libtool -> fetch ]
-----> Fetching tarball ht...Hi, I encounter the following fatal error while building on my MacBookPro. But it seems skip this step can continue building following recipes. Any Suggestion? Thanks in advance.
```
[(5/20) libtool -> fetch ]
-----> Fetching tarball https://ftpmirror.gnu.org/libtool/libtool-2.4.6.tar.xz to /Users/xiaolin/.cache/cerbero-sources/libtool-2.4.6/libtool-2.4.6.tar.xz
[(5/20) libtool -> extract ]
-----> Extracting tarball to /Users/xiaolin/work/AdamEve/cerbero/build/sources/build-tools/libtool-2.4.6
[(5/20) libtool -> configure ]
[(5/20) libtool -> compile ]
[(5/20) libtool -> install ]
[(5/20) libtool -> post_install ]
[(5/20) libtool -> relocate_osx_libraries ]
Recipe 'libtool' failed at the build step 'relocate_osx_libraries'
Fatal Error: Some libraries weren't found while searching!
libltdl
Select an action to proceed:
[0] Enter the shell
[1] Rebuild the recipe from scratch
[2] Rebuild starting from the failed step
[3] Skip recipe
[4] Abort
3
```
OSX Version Information:
```
$ sw_vers
ProductName: Mac OS X
ProductVersion: 10.14.5
BuildVersion: 18F132
$ clang --version
Apple LLVM version 10.0.1 (clang-1001.0.46.4)
Target: x86_64-apple-darwin18.6.0
Thread model: posix
InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin
```https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/639oggdemux: Seeking should happen in the sinkpad streaming thread in pull mode ...2019-09-07T13:59:14ZThibault Sauniertsaunier@igalia.comoggdemux: Seeking should happen in the sinkpad streaming thread in pull mode (not the seeking thread)Currently `oggdemux` pull_range from the seeking thread:
```
gst_debug_get_stack_trace (gstinfo.c:2908)
gst_validate_report_new (gst-validate-report.c:746)
gst_validate_report_valist (gst-validate-reporter.c:187)
gst_validate_report (gs...Currently `oggdemux` pull_range from the seeking thread:
```
gst_debug_get_stack_trace (gstinfo.c:2908)
gst_validate_report_new (gst-validate-report.c:746)
gst_validate_report_valist (gst-validate-reporter.c:187)
gst_validate_report (gst-validate-reporter.c:320)
gst_validate_pad_monitor_get_range_func (gst-validate-pad-monitor.c:2495)
gst_pad_get_range_unchecked (gstpad.c:4798)
gst_pad_pull_range (gstpad.c:5039)
gst_ogg_demux_get_next_page (gstoggdemux.c:2631)
do_binary_search (gstoggdemux.c:3138)
gst_ogg_demux_perform_seek_pull (gstoggdemux.c:3319)
gst_ogg_pad_event (gstoggdemux.c:4001)
gst_validate_pad_monitor_src_event_func (gst-validate-pad-monitor.c:2111)
gst_pad_send_event_unchecked (gstpad.c:5772)
gst_pad_push_event_unchecked (gstpad.c:5417)
gst_pad_push_event (gstpad.c:5554)
gst_multi_queue_src_event (gstmultiqueue.c:2656)
gst_validate_pad_monitor_src_event_func (gst-validate-pad-monitor.c:2111)
gst_pad_send_event_unchecked (gstpad.c:5772)
gst_pad_push_event_unchecked (gstpad.c:5417)
gst_pad_push_event (gstpad.c:5554)
gst_video_decoder_src_event_default (gstvideodecoder.c:1473)
gst_validate_pad_monitor_src_event_func (gst-validate-pad-monitor.c:2111)
gst_pad_send_event_unchecked (gstpad.c:5772)
gst_pad_push_event_unchecked (gstpad.c:5417)
gst_pad_push_event (gstpad.c:5554)
event_forward_func (gstpad.c:3054)
gst_pad_forward (gstpad.c:3008)
gst_pad_event_default (gstpad.c:3105)
gst_validate_pad_monitor_src_event_func (gst-validate-pad-monitor.c:2111)
gst_pad_send_event_unchecked (gstpad.c:5772)
gst_pad_push_event_unchecked (gstpad.c:5417)
gst_pad_push_event (gstpad.c:5554)
event_forward_func (gstpad.c:3054)
gst_pad_forward (gstpad.c:3008)
gst_pad_event_default (gstpad.c:3105)
gst_validate_pad_monitor_src_event_func (gst-validate-pad-monitor.c:2111)
gst_pad_send_event_unchecked (gstpad.c:5772)
gst_pad_push_event_unchecked (gstpad.c:5417)
gst_pad_push_event (gstpad.c:5554)
gst_input_selector_event (gstinputselector.c:1559)
gst_validate_pad_monitor_src_event_func (gst-validate-pad-monitor.c:2111)
gst_pad_send_event_unchecked (gstpad.c:5772)
gst_pad_push_event_unchecked (gstpad.c:5417)
gst_pad_push_event (gstpad.c:5554)
event_forward_func (gstpad.c:3054)
gst_pad_forward (gstpad.c:3008)
gst_pad_event_default (gstpad.c:3105)
gst_pad_send_event_unchecked (gstpad.c:5772)
gst_pad_push_event_unchecked (gstpad.c:5417)
gst_pad_push_event (gstpad.c:5554)
event_forward_func (gstpad.c:3054)
gst_pad_forward (gstpad.c:3008)
gst_pad_event_default (gstpad.c:3105)
gst_stream_synchronizer_src_event (gststreamsynchronizer.c:204)
gst_validate_pad_monitor_src_event_func (gst-validate-pad-monitor.c:2111)
gst_pad_send_event_unchecked (gstpad.c:5772)
gst_pad_push_event_unchecked (gstpad.c:5417)
gst_pad_push_event (gstpad.c:5554)
event_forward_func (gstpad.c:3054)
gst_pad_forward (gstpad.c:3008)
gst_pad_event_default (gstpad.c:3105)
gst_pad_send_event_unchecked (gstpad.c:5772)
gst_pad_push_event_unchecked (gstpad.c:5417)
gst_pad_push_event (gstpad.c:5554)
gst_base_transform_src_eventfunc (gstbasetransform.c:1971)
gst_validate_pad_monitor_src_event_func (gst-validate-pad-monitor.c:2111)
gst_pad_send_event_unchecked (gstpad.c:5772)
gst_pad_push_event_unchecked (gstpad.c:5417)
gst_pad_push_event (gstpad.c:5554)
event_forward_func (gstpad.c:3054)
gst_pad_forward (gstpad.c:3008)
gst_pad_event_default (gstpad.c:3105)
gst_deinterlace_src_event (gstdeinterlace.c:3149)
gst_validate_pad_monitor_src_event_func (gst-validate-pad-monitor.c:2111)
gst_pad_send_event_unchecked (gstpad.c:5772)
gst_pad_push_event_unchecked (gstpad.c:5417)
gst_pad_push_event (gstpad.c:5554)
event_forward_func (gstpad.c:3054)
gst_pad_forward (gstpad.c:3008)
gst_pad_event_default (gstpad.c:3105)
gst_validate_pad_monitor_src_event_func (gst-validate-pad-monitor.c:2111)
gst_pad_send_event_unchecked (gstpad.c:5772)
gst_pad_push_event_unchecked (gstpad.c:5417)
gst_pad_push_event (gstpad.c:5554)
event_forward_func (gstpad.c:3054)
gst_pad_forward (gstpad.c:3008)
gst_pad_event_default (gstpad.c:3105)
gst_pad_send_event_unchecked (gstpad.c:5772)
gst_pad_push_event_unchecked (gstpad.c:5417)
gst_pad_push_event (gstpad.c:5554)
event_forward_func (gstpad.c:3054)
gst_pad_forward (gstpad.c:3008)
gst_pad_event_default (gstpad.c:3105)
gst_validate_pad_monitor_src_event_func (gst-validate-pad-monitor.c:2111)
gst_pad_send_event_unchecked (gstpad.c:5772)
gst_pad_push_event_unchecked (gstpad.c:5417)
gst_pad_push_event (gstpad.c:5554)
event_forward_func (gstpad.c:3054)
gst_pad_forward (gstpad.c:3008)
gst_pad_event_default (gstpad.c:3105)
gst_pad_send_event_unchecked (gstpad.c:5772)
gst_pad_push_event_unchecked (gstpad.c:5417)
gst_pad_push_event (gstpad.c:5554)
gst_base_transform_src_eventfunc (gstbasetransform.c:1971)
gst_validate_pad_monitor_src_event_func (gst-validate-pad-monitor.c:2111)
gst_pad_send_event_unchecked (gstpad.c:5772)
gst_pad_push_event_unchecked (gstpad.c:5417)
gst_pad_push_event (gstpad.c:5554)
gst_base_transform_src_eventfunc (gstbasetransform.c:1971)
gst_video_scale_src_event (gstvideoscale.c:1149)
gst_validate_pad_monitor_src_event_func (gst-validate-pad-monitor.c:2111)
gst_pad_send_event_unchecked (gstpad.c:5772)
gst_pad_push_event_unchecked (gstpad.c:5417)
gst_pad_push_event (gstpad.c:5554)
gst_base_transform_src_eventfunc (gstbasetransform.c:1971)
gst_validate_pad_monitor_src_event_func (gst-validate-pad-monitor.c:2111)
gst_pad_send_event_unchecked (gstpad.c:5772)
gst_pad_push_event_unchecked (gstpad.c:5417)
gst_pad_push_event (gstpad.c:5554)
gst_base_transform_src_eventfunc (gstbasetransform.c:1971)
gst_validate_pad_monitor_src_event_func (gst-validate-pad-monitor.c:2111)
gst_pad_send_event_unchecked (gstpad.c:5772)
gst_pad_push_event_unchecked (gstpad.c:5417)
gst_pad_push_event (gstpad.c:5554)
event_forward_func (gstpad.c:3054)
gst_pad_forward (gstpad.c:3008)
gst_pad_event_default (gstpad.c:3105)
gst_validate_pad_monitor_src_event_func (gst-validate-pad-monitor.c:2111)
gst_pad_send_event_unchecked (gstpad.c:5772)
gst_pad_push_event_unchecked (gstpad.c:5417)
gst_pad_push_event (gstpad.c:5554)
event_forward_func (gstpad.c:3054)
gst_pad_forward (gstpad.c:3008)
gst_pad_event_default (gstpad.c:3105)
gst_pad_send_event_unchecked (gstpad.c:5772)
gst_pad_push_event_unchecked (gstpad.c:5417)
gst_pad_push_event (gstpad.c:5554)
gst_base_sink_send_event (gstbasesink.c:4635)
gst_element_send_event (gstelement.c:1860)
gst_bin_send_event (gstbin.c:3146)
gst_element_send_event (gstelement.c:1860)
gst_bin_send_event (gstbin.c:3146)
gst_element_send_event (gstelement.c:1860)
gst_play_sink_send_event_to_sink (gstplaysink.c:4827)
gst_play_sink_send_event (gstplaysink.c:4871)
gst_element_send_event (gstelement.c:1860)
gst_element_send_event (gstelement.c:1860)
gst_validate_scenario_execute_seek (gst-validate-scenario.c:657)
_execute_seek (gst-validate-scenario.c:729)
gst_validate_execute_action (gst-validate-scenario.c:1811)
execute_next_action_full (gst-validate-scenario.c:2118)
?? (/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.5600.4:0x7ff6ce7fbcff)
g_main_context_dispatch (/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.5600.4:0x7ff6ce7fb281)
?? (/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.5600.4:0x7ff6ce7fb64c)
g_main_loop_run (/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.5600.4:0x7ff6ce7fb95e)
main (gst-validate.c:529)
__libc_start_main (libc-start.c:310)
_start (/home/thiblahute/devel/gstreamer/gst-build/build/subprojects/gst-devtools/validate/tools/gst-validate-1.0:0x5600aed2e206)
```https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/issues/181vaapipostproc: Fix pixel-aspect-ratio at negotiation when rotating2019-07-16T17:31:38ZVíctor Manuel Jáquez Lealvaapipostproc: Fix pixel-aspect-ratio at negotiation when rotatingIn https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/merge_requests/99 code review, I forgot to remark that, besides changing the width and height, it is required to change the pixel-aspect-ratio too.
Cc: @ullysses.a.eoffIn https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/merge_requests/99 code review, I forgot to remark that, besides changing the width and height, it is required to change the pixel-aspect-ratio too.
Cc: @ullysses.a.eoffhttps://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1019Webrtcbin: Can it be possible that a YUV buffer delivered by GStreamer is big...2019-07-15T16:15:15ZNeil YoungWebrtcbin: Can it be possible that a YUV buffer delivered by GStreamer is bigger than 3*width*height/2?as subject saysas subject sayshttps://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/619check.gst-plugins-good.elements_rtpjitterbuffer.test_fill_queue: Sometimes fa...2019-09-28T13:12:53ZSebastian Drögecheck.gst-plugins-good.elements_rtpjitterbuffer.test_fill_queue: Sometimes fails with "test_fill_queue:0: '1000 + i' (1324) is not equal to 'get_rtp_seq_num (buf)' (33843)"https://gitlab.freedesktop.org/slomo/gst-plugins-bad/-/jobs/421669
> ``` bash
> GST_PLUGIN_LOADING_WHITELIST='gstreamer:gst-plugins-base:gst-plugins-good@/builds/slomo/gst-plugins-bad/gst-build/build' CK_DEFAULT_TIMEOUT='20' GST_PLUGIN_...https://gitlab.freedesktop.org/slomo/gst-plugins-bad/-/jobs/421669
> ``` bash
> GST_PLUGIN_LOADING_WHITELIST='gstreamer:gst-plugins-base:gst-plugins-good@/builds/slomo/gst-plugins-bad/gst-build/build' CK_DEFAULT_TIMEOUT='20' GST_PLUGIN_PATH_1_0='/builds/slomo/gst-plugins-bad/gst-build/build' GST_CHECKS='test_fill_queue' GST_REGISTRY='/builds/slomo/gst-plugins-bad/gst-build/build/subprojects/gst-plugins-good/tests/check/elements_rtpjitterbuffer.registry' GST_PLUGIN_SYSTEM_PATH_1_0='' 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' /builds/slomo/gst-plugins-bad/gst-build/build/subprojects/gst-plugins-good/tests/check/elements_rtpjitterbuffer
> ```
>
> ## elements_rtpjitterbuffer output
>
> ```
>
> Running suite(s): rtpjitterbuffer
> 0%: Checks: 1, Failures: 1, Errors: 0
> ../subprojects/gst-plugins-good/tests/check/elements/rtpjitterbuffer.c:2681:F:general:test_fill_queue:0: '1000 + i' (1324) is not equal to 'get_rtp_seq_num (buf)' (33843)
> Check suite rtpjitterbuffer ran in 0.188s (tests failed: 1)
>
> ```
CC @ndufresnehttps://gitlab.freedesktop.org/gstreamer/gst-rtsp-server/-/issues/71check.gst-rtsp-server.gst_onvif.test_rate_control_no_frames_trick_mode: Somet...2019-07-17T16:39:53ZSebastian Drögecheck.gst-rtsp-server.gst_onvif.test_rate_control_no_frames_trick_mode: Sometimes times outhttps://gitlab.freedesktop.org/slomo/gst-plugins-bad/-/jobs/421520
> ``` bash
> CK_DEFAULT_TIMEOUT='120' GST_PLUGIN_LOADING_WHITELIST='gstreamer:gst-plugins-base:gst-plugins-good:gst-plugins-bad:gst-rtsp-server' GST_STATE_IGNORE_ELEMENT...https://gitlab.freedesktop.org/slomo/gst-plugins-bad/-/jobs/421520
> ``` bash
> CK_DEFAULT_TIMEOUT='120' GST_PLUGIN_LOADING_WHITELIST='gstreamer:gst-plugins-base:gst-plugins-good:gst-plugins-bad:gst-rtsp-server' GST_STATE_IGNORE_ELEMENTS='' GST_PLUGIN_PATH_1_0='/builds/slomo/gst-plugins-bad/gst-build/build' GST_CHECKS='test_rate_control_no_frames_trick_mode' GST_REGISTRY='/builds/slomo/gst-plugins-bad/gst-build/build/subprojects/gst-rtsp-server/tests/check/gst/onvif.registry' GST_PLUGIN_SYSTEM_PATH_1_0='' /builds/slomo/gst-plugins-bad/gst-build/build/subprojects/gst-rtsp-server/tests/check/gst_onvif
> ```
>
> ## gst_onvif output
>
> ```
>
> Running suite(s): onvif
>
> ```
> 0%: Checks: 1, Failures: 0, Errors: 1
> ../subprojects/gst-rtsp-server/tests/check/gst/onvif.c:892:E:general:test_rate_control_no_frames_trick_mode:0: (after this point) Test timeout expired
> Check suite onvif ran in 120.002s (tests failed: 1)
>
>
> ```
CC @mehhttps://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/410check.gstreamer.libs_aggregator.test_infinite_seek_50_src_live: Fails sometim...2024-03-15T13:07:16ZSebastian Drögecheck.gstreamer.libs_aggregator.test_infinite_seek_50_src_live: Fails sometimes with timeouthttps://gitlab.freedesktop.org/slomo/gst-plugins-bad/-/jobs/421323
> ``` bash
> CK_DEFAULT_TIMEOUT='20' GST_PLUGIN_PATH_1_0='/builds/slomo/gst-plugins-bad/gst-build/build' GST_PLUGIN_SCANNER_1_0='/builds/slomo/gst-plugins-bad/gst-build...https://gitlab.freedesktop.org/slomo/gst-plugins-bad/-/jobs/421323
> ``` bash
> CK_DEFAULT_TIMEOUT='20' GST_PLUGIN_PATH_1_0='/builds/slomo/gst-plugins-bad/gst-build/build' GST_PLUGIN_SCANNER_1_0='/builds/slomo/gst-plugins-bad/gst-build/build/subprojects/gstreamer/libs/gst/helpers/gst-plugin-scanner' GST_PLUGIN_LOADING_WHITELIST='gstreamer' GST_PLUGIN_SYSTEM_PATH_1_0='' GST_STATE_IGNORE_ELEMENTS='' GST_REGISTRY='/builds/slomo/gst-plugins-bad/gst-build/build/subprojects/gstreamer/tests/check/libs_aggregator.registry' GST_CHECKS='test_infinite_seek_50_src_live' /builds/slomo/gst-plugins-bad/gst-build/build/subprojects/gstreamer/tests/check/libs_aggregator
> ```
>
> ## libs_aggregator output
>
> ```
>
> Running suite(s): GstAggregator
> 0%: Checks: 1, Failures: 0, Errors: 1
> ../subprojects/gstreamer/tests/check/libs/aggregator.c:961:E:general:test_infinite_seek_50_src_live:0: (after this point) Test timeout expired
> Check suite gst_aggregator ran in 20.005s (tests failed: 1)
>
> ```https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1018webrtcbin: no profile-level-id in offer's SDP2019-07-16T07:35:41Zcodinhowebrtcbin: no profile-level-id in offer's SDPI was testing 1.17.0.1 release and found that 'profile-level-id' disappeared from offer's SDP, however, the 'packetization-mode' and 'sprop-parameter-sets' are there, this leads to stream is not playing with firefox.I was testing 1.17.0.1 release and found that 'profile-level-id' disappeared from offer's SDP, however, the 'packetization-mode' and 'sprop-parameter-sets' are there, this leads to stream is not playing with firefox.https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1017Webrtcbin: "do-nack" seems to have no effect2019-07-15T13:58:58ZNeil YoungWebrtcbin: "do-nack" seems to have no effectI admit, I might be wrong. Beforehand. To not be misunderstood.
Scenario:
- Java app based upon org.freedesktop.gstreamer:gst1-java-core:1.1.0, JDK 1.8
- Mac OS 10.14.5
- Java application just sends test-video, but fetches video from re...I admit, I might be wrong. Beforehand. To not be misunderstood.
Scenario:
- Java app based upon org.freedesktop.gstreamer:gst1-java-core:1.1.0, JDK 1.8
- Mac OS 10.14.5
- Java application just sends test-video, but fetches video from remote (no audio at all)
- Remote clients: Raspberry PI based on UV4L, browser app (Chrome, Firefox)
- Gstreamer 1.16.0 via brew
I was trying to harden the Java/Gstreamer implementation, since it has the problem, that it shows up artefacts which do not disappear, once there are packet losses downstream.
For that I was able to obtain the RTP statistics. My current solution is to issue a FIR request towards remote, once I see increasing packet losses inbound. But no more than one FIR per 5 seconds. These FIR requests are visible in the received video and counted in the remote statistics (not in a browser, but this might be a problem of the browser implementation) and basically this solution works for me.
I wanted to give the "do-nack" thing a try, which is disabled by default. I'm able to set and retrieve the value of do-nack, having done that on both streams now.
I was thinking, that a significant packet-loss on the inbound stream would force the Java/Gstreamer app to send NACKs, but I can't see them in the statistics of the remote side. And I could also not see any impact on the quality of the received video. Not sure if this expectation is true at all.
So my assumption is, that there is no effect of this setting at all.https://gitlab.freedesktop.org/gstreamer/gst-libav/-/issues/60Memory leak of refcontext in avenc_g7222019-07-15T07:44:19ZKnut Andre TidemannMemory leak of refcontext in avenc_g722When using the avenc_g722 encoder, it leaks memory during creation that is never freed after the element has been destroyed.
See merge request !32 for a patch.When using the avenc_g722 encoder, it leaks memory during creation that is never freed after the element has been destroyed.
See merge request !32 for a patch.https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/210Borrowed string getters for DebugCategory are unsafe2019-07-16T20:07:51ZJosh MatthewsBorrowed string getters for DebugCategory are unsafeThe `get_description` and `get_name` getters for DebugCategory are declared as follows:
```
pub fn get_name<'a>(self) -> &'a str {
pub fn get_description<'a>(self) -> Option<&'a str> {
```
This means that the caller can construct...The `get_description` and `get_name` getters for DebugCategory are declared as follows:
```
pub fn get_name<'a>(self) -> &'a str {
pub fn get_description<'a>(self) -> Option<&'a str> {
```
This means that the caller can construct a lifetime out of thin air, including 'static, so the lifetime of the borrowed string value is completely unrelated to the underlying string data the it is borrowed from.
It's not clear to me why all of the methods for DebugCategory use `self` instead of `&self`, but changing that would be one easy way to fix this problem.https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1016srtpdec pushes encrypted buffers out when crypto is not set yet2023-02-07T17:09:25ZFabrice Belletfabrice@bellet.infosrtpdec pushes encrypted buffers out when crypto is not set yetI noticed a problematic behavior with sipe-pidgin, its farstream backend, and the way the srtp audio stream is passed from libnice to the siren decoder.
When the element starts to receive encrypted buffers, and the keys are not setup ye...I noticed a problematic behavior with sipe-pidgin, its farstream backend, and the way the srtp audio stream is passed from libnice to the siren decoder.
When the element starts to receive encrypted buffers, and the keys are not setup yet, the buffers are pushed out undecoded in ``gst_srtp_dec_chain()``. the problem here is that the size of the rtp buffer is not the same when data are decoded (52 bytes) and undecoded (62 bytes), and the siren decoder in my case expects fixed-size (40 bytes + 12 bytes rtp header) buffers.
The first problem is that the siren decoder is not hardened enough to handle a random content (overflow in the huffman tables) but this can be worked around.
The second problem is more annoying, because the siren decoder has no mechanism to detect and resync on the beginning of "valid" data, when the crypto is finally installed and the buffers pushed out now have their correct size. The visible consequence is that siren decoder fails, and takes down the pipeline partially:
```
(23:05:10) mediamanager: gst pipeline error: Internal data stream error.
(23:05:10) mediamanager: Debug details: ../libs/gst/base/gstbasesrc.c(3072): gst_base_src_loop (): /GstPipeline:pipeline0/GstBin:conf_0x6160000cf9d0/FsRtpConference:fsrtpconference1/GstBin:bin8/GstNiceSrc:nicesrc4:
streaming stopped, reason error (-5)
(23:05:10) backend-fs2: gst error Internal data stream error.
debugging: ../libs/gst/base/gstbasesrc.c(3072): gst_base_src_loop (): /GstPipeline:pipeline0/GstBin:conf_0x6160000cf9d0/FsRtpConference:fsrtpconference1/GstBin:bin8/GstNiceSrc:nicesrc4:
streaming stopped, reason error (-5)
```
This is not systematic, since introducing several times a 10 bytes offsets in the 40-bytes chucked stream will resync successfully 1 time out of 4 on average :)
Would it make sense to just ``goto drop_buffer`` instead of push_out when crypto is not setup yet?https://gitlab.freedesktop.org/gstreamer/cerbero/-/issues/177Missing dependency for 32 bit mingw cross-compile of libzbar-0.dll2019-12-11T15:36:45ZAaron BoxerMissing dependency for 32 bit mingw cross-compile of libzbar-0.dll`libiconv-2.dll` dependency is missing in the package.`libiconv-2.dll` dependency is missing in the package.https://gitlab.freedesktop.org/gstreamer/cerbero/-/issues/176C compiler cannot create executables on Debian Buster2019-07-14T12:24:50ZdanrossiC compiler cannot create executables on Debian BusterTrying to build gstreamer from scratch that requires this tool. And running into build problems on Debian Buster. Zero information in the log or any resource how to fix. I tried to skip the same problem with m4.
```
checking for a BSD-...Trying to build gstreamer from scratch that requires this tool. And running into build problems on Debian Buster. Zero information in the log or any resource how to fix. I tried to skip the same problem with m4.
```
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking whether make supports nested variables... (cached) yes
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
configure: autobuild project... GNU Libtool
configure: autobuild revision... 2.4.6
configure: autobuild hostname... raspberry
configure: autobuild mode... default
configure: autobuild timestamp... 20190713T121002Z
checking for gcc... gcc
checking whether the C compiler works... no
configure: error: in `/home/pi/Downloads/cerbero/build/sources/build-tools/libtool-2.4.6':
configure: error: C compiler cannot create executables
See `config.log' for more details
Recipe 'libtool' failed at the build step 'configure'
Fatal Error: Running ['sh', '-c', './configure --prefix /home/pi/Downloads/cerbero/build/build-tools --libdir /home/pi/Downloads/cerbero/build/build-tools/lib --with-pic --disable-maintainer-mode --disable-silent-rules --disable-gtk-doc --disable-introspection '], returncode 77
Select an action to proceed:
[0] Enter the shell
[1] Rebuild the recipe from scratch
[2] Rebuild starting from the failed step
[3] Skip r
```https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1014webrtcbin: h264 decoding problems with chrome/firefox2021-09-24T14:37:31ZXiaolin Zhangwebrtcbin: h264 decoding problems with chrome/firefoxHi, I got a strange h264 decoding issue. It seems it is not a proper issue board to discuss. But, the webrtcbin is a complex architect, I have to ask help here. Any suggestion will be appreciated. Thanks in advance!
My problem is:
We wr...Hi, I got a strange h264 decoding issue. It seems it is not a proper issue board to discuss. But, the webrtcbin is a complex architect, I have to ask help here. Any suggestion will be appreciated. Thanks in advance!
My problem is:
We write a python client(based on gst-python) to **subscribe**/**publish** from [janus-gateway](https://janus.conf.meetecho.com/). When we do publish from an firefox/chrome browser, and then do **subscribe** from janus-gateway. It will show many h.264 message like this:
```
0:00:30.279190215 24831 0x14c6ca0 ERROR libav :0:: non-existing PPS 2 referenced
0:00:30.279198476 24831 0x14c6ca0 ERROR libav :0:: decode_slice_header error
0:00:30.279202932 24831 0x14c6ca0 ERROR libav :0:: no frame!
0:00:30.279210819 24831 0x14c6ca0 WARN libav gstavviddec.c:1975:gst_ffmpegviddec_handle_frame:<avdec_h264-0> Failed to send data for decoding
```
More information are:
- Switch to `vp8 codec` works fine.
- Publishing from another python-client(which act as publisher) works fine. (we use testvideosrc)
- The full pipline diagram looks like ![tmp.svg](/uploads/0ae95efcd01d7ea6375ede3e6129884e/tmp.svg)
So, any comments for this? And my further questions are:
- Can I switch to `openh264` from `decodebin2`?
- Is there any potential issue from `h264parse`?https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/637alsasrc / audioresample : does not negociate caps properly2022-08-16T12:11:04ZFlorent Thieryalsasrc / audioresample : does not negociate caps properlyI have this webcam (Logitech Brio) which apparently only supports 48000 Hz. I'm confused why the following does not work
```
# GST_DEBUG=alsa*:7 gst-launch-1.0 alsasrc name=alsasrc0 device=hw:2,0 num-buffers=-1 buffer-time=1000000 ! aud...I have this webcam (Logitech Brio) which apparently only supports 48000 Hz. I'm confused why the following does not work
```
# GST_DEBUG=alsa*:7 gst-launch-1.0 alsasrc name=alsasrc0 device=hw:2,0 num-buffers=-1 buffer-time=1000000 ! audioconvert ! audioresample ! "audio/x-raw, format=(string)S16LE, rate=(int)44100, channels=(int)2" ! fakesink -v
0:00:00.014565883 25052 0x55c231208ac0 DEBUG alsa gstalsaplugin.c:78:plugin_init: binding text domain gst-plugins-base-1.0 to locale dir /usr/share/locale
0:00:00.014795041 25052 0x55c231208ac0 DEBUG alsa gstalsasrc.c:271:gst_alsasrc_init:<GstAlsaSrc@0x55c231214200> initializing
0:00:00.015645913 25052 0x55c231208ac0 DEBUG alsa gstalsasrc.c:298:gst_alsasrc_getcaps:<alsasrc0> device not open, using template caps
0:00:00.015705279 25052 0x55c231208ac0 DEBUG alsa gstalsasrc.c:298:gst_alsasrc_getcaps:<alsasrc0> device not open, using template caps
0:00:00.015748207 25052 0x55c231208ac0 DEBUG alsa gstalsasrc.c:298:gst_alsasrc_getcaps:<alsasrc0> device not open, using template caps
0:00:00.015956051 25052 0x55c231208ac0 DEBUG alsa gstalsasrc.c:298:gst_alsasrc_getcaps:<alsasrc0> device not open, using template caps
Setting pipeline to PAUSED ...
Pipeline is live and does not need PREROLL ...
Setting pipeline to PLAYING ...
New clock: GstAudioSrcClock
0:00:00.017364905 25052 0x55c23118b4a0 INFO alsa gstalsasrc.c:316:gst_alsasrc_getcaps:<alsasrc0> template caps audio/x-raw, format=(string){ S8, U8, S16LE, S16BE, U16LE, U16BE, S24_32LE, S24_32BE, U24_32LE, U24_32BE, S32LE, S32BE, U32LE, U32BE, S24LE, S24BE, U24LE, U24BE, S20LE, S20BE, U20LE, U20BE, S18LE, S18BE, U18LE, U18BE, F32LE, F32BE, F64LE, F64BE }, layout=(string)interleaved, rate=(int)[ 1, 2147483647 ], channels=(int)[ 1, 2147483647 ]
0:00:00.017433390 25052 0x55c23118b4a0 LOG alsa gstalsa.c:30:gst_alsa_detect_rates:<alsasrc0> probing sample rates ...
0:00:00.017442722 25052 0x55c23118b4a0 DEBUG alsa gstalsa.c:49:gst_alsa_detect_rates:<alsasrc0> Min. rate = 16000 (16000)
0:00:00.017451081 25052 0x55c23118b4a0 DEBUG alsa gstalsa.c:50:gst_alsa_detect_rates:<alsasrc0> Max. rate = 48000 (48000)
0:00:00.017461372 25052 0x55c23118b4a0 LOG alsa gstalsa.c:348:gst_alsa_detect_channels:<alsasrc0> probing channels ...
0:00:00.017469283 25052 0x55c23118b4a0 DEBUG alsa gstalsa.c:392:gst_alsa_detect_channels:<alsasrc0> Min. channels = 2 (2)
0:00:00.017477006 25052 0x55c23118b4a0 DEBUG alsa gstalsa.c:393:gst_alsa_detect_channels:<alsasrc0> Max. channels = 2 (2)
0:00:00.017494336 25052 0x55c23118b4a0 INFO alsa gstalsasrc.c:326:gst_alsasrc_getcaps:<alsasrc0> returning caps audio/x-raw, format=(string)S16LE, layout=(string)interleaved, rate=(int)[ 16000, 48000 ], channels=(int)2, channel-mask=(bitmask)0x0000000000000003
0:00:00.017740771 25052 0x55c23118b4a0 WARN alsa gstalsasrc.c:469:set_hwparams:<alsasrc0> error: Rate doesn't match (requested 44100Hz, get 0Hz)
0:00:00.017777260 25052 0x55c23118b4a0 WARN alsa gstalsasrc.c:814:gst_alsasrc_prepare:<alsasrc0> error: Setting of hwparams failed: Invalid argument
ERROR: from element /GstPipeline:pipeline0/GstAlsaSrc:alsasrc0: Could not get/set settings from/on resource.
Additional debug info:
../../../git/ext/alsa/gstalsasrc.c(469): set_hwparams (): /GstPipeline:pipeline0/GstAlsaSrc:alsasrc0:
Rate doesn't match (requested 44100Hz, get 0Hz)
```
While this works:
```
# GST_DEBUG=alsa*:7 gst-launch-1.0 alsasrc name=alsasrc0 device=hw:2,0 num-buffers=-1 buffer-time=1000000 ! audioconvert ! audioresample ! "audio/x-raw, format=(string)S16LE, rate=(int)48000, channels=(int)2" ! fakesink -v
```
I was expecting the above pipeline to detect that the source only supports 48000 Hz, and that the samplerate conversion would downrate it to 44100.
`arecord` seems to detect that the requested rate won't work, and falls back to 48 Khz
```
# lsusb
Bus 002 Device 003: ID 046d:086b Logitech, Inc.
# arecord -f cd -r 44100 -D hw:0 test.wav -v
Recording WAVE 'test.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo
Warning: rate is not accurate (requested = 44100Hz, got = 48000Hz)
please, try the plug plugin
Hardware PCM card 0 'Seneca USB Capture HDMI' device 0 subdevice 0
Its setup is:
stream : CAPTURE
access : RW_INTERLEAVED
format : S16_LE
subformat : STD
channels : 2
rate : 48000
exact rate : 48000 (48000/1)
msbits : 16
buffer_size : 24000
period_size : 6000
period_time : 125000
tstamp_mode : NONE
tstamp_type : MONOTONIC
period_step : 1
avail_min : 6000
period_event : 0
start_threshold : 1
stop_threshold : 24000
silence_threshold: 0
silence_size : 0
boundary : 6755399441055744000
appl_ptr : 0
hw_ptr : 0
```https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/issues/180Can not covert RGBx and RGBA to NV12 using vaapipostproc for iHD driver2019-09-09T05:56:44ZHe JunyanCan not covert RGBx and RGBA to NV12 using vaapipostproc for iHD drivergst-launch-1.0 videotestsrc ! capsfilter caps=video/x-raw,format=RGBx,width=800,height=600 ! vaapipostproc ! video/x-raw,format=NV12 ! vaapisink
failed on iHD driver
But i965 can workgst-launch-1.0 videotestsrc ! capsfilter caps=video/x-raw,format=RGBx,width=800,height=600 ! vaapipostproc ! video/x-raw,format=NV12 ! vaapisink
failed on iHD driver
But i965 can workhttps://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1013SRT missing from Ubuntu packages2019-07-14T16:22:22ZdanrossiSRT missing from Ubuntu packagesI was hoping for an easy install for SRT testing. I installed the packages as instructed but SRT is missing from this package.
```
WARNING: erroneous pipeline: no element "srtclientsrc"
```
```
gst-inspect-1.0 grep srt*
No such elemen...I was hoping for an easy install for SRT testing. I installed the packages as instructed but SRT is missing from this package.
```
WARNING: erroneous pipeline: no element "srtclientsrc"
```
```
gst-inspect-1.0 grep srt*
No such element or plugin 'srt*'
```
```
gst-launch-1.0 v4l2src ! video/x-raw, height=1080, width=1920 ! videoconvert ! x264enc tune=zerolatency ! video/x-h264, profile=high ! mpegtsmux ! srtserversink uri=srt://:8888/
WARNING: erroneous pipeline: no element "srtserversink"
```
Install command
```
sudo apt-get install libgstreamer1.0-0 gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly gstreamer1.0-libav gstreamer1.0-doc gstreamer1.0-tools gstreamer1.0-x gstreamer1.0-alsa gstreamer1.0-gl gstreamer1.0-gtk3 gstreamer1.0-qt5 gstreamer1.0-pulseaudio
```https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1012nvenc: occasional floating point exception during startup2019-08-21T07:21:19ZBilly Lindemannvenc: occasional floating point exception during startup```
Thread 15 "QuartzRemoteHoo" received signal SIGFPE, Arithmetic exception.
[Switching to Thread 0x7fff9d7fe700 (LWP 62072)]
0x00007fffe2a2c301 in ?? () from /usr/lib/x86_64-linux-gnu/libnvcuvid.so.1
(gdb) back
#0 0x00007fffe2a2c301 i...```
Thread 15 "QuartzRemoteHoo" received signal SIGFPE, Arithmetic exception.
[Switching to Thread 0x7fff9d7fe700 (LWP 62072)]
0x00007fffe2a2c301 in ?? () from /usr/lib/x86_64-linux-gnu/libnvcuvid.so.1
(gdb) back
#0 0x00007fffe2a2c301 in () at /usr/lib/x86_64-linux-gnu/libnvcuvid.so.1
#1 0x00007fffe2a3c65e in () at /usr/lib/x86_64-linux-gnu/libnvcuvid.so.1
#2 0x00007fffe2a3d128 in () at /usr/lib/x86_64-linux-gnu/libnvcuvid.so.1
#3 0x00007fffe80ab377 in () at /usr/lib/x86_64-linux-gnu/libnvidia-encode.so.1
#4 0x00007fffe80a46e2 in () at /usr/lib/x86_64-linux-gnu/libnvidia-encode.so.1
#5 0x00007fffe80afc09 in () at /usr/lib/x86_64-linux-gnu/libnvidia-encode.so.1
#6 0x00007fffe85182d9 in gst_nv_base_enc_set_format (enc=<optimized out>, state=0x55555610fd20) at gstnvbaseenc.c:1263
#7 0x00007ffff56a464b in gst_video_encoder_setcaps (caps=0x7fff64004770, encoder=0x5555561ffb10) at gstvideoencoder.c:672
#8 0x00007ffff56a464b in gst_video_encoder_sink_event_default (encoder=0x5555561ffb10, event=0x7fff68006ab0) at gstvideoencoder.c:1027
#9 0x00007ffff5105d97 in gst_pad_send_event_unchecked (pad=pad@entry=0x555556343770, event=event@entry=0x7fff68006ab0, type=<optimized out>, type@entry=GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM) at gstpad.c:5772
#10 0x00007ffff510622b in gst_pad_push_event_unchecked (pad=pad@entry=0x555556343520, event=0x7fff68006ab0, type=type@entry=GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM) at gstpad.c:5417
#11 0x00007ffff5106659 in push_sticky (pad=pad@entry=0x555556343520, ev=ev@entry=0x7fff9d7fbc80, user_data=user_data@entry=0x7fff9d7fbcf0) at gstpad.c:3933
#12 0x00007ffff5103fe0 in events_foreach (pad=pad@entry=0x555556343520, func=func@entry=0x7ffff51065a0 <push_sticky>, user_data=user_data@entry=0x7fff9d7fbcf0) at gstpad.c:608
#13 0x00007ffff51109cf in check_sticky (event=0x7fff68006ab0, pad=0x555556343520) at gstpad.c:3992
#14 0x00007ffff51109cf in gst_pad_push_event (pad=0x555556343520, event=0x7fff68006ab0) at gstpad.c:5548
#15 0x00005555556a4bc8 in <O as gstreamer::pad::PadExtManual>::push_event (self=0x7fff9d7fc250, event=...) at /home/billy/.cargo/git/checkouts/gstreamer-rs-79e52a2d27eb91a3/6871e50/gstreamer/src/pad.rs:422
#16 0x00005555556def60 in gsttogglerecord::togglerecord::ToggleRecord::sink_event (self=0x5555560b62d0, pad=0x7fff9d7fd618, element=0x7fff9d7fd628, event=...) at /home/billy/.cargo/git/checkouts/gst-plugins-rs-2155d1592d6bb9f7/8b4f0f9/gst-plugin-togglerecord/src/togglerecord.rs:952
#17 0x00005555556d41c9 in gsttogglerecord::togglerecord::ToggleRecord::set_pad_functions::{{closure}}::{{closure}} (togglerecord=0x5555560b62d0, element=0x7fff9d7fd628) at /home/billy/.cargo/git/checkouts/gst-plugins-rs-2155d1592d6bb9f7/8b4f0f9/gst-plugin-togglerecord/src/togglerecord.rs:198
#18 0x00005555556b1d4a in <T as gstreamer::subclass::element::ElementImplExt>::catch_panic_pad_function::{{closure}} () at /home/billy/.cargo/git/checkouts/gstreamer-rs-79e52a2d27eb91a3/6871e50/gstreamer/src/subclass/element.rs:240
#19 0x00005555556c6e43 in <std::panic::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once (self=..., _args=()) at /rustc/de7c4e42314c56528640e3b663aa10e0caa6bd9b/src/libstd/panic.rs:309
#20 0x00005555556ef4c7 in std::panicking::try::do_call (data=0x7fff9d7fcec0 "(\325\177\235\377\177") at /rustc/de7c4e42314c56528640e3b663aa10e0caa6bd9b/src/libstd/panicking.rs:294
#21 0x0000555555a6013a in __rust_maybe_catch_panic () at src/libpanic_unwind/lib.rs:82
#22 0x00005555556eed67 in std::panicking::try (f=...) at /rustc/de7c4e42314c56528640e3b663aa10e0caa6bd9b/src/libstd/panicking.rs:273
#23 0x00005555556c78eb in std::panic::catch_unwind (f=...) at /rustc/de7c4e42314c56528640e3b663aa10e0caa6bd9b/src/libstd/panic.rs:388
#24 0x00005555556d16d5 in <T as gstreamer::subclass::element::ElementImplExt>::catch_panic_pad_function (parent=..., fallback=..., f=...) at /home/billy/.cargo/git/checkouts/gstreamer-rs-79e52a2d27eb91a3/6871e50/gstreamer/src/subclass/error.rs:29
#25 0x00005555556d422f in gsttogglerecord::togglerecord::ToggleRecord::set_pad_functions::{{closure}} (pad=0x7fff9d7fd618, parent=..., event=...) at /home/billy/.cargo/git/checkouts/gst-plugins-rs-2155d1592d6bb9f7/8b4f0f9/gst-plugin-togglerecord/src/togglerecord.rs:195
#26 0x00005555556c53f2 in gstreamer::pad::trampoline_event_function (pad=0x5555563432d0, parent=0x5555560b63d0, event=0x7fff68006ab0) at /home/billy/.cargo/git/checkouts/gstreamer-rs-79e52a2d27eb91a3/6871e50/gstreamer/src/pad.rs:1232
#27 0x00007ffff5105d97 in gst_pad_send_event_unchecked (pad=pad@entry=0x5555563432d0, event=event@entry=0x7fff68006ab0, type=<optimized out>, type@entry=GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM) at gstpad.c:5772
#28 0x00007ffff510622b in gst_pad_push_event_unchecked (pad=pad@entry=0x555556343080, event=0x7fff68006ab0, type=type@entry=GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM) at gstpad.c:5417
#29 0x00007ffff5106659 in push_sticky (pad=pad@entry=0x555556343080, ev=ev@entry=0x7fff9d7fd820, user_data=user_data@entry=0x7fff9d7fd890) at gstpad.c:3933
#30 0x00007ffff5103fe0 in events_foreach (pad=pad@entry=0x555556343080, func=func@entry=0x7ffff51065a0 <push_sticky>, user_data=user_data@entry=0x7fff9d7fd890) at gstpad.c:608
#31 0x00007ffff51109cf in check_sticky (event=0x7fff68006ab0, pad=0x555556343080) at gstpad.c:3992
#32 0x00007ffff51109cf in gst_pad_push_event (pad=0x555556343080, event=event@entry=0x7fff68006ab0) at gstpad.c:5548
#33 0x00007fffe999e0f3 in gst_queue_push_one (queue=0x555556340fe0) at gstqueue.c:1455
#34 0x00007fffe999e0f3 in gst_queue_loop (pad=<optimized out>) at gstqueue.c:1537
#35 0x00007ffff513cfe9 in gst_task_func (task=0x555556344dd0) at gsttask.c:328
#36 0x00007ffff5ca3b60 in () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#37 0x00007ffff5ca3195 in () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#38 0x00007ffff4a6a6db in start_thread (arg=0x7fff9d7fe700) at pthread_create.c:463
#39 0x00007ffff457b88f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
```https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/636OpenGL visualizer creates a new texture each frame, which is highly inefficient2021-09-24T13:25:10ZAdvance SoftwareOpenGL visualizer creates a new texture each frame, which is highly inefficient_new_texture in gst-build/subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.c
... is called once per frame. The configuration should be 2 textures of the same dimension as the video decoder output, decode into one, display from t..._new_texture in gst-build/subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.c
... is called once per frame. The configuration should be 2 textures of the same dimension as the video decoder output, decode into one, display from the other, then swap. Repeat until done.