getting ready for 1.72 release

This commit is contained in:
F. Duncanh
2025-05-01 23:32:42 -04:00
parent aeb18affd3
commit af650362c5
7 changed files with 101 additions and 78 deletions

View File

@@ -1,25 +1,38 @@
<h1 <h1
id="uxplay-1.72-beta-airplay-mirror-and-airplay-audio-server-for-linux-macos-and-unix-now-also-runs-on-windows.">UxPlay id="uxplay-1.72-airplay-mirror-and-airplay-audio-server-for-linux-macos-and-unix-also-runs-on-windows.">UxPlay
1.72 (beta): AirPlay-Mirror and AirPlay-Audio server for Linux, macOS, 1.72: AirPlay-Mirror and AirPlay-Audio server for Linux, macOS, and Unix
and Unix (now also runs on Windows).</h1> (also runs on Windows).</h1>
<h3 <h3
id="now-developed-at-the-github-site-httpsgithub.comfdh2uxplay-where-all-user-issues-should-be-posted-and-latest-versions-can-be-found."><strong>Now id="now-developed-at-the-github-site-httpsgithub.comfdh2uxplay-where-all-user-issues-should-be-posted-and-latest-versions-can-be-found."><strong>Now
developed at the GitHub site <a href="https://github.com/FDH2/UxPlay" developed at the GitHub site <a href="https://github.com/FDH2/UxPlay"
class="uri">https://github.com/FDH2/UxPlay</a> (where ALL user issues class="uri">https://github.com/FDH2/UxPlay</a> (where ALL user issues
should be posted, and latest versions can be found).</strong></h3> should be posted, and latest versions can be found).</strong></h3>
<ul> <ul>
<li><p><em><strong>NEW in v1.72</strong>: Improved Support for (YouTube) <li><p><strong>NEW in v1.72</strong>: Improved Support for (YouTube) HLS
HLS (HTTP Live Streaming) video with the new “-hls” option.</em> (HTTP Live Streaming) video with the new “-hls” option (introduced in
<strong>Only streaming from the YouTube iOS app (in "m3u8" protocol) is 1.71).* <strong>Only streaming from the YouTube iOS app (in "m3u8"
currently supported</strong>: (streaming using the AirPlay icon in a protocol) is currently supported</strong>: (streaming using the AirPlay
browser window is <strong>not</strong> yet supported).Click on the icon in a browser window is <strong>not</strong> yet supported).Click on
airplay icon in the YouTube app to stream video. <strong>Please report the airplay icon in the YouTube app to stream video. <strong>Please
any issues with this new feature of UxPlay</strong>.</p> report any issues with this new feature of UxPlay</strong>.</p>
<p><em>The default video player for HLS is GStreamer playbin v3: use <p><em>The default video player for HLS is GStreamer playbin v3: use
“-hls 2” to revert to playbin v2 if some videos fail to play</em>.</p> “-hls 2” to revert to playbin v2 if some videos fail to play</em>.</p>
<ul> <ul>
<li>added support for setting a password (as an alternative to on-screen <li>user-requested features: added support for setting a password (as an
pin codes) to control client access (-pw option)</li> alternative to on-screen pin codes) to control client access (-pw
option, see “man pw” or this README for details); added support for
setting initial client audio-streaming volume (-vol option), and output
of audio-mode metadata to file (for display by some external process,
-md option).</li>
</ul>
<p><strong>ISSUES</strong> <strong><em>(Please help to solve if you have
expertise)</em></strong></p>
<ul>
<li>in HLS video streaming from the YouTube app (-hls option), rendered
using GStreamers media player “playbin3” (or playbin2, with option -hls
2), we dont understand how to correctly deal with “interstitials” (= 15
sec commercials) when “skip” is pressed on the client. (HLS is handled
by handlers in lib/http_handlers.h)</li>
</ul></li> </ul></li>
</ul> </ul>
<h2 id="highlights">Highlights:</h2> <h2 id="highlights">Highlights:</h2>
@@ -771,23 +784,16 @@ not supply a complete GStreamer, but seems to have everything needed for
UxPlay). <strong>New: the UxPlay build script will now also detect UxPlay). <strong>New: the UxPlay build script will now also detect
Homebrew installations in non-standard locations indicated by the Homebrew installations in non-standard locations indicated by the
environment variable <code>$HOMEBREW_PREFIX</code>.</strong></p> environment variable <code>$HOMEBREW_PREFIX</code>.</strong></p>
<p><strong>Using GStreamer installed from MacPorts</strong>: this is <p><strong>Using GStreamer installed from MacPorts</strong>: MacPorts is
<strong>not</strong> recommended, as currently the MacPorts GStreamer is now providing recent GStreamer releases: install pkgconf (“sudo port
old (v1.16.2), unmaintained, and built to use X11:</p> install pkgconf”), then “sudo port install gstreamer1
<ul>
<li>Instead <a
href="https://github.com/FDH2/UxPlay/wiki/Building-GStreamer-from-Source-on-macOS-with-MacPorts">build
gstreamer yourself</a> if you use MacPorts and do not want to use the
“Official” Gstreamer binaries.</li>
</ul>
<p><em>(If you really wish to use the MacPorts GStreamer-1.16.2, install
pkgconf (“sudo port install pkgconf”), then “sudo port install
gstreamer1-gst-plugins-base gstreamer1-gst-plugins-good gstreamer1-gst-plugins-base gstreamer1-gst-plugins-good
gstreamer1-gst-plugins-bad gstreamer1-gst-libav”. For X11 support on gstreamer1-gst-plugins-bad gstreamer1-gst-libav”. (The following may no
macOS, compile UxPlay using a special cmake option longer be relevant: <em>For X11 support on macOS, compile UxPlay using a
<code>-DUSE_X11=ON</code>, and run it from an XQuartz terminal with -vs special cmake option <code>-DUSE_X11=ON</code>, and run it from an
ximagesink; older non-retina macs require a lower resolution when using XQuartz terminal with -vs ximagesink; older non-retina macs require a
X11: <code>uxplay -s 800x600</code>.)</em></p> lower resolution when using X11:
<code>uxplay -s 800x600</code>.)</em></p>
<p>After installing GStreamer, build and install uxplay: open a terminal <p>After installing GStreamer, build and install uxplay: open a terminal
and change into the UxPlay source directory (“UxPlay-master” for zipfile and change into the UxPlay source directory (“UxPlay-master” for zipfile
downloads, “UxPlay” for “git clone” downloads) and build/install with downloads, “UxPlay” for “git clone” downloads) and build/install with
@@ -1644,9 +1650,11 @@ an AppleTV6,2 with sourceVersion 380.20.1 (an AppleTV 4K 1st gen,
introduced 2017, running tvOS 12.2.1), so it does not seem to matter introduced 2017, running tvOS 12.2.1), so it does not seem to matter
what version UxPlay claims to be.</p> what version UxPlay claims to be.</p>
<h1 id="changelog">Changelog</h1> <h1 id="changelog">Changelog</h1>
<p>1.72 2025-05-15. Improved HLS Live Streaming (YouTube) support. Add <p>1.72 2025-05-03. Improved HLS Live Streaming (YouTube) support. Add
support for password (HTTP Digest Authentication, -pw option) as support for password (HTTP Digest Authentication, -pw option) as
alternative to on-screen pin codes.</p> alternative to on-screen one-time pin codes. Add requested options -md
to export audio-mode metadata text to a file for display, and -vol for
setting initial audio-streaming volume on client.</p>
<p>1.72 2024-04-22 Add requested options -md &lt;filename&gt; to output <p>1.72 2024-04-22 Add requested options -md &lt;filename&gt; to output
audio metadata text to a file for possible display (complements -ca audio metadata text to a file for possible display (complements -ca
option), and -vol <v> option to set initial audio-streaming volume. Add option), and -vol <v> option to set initial audio-streaming volume. Add

View File

@@ -1,8 +1,8 @@
# UxPlay 1.72 (beta): AirPlay-Mirror and AirPlay-Audio server for Linux, macOS, and Unix (also runs on Windows). # UxPlay 1.72: AirPlay-Mirror and AirPlay-Audio server for Linux, macOS, and Unix (also runs on Windows).
### **Now developed at the GitHub site <https://github.com/FDH2/UxPlay> (where ALL user issues should be posted, and latest versions can be found).** ### **Now developed at the GitHub site <https://github.com/FDH2/UxPlay> (where ALL user issues should be posted, and latest versions can be found).**
- ***NEW in v1.72**: Improved Support for (YouTube) HLS (HTTP Live Streaming) - **NEW in v1.72**: Improved Support for (YouTube) HLS (HTTP Live Streaming)
video with the new "-hls" option (introduced in 1.71).* **Only streaming from the YouTube iOS app video with the new "-hls" option (introduced in 1.71).* **Only streaming from the YouTube iOS app
(in \"m3u8\" protocol) is currently supported**: (streaming using the AirPlay icon in a browser window (in \"m3u8\" protocol) is currently supported**: (streaming using the AirPlay icon in a browser window
is **not** yet supported).Click on the airplay icon in the is **not** yet supported).Click on the airplay icon in the
@@ -14,10 +14,16 @@
some videos fail to play_. some videos fail to play_.
* user-requested features: added support for setting a password (as an alternative to on-screen * user-requested features: added support for setting a password (as an alternative to on-screen
pin codes) to control client access (-pw option); added support for pin codes) to control client access (-pw option, see "man pw" or this README for details); added support for
setting initial client audio-streaming volume (-vol option), and output of audio-mode setting initial client audio-streaming volume (-vol option), and output of audio-mode
metadata to file (for display by some external process, -md option). metadata to file (for display by some external process, -md option).
**ISSUES** ***(Please help to solve if you have expertise)***
* in HLS video streaming from the YouTube app (-hls option), rendered using GStreamer's media player "playbin3" (or playbin2, with option -hls 2),
we don't understand how to correctly deal with "interstitials" (= 15 sec commercials) when "skip" is pressed on the client.
(HLS is handled by handlers in lib/http_handlers.h)
## Highlights: ## Highlights:
- GPLv3, open source. - GPLv3, open source.
@@ -773,19 +779,12 @@ complete GStreamer, but seems to have everything needed for UxPlay).
installations in non-standard locations indicated by the environment installations in non-standard locations indicated by the environment
variable `$HOMEBREW_PREFIX`.** variable `$HOMEBREW_PREFIX`.**
**Using GStreamer installed from MacPorts**: this is **not** **Using GStreamer installed from MacPorts**: MacPorts is now providing
recommended, as currently the MacPorts GStreamer is old (v1.16.2), recent GStreamer releases: install
unmaintained, and built to use X11: pkgconf ("sudo port install pkgconf"), then "sudo port install gstreamer1
- Instead [build gstreamer
yourself](https://github.com/FDH2/UxPlay/wiki/Building-GStreamer-from-Source-on-macOS-with-MacPorts)
if you use MacPorts and do not want to use the "Official" Gstreamer
binaries.
*(If you really wish to use the MacPorts GStreamer-1.16.2, install
pkgconf ("sudo port install pkgconf"), then "sudo port install
gstreamer1-gst-plugins-base gstreamer1-gst-plugins-good gstreamer1-gst-plugins-base gstreamer1-gst-plugins-good
gstreamer1-gst-plugins-bad gstreamer1-gst-libav". For X11 support on gstreamer1-gst-plugins-bad gstreamer1-gst-libav".
(The following may no longer be relevant: *For X11 support on
macOS, compile UxPlay using a special cmake option `-DUSE_X11=ON`, and macOS, compile UxPlay using a special cmake option `-DUSE_X11=ON`, and
run it from an XQuartz terminal with -vs ximagesink; older non-retina run it from an XQuartz terminal with -vs ximagesink; older non-retina
macs require a lower resolution when using X11: `uxplay -s 800x600`.)* macs require a lower resolution when using X11: `uxplay -s 800x600`.)*
@@ -1691,9 +1690,11 @@ introduced 2017, running tvOS 12.2.1), so it does not seem to matter
what version UxPlay claims to be. what version UxPlay claims to be.
# Changelog # Changelog
1.72 2025-05-15. Improved HLS Live Streaming (YouTube) support. 1.72 2025-05-03. Improved HLS Live Streaming (YouTube) support.
Add support for password (HTTP Digest Authentication, -pw option) as Add support for password (HTTP Digest Authentication, -pw option) as
alternative to on-screen pin codes. alternative to on-screen one-time pin codes. Add requested options
-md to export audio-mode metadata text to a file for display, and
-vol for setting initial audio-streaming volume on client.
1.72 2024-04-22 Add requested options -md \<filename\> to output audio 1.72 2024-04-22 Add requested options -md \<filename\> to output audio
metadata text to a file for possible display (complements -ca option), metadata text to a file for possible display (complements -ca option),

View File

@@ -1,19 +1,33 @@
# UxPlay 1.72 (beta): AirPlay-Mirror and AirPlay-Audio server for Linux, macOS, and Unix (now also runs on Windows). # UxPlay 1.72: AirPlay-Mirror and AirPlay-Audio server for Linux, macOS, and Unix (also runs on Windows).
### **Now developed at the GitHub site <https://github.com/FDH2/UxPlay> (where ALL user issues should be posted, and latest versions can be found).** ### **Now developed at the GitHub site <https://github.com/FDH2/UxPlay> (where ALL user issues should be posted, and latest versions can be found).**
- ***NEW in v1.72**: Improved Support for (YouTube) HLS (HTTP Live - **NEW in v1.72**: Improved Support for (YouTube) HLS (HTTP Live
Streaming) video with the new "-hls" option.* **Only streaming from Streaming) video with the new "-hls" option (introduced in 1.71).\*
the YouTube iOS app (in \"m3u8\" protocol) is currently supported**: **Only streaming from the YouTube iOS app (in \"m3u8\" protocol) is
(streaming using the AirPlay icon in a browser window is **not** yet currently supported**: (streaming using the AirPlay icon in a
supported).Click on the airplay icon in the YouTube app to stream browser window is **not** yet supported).Click on the airplay icon
video. **Please report any issues with this new feature of UxPlay**. in the YouTube app to stream video. **Please report any issues with
this new feature of UxPlay**.
*The default video player for HLS is GStreamer playbin v3: use "-hls *The default video player for HLS is GStreamer playbin v3: use "-hls
2" to revert to playbin v2 if some videos fail to play*. 2" to revert to playbin v2 if some videos fail to play*.
- added support for setting a password (as an alternative to - user-requested features: added support for setting a password
on-screen pin codes) to control client access (-pw option) (as an alternative to on-screen pin codes) to control client
access (-pw option, see "man pw" or this README for details);
added support for setting initial client audio-streaming volume
(-vol option), and output of audio-mode metadata to file (for
display by some external process, -md option).
**ISSUES** ***(Please help to solve if you have expertise)***
- in HLS video streaming from the YouTube app (-hls option),
rendered using GStreamer's media player "playbin3" (or playbin2,
with option -hls 2), we don't understand how to correctly deal
with "interstitials" (= 15 sec commercials) when "skip" is
pressed on the client. (HLS is handled by handlers in
lib/http_handlers.h)
## Highlights: ## Highlights:
@@ -773,22 +787,15 @@ complete GStreamer, but seems to have everything needed for UxPlay).
installations in non-standard locations indicated by the environment installations in non-standard locations indicated by the environment
variable `$HOMEBREW_PREFIX`.** variable `$HOMEBREW_PREFIX`.**
**Using GStreamer installed from MacPorts**: this is **not** **Using GStreamer installed from MacPorts**: MacPorts is now providing
recommended, as currently the MacPorts GStreamer is old (v1.16.2), recent GStreamer releases: install pkgconf ("sudo port install
unmaintained, and built to use X11: pkgconf"), then "sudo port install gstreamer1
- Instead [build gstreamer
yourself](https://github.com/FDH2/UxPlay/wiki/Building-GStreamer-from-Source-on-macOS-with-MacPorts)
if you use MacPorts and do not want to use the "Official" Gstreamer
binaries.
*(If you really wish to use the MacPorts GStreamer-1.16.2, install
pkgconf ("sudo port install pkgconf"), then "sudo port install
gstreamer1-gst-plugins-base gstreamer1-gst-plugins-good gstreamer1-gst-plugins-base gstreamer1-gst-plugins-good
gstreamer1-gst-plugins-bad gstreamer1-gst-libav". For X11 support on gstreamer1-gst-plugins-bad gstreamer1-gst-libav". (The following may no
macOS, compile UxPlay using a special cmake option `-DUSE_X11=ON`, and longer be relevant: *For X11 support on macOS, compile UxPlay using a
run it from an XQuartz terminal with -vs ximagesink; older non-retina special cmake option `-DUSE_X11=ON`, and run it from an XQuartz terminal
macs require a lower resolution when using X11: `uxplay -s 800x600`.)* with -vs ximagesink; older non-retina macs require a lower resolution
when using X11: `uxplay -s 800x600`.)*
After installing GStreamer, build and install uxplay: open a terminal After installing GStreamer, build and install uxplay: open a terminal
and change into the UxPlay source directory ("UxPlay-master" for zipfile and change into the UxPlay source directory ("UxPlay-master" for zipfile
@@ -1690,9 +1697,11 @@ what version UxPlay claims to be.
# Changelog # Changelog
1.72 2025-05-15. Improved HLS Live Streaming (YouTube) support. Add 1.72 2025-05-03. Improved HLS Live Streaming (YouTube) support. Add
support for password (HTTP Digest Authentication, -pw option) as support for password (HTTP Digest Authentication, -pw option) as
alternative to on-screen pin codes. alternative to on-screen one-time pin codes. Add requested options -md
to export audio-mode metadata text to a file for display, and -vol for
setting initial audio-streaming volume on client.
1.72 2024-04-22 Add requested options -md \<filename\> to output audio 1.72 2024-04-22 Add requested options -md \<filename\> to output audio
metadata text to a file for possible display (complements -ca option), metadata text to a file for possible display (complements -ca option),

View File

@@ -835,6 +835,9 @@ int video_renderer_choose_codec (bool video_is_h265) {
logger_log(logger, LOGGER_DEBUG, "video_pipeline state change from %s to %s\n", logger_log(logger, LOGGER_DEBUG, "video_pipeline state change from %s to %s\n",
gst_element_state_get_name (old_state),gst_element_state_get_name (new_state)); gst_element_state_get_name (old_state),gst_element_state_get_name (new_state));
gst_video_pipeline_base_time = gst_element_get_base_time(renderer->appsrc); gst_video_pipeline_base_time = gst_element_get_base_time(renderer->appsrc);
if (renderer == renderer_type[1]) {
logger_log(logger, LOGGER_INFO, "*** video format is h265 high definition (HD/4K) video %dx%d", width, height);
}
if (renderer_unused) { if (renderer_unused) {
for (int i = 0; i < n_renderers; i++) { for (int i = 0; i < n_renderers; i++) {
if (renderer_type[i] != renderer_unused) { if (renderer_type[i] != renderer_unused) {

View File

@@ -1,11 +1,11 @@
.TH UXPLAY "1" "December 2024" "1.71" "User Commands" .TH UXPLAY "1" "May 2025" "1.72" "User Commands"
.SH NAME .SH NAME
uxplay \- start AirPlay server uxplay \- start AirPlay server
.SH SYNOPSIS .SH SYNOPSIS
.B uxplay .B uxplay
[\fI\,-n name\/\fR] [\fI\,-s wxh\/\fR] [\fI\,-p \/\fR[\fI\,n\/\fR]] [more \fI OPTIONS \/\fR ...] [\fI\,-n name\/\fR] [\fI\,-s wxh\/\fR] [\fI\,-p \/\fR[\fI\,n\/\fR]] [more \fI OPTIONS \/\fR ...]
.SH DESCRIPTION .SH DESCRIPTION
UxPlay 1.71: An open\-source AirPlay mirroring (+ audio streaming) server: UxPlay 1.72: An open\-source AirPlay mirroring (+ audio streaming) server:
.SH OPTIONS .SH OPTIONS
.TP .TP
.B .B

View File

@@ -65,7 +65,7 @@
#include "renderers/video_renderer.h" #include "renderers/video_renderer.h"
#include "renderers/audio_renderer.h" #include "renderers/audio_renderer.h"
#define VERSION "1.712beta" #define VERSION "1.72"
#define SECOND_IN_USECS 1000000 #define SECOND_IN_USECS 1000000
#define SECOND_IN_NSECS 1000000000UL #define SECOND_IN_NSECS 1000000000UL

View File

@@ -1,5 +1,5 @@
Name: uxplay Name: uxplay
Version: 1.71.1 Version: 1.72
Release: 1%{?dist} Release: 1%{?dist}
%global gittag v%{version} %global gittag v%{version}
@@ -135,6 +135,8 @@ cd build
%{_docdir}/%{name}/llhttp/LICENSE-MIT %{_docdir}/%{name}/llhttp/LICENSE-MIT
%changelog %changelog
* Thu May 1 2025 UxPlay maintainer <https://github.com/FDH2/UxPlay>
Update for 1.72 release
* Fri Nov 15 2024 UxPlay maintainer <https://github.com/FDH2/UxPlay> * Fri Nov 15 2024 UxPlay maintainer <https://github.com/FDH2/UxPlay>
Initial uxplay.spec: tested on Fedora 38, Rocky Linux 9.2, OpenSUSE Initial uxplay.spec: tested on Fedora 38, Rocky Linux 9.2, OpenSUSE
Leap 15.5, Mageia 9, OpenMandriva ROME, PCLinuxOS Leap 15.5, Mageia 9, OpenMandriva ROME, PCLinuxOS