gst_all_1.gst-plugins-bad: remove gstmicrodns

This plugin causes every application which uses GstDeviceMonitor to
emit an mDNS query for _rtsp._tcp.local every two seconds.
The application can filter devices to exclude any devices found, but
there does not seem to be a way for applications to opt out of sending
these messages. See [1] and [2].

This plugin was apparently introduced by its author to be able to access
local and networked cameras through a single API [3], I'm pretty sure
that nixpkgs has no applications making use of it.

Remove it at least until it does not emit mDNS requests by default
anymore.

[1] https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/721#note_253085
[2] https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1090
[3] https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/721#note_253104
This commit is contained in:
Lorenz Brun 2023-04-16 18:43:38 +02:00
parent 154c10a45c
commit d5962b7e97

View file

@ -100,6 +100,8 @@
, MediaToolbox
, enableGplPlugins ? true
, bluezSupport ? stdenv.isLinux
# Causes every application using GstDeviceMonitor to send mDNS queries every 2 seconds
, microdnsSupport ? false
# Checks meson.is_cross_build(), so even canExecute isn't enough.
, enableDocumentation ? stdenv.hostPlatform == stdenv.buildPlatform, hotdoc
}:
@ -151,7 +153,6 @@ stdenv.mkDerivation rec {
#webrtc-audio-processing_1 # required by isac
libbs2b
libmodplug
libmicrodns
openjpeg
libopenmpt
libopus
@ -203,6 +204,8 @@ stdenv.mkDerivation rec {
x265
] ++ lib.optionals bluezSupport [
bluez
] ++ lib.optionals microdnsSupport [
libmicrodns
] ++ lib.optionals stdenv.isLinux [
libva # vaapi requires libva -> libdrm -> libpciaccess, which is Linux-only in nixpkgs
wayland
@ -286,6 +289,7 @@ stdenv.mkDerivation rec {
"-Dgs=disabled" # depends on `google-cloud-cpp`
"-Donnx=disabled" # depends on `libonnxruntime` not packaged in nixpkgs as of writing
"-Dopenaptx=enabled" # since gstreamer-1.20.1 `libfreeaptx` is supported for circumventing the dubious license conflict with `libopenaptx`
"-Dmicrodns=${if microdnsSupport then "enabled" else "disabled"}"
"-Dbluez=${if bluezSupport then "enabled" else "disabled"}"
(lib.mesonEnable "doc" enableDocumentation)
]