vlc: add chromecastSupport option

Enables Chromecast support by default in VLC.

Fixes #58365.

Includes release note.
This commit is contained in:
Andrey Petrov 2019-03-30 12:41:09 -04:00
parent 98e24eb258
commit c37aa79639
2 changed files with 23 additions and 2 deletions

View File

@ -99,6 +99,16 @@
and fix all the bugs it uncovers. and fix all the bugs it uncovers.
</para> </para>
</listitem> </listitem>
<listitem>
<para>
The <literal>vlc</literal> package gained support for Chromecast
streaming, enabled by default. TCP port 8010 must be open for it to work,
so something like <literal>networking.firewall.allowedTCPPorts = [ 8010
];</literal> may be required in your configuration. Also consider enabling
<link xlink:href="https://nixos.wiki/wiki/Accelerated_Video_Playback">
Accelerated Video Playback</link> for better transcoding performance.
</para>
</listitem>
</itemizedlist> </itemizedlist>
</section> </section>
</section> </section>

View File

@ -13,8 +13,13 @@
, jackSupport ? false , jackSupport ? false
, fetchpatch , fetchpatch
, removeReferencesTo , removeReferencesTo
, chromecastSupport ? true, protobuf, libmicrodns
}: }:
# chromecastSupport requires TCP port 8010 to be open for it to work.
# If your firewall is enabled, make sure to have something like:
# networking.firewall.allowedTCPPorts = [ 8010 ];
with stdenv.lib; with stdenv.lib;
assert (withQt5 -> qtbase != null && qtsvg != null && qtx11extras != null); assert (withQt5 -> qtbase != null && qtsvg != null && qtx11extras != null);
@ -42,7 +47,8 @@ stdenv.mkDerivation rec {
fluidsynth wayland wayland-protocols fluidsynth wayland wayland-protocols
] ++ optional (!stdenv.hostPlatform.isAarch64) live555 ] ++ optional (!stdenv.hostPlatform.isAarch64) live555
++ optionals withQt5 [ qtbase qtsvg qtx11extras ] ++ optionals withQt5 [ qtbase qtsvg qtx11extras ]
++ optional jackSupport libjack2; ++ optional jackSupport libjack2
++ optionals chromecastSupport [ protobuf libmicrodns ];
nativeBuildInputs = [ autoreconfHook perl pkgconfig removeReferencesTo ]; nativeBuildInputs = [ autoreconfHook perl pkgconfig removeReferencesTo ];
@ -76,7 +82,12 @@ stdenv.mkDerivation rec {
# "--enable-foo" flags here # "--enable-foo" flags here
configureFlags = [ configureFlags = [
"--with-kde-solid=$out/share/apps/solid/actions" "--with-kde-solid=$out/share/apps/solid/actions"
] ++ optional onlyLibVLC "--disable-vlc"; ] ++ optional onlyLibVLC "--disable-vlc"
++ optionals chromecastSupport [
"--enable-sout"
"--enable-chromecast"
"--enable-microdns"
];
# Remove runtime dependencies on libraries # Remove runtime dependencies on libraries
postConfigure = '' postConfigure = ''