diff --git a/README.html b/README.html
index 302adae..2f2af64 100644
--- a/README.html
+++ b/README.html
@@ -557,9 +557,20 @@ by its GUID, which can be found using
has a form like
\{0.0.0.00000000\}.\{98e35b2b-8eba-412e-b840-fd2c2492cf44\}.
If “device” is not specified, the default audio device is
-used. The executable uxplay.exe can also be run without the MSYS2
-environment (using the Windows Terminal, with
-C:\msys64\mingw64\bin\uxplay).
+used.
+If you wish to specify the videosink using the
+-vs <videosink> option, some choices for
+<videosink> are d3d11videosink,
+d3dvideosink, glimagesink,
+gtksink. With Direct3D 11.0 or greater, you can get the
+ability to toggle into and out of fullscreen mode using the Alt-Enter
+key combination with option
+-vs "d3d11videosink fullscreen-toggle-mode=alt-enter". For
+convenience, this option will always be set if
+“-vs d3d11videosink” is used.
+The executable uxplay.exe can also be run without the MSYS2
+environment, in the Windows Terminal, with
+C:\msys64\mingw64\bin\uxplay.
Usage
Options:
-n server_name (Default: UxPlay);
diff --git a/README.md b/README.md
index d15d9d1..7dcbf29 100644
--- a/README.md
+++ b/README.md
@@ -469,9 +469,15 @@ uxplay -as 'wasapisink low_latency=true device=\"\"'
where `` specifies an available audio device by its GUID, which can be found using
"`gst-device-monitor-1.0 Audio`": ```` has a form
like ```\{0.0.0.00000000\}.\{98e35b2b-8eba-412e-b840-fd2c2492cf44\}```. If "`device`" is not specified, the
-default audio device is used. The executable uxplay.exe can also be run without the MSYS2 environment (using
-the Windows Terminal, with `C:\msys64\mingw64\bin\uxplay`).
+default audio device is used.
+If you wish to specify the videosink using the `-vs ` option, some choices for `` are
+`d3d11videosink`, ``d3dvideosink``, ```glimagesink```,
+`gtksink`. With Direct3D 11.0 or greater, you can get the ability to toggle into and out of fullscreen mode using the Alt-Enter key combination with
+option `-vs "d3d11videosink fullscreen-toggle-mode=alt-enter"`. For convenience, this option will always be set if "``-vs d3d11videosink``" is used.
+
+The executable uxplay.exe can also be run without the MSYS2 environment, in
+the Windows Terminal, with `C:\msys64\mingw64\bin\uxplay`.
# Usage
diff --git a/README.txt b/README.txt
index 4fdac3a..7dd3cc9 100644
--- a/README.txt
+++ b/README.txt
@@ -568,9 +568,19 @@ supports additional options such as
where `` specifies an available audio device by its GUID, which
can be found using "`gst-device-monitor-1.0 Audio`": `` has a form
like `\{0.0.0.00000000\}.\{98e35b2b-8eba-412e-b840-fd2c2492cf44\}`. If
-"`device`" is not specified, the default audio device is used. The
-executable uxplay.exe can also be run without the MSYS2 environment
-(using the Windows Terminal, with `C:\msys64\mingw64\bin\uxplay`).
+"`device`" is not specified, the default audio device is used.
+
+If you wish to specify the videosink using the `-vs ` option,
+some choices for `` are `d3d11videosink`, `d3dvideosink`,
+`glimagesink`, `gtksink`. With Direct3D 11.0 or greater, you can get the
+ability to toggle into and out of fullscreen mode using the Alt-Enter
+key combination with option
+`-vs "d3d11videosink fullscreen-toggle-mode=alt-enter"`. For
+convenience, this option will always be set if "`-vs d3d11videosink`" is
+used.
+
+The executable uxplay.exe can also be run without the MSYS2 environment,
+in the Windows Terminal, with `C:\msys64\mingw64\bin\uxplay`.
# Usage
diff --git a/lib/dnssd.h b/lib/dnssd.h
index 9a82ee4..17cb5d7 100644
--- a/lib/dnssd.h
+++ b/lib/dnssd.h
@@ -1,3 +1,17 @@
+/**
+ * Copyright (C) 2012 Juho Vähä-Herttua
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ */
+
#ifndef DNSSD_H
#define DNSSD_H
@@ -36,4 +50,4 @@ DNSSD_API void dnssd_destroy(dnssd_t *dnssd);
#ifdef __cplusplus
}
#endif
-#endif
\ No newline at end of file
+#endif
diff --git a/lib/dnssdint.h b/lib/dnssdint.h
index 862316b..0879b0b 100644
--- a/lib/dnssdint.h
+++ b/lib/dnssdint.h
@@ -1,3 +1,17 @@
+/**
+ * Copyright (C) 2012 Juho Vähä-Herttua
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ */
+
#ifndef DNSSDINT_H
#define DNSSDINT_H
diff --git a/lib/fairplay.h b/lib/fairplay.h
index d520817..2b7c30f 100644
--- a/lib/fairplay.h
+++ b/lib/fairplay.h
@@ -1,3 +1,17 @@
+/**
+ * Copyright (C) 2018 Juho Vähä-Herttua
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ */
+
#ifndef FAIRPLAY_H
#define FAIRPLAY_H
diff --git a/lib/fairplay_playfair.c b/lib/fairplay_playfair.c
index ade48d9..8308c77 100644
--- a/lib/fairplay_playfair.c
+++ b/lib/fairplay_playfair.c
@@ -1,3 +1,17 @@
+/**
+ * Copyright (C) 2018 Juho Vähä-Herttua
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ */
+
#include
#include
#include
diff --git a/lib/global.h b/lib/global.h
index d3242ba..62be812 100644
--- a/lib/global.h
+++ b/lib/global.h
@@ -1,3 +1,17 @@
+/**
+ * Copyright (C) 2012 Juho Vähä-Herttua
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ */
+
#ifndef GLOBAL_H
#define GLOBAL_H
diff --git a/lib/raop.h b/lib/raop.h
index deefaf2..85f30e2 100644
--- a/lib/raop.h
+++ b/lib/raop.h
@@ -1,3 +1,17 @@
+/**
+ * Copyright (C) 2012-2015 Juho Vähä-Herttua
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ */
+
#ifndef RAOP_H
#define RAOP_H
diff --git a/uxplay.1 b/uxplay.1
index 5c914c9..3291470 100644
--- a/uxplay.1
+++ b/uxplay.1
@@ -47,7 +47,7 @@ UxPlay 1.56: An open\-source AirPlay mirroring server based on RPiPlay
.IP
choices: ximagesink,xvimagesink,vaapisink,glimagesink,
.IP
- gtksink,waylandsink,osximagesink,kmssink,fpsdisplaysink,...
+ gtksink,waylandsink,osximagesink,kmssink,d3d11videosink,...
.PP
.TP
\fB\-vs\fR 0 Streamed audio only, with no video display window.
diff --git a/uxplay.cpp b/uxplay.cpp
index 2c7b4d6..6d0fabf 100644
--- a/uxplay.cpp
+++ b/uxplay.cpp
@@ -402,7 +402,7 @@ static void print_info (char *name) {
printf(" another choice when using v4l2h264decode: v4l2convert\n");
printf("-vs ... Choose the GStreamer videosink; default \"autovideosink\"\n");
printf(" some choices: ximagesink,xvimagesink,vaapisink,glimagesink,\n");
- printf(" gtksink,waylandsink,osximagesink,kmssink,fpsdisplaysink etc.\n");
+ printf(" gtksink,waylandsink,osximagesink,kmssink,d3d11videosink etc.\n");
printf("-vs 0 Streamed audio only, with no video display window\n");
printf("-v4l2 Use Video4Linux2 for GPU hardware h264 decoding\n");
printf("-bt709 A workaround (bt709 color) that may be needed with -rpi\n");
@@ -824,7 +824,15 @@ int main (int argc, char *argv[]) {
}
if (fullscreen && use_video) {
- videosink.append(" fullscreen=true");
+ if (videosink == "waylandsink" || videosink == "vaapisink") {
+ videosink.append(" fullscreen=true");
+ }
+ }
+
+ if (videosink == "d3d11videosink" && use_video) {
+ videosink.append(" fullscreen-toggle-mode=alt-enter");
+ printf("d3d11videosink is being used with option fullscreen-toggle-mode=alt-enter\n"
+ "Use Alt-Enter key combination to toggle into/out of full-screen mode\n");
}
if (bt709_fix && use_video) {