diff --git a/README.html b/README.html index a6de6fb..07e5b03 100644 --- a/README.html +++ b/README.html @@ -1,8 +1,8 @@ -

UxPlay 1.41: AirPlay/AirPlay-Mirror server for Linux, macOS, and Unix.

+

UxPlay 1.42: AirPlay/AirPlay-Mirror server for Linux, macOS, and Unix.

This project is a GPLv3 unix AirPlay server which now also works on macOS. Its main use is to act like an AppleTV for screen-mirroring (with audio) of iOS/macOS clients (iPads, iPhones, MacBooks) in a window on the server display (with the possibility of sharing that window on screen-sharing applications such as Zoom) on a host running Linux, macOS, or other unix, using Apple’s AirPlay Mirror protocol first available in iOS 5. As well as screen mirroring, when not mirroring the screen it can also play Apple Lossless (ALAC) audio streamed from the client using the audio-only Airplay protocol. (Details of what is known about the AirPlay2 protocol can be found here and here).

The UxPlay server and its client must be on the same local area network, on which a Bonjour/Zeroconf mDNS/DNS-SD server is also running (only DNS-SD “Service Discovery” service is necessary, it is not necessary that the local network also be of the “.local” mDNS-based type). On Linux and BSD Unix servers, this is usually provided by Avahi, through the avahi-daemon service, and is included in most Linux distributions (this service can also be provided by macOS, iOS or Windows servers).

New: UxPlay > 1.38 now also supports the Airplay audio-only protocol as well as AirPlay Mirror protocol, and (when the client screen is not being mirrored) can play Apple Lossless (ALAC) 44100/16/2 audio streamed from the client in 2-channel stereo without video (the accompanying cover-art and metadata is received by the server, but not displayed). The initial connection to the client can be in AirPlay audio mode, or an initial Airplay Mirror connection can be switched to Airplay audio by closing the Mirror window and reconnecting in audio-only mode (this changes back to AAC audio if screen mirroring is (re)started).

-

UxPlay 1.41 is based on https://github.com/FD-/RPiPlay, with GStreamer integration from https://github.com/antimof/UxPlay. (UxPlay only uses GStreamer, and does not contain the alternative Raspberry-Pi-specific audio and video renderers also found in RPiPlay.) Tested on Ubuntu 20.04, Linux Mint 20.2, OpenSUSE 15.3, macOS 10.15.

+

UxPlay is based on https://github.com/FD-/RPiPlay, with GStreamer integration from https://github.com/antimof/UxPlay. (UxPlay only uses GStreamer, and does not contain the alternative Raspberry-Pi-specific audio and video renderers also found in RPiPlay.) Tested on Ubuntu 20.04, Linux Mint 20.2, OpenSUSE 15.3, macOS 10.15.

Features: 1. Based on Gstreamer. 2. Video and audio are supported out of the box. 3. Gstreamer decoding is plugin agnostic. Uses accelerated decoders if available. VAAPI is preferable, (but don’t use VAAPI with nVidia). 4. Automatic screen orientation.

Getting UxPlay:

Either download and unzip UxPlay-master.zip, or (if git is installed): “git clone https://github.com/FDH2/UxPlay”.

@@ -70,7 +70,7 @@

-as 0 (or just -a) suppresses playing of streamed audio, but displays streamed video.

-t timeout will cause the server to relaunch (without stopping uxplay) if no connections have been present during the previous timeout seconds. (You may wish to use this because the Server may not be visible to new Clients that were inactive when the Server was launched, and an idle Bonjour registration also eventually becomes unavailable for new connections.) The timer only starts once a Client has first made a mirror connection and then has disconnected with “Stop Mirrroring”. This option should not be used if the display window is an OpenGL window on macOS, as such an OpenGL window created by GStreamer does not terminate correctly (it causes a segfault) if it is still open when the GStreamer pipeline is closed.

ChangeLog

-

1.42 (pending) Fix MAC detection to work with modern Linux interface naming practices, MacOS and *BSD.

+

1.42 2021-11-20 Fix MAC detection to work with modern Linux interface naming practices, MacOS and *BSD.

1.41 2021-11-11 Further cleanups of multiple audio format support (internal changes, separated RAOP and GStreamer audio/video startup)

1.40 2021-11-09 Cleanup segfault in ALAC support, manpage location fix, show request Plists in debug mode.

1.39 2021-11-06 Added support for Apple Lossless (ALAC) audio streams.

diff --git a/README.md b/README.md index 60cf251..221ef73 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@ -# UxPlay 1.41: AirPlay/AirPlay-Mirror server for Linux, macOS, and Unix. +# UxPlay 1.42: AirPlay/AirPlay-Mirror server for Linux, macOS, and Unix. This project is a GPLv3 unix AirPlay server which now also works on macOS. Its main use is to act like an AppleTV for screen-mirroring (with audio) of iOS/macOS clients @@ -24,7 +24,7 @@ can play Apple Lossless (ALAC) but not displayed). The initial connection to the client can be in AirPlay audio mode, or an initial Airplay Mirror connection can be switched to Airplay audio by closing the Mirror window and reconnecting in audio-only mode (this changes back to AAC audio if screen mirroring is (re)started)._ -UxPlay 1.41 is based on https://github.com/FD-/RPiPlay, with GStreamer integration from +UxPlay is based on https://github.com/FD-/RPiPlay, with GStreamer integration from https://github.com/antimof/UxPlay. (UxPlay only uses GStreamer, and does not contain the alternative Raspberry-Pi-specific audio and video renderers also found in RPiPlay.) @@ -328,7 +328,7 @@ Also: image transforms that had been added to RPiPlay have been ported to UxPlay # ChangeLog -1.42 (pending) Fix MAC detection to work with modern Linux interface naming practices, MacOS and *BSD. +1.42 2021-11-20 Fix MAC detection to work with modern Linux interface naming practices, MacOS and *BSD. 1.41 2021-11-11 Further cleanups of multiple audio format support (internal changes, separated RAOP and GStreamer audio/video startup) diff --git a/README.txt b/README.txt index e550e4a..5c00aee 100644 --- a/README.txt +++ b/README.txt @@ -1,4 +1,4 @@ -UxPlay 1.41: AirPlay/AirPlay-Mirror server for Linux, macOS, and Unix. +UxPlay 1.42: AirPlay/AirPlay-Mirror server for Linux, macOS, and Unix. ====================================================================== This project is a GPLv3 unix AirPlay server which now also works on @@ -33,7 +33,7 @@ mode, or an initial Airplay Mirror connection can be switched to Airplay audio by closing the Mirror window and reconnecting in audio-only mode (this changes back to AAC audio if screen mirroring is (re)started).* -UxPlay 1.41 is based on https://github.com/FD-/RPiPlay, with GStreamer +UxPlay is based on https://github.com/FD-/RPiPlay, with GStreamer integration from https://github.com/antimof/UxPlay. (UxPlay only uses GStreamer, and does not contain the alternative Raspberry-Pi-specific audio and video renderers also found in RPiPlay.) Tested on Ubuntu @@ -400,7 +400,7 @@ still open when the GStreamer pipeline is closed.* ChangeLog ========= -1.42 (pending) Fix MAC detection to work with modern Linux interface +1.42 2021-11-20 Fix MAC detection to work with modern Linux interface naming practices, MacOS and \*BSD. 1.41 2021-11-11 Further cleanups of multiple audio format support diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt index aeb606f..5dafdcf 100755 --- a/lib/CMakeLists.txt +++ b/lib/CMakeLists.txt @@ -85,9 +85,8 @@ endif() #dns_sd if( BSD ) pkg_check_modules( DNSSD REQUIRED avahi-compat-libdns_sd ) - message( STATUS "found dns_sd.h in " ${DNSSD_INCLUDE_DIRS} ) target_include_directories( airplay PUBLIC ${DNSSD_INCLUDE_DIRS} ) - link_directories( ${DNS_SD_LIBRARY_DIRS} ) + link_directories( ${DNSSD_LIBRARY_DIRS} ) target_link_libraries( airplay ${DNSSD_LIBRARIES}) elseif( UNIX AND NOT APPLE ) find_file( DNS_SD_H dns_sd.h PATHS /usr/include/* /usr/local/include/* ) diff --git a/uxplay.1 b/uxplay.1 index 7f2852a..df000c1 100644 --- a/uxplay.1 +++ b/uxplay.1 @@ -1,11 +1,11 @@ -.TH UXPLAY "1" "November 2021" "1.41" "User Commands" +.TH UXPLAY "1" "November 2021" "1.42" "User Commands" .SH NAME uxplay \- start AirPlay server .SH SYNOPSIS .B uxplay [\fI\,-n name\/\fR] [\fI\,-s wxh\/\fR] [\fI\,-p \/\fR[\fI\,n\/\fR]] [more \fI OPTIONS \/\fR ...] .SH DESCRIPTION -UxPlay 1.41: An open\-source AirPlay mirroring server based on RPiPlay +UxPlay 1.42: An open\-source AirPlay mirroring server based on RPiPlay .SH OPTIONS .TP .B diff --git a/uxplay.cpp b/uxplay.cpp index ed218db..26650e6 100755 --- a/uxplay.cpp +++ b/uxplay.cpp @@ -48,7 +48,7 @@ #include "renderers/video_renderer.h" #include "renderers/audio_renderer.h" -#define VERSION "1.41" +#define VERSION "1.42" #define DEFAULT_NAME "UxPlay" #define DEFAULT_DEBUG_LOG false