GStreamer issueshttps://gitlab.freedesktop.org/groups/gstreamer/-/issues2020-05-13T14:38:47Zhttps://gitlab.freedesktop.org/gstreamer/www/-/issues/8Fix dead/broken links2020-05-13T14:38:47ZPanderFix dead/broken linksPlease fix the following link:
* on top of https://gstreamer.freedesktop.org/data/doc/gstreamer/1.14/gstreamer/html/ is a link called https://gstreamer.freedesktop.org/usr/share/gtk-doc/html/gstreamer-1.0/ which redirects to https://gstr...Please fix the following link:
* on top of https://gstreamer.freedesktop.org/data/doc/gstreamer/1.14/gstreamer/html/ is a link called https://gstreamer.freedesktop.org/usr/share/gtk-doc/html/gstreamer-1.0/ which redirects to https://gstreamer.freedesktop.org/usr/share/gtk-doc/html/gstreamer-1.0/ which is non-existinhttps://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/53Single threaded equivalent of nicesrc (libnice element) just like ts-udpsrc2019-06-25T07:44:52ZAbdul RehmanSingle threaded equivalent of nicesrc (libnice element) just like ts-udpsrcAs far as I know, `udpsrc` and `nicesrc`, both are derived from `GstBaseSrc`, so it means they create one thread per source. I think to implement `ts-nicesrc`, **libnice** Rust bindings would be required. So, is it really the right place...As far as I know, `udpsrc` and `nicesrc`, both are derived from `GstBaseSrc`, so it means they create one thread per source. I think to implement `ts-nicesrc`, **libnice** Rust bindings would be required. So, is it really the right place to work on `nicesrc` and **libnice**? How much work is done already? is it really worth a try?https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/886Add observers for macOS/iOS AV capture device connected/disconnected notifica...2021-09-24T14:36:57ZJosh MatthewsAdd observers for macOS/iOS AV capture device connected/disconnected notificationshttps://nadavrub.wordpress.com/2015/07/06/macos-media-capture-using-coremediaio/ describes how to use observers to receive notifications that we could use in the start/stop callbacks for the AVF device provider. https://gitlab.freedeskto...https://nadavrub.wordpress.com/2015/07/06/macos-media-capture-using-coremediaio/ describes how to use observers to receive notifications that we could use in the start/stop callbacks for the AVF device provider. https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/merge_requests/170#note_109642 describes some of the complications around doing this correctly.https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/563validate.rtsp.playback.seek_backward.bowlerhatdancer_sleepytom_SGP_mjpeg_avi ...2021-09-24T13:33:20ZThibault Sauniertsaunier@igalia.comvalidate.rtsp.playback.seek_backward.bowlerhatdancer_sleepytom_SGP_mjpeg_avi sometimes fails as EOS is received before the scenario finishes```
validate.rtsp.playback.seek_backward.bowlerhatdancer_sleepytom_SGP_mjpeg_avi: Failed 'Application returned 18 (critical errors: [The program stopped before some actions were executed])'
You can reproduce with: /builds/thiblahu...```
validate.rtsp.playback.seek_backward.bowlerhatdancer_sleepytom_SGP_mjpeg_avi: Failed 'Application returned 18 (critical errors: [The program stopped before some actions were executed])'
You can reproduce with: /builds/thiblahute/gst-ci/gst-build/build/subprojects/gst-devtools/validate/tools/gst-validate-rtsp-server-1.0 file:///builds/thiblahute/gst-ci/validate-output/gst-integration-testsuites/medias/defaults/avi/bowlerhatdancer.sleepytom.SGP.mjpeg.avi --port 51987 & GST_VALIDATE_SCENARIOS_PATH='/builds/thiblahute/gst-ci/gst-build/prefix/share/gstreamer-1.0/validate/scenarios:/builds/thiblahute/gst-ci/gst-build/subprojects/gst-devtools/validate/data/scenarios' GST_GL_XINITTHREADS='1' DISPLAY=':27' GST_VALIDATE_SCENARIO='seek_backward' /builds/thiblahute/gst-ci/gst-build/build/subprojects/gst-devtools/validate/tools/gst-validate-1.0 playbin uri=rtsp://127.0.0.1:51987/test 'audio-sink=fakesink sync=true' 'video-sink=fakevideosink qos=true max-lateness=20000000' --set-media-info /builds/thiblahute/gst-ci/validate-output/gst-integration-testsuites/medias/defaults/avi/bowlerhatdancer.sleepytom.SGP.mjpeg.avi.media_info
Dumping log files on failure
Dumping contents of /builds/thiblahute/gst-ci/validate-output/logs/validate/rtsp/playback/seek_backward/bowlerhatdancer_sleepytom_SGP_mjpeg_avi
=================
Test name: validate.rtsp.playback.seek_backward.bowlerhatdancer_sleepytom_SGP_mjpeg_avi
Command: '/builds/thiblahute/gst-ci/gst-build/build/subprojects/gst-devtools/validate/tools/gst-validate-1.0 playbin uri=rtsp://127.0.0.1:51987/test audio-sink=fakesink sync=true video-sink=fakevideosink qos=true max-lateness=20000000 --set-media-info /builds/thiblahute/gst-ci/validate-output/gst-integration-testsuites/medias/defaults/avi/bowlerhatdancer.sleepytom.SGP.mjpeg.avi.media_info'
=================
=========================================
Running scenario seek_backward on pipeline playbin0
=========================================
Starting pipeline
Prerolling...
Pipeline started
<position: 0:00:00.000000000 duration: 0:00:19.400000000 speed: 1.000000 />
<position: 0:00:00.000000000 duration: 0:00:19.400000000 speed: 1.000000 />
<position: 0:00:00.000000000 duration: 0:00:19.400000000 speed: 1.000000 />
<position: 0:00:00.000000000 duration: 0:00:19.400000000 speed: 1.000000 />
<position: 0:00:00.000000000 duration: 0:00:19.400000000 speed: 1.000000 />
<position: 0:00:00.000000000 duration: 0:00:19.400000000 speed: 1.000000 />
<position: 0:00:00.000000000 duration: 0:00:19.400000000 speed: 1.000000 />
<position: 0:00:00.000000000 duration: 0:00:19.400000000 speed: 1.000000 />
<position: 0:00:00.155201454 duration: 0:00:19.400000000 speed: 1.000000 />
<position: 0:00:00.405882502 duration: 0:00:19.400000000 speed: 1.000000 />
<position: 0:00:00.656817988 duration: 0:00:19.400000000 speed: 1.000000 />
<position: 0:00:00.907820751 duration: 0:00:19.400000000 speed: 1.000000 />
<position: 0:00:01.158356358 duration: 0:00:19.400000000 speed: 1.000000 />
<position: 0:00:01.408456372 duration: 0:00:19.400000000 speed: 1.000000 />
<position: 0:00:01.658962866 duration: 0:00:19.400000000 speed: 1.000000 />
<position: 0:00:01.909313084 duration: 0:00:19.400000000 speed: 1.000000 />
<position: 0:00:02.160154770 duration: 0:00:19.400000000 speed: 1.000000 />
<position: 0:00:02.411236337 duration: 0:00:19.400000000 speed: 1.000000 />
<position: 0:00:02.661707506 duration: 0:00:19.400000000 speed: 1.000000 />
<position: 0:00:02.911765340 duration: 0:00:19.400000000 speed: 1.000000 />
<position: 0:00:03.162750806 duration: 0:00:19.400000000 speed: 1.000000 />
<position: 0:00:03.412799125 duration: 0:00:19.400000000 speed: 1.000000 />
<position: 0:00:03.663013558 duration: 0:00:19.400000000 speed: 1.000000 />
<position: 0:00:03.913925059 duration: 0:00:19.400000000 speed: 1.000000 />
<position: 0:00:04.164981512 duration: 0:00:19.400000000 speed: 1.000000 />
<position: 0:00:04.415865591 duration: 0:00:19.400000000 speed: 1.000000 />
<position: 0:00:04.666733200 duration: 0:00:19.400000000 speed: 1.000000 />
Executing (subaction)seek (
- name=Backward-seek
- playback-time=0:00:04.850000000
- rate=1
- start=0:00:00.000000000
- flags=accurate+flush
)
-> Action seek done (duration: 0:00:02.015809950)
<position: 0:00:00.032731588 duration: 0:00:19.400000000 speed: 1.000000 />
<position: 0:00:00.282802972 duration: 0:00:19.400000000 speed: 1.000000 />
<position: 0:00:00.533765603 duration: 0:00:19.400000000 speed: 1.000000 />
<position: 0:00:00.784459177 duration: 0:00:19.400000000 speed: 1.000000 />
<position: 0:00:01.034592918 duration: 0:00:19.400000000 speed: 1.000000 />
<position: 0:00:01.284700140 duration: 0:00:19.400000000 speed: 1.000000 />
<position: 0:00:01.535286550 duration: 0:00:19.400000000 speed: 1.000000 />
<position: 0:00:01.785553848 duration: 0:00:19.400000000 speed: 1.000000 />
<position: 0:00:02.036298952 duration: 0:00:19.400000000 speed: 1.000000 />
<position: 0:00:02.286847648 duration: 0:00:19.400000000 speed: 1.000000 />
<position: 0:00:02.536981460 duration: 0:00:19.400000000 speed: 1.000000 />
<position: 0:00:02.787267165 duration: 0:00:19.400000000 speed: 1.000000 />
<position: 0:00:03.038219108 duration: 0:00:19.400000000 speed: 1.000000 />
<position: 0:00:03.288515423 duration: 0:00:19.400000000 speed: 1.000000 />
<position: 0:00:03.539024533 duration: 0:00:19.400000000 speed: 1.000000 />
<position: 0:00:03.789155752 duration: 0:00:19.400000000 speed: 1.000000 />
<position: 0:00:04.039346998 duration: 0:00:19.400000000 speed: 1.000000 />
<position: 0:00:04.290102933 duration: 0:00:19.400000000 speed: 1.000000 />
<position: 0:00:04.540469961 duration: 0:00:19.400000000 speed: 1.000000 />
<position: 0:00:04.790729305 duration: 0:00:19.400000000 speed: 1.000000 />
<position: 0:00:05.041436394 duration: 0:00:19.400000000 speed: 1.000000 />
<position: 0:00:05.291777308 duration: 0:00:19.400000000 speed: 1.000000 />
<position: 0:00:05.542160315 duration: 0:00:19.400000000 speed: 1.000000 />
<position: 0:00:05.792973696 duration: 0:00:19.400000000 speed: 1.000000 />
<position: 0:00:06.043365012 duration: 0:00:19.400000000 speed: 1.000000 />
<position: 0:00:06.293498297 duration: 0:00:19.400000000 speed: 1.000000 />
<position: 0:00:06.544097954 duration: 0:00:19.400000000 speed: 1.000000 />
<position: 0:00:06.794736430 duration: 0:00:19.400000000 speed: 1.000000 />
<position: 0:00:07.044984185 duration: 0:00:19.400000000 speed: 1.000000 />
<position: 0:00:07.295819520 duration: 0:00:19.400000000 speed: 1.000000 />
<position: 0:00:07.546895281 duration: 0:00:19.400000000 speed: 1.000000 />
<position: 0:00:07.797202425 duration: 0:00:19.400000000 speed: 1.000000 />
<position: 0:00:08.047869269 duration: 0:00:19.400000000 speed: 1.000000 />
<position: 0:00:08.298457474 duration: 0:00:19.400000000 speed: 1.000000 />
<position: 0:00:08.549181000 duration: 0:00:19.400000000 speed: 1.000000 />
<position: 0:00:08.799560121 duration: 0:00:19.400000000 speed: 1.000000 />
<position: 0:00:09.050271404 duration: 0:00:19.400000000 speed: 1.000000 />
<position: 0:00:09.300384521 duration: 0:00:19.400000000 speed: 1.000000 />
<position: 0:00:09.550912332 duration: 0:00:19.400000000 speed: 1.000000 />
Executing (subaction)seek (
- name=Backward-seek
- playback-time=0:00:09.700000000
- rate=1
- start=0:00:04.850000000
- flags=accurate+flush
)
-> Action seek done (duration: 0:00:02.012685025)
<position: 0:00:04.918380035 duration: 0:00:19.400000000 speed: 1.000000 />
<position: 0:00:05.169285373 duration: 0:00:19.400000000 speed: 1.000000 />
<position: 0:00:05.420209043 duration: 0:00:19.400000000 speed: 1.000000 />
<position: 0:00:05.670463402 duration: 0:00:19.400000000 speed: 1.000000 />
<position: 0:00:05.921143396 duration: 0:00:19.400000000 speed: 1.000000 />
<position: 0:00:06.171425198 duration: 0:00:19.400000000 speed: 1.000000 />
<position: 0:00:06.422329527 duration: 0:00:19.400000000 speed: 1.000000 />
<position: 0:00:06.672637119 duration: 0:00:19.400000000 speed: 1.000000 />
<position: 0:00:06.923406499 duration: 0:00:19.400000000 speed: 1.000000 />
<position: 0:00:07.174055247 duration: 0:00:19.400000000 speed: 1.000000 />
<position: 0:00:07.424731392 duration: 0:00:19.400000000 speed: 1.000000 />
<position: 0:00:07.675731403 duration: 0:00:19.400000000 speed: 1.000000 />
<position: 0:00:07.926802217 duration: 0:00:19.400000000 speed: 1.000000 />
<position: 0:00:08.177089212 duration: 0:00:19.400000000 speed: 1.000000 />
<position: 0:00:08.427292822 duration: 0:00:19.400000000 speed: 1.000000 />
<position: 0:00:08.678117153 duration: 0:00:19.400000000 speed: 1.000000 />
<position: 0:00:08.928381871 duration: 0:00:19.400000000 speed: 1.000000 />
<position: 0:00:09.178699972 duration: 0:00:19.400000000 speed: 1.000000 />
<position: 0:00:09.428913149 duration: 0:00:19.400000000 speed: 1.000000 />
<position: 0:00:09.679692932 duration: 0:00:19.400000000 speed: 1.000000 />
<position: 0:00:09.942084931 duration: 0:00:19.400000000 speed: 1.000000 />
<position: 0:00:10.180813083 duration: 0:00:19.400000000 speed: 1.000000 />
<position: 0:00:10.431295651 duration: 0:00:19.400000000 speed: 1.000000 />
<position: 0:00:10.682055344 duration: 0:00:19.400000000 speed: 1.000000 />
<position: 0:00:10.932528869 duration: 0:00:19.400000000 speed: 1.000000 />
<position: 0:00:11.183287077 duration: 0:00:19.400000000 speed: 1.000000 />
Executing stop ( )
seek_backward --> State change request NULL, quiting mainloop
<position: 0:00:11.402724409 duration: 0:00:19.400000000 speed: 1.000000 />
warning : a new segment event has different value than the received one
Detected on <rtpjpegdepay0:src>
Description : when receiving a new segment, an element should push an equivalent segment downstream
warning : received the same caps twice
Detected on <rtpjpegdepay0:sink>
Detected on <jpegdec0:sink>
Detected on <typefind:sink>
warning : Buffer didn't have expected DISCONT flag
Detected on <rtpsession0:send_rtcp_src>
Detected on <udpsink1:sink>
Detected on <udpsrc0:src>
Detected on <rtpsession0:recv_rtp_sink>
Detected on <rtpsession0:recv_rtp_src>
Detected on <rtpstorage0:sink>
Detected on <rtpstorage0:src>
Detected on <rtpssrcdemux0:sink>
Detected on <rtpssrcdemux0:src_88543734>
Detected on <rtpjitterbuffer0:sink>
Detected on <udpsrc1:src>
Detected on <rtpsession0:recv_rtcp_sink>
Detected on <rtpsession0:sync_src>
Detected on <rtpssrcdemux0:rtcp_sink>
Detected on <rtpssrcdemux0:rtcp_src_88543734>
Detected on <rtpjitterbuffer0:sink_rtcp>
Description : Buffers after SEGMENT and FLUSH must have a DISCONT flag
warning : a serialized event received should be pushed in the same 'time' as it was received
Detected on <rtpjpegdepay0:src>
Description : serialized events should be pushed in the same order they are received and serialized with buffers. If an event is received after a buffer with timestamp end 'X', it should be pushed right after buffers with timestamp end 'X'
warning : Query position reported a value outside of the current expected segment
Detected on <seek_backward>
issue : FLUSH_START events that are part of the same pipeline 'operation' should have the same seqnum
Detected on <typefind:src>
Detected on <rtpjpegdepay0:src>
Detected on <jpegdec0:src>
Detected on <inputselector0:src>
Detected on <streamsynchronizer0:src_0>
Detected on <vdconv:src>
Detected on <deinterlace:src>
Detected on <vqueue:src>
Detected on <conv:src>
Detected on <scale:src>
Detected on <videobalance:src>
Detected on <conv2:src>
Description : when events/messages are created from another event/message, they should have their seqnums set to the original event/message seqnum
issue : FLUSH_STOP events that are part of the same pipeline 'operation' should have the same seqnum
Detected on <typefind:src>
Detected on <rtpjpegdepay0:src>
Detected on <jpegdec0:src>
Detected on <inputselector0:src>
Detected on <streamsynchronizer0:src_0>
Detected on <vdconv:src>
Detected on <deinterlace:src>
Detected on <vqueue:src>
Detected on <conv:src>
Detected on <scale:src>
Detected on <videobalance:src>
Detected on <conv2:src>
Description : when events/messages are created from another event/message, they should have their seqnums set to the original event/message seqnum
issue : SEGMENT events that are part of the same pipeline 'operation' should have the same seqnum
Detected on <udpsrc0:src>
Detected on <rtpsession0:recv_rtp_sink>
Detected on <rtpsession0:recv_rtp_src>
Detected on <rtpstorage0:sink>
Detected on <rtpstorage0:src>
Detected on <rtpssrcdemux0:sink>
Detected on <rtpssrcdemux0:src_88543734>
Detected on <rtpjitterbuffer0:sink>
Detected on <rtpjitterbuffer0:src>
Detected on <rtpptdemux0:sink>
Detected on <rtpptdemux0:src_96>
Detected on <typefind:sink>
Detected on <typefind:src>
Detected on <rtpjpegdepay0:sink>
Detected on <rtpjpegdepay0:src>
Detected on <jpegdec0:sink>
Detected on <jpegdec0:src>
Detected on <inputselector0:sink_0>
Detected on <inputselector0:src>
Detected on <streamsynchronizer0:sink_0>
Detected on <streamsynchronizer0:src_0>
Detected on <vdconv:sink>
Detected on <vdconv:src>
Detected on <deinterlace:sink>
Detected on <deinterlace:src>
Detected on <vqueue:sink>
Detected on <vqueue:src>
Detected on <conv:sink>
Detected on <conv:src>
Detected on <scale:sink>
Detected on <scale:src>
Detected on <videobalance:sink>
Detected on <videobalance:src>
Detected on <conv2:sink>
Detected on <conv2:src>
Detected on <sink:sink>
Detected on <udpsrc1:src>
Detected on <rtpsession0:recv_rtcp_sink>
Detected on <rtpsession0:sync_src>
Detected on <rtpssrcdemux0:rtcp_sink>
Detected on <rtpssrcdemux0:rtcp_src_88543734>
Detected on <rtpjitterbuffer0:sink_rtcp>
Description : when events/messages are created from another event/message, they should have their seqnums set to the original event/message seqnum
issue : EOS events that are part of the same pipeline 'operation' should have the same seqnum
Detected on <udpsrc0:src>
Detected on <rtpsession0:recv_rtp_sink>
Detected on <rtpsession0:recv_rtp_src>
Detected on <rtpstorage0:sink>
Detected on <rtpstorage0:src>
Detected on <rtpssrcdemux0:sink>
Detected on <rtpssrcdemux0:src_88543734>
Detected on <rtpjitterbuffer0:sink>
Detected on <rtpsession0:send_rtcp_src>
Detected on <udpsink1:sink>
Detected on <rtpjitterbuffer0:src>
Detected on <rtpptdemux0:sink>
Detected on <rtpptdemux0:src_96>
Detected on <typefind:sink>
Detected on <typefind:src>
Detected on <rtpjpegdepay0:sink>
Detected on <rtpjpegdepay0:src>
Detected on <jpegdec0:sink>
Detected on <jpegdec0:src>
Detected on <inputselector0:sink_0>
Detected on <inputselector0:src>
Detected on <streamsynchronizer0:sink_0>
Description : when events/messages are created from another event/message, they should have their seqnums set to the original event/message seqnum
critical : The program stopped before some actions were executed
Detected on <seek_backward>
Details : 1 actions were not executed:
seek, name=(string)Backward-seek, playback-time=(guint64)14550000000, rate=(double)1, start=(string)"min\(10.0\,\ 2\*\(duration/4\)\)", flags=(string)accurate+flush;
dotfile : no dotfile produced as GST_DEBUG_DUMP_DOT_DIR is not set.
backtrace :
gst_debug_get_stack_trace (gstinfo.c:2886)
gst_validate_report_new (gst-validate-report.c:729)
gst_validate_report_valist (gst-validate-reporter.c:186)
gst_validate_report (gst-validate-reporter.c:303)
message_cb (gst-validate-scenario.c:2764)
ffi_call_unix64 (/usr/lib64/libffi.so.6.0.2:0x7fee645c7aca)
ffi_call (/usr/lib64/libffi.so.6.0.2:0x7fee645c748b)
g_cclosure_marshal_generic (/usr/lib64/libgobject-2.0.so.0.5800.2:0x7fee64c4dea1)
g_closure_invoke (/usr/lib64/libgobject-2.0.so.0.5800.2:0x7fee64c4d3d9)
?? (/usr/lib64/libgobject-2.0.so.0.5800.2:0x7fee64c6097f)
g_signal_emit_valist (/usr/lib64/libgobject-2.0.so.0.5800.2:0x7fee64c69aa6)
g_signal_emit (/usr/lib64/libgobject-2.0.so.0.5800.2:0x7fee64c6a09f)
gst_bus_async_signal_func (gstbus.c:1251)
gst_bus_source_dispatch (gstbus.c:839)
g_main_context_dispatch (/usr/lib64/libglib-2.0.so.0.5800.2:0x7fee64ce1069)
?? (/usr/lib64/libglib-2.0.so.0.5800.2:0x7fee64ce1434)
g_main_loop_run (/usr/lib64/libglib-2.0.so.0.5800.2:0x7fee64ce175e)
main (gst-validate.c:526)
__libc_start_main (/usr/lib64/libc-2.28.so:0x7fee648cc40f)
_start (/builds/thiblahute/gst-ci/gst-build/build/subprojects/gst-devtools/validate/tools/gst-validate-1.0:0x403efa)
==== Got criticals. Return value set to 18 ====
Critical error 1 actions were not executed:
seek, name=(string)Backward-seek, playback-time=(guint64)14550000000, rate=(double)1, start=(string)"min\(10.0\,\ 2\*\(duration/4\)\)", flags=(string)accurate+flush;
Issues found: 10
Returning 18 as errors were found
=======> Test FAILED (Return value: 18)
```https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/885nvdec/glimagesink memory leaks2019-03-29T04:50:49ZNicolanvdec/glimagesink memory leaksCreate a test file this way:
```
gst-launch-1.0 videotestsrc num-buffers=10 ! openh264enc ! h264parse ! matroskamux ! filesink location=/tmp/test.mkv
```
and then try this pipeline:
```
gst-launch-1.0 filesrc location=/tmp/test.mkv ! ...Create a test file this way:
```
gst-launch-1.0 videotestsrc num-buffers=10 ! openh264enc ! h264parse ! matroskamux ! filesink location=/tmp/test.mkv
```
and then try this pipeline:
```
gst-launch-1.0 filesrc location=/tmp/test.mkv ! matroskademux ! h264parse ! nvdec ! fakesink
```
valgrind report no leakeage.
Now try this one:
```
gst-launch-1.0 filesrc location=/tmp/test.mkv ! matroskademux ! h264parse ! nvdec ! glimagesink
```
valgrind reports several leaks:
```
==18166== 176 (64 direct, 112 indirect) bytes in 2 blocks are definitely lost in loss record 3,069 of 3,258
==18166== at 0x483977F: malloc (vg_replace_malloc.c:299)
==18166== by 0x4C898D1: g_malloc (in /usr/lib/libglib-2.0.so.0.5800.3)
==18166== by 0x4C6A094: g_slice_alloc (in /usr/lib/libglib-2.0.so.0.5800.3)
==18166== by 0x4893D9A: gst_caps_features_new_empty (gstcapsfeatures.c:178)
==18166== by 0x4894BDA: gst_caps_features_from_string (gstcapsfeatures.c:501)
==18166== by 0x7731C36: _dma_buf_upload_transform_caps (gstglupload.c:522)
==18166== by 0x7732F62: gst_gl_upload_transform_caps (gstglupload.c:1817)
==18166== by 0x7732F62: gst_gl_upload_transform_caps (gstglupload.c:1790)
==18166== by 0x5BBEA80: gst_base_transform_transform_caps (gstbasetransform.c:474)
==18166== by 0x5BC2713: gst_base_transform_query_caps (gstbasetransform.c:695)
==18166== by 0x5BC2713: gst_base_transform_default_query (gstbasetransform.c:1550)
==18166== by 0x48C80CF: gst_pad_query (gstpad.c:4070)
==18166== by 0x48C884A: gst_pad_peer_query (gstpad.c:4202)
==18166== by 0x4900067: query_caps_func (gstutils.c:2765)
==18166== by 0x48C6C2D: gst_pad_forward (gstpad.c:3007)
==18166== by 0x4902C59: gst_pad_proxy_query_caps (gstutils.c:2815)
==18166== by 0x48C6E53: gst_pad_query_caps_default (gstpad.c:3186)
==18166== by 0x48C6E53: gst_pad_query_default (gstpad.c:3414)
==18166== by 0x48C80CF: gst_pad_query (gstpad.c:4070)
==18166== by 0x48C884A: gst_pad_peer_query (gstpad.c:4202)
==18166== by 0x4905AFB: gst_pad_peer_query_caps (gstutils.c:3107)
==18166== by 0x74FAAE4: __gst_video_element_proxy_getcaps (gstvideoutilsprivate.c:111)
==18166== by 0x74F00AC: gst_video_decoder_sink_getcaps (gstvideodecoder.c:1777)
==18166== by 0x74F00AC: gst_video_decoder_sink_query_default (gstvideodecoder.c:1824)
==18166==
==18166== 264 (96 direct, 168 indirect) bytes in 3 blocks are definitely lost in loss record 3,126 of 3,258
==18166== at 0x483977F: malloc (vg_replace_malloc.c:299)
==18166== by 0x4C898D1: g_malloc (in /usr/lib/libglib-2.0.so.0.5800.3)
==18166== by 0x4C6A094: g_slice_alloc (in /usr/lib/libglib-2.0.so.0.5800.3)
==18166== by 0x4893D9A: gst_caps_features_new_empty (gstcapsfeatures.c:178)
==18166== by 0x4894BDA: gst_caps_features_from_string (gstcapsfeatures.c:501)
==18166== by 0x7731C36: _dma_buf_upload_transform_caps (gstglupload.c:522)
==18166== by 0x7732F62: gst_gl_upload_transform_caps (gstglupload.c:1817)
==18166== by 0x7732F62: gst_gl_upload_transform_caps (gstglupload.c:1790)
==18166== by 0x5BBEA80: gst_base_transform_transform_caps (gstbasetransform.c:474)
==18166== by 0x5BC23BA: gst_base_transform_query_caps (gstbasetransform.c:650)
==18166== by 0x5BC23BA: gst_base_transform_default_query (gstbasetransform.c:1550)
==18166== by 0x48C80CF: gst_pad_query (gstpad.c:4070)
==18166== by 0x48C884A: gst_pad_peer_query (gstpad.c:4202)
==18166== by 0x4900067: query_caps_func (gstutils.c:2765)
==18166== by 0x48C6C2D: gst_pad_forward (gstpad.c:3007)
==18166== by 0x4902C59: gst_pad_proxy_query_caps (gstutils.c:2815)
==18166== by 0x48C6E53: gst_pad_query_caps_default (gstpad.c:3186)
==18166== by 0x48C6E53: gst_pad_query_default (gstpad.c:3414)
==18166== by 0x48C80CF: gst_pad_query (gstpad.c:4070)
==18166== by 0x48C884A: gst_pad_peer_query (gstpad.c:4202)
==18166== by 0x4905AFB: gst_pad_peer_query_caps (gstutils.c:3107)
==18166== by 0x74FACE8: __gst_video_element_proxy_getcaps (gstvideoutilsprivate.c:108)
==18166== by 0x74F00AC: gst_video_decoder_sink_getcaps (gstvideodecoder.c:1777)
==18166== by 0x74F00AC: gst_video_decoder_sink_query_default (gstvideodecoder.c:1824)
==18166==
==18166== 264 (96 direct, 168 indirect) bytes in 3 blocks are definitely lost in loss record 3,127 of 3,258
==18166== at 0x483977F: malloc (vg_replace_malloc.c:299)
==18166== by 0x4C898D1: g_malloc (in /usr/lib/libglib-2.0.so.0.5800.3)
==18166== by 0x4C6A094: g_slice_alloc (in /usr/lib/libglib-2.0.so.0.5800.3)
==18166== by 0x4893D9A: gst_caps_features_new_empty (gstcapsfeatures.c:178)
==18166== by 0x4894BDA: gst_caps_features_from_string (gstcapsfeatures.c:501)
==18166== by 0x7731C36: _dma_buf_upload_transform_caps (gstglupload.c:522)
==18166== by 0x7732F62: gst_gl_upload_transform_caps (gstglupload.c:1817)
==18166== by 0x7732F62: gst_gl_upload_transform_caps (gstglupload.c:1790)
==18166== by 0x5BBEA80: gst_base_transform_transform_caps (gstbasetransform.c:474)
==18166== by 0x5BC2713: gst_base_transform_query_caps (gstbasetransform.c:695)
==18166== by 0x5BC2713: gst_base_transform_default_query (gstbasetransform.c:1550)
==18166== by 0x48C80CF: gst_pad_query (gstpad.c:4070)
==18166== by 0x48C884A: gst_pad_peer_query (gstpad.c:4202)
==18166== by 0x4900067: query_caps_func (gstutils.c:2765)
==18166== by 0x48C6C2D: gst_pad_forward (gstpad.c:3007)
==18166== by 0x4902C59: gst_pad_proxy_query_caps (gstutils.c:2815)
==18166== by 0x48C6E53: gst_pad_query_caps_default (gstpad.c:3186)
==18166== by 0x48C6E53: gst_pad_query_default (gstpad.c:3414)
==18166== by 0x48C80CF: gst_pad_query (gstpad.c:4070)
==18166== by 0x48C884A: gst_pad_peer_query (gstpad.c:4202)
==18166== by 0x4905AFB: gst_pad_peer_query_caps (gstutils.c:3107)
==18166== by 0x74FACE8: __gst_video_element_proxy_getcaps (gstvideoutilsprivate.c:108)
==18166== by 0x74F00AC: gst_video_decoder_sink_getcaps (gstvideodecoder.c:1777)
==18166== by 0x74F00AC: gst_video_decoder_sink_query_default (gstvideodecoder.c:1824)
==18166==
==18166== 838 (72 direct, 766 indirect) bytes in 1 blocks are definitely lost in loss record 3,202 of 3,258
==18166== at 0x483977F: malloc (vg_replace_malloc.c:299)
==18166== by 0x4C898D1: g_malloc (in /usr/lib/libglib-2.0.so.0.5800.3)
==18166== by 0x4C6A094: g_slice_alloc (in /usr/lib/libglib-2.0.so.0.5800.3)
==18166== by 0x488F9CA: gst_caps_new_empty (gstcaps.c:258)
==18166== by 0x488FBE8: gst_caps_new_simple (gstcaps.c:331)
==18166== by 0x74D50EF: gst_video_info_to_caps (video-info.c:628)
==18166== by 0x49AEF37: handle_pending_frames (gstnvdec.c:807)
==18166== by 0x49B25A6: gst_nvdec_handle_frame (gstnvdec.c:972)
==18166== by 0x74E7F2A: gst_video_decoder_decode_frame (gstvideodecoder.c:3433)
==18166== by 0x74ED087: gst_video_decoder_chain_forward (gstvideodecoder.c:2154)
==18166== by 0x74ED790: gst_video_decoder_chain (gstvideodecoder.c:2469)
==18166== by 0x48C2A31: gst_pad_chain_data_unchecked (gstpad.c:4325)
==18166== by 0x48C2A31: gst_pad_push_data (gstpad.c:4581)
==18166== by 0x48C9351: gst_pad_push (gstpad.c:4700)
==18166== by 0x5BA1AD7: gst_base_parse_push_frame (gstbaseparse.c:2580)
==18166== by 0x5BA48EA: gst_base_parse_handle_and_push_frame (gstbaseparse.c:2394)
==18166== by 0x5BA48EA: gst_base_parse_finish_frame (gstbaseparse.c:2738)
==18166== by 0x7692ECA: gst_h264_parse_handle_frame_packetized (gsth264parse.c:1031)
==18166== by 0x7692ECA: gst_h264_parse_handle_frame (gsth264parse.c:1084)
==18166== by 0x5B9C6D1: gst_base_parse_handle_buffer (gstbaseparse.c:2202)
==18166== by 0x5BA27DB: gst_base_parse_chain (gstbaseparse.c:3287)
==18166== by 0x48C2A31: gst_pad_chain_data_unchecked (gstpad.c:4325)
==18166== by 0x48C2A31: gst_pad_push_data (gstpad.c:4581)
==18166== by 0x48C9351: gst_pad_push (gstpad.c:4700)
==18166==
==18166== LEAK SUMMARY:
==18166== definitely lost: 424 bytes in 12 blocks
==18166== indirectly lost: 1,382 bytes in 36 blocks
==18166== possibly lost: 2,408 bytes in 19 blocks
==18166== still reachable: 384,111 bytes in 1,134 blocks
==18166== of which reachable via heuristic:
==18166== length64 : 1,168 bytes in 22 blocks
==18166== newarray : 1,696 bytes in 26 blocks
==18166== suppressed: 659,531 bytes in 3,189 blocks
==18166== Reachable blocks (those to which a pointer was found) are not shown.
==18166== To see them, rerun with: --leak-check=full --show-leak-kinds=all
```
Tested with today git master.
I have no time to investigate further or to fix the leaks now, sorry, I'm only testing the gpu of my new laptop :)https://gitlab.freedesktop.org/gstreamer/gst-rtsp-server/-/issues/61Test gst_rtspserver.test_shared_udp seems to be flaky2021-10-12T20:12:30ZPhilippe NormandTest gst_rtspserver.test_shared_udp seems to be flakyIt timed out in one of my (unrelated) CI pipelines: https://gitlab.freedesktop.org/philn/gst-plugins-bad/-/jobs/95513
```
Failed to acquire bus: No such file or directory
No journal files were found.
No coredumps found.
check.gst-rtsp-se...It timed out in one of my (unrelated) CI pipelines: https://gitlab.freedesktop.org/philn/gst-plugins-bad/-/jobs/95513
```
Failed to acquire bus: No such file or directory
No journal files were found.
No coredumps found.
check.gst-rtsp-server.gst_rtspserver.test_shared_udp: Timeout 'Application timed out: 120.0 secs'
You can reproduce with: GST_PLUGIN_PATH_1_0='/builds/philn/gst-plugins-bad/gst-build/build' GST_REGISTRY='/builds/philn/gst-plugins-bad/gst-build/build/subprojects/gst-rtsp-server/tests/check/gst/rtspserver.registry' GST_STATE_IGNORE_ELEMENTS='' GST_CHECKS='test_shared_udp' CK_DEFAULT_TIMEOUT='120' GST_PLUGIN_LOADING_WHITELIST='gstreamer:gst-plugins-base:gst-plugins-good:gst-plugins-bad:gst-rtsp-server' GST_PLUGIN_SYSTEM_PATH_1_0='' /builds/philn/gst-plugins-bad/gst-build/build/subprojects/gst-rtsp-server/tests/check/gst_rtspserver
Dumping log files on failure
Dumping contents of /builds/philn/gst-plugins-bad/validate-output/logs/check/gst-rtsp-server/gst_rtspserver/test_shared_udp
=================
Test name: check.gst-rtsp-server.gst_rtspserver.test_shared_udp
Command: '/builds/philn/gst-plugins-bad/gst-build/build/subprojects/gst-rtsp-server/tests/check/gst_rtspserver'
=================
Running suite(s): rtspserver
0%: Checks: 1, Failures: 0, Errors: 1
../subprojects/gst-rtsp-server/tests/check/gst/rtspserver.c:385:E:general:test_shared_udp:0: (after this point) Test timeout expired
Check suite rtspserver ran in 120.028s (tests failed: 1)
```https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/884retinex element on ubuntu 16.04 (arm64)2019-02-01T11:08:46Zmipsanretinex element on ubuntu 16.04 (arm64)Dear,
I would run Retinex element on ARM64 based ubuntu 16.04/18.04, and installed gstreamer1.0-plugins-bad with apt-get.
However it might do not have retinex element in ARM64 package.
(gst-inspect1.0 retinex returns no element message...Dear,
I would run Retinex element on ARM64 based ubuntu 16.04/18.04, and installed gstreamer1.0-plugins-bad with apt-get.
However it might do not have retinex element in ARM64 package.
(gst-inspect1.0 retinex returns no element message)
How can I try this element on ARM64 H/W?
Thanks,https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/562v4l2: Enable V4L2 Probes for all platforms2020-01-12T01:29:46ZNicolas Dufresnev4l2: Enable V4L2 Probes for all platformsI've started getting email report of issues from users because their m2m drivers aren't detected on PC. The reason is that the v4l2 probes function in the plugin are only included on arm and aarch64 build.
This was added after @tpm requ...I've started getting email report of issues from users because their m2m drivers aren't detected on PC. The reason is that the v4l2 probes function in the plugin are only included on arm and aarch64 build.
This was added after @tpm request, but I'm not sure base on what. The probe overhead is really small since it skips over all camera that might be connected. For each video devices, for which most PC have a limited number, it will open() ioctl() close(). The ioctl is only querying static information from the driver.
Only if one of these special device is found that there will be extra work, but an effort was made to keep it small.
So I'm suggesting to change the default to true (which is the case in meson build system already). This way, upon next update, these special drivers will be usable by everyone without having to rebuild your distro package. Just looking for yes / no answer here, if no answer in few days I'll assume yes and change this in 1.15 and 1.14.Nicolas DufresneNicolas Dufresnehttps://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/883srtserversink: clients after very first one take ~8 seconds to begin playing ...2019-02-12T15:57:39ZAaron Boxersrtserversink: clients after very first one take ~8 seconds to begin playing streamLatest master on Ubuntu 18 with kernel 4.20.x
I am seeing something weird: when I connect the first client to the server, it connects and begins playing immediately, while subsequent clients take around 8 seconds to begin playing.
Serv...Latest master on Ubuntu 18 with kernel 4.20.x
I am seeing something weird: when I connect the first client to the server, it connects and begins playing immediately, while subsequent clients take around 8 seconds to begin playing.
Server pipeline:
```
gst-launch-1.0 v4l2src ! video/x-raw, height=480, width=640 ! videoconvert ! x264enc tune=zerolatency ! video/x-h264, profile=high ! mpegtsmux ! srtserversink uri=srt://:7001/
```
Client pipeline:
```
gst-launch-1.0 srtclientsrc ! queue ! decodebin ! autovideosink
```https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/882curlhttpsink: If domain name is used instead of IP address the process fails ...2021-09-24T14:36:57ZThomas Schliencurlhttpsink: If domain name is used instead of IP address the process fails with a timeoutHi,
I have a problem using the curlhttpsink in combination with name resolution. If I, e.g., use the command
`gst-launch-1.0 filesrc location=test.wav ! decodebin3 ! curlhttpsink location=http://ptsv2.com/t/y0gd6-1548434111`
the comman...Hi,
I have a problem using the curlhttpsink in combination with name resolution. If I, e.g., use the command
`gst-launch-1.0 filesrc location=test.wav ! decodebin3 ! curlhttpsink location=http://ptsv2.com/t/y0gd6-1548434111`
the command times out and the curlhttpsink error tells that name resolution has failed. If I use
`gst-launch-1.0 filesrc location=test.wav ! decodebin3 ! curlhttpsink location=http://216.239.32.21/t/y0gd6-1548434111`
everything works fine. I already found out that this has something to do the async processing of the name resolver and found a fix that works for me that is included in 0495511a484222a3aa5c578dd47de1e0ce9b7f66. It would be nice if someone could have a look at the patch and maybe has a better idea to solve the issue. If this solutions looks OK, I would do a merge request in the master branch.
Best regards,
Thomashttps://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/881d3dhelpers.c: fix typo in debug output2019-01-30T16:43:05ZAaron Boxerd3dhelpers.c: fix typo in debug output` "D3D Device has been lost. Cleanup up resources..");` Change to `Clean up`` "D3D Device has been lost. Cleanup up resources..");` Change to `Clean up`https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/180Subclass: parent class optional functions invocation 2d attempt2019-02-03T08:52:59ZFrançois LaignelSubclass: parent class optional functions invocation 2d attemptThis is a second attempt at defining a behaviour for the invocation of the parent's function from a subclass. The discussion started here: https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/merge_requests/216#note_108728. and continue...This is a second attempt at defining a behaviour for the invocation of the parent's function from a subclass. The discussion started here: https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/merge_requests/216#note_108728. and continued here #178.
Edit: updated with feedback from @slomo + additional details when nothing occurs when a vfunc is `NULL`. The details aims at deciding what the Rust binding should return when the vfunc is not defined.
## gstreamer
| Function | When NULL | Comment |
| --------------------------- | -------------------- | ----------- |
| Bin.parent_add_element | return `FALSE` | Has default vfunc. Optional |
| Bin.parent_handle_message | unref message + ret. `GST_BUS_DROP` | Has default vfunc. Optional |
| Bin.parent_remove_element | return `FALSE` | Has default vfunc. Optional |
| | | |
| Element.parent_change_state | handle failure + abort state | Has default vfunc. Missing vfunc is a bug. |
| Element.parent_query | return `FALSE` | Has default vfunc. Optional |
| Element.parent_send_event | return `FALSE` | Has default vfunc. Optional |
| Element.parent_set_context | nothing | Has default vfunc. Optional. Function returns nothing. |
| | | |
| Pad.parent_linked | not used | Optional. Function returns nothing. |
| Pad.parent_unlinked | not used | Optional. Function returns nothing. |
## gstreamer-base
| Function | When NULL | Comment |
| ------------------------------------- | -------------------- | ----------- |
| Aggregator.parent_aggregate | `init` fails | Mandatory |
| Aggregator.parent_clip | nothing | Optional. The best we can do is to return the input buffer. A trace will state that the buffer is being clipped |
| Aggregator.parent_create_new_pad | not checked | Has default vfunc. Missing vfunc is a bug |
| Aggregator.parent_finish_buffer | assertion failure | Has default vfunc. Missing vfunc is a bug |
| Aggregator.parent_fixate_src_caps | assertion failure | Has default vfunc. Missing vfunc is a bug |
| Aggregator.parent_flush | return `GST_FLOW_OK` | Optional |
| Aggregator.parent_get_next_time | return `GST_CLOCK_TIME_NONE` | Optional |
| Aggregator.parent_negotiated_src_caps | nothing | Has default vfunc. Optional + return `Ok(())` |
| Aggregator.parent_sink_event | not checked | Has default vfunc. Missing vfunc is a bug |
| Aggregator.parent_sink_query | not checked | Has default vfunc. Missing vfunc is a bug |
| Aggregator.parent_src_activate | nothing | Optional + return `Ok(())` |
| Aggregator.parent_src_event | not checked | Has default vfunc. Missing vfunc is a bug |
| Aggregator.parent_src_query | not checked | Has default vfunc. Missing vfunc is a bug |
| Aggregator.parent_start | return `TRUE` | Optional |
| Aggregator.parent_stop | return `TRUE` | Optional |
| Aggregator.parent_update_src_caps | assertion failure | Has default vfunc. Missing vfunc is a bug |
| | | |
| AggregatorPad.parent_flush | return `TRUE` | Optional |
| AggregatorPad.parent_skip_buffer | return `FALSE` | Optional |
| | | |
| BaseSink.parent_event | return `TRUE` | Has default vfunc. Optional |
| BaseSink.parent_fixate | return input caps | Has default vfunc. Optional |
| BaseSink.parent_get_caps | nothing + return `NULL` | Has default vfunc. Optional |
| BaseSink.parent_query | return `FALSE` | Has default vfunc. Optional |
| BaseSink.parent_set_caps | nothing (return `TRUE`) | Has default vfunc. Optional |
| | | |
| BaseSrc.parent_create | return `GST_FLOW_NOT_SUPPORTED` | Has default vfunc. Optional |
| BaseSrc.parent_do_seek | return `FALSE` | Has default vfunc. Optional |
| BaseSrc.parent_event | return `FALSE` | Has default vfunc. Optional |
| BaseSrc.parent_fixate | return input caps | Has default vfunc. Optional |
| BaseSrc.parent_get_caps | return `FALSE` | Has default vfunc. Optional |
| BaseSrc.parent_negotiate | handle TRUE case | Has default vfunc. Optional |
| BaseSrc.parent_query | return `FALSE` | Has default vfunc. Optional |
| BaseSrc.parent_set_caps | nothing (return `TRUE`) | Optional |
| | | |
| BaseTransform.parent_accept_caps | return `FALSE` | Has default vfunc. Optional |
| BaseTransform.parent_fixate_caps | nothing | Has default vfunc. Optional. The best we can do is to return the input `othercaps`. Traces will be issued. |
| BaseTransform.parent_query | return `FALSE` | Has default vfunc. Optional |
| BaseTransform.parent_sink_event | unref event + ret. `TRUE` | Has default vfunc. Optional |
| BaseTransform.parent_src_event | unref event + ret. `TRUE` | Has default vfunc. Optional |
| BaseTransform.parent_transform_caps | return `NULL` | Has default vfunc. Optional |
| BaseTransform.parent_transform_size | return `FALSE` | Has default vfunc. Optional |
Edit: For the record, these were the questions in the initial issue description.
Please check the `comment` column. I'm not 100% sure about these:
- Are subclasses allowed to set some vfuncs to `NULL`?
- Are `Pad` vfuncs `linked` and `unlinked` optional?
https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/561input-selector ! vp8enc ! webmmux caps changed are not supported by matroskamux2024-02-10T10:52:42Zladyluckinput-selector ! vp8enc ! webmmux caps changed are not supported by matroskamuxHello, I am working on a pipeline that switches the video source between 2 streams and save it to a file with the webmmux element. However when the input-selector element switches the input to the seconds source this warning is thrown an...Hello, I am working on a pipeline that switches the video source between 2 streams and save it to a file with the webmmux element. However when the input-selector element switches the input to the seconds source this warning is thrown and my pipeline halts 'error: Caps changed are not supported by Matroska'.
I have posted on the irc channel and was referred to make a bug report here.
I am working only with the v4l2src and videotestsrc right now. I have plans to expand it to a more complex pipeline, but when that one broke I decided to make this minimum pipeline so I can further understand whats happening behind the scenes.
In the dot file output, it says initially its just video/x-vp8, then when I switch inputs its now video/x-vp8,profile=0,streamheader=<(buffer) 4f565038>, width=320,heigh=240,pixel-aspect-ratio=1/1...
Its also really weird, cause when I link the input sources in the reverse order and then switch inputs on the input-switcher, the pads share the same format from video/x-vp8, to video/x-vp8,profile=0,streamheader=<(buffer) 4f565038>, width=320,heigh=240,pixel-aspect-ratio=1/1...
I have attached the dot file outputs here with the initial and final values in case anyone is interested. Here is also a pastebin of the simple pipeline I am using.
https://pastebin.com/NeN242a9
![initial1](/uploads/53ca4e7872b5e16525a24e2ecee0f509/initial1.png)
![final1](/uploads/16072025591557bdf0c6e41bfb82788c/final1.png)
![initial2](/uploads/7fce8690649919835c30c4b71429cdef/initial2.png)
![final2](/uploads/91c5af8062d76628c84f76b5fe0c9e76/final2.png)https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/560v4l2transform: Automatically disable passthrough is2021-09-24T13:33:19ZNicolas Dufresnev4l2transform: Automatically disable passthrough isProblem we have right now is that whenever an extra-control is set, the extra controls only take effect if the element isn't going passthrough. This is a proposal to automatically disable passthrough whenever controls are set (regardless...Problem we have right now is that whenever an extra-control is set, the extra controls only take effect if the element isn't going passthrough. This is a proposal to automatically disable passthrough whenever controls are set (regardless of the control). This way, if you enable things like hflip, you do not get hflip applied randomly depending on the caps negotiation.https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/559EQ settings seem to be wrong2019-01-30T10:38:41ZUtini2000EQ settings seem to be wrongHello everyone,
today I tried to apply the same EQ profile in Linux which I also use on Windows.
I noticed that the lower frequencies had way too much gain.
I am setting the EQ through PulseEffects (https://github.com/wwmm/pulseeffects)...Hello everyone,
today I tried to apply the same EQ profile in Linux which I also use on Windows.
I noticed that the lower frequencies had way too much gain.
I am setting the EQ through PulseEffects (https://github.com/wwmm/pulseeffects).
It uses the EQ from gst-plugins-good, and I also reported the issue to PulseEffects (https://github.com/wwmm/pulseeffects/issues/421).
There seems to be a similiar report from 1 year ago which no one touched so far:
https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/issues/374
Those are the EQ settings I applied:
https://www.dropbox.com/s/k7wry3s24r2y8sc/Sennheiser%20HD800S%20%2318002%20pt1.pdf?dl=0
https://www.dropbox.com/s/way36c2dofncrvc/Sennheiser%20HD800S%20%2318002%20pt2.pdf?dl=0
OS: Archlinux
Let me know if I can provide any more useful information.https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/558rtph264depay: Segmentation fault2023-10-12T16:56:19ZJimmy Petterssonrtph264depay: Segmentation faultMy pipeline is as follows:
3 video pipelines with udpsrc are composed into one output frame displayed on the screen.
Simplified pipeline.
```
--[udpsrc]-->[rtpjitterbuffer]-->[decode]-->[queue]-->
--[udpsrc]-->[rtpjitterbuffer]-->[d...My pipeline is as follows:
3 video pipelines with udpsrc are composed into one output frame displayed on the screen.
Simplified pipeline.
```
--[udpsrc]-->[rtpjitterbuffer]-->[decode]-->[queue]-->
--[udpsrc]-->[rtpjitterbuffer]-->[decode]-->[queue]--> [compositor] --> [xvimagesink] ---->
--[udpsrc]-->[rtpjitterbuffer]-->[decode]-->[queue]-->
```
The sefaults happens after 0-10 minutes of running...
```.sh
Thread 20 "rtpjitterbuffer" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7f77fff1d0 (LWP 32045)]
memcpy () at ../sysdeps/aarch64/memcpy.S:161
161 ../sysdeps/aarch64/memcpy.S: No such file or directory.
(gdb) bt
#0 memcpy () at ../sysdeps/aarch64/memcpy.S:161
#1 0x0000007fb7ee2938 in memcpy (__len=<optimized out>, __src=<optimized out>, __dest=<optimized out>) at /usr/include/aarch64-linux-gnu/bits/string3.h:53
#2 gst_buffer_fill (buffer=buffer@entry=0x7f7c01c570, offset=<optimized out>, offset@entry=0, src=src@entry=0x7f6403e09e, size=size@entry=4294967295) at gstbuffer.c:1840
#3 0x0000007fb1fdd2ec in gst_rtp_h264_depay_process (depayload=0x898860, rtp=0x7f77ffe428) at gstrtph264depay.c:1195
#4 0x0000007fb215329c in gst_rtp_base_depayload_handle_buffer (filter=0x898860, in=0x7f7c021990, bclass=<optimized out>, bclass=<optimized out>) at gstrtpbasedepayload.c:429
#5 0x0000007fb7f1fe04 in gst_pad_chain_data_unchecked (data=0x7f7c021990, type=4112, pad=0x8bcd50) at gstpad.c:4320
#6 gst_pad_push_data (pad=pad@entry=0x8bc1c0, type=type@entry=4112, data=data@entry=0x7f7c021990) at gstpad.c:4576
#7 0x0000007fb7f28a80 in gst_pad_push (pad=0x8bc1c0, buffer=buffer@entry=0x7f7c021990) at gstpad.c:4695
#8 0x0000007fb21b3830 in pop_and_push_next (jitterbuffer=jitterbuffer@entry=0x8bb350, seqnum=seqnum@entry=46479) at gstrtpjitterbuffer.c:3519
#9 0x0000007fb21b45ac in handle_next_buffer (jitterbuffer=0x8bb350) at gstrtpjitterbuffer.c:3618
#10 gst_rtp_jitter_buffer_loop (jitterbuffer=0x8bb350) at gstrtpjitterbuffer.c:4164
#11 0x0000007fb7f5a110 in gst_task_func (task=0x7fa40905f0) at gsttask.c:332
#12 0x0000007fb7d901a4 in ?? () from /lib/aarch64-linux-gnu/libglib-2.0.so.0
#13 0x0000007fb7e223c0 in __glib_assert_msg () from /lib/aarch64-linux-gnu/libglib-2.0.so.0
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
```https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/550gstrtspconnection: RTSP connection does not close after timeout2021-09-24T13:24:50ZTobias Rongegstrtspconnection: RTSP connection does not close after timeoutThe watch object's "closed" function could be called after a timeout has occurred in either gst_rtsp_watch_write_data or gst_rtsp_source_dispatch_write. Right now this is not the case. For gst-rtsp-server, this results in an open thread ...The watch object's "closed" function could be called after a timeout has occurred in either gst_rtsp_watch_write_data or gst_rtsp_source_dispatch_write. Right now this is not the case. For gst-rtsp-server, this results in an open thread after a client has timed out. This thread will normally not close until the TCP timeout of 15 minutes.https://gitlab.freedesktop.org/gstreamer/cerbero/-/issues/117[Andorid Build] "$cerbero -c config/cross-android-arm64.cbc package gstreamer...2019-01-28T14:39:06ZGeunsik Lim[Andorid Build] "$cerbero -c config/cross-android-arm64.cbc package gstreamer-1.0" command is broken.It seems that the "$cerbero -c config/cross-android-arm64.cbc package gstreamer-1.0" command is broken.
When I executed the above command on my own Ubuntu 16.04 LTS x86_64, I got the below error messages.
Welcome to any hints and commen...It seems that the "$cerbero -c config/cross-android-arm64.cbc package gstreamer-1.0" command is broken.
When I executed the above command on my own Ubuntu 16.04 LTS x86_64, I got the below error messages.
Welcome to any hints and comment on this issue. :)
* How to reproduce
```
$ uname -a
Linux ip-172-31-27-164 4.4.0-138-generic #164-Ubuntu SMP Tue Oct 2 17:16:02 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=16.04
DISTRIB_CODENAME=xenial
DISTRIB_DESCRIPTION="Ubuntu 16.04.5 LTS"
$
$ git clone https://gitlab.freedesktop.org/gstreamer/cerbero.git
$ cd cerbero
$ git log
commit fa3560f1a57e0b7457d7d2aa7b650aa8906595d2
Author: unknown <nacho.garglez@gmail.com>
Date: Thu Jan 24 16:55:57 2019 +0100
meson: fix deleting non-empty directory
On Windows builds meson recipe fails trying to
delete /scripts folder, because it is not empty.
$ time cerbero -c config/cross-android-arm64.cbc bootstrap
$ time cerbero -c config/cross-android-arm64.cbc package gstreamer-1.0
$
```
* Build error messages
```
. . . Omission . . .
[(38/80) glib-networking -> already built ]
[(39/80) libsoup -> already built ]
[(40/80) mpg123 -> already built ]
[(41/80) lame -> already built ]
[(42/80) wavpack -> already built ]
[(43/80) flac -> already built ]
[(44/80) taglib -> fetch ]
-----> Fetching tarball https://github.com/taglib/taglib/releases/download/v1.11.1/taglib-1.11.1.tar.gz to /home/ubuntu/.cache/cerbero-sources/taglib-1.11.1/taglib-1.11.1.tar.gz
[(44/80) taglib -> extract ]
-----> Extracting tarball to /var/www/gst-android/cerbero/build/sources/android_universal/arm64/taglib-1.11.1
Unpacking /home/ubuntu/.cache/cerbero-sources/taglib-1.11.1/taglib-1.11.1.tar.gz in /var/www/gst-android/cerbero/build/sources/android_universal/arm64
-----> Extracting tarball to /var/www/gst-android/cerbero/build/sources/android_universal/x86_64/taglib-1.11.1
Unpacking /home/ubuntu/.cache/cerbero-sources/taglib-1.11.1/taglib-1.11.1.tar.gz in /var/www/gst-android/cerbero/build/sources/android_universal/x86_64
-----> Extracting tarball to /var/www/gst-android/cerbero/build/sources/android_universal/x86/taglib-1.11.1
Unpacking /home/ubuntu/.cache/cerbero-sources/taglib-1.11.1/taglib-1.11.1.tar.gz in /var/www/gst-android/cerbero/build/sources/android_universal/x86
-----> Extracting tarball to /var/www/gst-android/cerbero/build/sources/android_universal/armv7/taglib-1.11.1
Unpacking /home/ubuntu/.cache/cerbero-sources/taglib-1.11.1/taglib-1.11.1.tar.gz in /var/www/gst-android/cerbero/build/sources/android_universal/armv7
[(44/80) taglib -> configure ]
Running command 'cmake -DCMAKE_INSTALL_PREFIX=/var/www/gst-android/cerbero/build/dist/android_universal/arm64 -DCMAKE_LIBRARY_OUTPUT_PATH=/var/www/gst-android/cerbero/build/dist/android_universal/arm64/lib -DCMAKE_INSTALL_LIBDIR=/var/www/gst-android/cerbero/build/dist/android_universal/arm64/lib -DCMAKE_INSTALL_BINDIR=/var/www/gst-android/cerbero/build/dist/android_universal/arm64/bin -DCMAKE_INSTALL_INCLUDEDIR=/var/www/gst-android/cerbero/build/dist/android_universal/arm64/include -DWITH_MP4=ON -DWITH_ASF=ON -DBUILD_SHARED_LIBS=1 -DBUILD_STATIC_LIBS=1 -DCMAKE_DISABLE_FIND_PACKAGE_Boost=TRUE -DANDROID_NDK=1 -DZLIB_ROOT=/var/www/gst-android/cerbero/build/dist/android_universal/arm64 -DCMAKE_SYSTEM_NAME=Linux -DCMAKE_C_COMPILER=/var/www/gst-android/cerbero/build/android-ndk-18/toolchains/llvm/prebuilt/linux-x86_64/bin/clang -DCMAKE_CXX_COMPILER=/var/www/gst-android/cerbero/build/android-ndk-18/toolchains/llvm/prebuilt/linux-x86_64/bin/clang++ -DCMAKE_C_FLAGS="-Wall -g -Os -gcc-toolchain /var/www/gst-android/cerbero/build/android-ndk-18/toolchains/aarch64-linux-android-4.9/prebuilt/linux-x86_64 -isysroot /var/www/gst-android/cerbero/build/android-ndk-18/sysroot -isystem /var/www/gst-android/cerbero/build/dist/android_universal/arm64/include -isystem /var/www/gst-android/cerbero/build/android-ndk-18/sysroot/usr/include -isystem /var/www/gst-android/cerbero/build/android-ndk-18/sysroot/usr/include/aarch64-linux-android -fno-integrated-as -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -fPIC -Wno-invalid-command-line-argument -Wno-unused-command-line-argument -DANDROID -DPIC -D__ANDROID_API__=21 -Wa,--noexecstack" -DCMAKE_CXX_FLAGS="-Wall -g -Os -gcc-toolchain /var/www/gst-android/cerbero/build/android-ndk-18/toolchains/aarch64-linux-android-4.9/prebuilt/linux-x86_64 -isysroot /var/www/gst-android/cerbero/build/android-ndk-18/sysroot -isystem /var/www/gst-android/cerbero/build/dist/android_universal/arm64/include -isystem /var/www/gst-android/cerbero/build/android-ndk-18/sysroot/usr/include -isystem /var/www/gst-android/cerbero/build/android-ndk-18/sysroot/usr/include/aarch64-linux-android -fno-integrated-as -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -fPIC -Wno-invalid-command-line-argument -Wno-unused-command-line-argument -DANDROID -DPIC -D__ANDROID_API__=21 -Wa,--noexecstack -fno-rtti -fno-exceptions -frtti" -DLIB_SUFFIX= -DCMAKE_BUILD_TYPE=Release -DCMAKE_FIND_ROOT_PATH=$CERBERO_PREFIX '
-- The C compiler identification is Clang 7.0.2
-- The CXX compiler identification is Clang 7.0.2
-- Check for working C compiler: /var/www/gst-android/cerbero/build/android-ndk-18/toolchains/llvm/prebuilt/linux-x86_64/bin/clang
-- Check for working C compiler: /var/www/gst-android/cerbero/build/android-ndk-18/toolchains/llvm/prebuilt/linux-x86_64/bin/clang -- broken
CMake Error at /usr/share/cmake-3.5/Modules/CMakeTestCCompiler.cmake:61 (message):
The C compiler
"/var/www/gst-android/cerbero/build/android-ndk-18/toolchains/llvm/prebuilt/linux-x86_64/bin/clang"
is not able to compile a simple test program.
It fails with the following output:
Change Dir: /var/www/gst-android/cerbero/build/sources/android_universal/arm64/taglib-1.11.1/CMakeFiles/CMakeTmp
Run Build Command:"/usr/bin/make" "cmTC_7f70a/fast"
/usr/bin/make -f CMakeFiles/cmTC_7f70a.dir/build.make
CMakeFiles/cmTC_7f70a.dir/build
make[1]: Entering directory
'/var/www/gst-android/cerbero/build/sources/android_universal/arm64/taglib-1.11.1/CMakeFiles/CMakeTmp'
Building C object CMakeFiles/cmTC_7f70a.dir/testCCompiler.c.o
/var/www/gst-android/cerbero/build/android-ndk-18/toolchains/llvm/prebuilt/linux-x86_64/bin/clang
-Wall -g -Os -gcc-toolchain
/var/www/gst-android/cerbero/build/android-ndk-18/toolchains/aarch64-linux-android-4.9/prebuilt/linux-x86_64
-isysroot /var/www/gst-android/cerbero/build/android-ndk-18/sysroot
-isystem
/var/www/gst-android/cerbero/build/dist/android_universal/arm64/include
-isystem
/var/www/gst-android/cerbero/build/android-ndk-18/sysroot/usr/include
-isystem
/var/www/gst-android/cerbero/build/android-ndk-18/sysroot/usr/include/aarch64-linux-android
-fno-integrated-as -ffunction-sections -funwind-tables
-fstack-protector-strong -no-canonical-prefixes -fPIC
-Wno-invalid-command-line-argument -Wno-unused-command-line-argument
-DANDROID -DPIC -D__ANDROID_API__=21 -Wa,--noexecstack -o
CMakeFiles/cmTC_7f70a.dir/testCCompiler.c.o -c
/var/www/gst-android/cerbero/build/sources/android_universal/arm64/taglib-1.11.1/CMakeFiles/CMakeTmp/testCCompiler.c
Linking C executable cmTC_7f70a
/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_7f70a.dir/link.txt
--verbose=1
/var/www/gst-android/cerbero/build/android-ndk-18/toolchains/llvm/prebuilt/linux-x86_64/bin/clang
-Wall -g -Os -gcc-toolchain
/var/www/gst-android/cerbero/build/android-ndk-18/toolchains/aarch64-linux-android-4.9/prebuilt/linux-x86_64
-isysroot /var/www/gst-android/cerbero/build/android-ndk-18/sysroot
-isystem
/var/www/gst-android/cerbero/build/dist/android_universal/arm64/include
-isystem
/var/www/gst-android/cerbero/build/android-ndk-18/sysroot/usr/include
-isystem
/var/www/gst-android/cerbero/build/android-ndk-18/sysroot/usr/include/aarch64-linux-android
-fno-integrated-as -ffunction-sections -funwind-tables
-fstack-protector-strong -no-canonical-prefixes -fPIC
-Wno-invalid-command-line-argument -Wno-unused-command-line-argument
-DANDROID -DPIC -D__ANDROID_API__=21 -Wa,--noexecstack
-L/var/www/gst-android/cerbero/build/dist/android_universal/arm64/lib
-gcc-toolchain
/var/www/gst-android/cerbero/build/android-ndk-18/toolchains/aarch64-linux-android-4.9/prebuilt/linux-x86_64
-fPIC -no-canonical-prefixes -Wl,-no-undefined -Wl,-z,noexecstack
-Wl,-z,relro -Wl,-z,now -Wl,--gc-sections
-Wl,-dynamic-linker,/system/bin/linker -Wl,--warn-shared-textrel
-Wl,--exclude-libs,libatomic.a -Wl,--exclude-libs,libgcc.a
-Wl,--exclude-libs,libunwind.a
-L/var/www/gst-android/cerbero/build/android-ndk-18/platforms/android-21/arch-arm64/usr/lib
-fuse-ld=gold
-L/var/www/gst-android/cerbero/build/dist/android_universal/arm64/lib
CMakeFiles/cmTC_7f70a.dir/testCCompiler.c.o -o cmTC_7f70a -rdynamic
/usr/bin/ld.gold: error: cannot open crtbegin.o: No such file or directory
/usr/bin/ld.gold: error: cannot open crtend.o: No such file or directory
/usr/bin/ld.gold: error: cannot find -lgcc
/usr/bin/ld.gold: error: cannot find -lgcc_s
/usr/bin/ld.gold: fatal error:
/var/www/gst-android/cerbero/build/android-ndk-18/platforms/android-21/arch-arm64/usr/lib/libc.so:
unsupported ELF machine number 183
clang: error: linker command failed with exit code 1 (use -v to see
invocation)
CMakeFiles/cmTC_7f70a.dir/build.make:97: recipe for target 'cmTC_7f70a'
failed
make[1]: *** [cmTC_7f70a] Error 1
make[1]: Leaving directory
'/var/www/gst-android/cerbero/build/sources/android_universal/arm64/taglib-1.11.1/CMakeFiles/CMakeTmp'
Makefile:126: recipe for target 'cmTC_7f70a/fast' failed
make: *** [cmTC_7f70a/fast] Error 2
CMake will not be able to correctly generate this project.
Call Stack (most recent call first):
CMakeLists.txt:3 (project)
-- Configuring incomplete, errors occurred!
See also "/var/www/gst-android/cerbero/build/sources/android_universal/arm64/taglib-1.11.1/CMakeFiles/CMakeOutput.log".
See also "/var/www/gst-android/cerbero/build/sources/android_universal/arm64/taglib-1.11.1/CMakeFiles/CMakeError.log".
Recipe 'taglib' failed at the build step 'configure'
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
```https://gitlab.freedesktop.org/gstreamer/cerbero/-/issues/116shout2send plugin is not built2020-07-18T10:39:47ZBob Squirrellshout2send plugin is not builtI am using version 1.14.4 on Windows 10. I am trying to use shout2send with Icecast. I have copied the example pipeline and then put in the correct connection details. I get an error message 'erroneous pipeline: no element "shout2send...I am using version 1.14.4 on Windows 10. I am trying to use shout2send with Icecast. I have copied the example pipeline and then put in the correct connection details. I get an error message 'erroneous pipeline: no element "shout2send"' I have been back into setup and tried installing extra modules but none of them seem to contain shout2send.https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/179Survey of functions returning `bool` under most remaining workspaces2019-02-04T21:19:00ZFrançois LaignelSurvey of functions returning `bool` under most remaining workspacesSurvey of functions returning bool under all workspaces but `gstreamer` & `gstreamer-base` (already processed: see https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/issues/171 & https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/i...Survey of functions returning bool under all workspaces but `gstreamer` & `gstreamer-base` (already processed: see https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/issues/171 & https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/issues/175) and `gstreamer-editing-services` & `gstreamer-sdp` (will come in speratate issues because many functions are concerned).
## Workspace `gstreamer-app`
| Function | Location | Gst Function | Proposed Return Type | Comment |
| -------------------------------- | -------- | ---------------------------- | -------------------- | --------------------------- |
| AppSrc.seek_data | src | GstAppSrcCallbacks.seek_data | keep `bool` | Returns TRUE if the seek succeeded. Note: Seek function -> `bool` |
| AppSrc.connect_seek_data | auto | GstAppSrcCallbacks.seek_data | same as above | |
| AppSrcCallbacks.seek_data | src | GstAppSrcCallbacks.seek_data | same as above | |
| AppSrcCallbacksBuilder.seek_data | src | GstAppSrcCallbacks.seek_data | same as above | |
## Workspace `gstreamer-audio`
| Function | Location | Gst Function | Proposed Return Type | Comment |
| -------------------------------------------------- | -------- | --------------------------------------- | -------------------- | ------- |
| AudioChannelPosition.check_valid_channel_positions | auto | gst_audio_check_valid_channel_positions | keep `bool` | Returns TRUE if the channel positions are valid. |
## Workspace `gstreamer-check`
| Function | Location | Gst Function | Proposed Return Type | Comment |
| --------------------------- | -------- | ------------------------------- | ----------------------------- | ------- |
| Harness.push_event | src | gst_harness_push_event | keep `bool` | Event function -> `bool` |
| Harness.push_upstream_event | src | gst_harness_push_upstream_event | keep `bool` | Event function -> `bool` |
| Harness.src_push_event | src | gst_harness_src_push_event | keep `bool` | Event function -> `bool` |
| | | | | |
| TestClock.crank | auto | gst_test_clock_crank | `Result<(), glib::BoolError>` | Return: TRUE if the crank was successful, FALSE otherwise. |
## Workspace `gstreamer-editing-services`
Many. Will be included in a dedicated issue.
## Workspace `gstreamer-gl`
| Function | Location | Gst Function | Proposed Return Type | Comment |
| --------------------------------------- | -------- | -------------------------------------------- | ----------------------------- | ------- |
| GlColorConvert.set_caps | auto | gst_gl_color_convert_set_caps | `Result<(), glib::BoolError>` | |
| | | | | |
| GlContext.check_feature | auto | gst_gl_context_check_feature | keep `bool` | Returns whether feature is supported by context |
| GlContext.check_framebuffer_status | auto | gst_gl_context_check_framebuffer_status | keep `bool` | Returns whether the current framebuffer is complete |
| GlContext.check_gl_version | auto | gst_gl_context_check_gl_version | keep `bool` | Returns whether OpenGL context implements the required api and specified version. |
| GlContext.set_window | auto | gst_gl_context_set_window | `Result<(), glib::BoolError>` | Returns whether the window was successfully updated |
| GlContext.supports_glsl_profile_version | auto | gst_gl_context_supports_glsl_profile_version | keep `bool` | Returns whether context supports the combination of version with profile |
| | | | | |
| GlShader.attach | auto | gst_gl_shader_attach | `Result<(), glib::BoolError>` | Returns whether stage could be attached to shader |
| GlShader.attach_unlocked | auto | gst_gl_shader_attach_unlocked | `Result<(), glib::BoolError>` | Returns whether stage could be attached to shader |
| | | | | |
| GlUpload.set_caps | auto | gst_gl_upload_set_caps | `Result<(), glib::BoolError>` | Returns whether in_caps and out_caps could be set on upload |
| | | | | |
| GlViewConvert.set_caps | auto | gst_gl_view_convert_set_caps | `Result<(), glib::BoolError>` | Result not described in doc |
| | | | | |
| GlWindow.set_render_rectangle | auto | gst_gl_window_set_render_rectangle | `Result<(), glib::BoolError>` | Returns whether the specified region could be set |
| | | | | |
| GlslStage.set_strings | auto | gst_glsl_stage_set_strings | `Result<(), glib::BoolError>` | Result not described in doc |
## Workspace `gstreamer-net`
All filtered out.
## Workspace `gstreamer-pbutils`
All filtered out.
## Workspace `gstreamer-player`
All filtered out.
## Workspace `gstreamer-rtsp`
None
## Workspace `gstreamer-rtsp-server`
| Function | Location | Gst Function | Proposed Return Type | Comment |
| ------------------------------------------------ | -------- | ----------------------------------- | --------------------------------- | ------- |
| RtspAuth.check | auto | gst_rtsp_auth_check | `Result<(), glib::BoolError>` | Returns FALSE if check failed. |
| RtspAuth.connect_accept_certificate | auto | "accept-certificate" signal | `Result<(), glib::LoggableError>` | Returns TRUE to accept peer_cert (which will also immediately end the signal emission). FALSE to allow the signal emission to continue, which will cause the handshake to fail if no one else overrides it. |
| | | | | |
| RtspServer.io_func | auto | gst_rtsp_server_io_func | `Result<(), glib::BoolError>` | Returns TRUE if the source could be connected, FALSE if an error occurred. |
| RtspServer.transfer_connection | auto | gst_rtsp_server_transfer_connection | `Result<(), glib::BoolError>` | Returns TRUE if all was ok, FALSE if an error occurred. |
| | | | | |
| RtspSession.release_media | auto | gst_rtsp_session_release_media | keep `bool` | Returns TRUE if there are more media session left in sess. |
| | | | | |
| RtspStream.set_blocked | auto | gst_rtsp_stream_set_blocked | `Result<(), glib::BoolError>` | Returns TRUE on success |
| RtspStream.unblock_linked | auto | gst_rtsp_stream_unblock_linked | `Result<(), glib::BoolError>` | Returns TRUE on success |
| RtspStream.update_crypto | auto | gst_rtsp_stream_update_crypto | `Result<(), glib::BoolError>` | Returns: TRUE if crypto could be updated |
## Workspace `gstreamer-sdp`
Many. Will be included in a dedicated issue.
## Workspace `gstreamer-video`
All filtered out.
## Workspace `gstreamer-webrtc`
All filtered out.