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) {