mirror of
https://github.com/morgan9e/UxPlay
synced 2026-04-14 00:04:13 +09:00
add RPM spec file, document it in README; 1.65.1 release
This commit is contained in:
70
README.html
70
README.html
@@ -42,6 +42,23 @@ alt="Current Packaging status" /></a>.</p>
|
||||
“<code>sudo apt install uxplay</code>”; on FreeBSD with
|
||||
“<code>sudo pkg install uxplay</code>”. Also available on Arch-based
|
||||
systems through AUR.</p></li>
|
||||
<li><p><strong>NEW</strong>: while no RPM-based distributions have yet
|
||||
packaged UxPlay, a RPM “specfile” <strong>uxplay.spec</strong> is now
|
||||
provided with recent <a
|
||||
href="https://github.com/FDH2/UxPlay/releases">releases</a> (see their
|
||||
“Assets”), and can also be found in the UxPlay source top directory. To
|
||||
build a RPM package, install rpmdevtools, create a rpmbuild tree with
|
||||
“<code>rpmdev-setuptree</code>”, and copy uxplay.spec into
|
||||
<code>~/rpmbuild/SPECS</code>. In that directory, run
|
||||
“<code>rpmdev-spectool -g uxplay.spec</code>” to download the
|
||||
corresponding source file <code>uxplay-*.tar.gz</code>, which should
|
||||
then be moved into <code>~/rpmbuild/SOURCES</code>; then run
|
||||
“<code>rpmbuild -ba uxplay.spec</code>” (you will need to install any
|
||||
required dependencies this reports). This should create an installable
|
||||
uxplay RPM package in a subdirectory of <code>~/rpmbuild/RPMS</code>.
|
||||
(<strong>uxplay.spec</strong> is tested on Fedora 38, Rocky Linux 9.2,
|
||||
OpenSUSE Leap 15.5, and Mageia 9; it can be easily modified to include
|
||||
dependency lists for other RPM-based distributions.)</p></li>
|
||||
<li><p>On Linux and *BSD the mDNS/DNS-SD (Bonjour/ZeroConf) local
|
||||
network services needed by UxPlay are usually provided by Avahi:
|
||||
<strong>if there is a firewall on the server that will host UxPlay, make
|
||||
@@ -85,11 +102,11 @@ href="https://github.com/FDH2/UxPlay">UxPlay site</a>).</p>
|
||||
Debian (10 “Buster”, 11 “Bullseye”, 12 “Bookworm”), Ubuntu (20.04 LTS,
|
||||
22.04 LTS, 23.04; also Ubuntu derivatives Linux Mint 20.3, Pop!_OS 22.04
|
||||
(NVIDIA edition)), Red Hat and clones (Fedora 38, Rocky Linux 9.2),
|
||||
openSUSE 15.4, Arch Linux 23.05, macOS 13.3 (Intel and M2), FreeBSD
|
||||
13.2, Windows 10 and 11 (64 bit).</p>
|
||||
Mageia 9, openSUSE 15.5, Arch Linux 23.05, macOS 13.3 (Intel and M2),
|
||||
FreeBSD 13.2, Windows 10 and 11 (64 bit).</p>
|
||||
<p>On Raspberry Pi 4 model B, it is tested on Raspberry Pi OS (Bullseye)
|
||||
(32- and 64-bit), Ubuntu 22.04 LTS and 23.04, Manjaro RPi4 23.02, and
|
||||
(without hardware video decoding) on openSUSE 15.4. Also tested on
|
||||
(without hardware video decoding) on openSUSE 15.5. Also tested on
|
||||
Raspberry Pi 3 model B+.</p>
|
||||
<p>Its main use is to act like an AppleTV for screen-mirroring (with
|
||||
audio) of iOS/iPadOS/macOS clients (iPhone, iPod Touch, iPad, Mac
|
||||
@@ -293,6 +310,10 @@ build process, if you wish to test before installing (in which case the
|
||||
GStreamer plugins must first be installed).</p>
|
||||
<h3 id="building-on-non-debian-linux-and-bsd">Building on non-Debian
|
||||
Linux and *BSD</h3>
|
||||
<p><strong>For those with RPM-based distributions, a RPM spec file
|
||||
uxplay.spec is also available for building a rpm package with
|
||||
rpmbuild</strong> (tested on Fedora 38, Rocky Linux 9.2 (RHEL clone),
|
||||
OpenSUSE 15.5, and Mageia 9; see “Packaging Status” section)</p>
|
||||
<ul>
|
||||
<li><p><strong>Red Hat, or clones like CentOS (now continued as Rocky
|
||||
Linux or Alma Linux):</strong> (sudo dnf install, or sudo yum install)
|
||||
@@ -300,6 +321,8 @@ openssl-devel libplist-devel avahi-compat-libdns_sd-devel
|
||||
gstreamer1-devel gstreamer1-plugins-base-devel (+libX11-devel for
|
||||
fullscreen X11) <em>(some of these may be in the “CodeReady” add-on
|
||||
repository, called “PowerTools” by clones)</em></p></li>
|
||||
<li><p><strong>Mageia:</strong> Same as Red Hat, except “gstreamer1-”
|
||||
becomes “gstreamer1.0-”.</p></li>
|
||||
<li><p><strong>openSUSE:</strong> (sudo zypper install)
|
||||
libopenssl-3-devel (formerly libopenssl-devel) libplist-2_0-devel
|
||||
(formerly libplist-devel) avahi-compat-mDNSResponder-devel
|
||||
@@ -360,6 +383,12 @@ does not provide: check with “<code>rpm -qi ffmpeg-libs</code>” that it
|
||||
lists “Packager” as RPM Fusion; if this is not installed, uxplay will
|
||||
fail to start, with error: <strong>no element “avdec_aac”</strong>
|
||||
]</em>.</p></li>
|
||||
<li><p><strong>Mageia:</strong> (sudo dnf install, or sudo yum install)
|
||||
gstreamer1.0-libav gstreamer1.0-plugins-bad (+ gstreamer1.0-vaapi for
|
||||
Intel/AMD graphics). <em>Install ffmpeg from the “tainted” repository
|
||||
(so gstreamer-1.0-libav can provide the required plugin avdec_aac),
|
||||
which also provides a more complete
|
||||
gstreamer1.0-plugins-bad.</em></p></li>
|
||||
<li><p><strong>openSUSE:</strong> (sudo zypper install)
|
||||
gstreamer-plugins-libav gstreamer-plugins-bad (+ gstreamer-plugins-vaapi
|
||||
for Intel/AMD graphics). <em>In some cases, you may need to use
|
||||
@@ -1223,20 +1252,22 @@ gstreamer plugin ‘libav’ not found</strong>” message that kept recurring
|
||||
was to clear the user’s gstreamer cache.</p>
|
||||
<p>If it fails to start with an error like
|
||||
‘<code>no element "avdec_aac"</code>’ this is because even though
|
||||
gstreamer-libav is installed. it is incomplete because some plugins are
|
||||
missing: “<code>gst-inspect-1.0 | grep avdec_aac</code>” will show if
|
||||
avdec_aac is available. Some distributions (RedHat, SUSE, etc) provide
|
||||
incomplete versions of libav because of patent issues with codecs used
|
||||
by certain plugins. In those cases there will be some “extra package”
|
||||
provider like <a href="https://rpmfusion.org">RPM fusion</a> (RedHat) or
|
||||
<a href="http://packman.links2linux.org/">packman</a> (SUSE) where you
|
||||
can get complete packages (your distribution will usually provide
|
||||
instructions for this). The packages needed may be “libav*” or “ffmpeg*”
|
||||
packages: the GStreamer libav plugin package does not contain any codecs
|
||||
itself, it just provides a way for GStreamer to use ffmpeg/libav codec
|
||||
libraries which must be installed separately. For similar reasons,
|
||||
distributions may ship incomplete packages of GStreamer “plugins-bad”,
|
||||
which is where “license-problematical” plugins go.</p>
|
||||
gstreamer-libav is installed. it is incomplete because some plugin
|
||||
features are missing: “<code>gst-inspect-1.0 | grep avdec_aac</code>”
|
||||
will show if avdec_aac is available. Unlike other GStreamer plugins, the
|
||||
libav plugin is a front end to FFmpeg codecs which provide avdec_*. Some
|
||||
distributions (RedHat, SUSE, etc) provide incomplete versions of FFmpeg
|
||||
because of patent issues with codecs used by certain plugins. In those
|
||||
cases there will be some “extra package” provider like <a
|
||||
href="https://rpmfusion.org">RPM fusion</a> (RedHat), <a
|
||||
href="http://packman.links2linux.org/">packman</a> (SUSE) where you can
|
||||
get complete packages (your distribution will usually provide
|
||||
instructions for this, Mageia puts them in an optional “tainted” repo).
|
||||
The packages needed may be “ffmpeg*” or “libav*” packages: the GStreamer
|
||||
libav plugin package does not contain any codecs itself, it just
|
||||
provides a way for GStreamer to use ffmpeg/libav codec libraries which
|
||||
must be installed separately. For similar reasons, distributions may
|
||||
ship incomplete packages of GStreamer “plugins-bad”.</p>
|
||||
<p>To troubleshoot GStreamer execute “export GST_DEBUG=2” to set the
|
||||
GStreamer debug-level environment-variable in the terminal where you
|
||||
will run uxplay, so that you see warning and error messages; see <a
|
||||
@@ -1320,6 +1351,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
|
||||
what UxPlay claims to be.</p>
|
||||
<h1 id="changelog">Changelog</h1>
|
||||
<p>1.65.1 2023-07-22 Add RPM spec file; add graceful exit if required
|
||||
gstreamer libav feature “avdec_aac” is missing: (this occurs in
|
||||
RPM-based distributions that ship an incomplete FFmpeg for Patent or
|
||||
License reasons, and rely on users installing an externally-supplied
|
||||
complete FFmpeg).</p>
|
||||
<p>1.65 2023-06-03 Eliminate pair_setup part of connection protocol to
|
||||
allow faster connections with clients (thanks to <span class="citation"
|
||||
data-cites="shuax">@shuax</span> #176 for this discovery); to revert,
|
||||
|
||||
44
README.md
44
README.md
@@ -30,6 +30,15 @@
|
||||
* Install uxplay on Debian-based Linux systems with "`sudo apt install uxplay`"; on FreeBSD with "``sudo pkg install uxplay``". Also
|
||||
available on Arch-based systems through AUR.
|
||||
|
||||
* **NEW**: while no RPM-based distributions have yet packaged UxPlay, a RPM "specfile" **uxplay.spec** is now provided with recent
|
||||
[releases](https://github.com/FDH2/UxPlay/releases) (see their "Assets"), and can also be found in the UxPlay source top directory. To
|
||||
build a RPM package, install rpmdevtools, create a rpmbuild tree with "`rpmdev-setuptree`", and copy uxplay.spec into ``~/rpmbuild/SPECS``.
|
||||
In that directory, run "`rpmdev-spectool -g uxplay.spec`" to download the corresponding source file `uxplay-*.tar.gz`, which should then be
|
||||
moved into ``~/rpmbuild/SOURCES``; then run "```rpmbuild -ba uxplay.spec```" (you will need to install
|
||||
any required dependencies this reports). This should create an installable uxplay RPM package in a subdirectory of `~/rpmbuild/RPMS`.
|
||||
(**uxplay.spec** is tested on Fedora 38, Rocky Linux 9.2, OpenSUSE Leap 15.5, and Mageia 9; it can be easily modified to include dependency
|
||||
lists for other RPM-based distributions.)
|
||||
|
||||
* On Linux and \*BSD the mDNS/DNS-SD (Bonjour/ZeroConf) local network services needed by UxPlay are usually provided by Avahi: **if
|
||||
there is a firewall on the server that will host UxPlay, make sure the default network port for mDNS queries (UDP 5353) is open**. (Uxplay
|
||||
can work without this port by using only the host's loopback interface, but its visibility to clients will be
|
||||
@@ -61,11 +70,11 @@ main [UxPlay site](https://github.com/FDH2/UxPlay)).
|
||||
|
||||
UxPlay is tested on a number of systems, including (among others) Debian (10 "Buster", 11 "Bullseye", 12 "Bookworm"),
|
||||
Ubuntu (20.04 LTS, 22.04 LTS, 23.04; also Ubuntu derivatives Linux Mint 20.3, Pop!\_OS 22.04 (NVIDIA edition)), Red Hat and clones (Fedora 38,
|
||||
Rocky Linux 9.2), openSUSE 15.4, Arch Linux 23.05, macOS 13.3 (Intel and M2),
|
||||
Rocky Linux 9.2), Mageia 9, openSUSE 15.5, Arch Linux 23.05, macOS 13.3 (Intel and M2),
|
||||
FreeBSD 13.2, Windows 10 and 11 (64 bit).
|
||||
|
||||
On Raspberry Pi 4 model B, it is tested on Raspberry Pi OS (Bullseye) (32- and 64-bit), Ubuntu 22.04 LTS and 23.04, Manjaro RPi4 23.02,
|
||||
and (without hardware video decoding) on openSUSE 15.4. Also tested on Raspberry Pi 3 model B+.
|
||||
and (without hardware video decoding) on openSUSE 15.5. Also tested on Raspberry Pi 3 model B+.
|
||||
|
||||
Its main use is to act like an AppleTV for screen-mirroring (with audio) of iOS/iPadOS/macOS clients
|
||||
(iPhone, iPod Touch, iPad, Mac computers) on the server display
|
||||
@@ -243,12 +252,18 @@ the GStreamer plugins must first be installed).
|
||||
|
||||
|
||||
### Building on non-Debian Linux and \*BSD
|
||||
**For those with RPM-based distributions, a RPM spec file uxplay.spec is also available for
|
||||
building a rpm package with rpmbuild** (tested on Fedora 38, Rocky Linux 9.2 (RHEL clone),
|
||||
OpenSUSE 15.5, and Mageia 9; see "Packaging Status" section)
|
||||
|
||||
|
||||
* **Red Hat, or clones like CentOS (now continued as Rocky Linux or Alma Linux):**
|
||||
(sudo dnf install, or sudo yum install) openssl-devel libplist-devel avahi-compat-libdns_sd-devel
|
||||
gstreamer1-devel gstreamer1-plugins-base-devel (+libX11-devel for fullscreen X11) _(some of these
|
||||
may be in the "CodeReady" add-on repository, called "PowerTools" by clones)_
|
||||
|
||||
* **Mageia:**
|
||||
Same as Red Hat, except "gstreamer1-" becomes "gstreamer1.0-".
|
||||
|
||||
* **openSUSE:**
|
||||
(sudo zypper install) libopenssl-3-devel (formerly
|
||||
@@ -299,6 +314,11 @@ patent-encumbered code which RedHat does not provide: check with "`rpm -qi ffmpe
|
||||
"Packager" as RPM Fusion; if this is not installed, uxplay will fail to start, with
|
||||
error: **no element "avdec_aac"** ]_.
|
||||
|
||||
* **Mageia:**
|
||||
(sudo dnf install, or sudo yum install) gstreamer1.0-libav gstreamer1.0-plugins-bad (+ gstreamer1.0-vaapi
|
||||
for Intel/AMD graphics). _Install ffmpeg from the "tainted" repository (so gstreamer-1.0-libav can provide
|
||||
the required plugin avdec_aac), which also provides a more complete gstreamer1.0-plugins-bad._
|
||||
|
||||
* **openSUSE:**
|
||||
(sudo zypper install)
|
||||
gstreamer-plugins-libav gstreamer-plugins-bad (+ gstreamer-plugins-vaapi
|
||||
@@ -981,14 +1001,15 @@ That user found that a solution to a "**Required gstreamer plugin 'libav' not fo
|
||||
cache.
|
||||
|
||||
If it fails to start with an error like '`no element "avdec_aac"`' this is
|
||||
because even though gstreamer-libav is installed. it is incomplete because some plugins are missing: "`gst-inspect-1.0 | grep avdec_aac`" will
|
||||
show if avdec_aac is available. Some distributions (RedHat, SUSE, etc) provide incomplete versions of libav because of patent issues with codecs used by
|
||||
certain plugins. In those cases there will be some "extra package" provider
|
||||
like [RPM fusion](https://rpmfusion.org) (RedHat) or [packman](http://packman.links2linux.org/) (SUSE) where you can get complete packages (your
|
||||
distribution will usually provide instructions for this). The packages
|
||||
needed may be "libav\*" or "ffmpeg\*" packages: the GStreamer libav plugin package does not contain any codecs itself, it just provides a way
|
||||
because even though gstreamer-libav is installed. it is incomplete because some plugin features are missing: "`gst-inspect-1.0 | grep avdec_aac`" will
|
||||
show if avdec_aac is available. Unlike other GStreamer plugins, the libav plugin is a front end to FFmpeg codecs which provide avdec_*.
|
||||
Some distributions (RedHat, SUSE, etc) provide incomplete versions of FFmpeg because of patent issues with codecs used by
|
||||
certain plugins. In those cases there will be some "extra package" provider like [RPM fusion](https://rpmfusion.org) (RedHat),
|
||||
[packman](http://packman.links2linux.org/) (SUSE) where you can get complete packages (your
|
||||
distribution will usually provide instructions for this, Mageia puts them in an optional "tainted" repo). The packages
|
||||
needed may be "ffmpeg\*" or "libav\*" packages: the GStreamer libav plugin package does not contain any codecs itself, it just provides a way
|
||||
for GStreamer to use ffmpeg/libav codec libraries which must be installed separately. For similar reasons, distributions may ship incomplete packages
|
||||
of GStreamer "plugins-bad", which is where "license-problematical" plugins go.
|
||||
of GStreamer "plugins-bad".
|
||||
|
||||
To troubleshoot GStreamer execute "export GST_DEBUG=2"
|
||||
to set the GStreamer debug-level environment-variable in the terminal
|
||||
@@ -1058,8 +1079,11 @@ sourceVersion 380.20.1 (an AppleTV 4K 1st gen, introduced 2017, running
|
||||
tvOS 12.2.1), so it does not seem to matter what UxPlay claims to be.
|
||||
|
||||
|
||||
|
||||
# Changelog
|
||||
1.65.1 2023-07-22 Add RPM spec file; add graceful exit if required gstreamer libav feature "avdec_aac" is
|
||||
missing: (this occurs in RPM-based distributions that ship an incomplete FFmpeg for Patent
|
||||
or License reasons, and rely on users installing an externally-supplied complete FFmpeg).
|
||||
|
||||
1.65 2023-06-03 Eliminate pair_setup part of connection protocol to allow faster connections with clients
|
||||
(thanks to @shuax #176 for this discovery); to revert, uncomment a line in lib/dnssdint.h.
|
||||
Disconnect from audio device when connection closes, to not block its use by other apps if
|
||||
|
||||
69
README.txt
69
README.txt
@@ -37,6 +37,23 @@ status](https://repology.org/badge/vertical-allrepos/uxplay.svg)](https://repolo
|
||||
"`sudo pkg install uxplay`". Also available on Arch-based systems
|
||||
through AUR.
|
||||
|
||||
- **NEW**: while no RPM-based distributions have yet packaged UxPlay,
|
||||
a RPM "specfile" **uxplay.spec** is now provided with recent
|
||||
[releases](https://github.com/FDH2/UxPlay/releases) (see their
|
||||
"Assets"), and can also be found in the UxPlay source top directory.
|
||||
To build a RPM package, install rpmdevtools, create a rpmbuild tree
|
||||
with "`rpmdev-setuptree`", and copy uxplay.spec into
|
||||
`~/rpmbuild/SPECS`. In that directory, run
|
||||
"`rpmdev-spectool -g uxplay.spec`" to download the corresponding
|
||||
source file `uxplay-*.tar.gz`, which should then be moved into
|
||||
`~/rpmbuild/SOURCES`; then run "`rpmbuild -ba uxplay.spec`" (you
|
||||
will need to install any required dependencies this reports). This
|
||||
should create an installable uxplay RPM package in a subdirectory of
|
||||
`~/rpmbuild/RPMS`. (**uxplay.spec** is tested on Fedora 38, Rocky
|
||||
Linux 9.2, OpenSUSE Leap 15.5, and Mageia 9; it can be easily
|
||||
modified to include dependency lists for other RPM-based
|
||||
distributions.)
|
||||
|
||||
- On Linux and \*BSD the mDNS/DNS-SD (Bonjour/ZeroConf) local network
|
||||
services needed by UxPlay are usually provided by Avahi: **if there
|
||||
is a firewall on the server that will host UxPlay, make sure the
|
||||
@@ -80,12 +97,12 @@ UxPlay is tested on a number of systems, including (among others) Debian
|
||||
(10 "Buster", 11 "Bullseye", 12 "Bookworm"), Ubuntu (20.04 LTS, 22.04
|
||||
LTS, 23.04; also Ubuntu derivatives Linux Mint 20.3, Pop!\_OS 22.04
|
||||
(NVIDIA edition)), Red Hat and clones (Fedora 38, Rocky Linux 9.2),
|
||||
openSUSE 15.4, Arch Linux 23.05, macOS 13.3 (Intel and M2), FreeBSD
|
||||
13.2, Windows 10 and 11 (64 bit).
|
||||
Mageia 9, openSUSE 15.5, Arch Linux 23.05, macOS 13.3 (Intel and M2),
|
||||
FreeBSD 13.2, Windows 10 and 11 (64 bit).
|
||||
|
||||
On Raspberry Pi 4 model B, it is tested on Raspberry Pi OS (Bullseye)
|
||||
(32- and 64-bit), Ubuntu 22.04 LTS and 23.04, Manjaro RPi4 23.02, and
|
||||
(without hardware video decoding) on openSUSE 15.4. Also tested on
|
||||
(without hardware video decoding) on openSUSE 15.5. Also tested on
|
||||
Raspberry Pi 3 model B+.
|
||||
|
||||
Its main use is to act like an AppleTV for screen-mirroring (with audio)
|
||||
@@ -289,6 +306,11 @@ GStreamer plugins must first be installed).
|
||||
|
||||
### Building on non-Debian Linux and \*BSD
|
||||
|
||||
**For those with RPM-based distributions, a RPM spec file uxplay.spec is
|
||||
also available for building a rpm package with rpmbuild** (tested on
|
||||
Fedora 38, Rocky Linux 9.2 (RHEL clone), OpenSUSE 15.5, and Mageia 9;
|
||||
see "Packaging Status" section)
|
||||
|
||||
- **Red Hat, or clones like CentOS (now continued as Rocky Linux or
|
||||
Alma Linux):** (sudo dnf install, or sudo yum install) openssl-devel
|
||||
libplist-devel avahi-compat-libdns_sd-devel gstreamer1-devel
|
||||
@@ -296,6 +318,9 @@ GStreamer plugins must first be installed).
|
||||
*(some of these may be in the "CodeReady" add-on repository, called
|
||||
"PowerTools" by clones)*
|
||||
|
||||
- **Mageia:** Same as Red Hat, except "gstreamer1-" becomes
|
||||
"gstreamer1.0-".
|
||||
|
||||
- **openSUSE:** (sudo zypper install) libopenssl-3-devel (formerly
|
||||
libopenssl-devel) libplist-2_0-devel (formerly libplist-devel)
|
||||
avahi-compat-mDNSResponder-devel gstreamer-devel
|
||||
@@ -349,6 +374,13 @@ installed, depending on how your audio is set up.
|
||||
as RPM Fusion; if this is not installed, uxplay will fail to start,
|
||||
with error: **no element "avdec_aac"** \]*.
|
||||
|
||||
- **Mageia:** (sudo dnf install, or sudo yum install)
|
||||
gstreamer1.0-libav gstreamer1.0-plugins-bad (+ gstreamer1.0-vaapi
|
||||
for Intel/AMD graphics). *Install ffmpeg from the "tainted"
|
||||
repository (so gstreamer-1.0-libav can provide the required plugin
|
||||
avdec_aac), which also provides a more complete
|
||||
gstreamer1.0-plugins-bad.*
|
||||
|
||||
- **openSUSE:** (sudo zypper install) gstreamer-plugins-libav
|
||||
gstreamer-plugins-bad (+ gstreamer-plugins-vaapi for Intel/AMD
|
||||
graphics). *In some cases, you may need to use gstreamer or libav\*
|
||||
@@ -1246,19 +1278,22 @@ cache.
|
||||
|
||||
If it fails to start with an error like '`no element "avdec_aac"`' this
|
||||
is because even though gstreamer-libav is installed. it is incomplete
|
||||
because some plugins are missing: "`gst-inspect-1.0 | grep avdec_aac`"
|
||||
will show if avdec_aac is available. Some distributions (RedHat, SUSE,
|
||||
etc) provide incomplete versions of libav because of patent issues with
|
||||
codecs used by certain plugins. In those cases there will be some "extra
|
||||
package" provider like [RPM fusion](https://rpmfusion.org) (RedHat) or
|
||||
because some plugin features are missing:
|
||||
"`gst-inspect-1.0 | grep avdec_aac`" will show if avdec_aac is
|
||||
available. Unlike other GStreamer plugins, the libav plugin is a front
|
||||
end to FFmpeg codecs which provide avdec\_\*. Some distributions
|
||||
(RedHat, SUSE, etc) provide incomplete versions of FFmpeg because of
|
||||
patent issues with codecs used by certain plugins. In those cases there
|
||||
will be some "extra package" provider like [RPM
|
||||
fusion](https://rpmfusion.org) (RedHat),
|
||||
[packman](http://packman.links2linux.org/) (SUSE) where you can get
|
||||
complete packages (your distribution will usually provide instructions
|
||||
for this). The packages needed may be "libav\*" or "ffmpeg\*" packages:
|
||||
the GStreamer libav plugin package does not contain any codecs itself,
|
||||
it just provides a way for GStreamer to use ffmpeg/libav codec libraries
|
||||
which must be installed separately. For similar reasons, distributions
|
||||
may ship incomplete packages of GStreamer "plugins-bad", which is where
|
||||
"license-problematical" plugins go.
|
||||
for this, Mageia puts them in an optional "tainted" repo). The packages
|
||||
needed may be "ffmpeg\*" or "libav\*" packages: the GStreamer libav
|
||||
plugin package does not contain any codecs itself, it just provides a
|
||||
way for GStreamer to use ffmpeg/libav codec libraries which must be
|
||||
installed separately. For similar reasons, distributions may ship
|
||||
incomplete packages of GStreamer "plugins-bad".
|
||||
|
||||
To troubleshoot GStreamer execute "export GST_DEBUG=2" to set the
|
||||
GStreamer debug-level environment-variable in the terminal where you
|
||||
@@ -1351,6 +1386,12 @@ what UxPlay claims to be.
|
||||
|
||||
# Changelog
|
||||
|
||||
1.65.1 2023-07-22 Add RPM spec file; add graceful exit if required
|
||||
gstreamer libav feature "avdec_aac" is missing: (this occurs in
|
||||
RPM-based distributions that ship an incomplete FFmpeg for Patent or
|
||||
License reasons, and rely on users installing an externally-supplied
|
||||
complete FFmpeg).
|
||||
|
||||
1.65 2023-06-03 Eliminate pair_setup part of connection protocol to
|
||||
allow faster connections with clients (thanks to @shuax #176 for this
|
||||
discovery); to revert, uncomment a line in lib/dnssdint.h. Disconnect
|
||||
|
||||
101
uxplay.spec
Normal file
101
uxplay.spec
Normal file
@@ -0,0 +1,101 @@
|
||||
Name: uxplay
|
||||
Version: 1.65.1
|
||||
Release: 1%{?dist}
|
||||
|
||||
%define gittag v%{version}
|
||||
|
||||
Summary: AirPlay-Mirror and AirPlay-Audio server
|
||||
License: GPLv3+
|
||||
URL: https://github.com/FDH2/UxPlay
|
||||
Source0: https://github.com/FDH2/UxPlay/archive/%{gittag}/%{name}-%{version}.tar.gz
|
||||
|
||||
Packager: UxPlay maintainer
|
||||
|
||||
BuildRequires: cmake >= 3.4.1
|
||||
BuildRequires: make
|
||||
BuildRequires: gcc
|
||||
BuildRequires: gcc-c++
|
||||
Requires: avahi
|
||||
|
||||
#RedHat and clones
|
||||
%if %{defined fedora} || %{defined rhel}
|
||||
BuildRequires: pkgconf
|
||||
BuildRequires: openssl-devel >= 3.0
|
||||
BuildRequires: libplist-devel >= 2.0
|
||||
BuildRequires: avahi-compat-libdns_sd-devel
|
||||
BuildRequires: gstreamer1-devel
|
||||
BuildRequires: gstreamer1-plugins-base-devel
|
||||
Requires: gstreamer1-plugins-base
|
||||
Requires: gstreamer1-plugins-good
|
||||
Requires: gstreamer1-plugins-bad-free
|
||||
Requires: gstreamer1-libav
|
||||
%endif
|
||||
|
||||
#Mageia
|
||||
%if %{defined mkrel}
|
||||
BuildRequires: pkgconf
|
||||
BuildRequires: openssl-devel >= 3.0
|
||||
BuildRequires: libplist-devel >= 2.0
|
||||
BuildRequires: avahi-compat-libdns_sd-devel
|
||||
BuildRequires: gstreamer1.0-devel
|
||||
BuildRequires: gstreamer1.0-plugins-base-devel
|
||||
Requires: gstreamer1.0-plugins-base
|
||||
Requires: gstreamer1.0-plugins-good
|
||||
Requires: gstreamer1.0-plugins-bad
|
||||
Requires: gstreamer1.0-libav
|
||||
%endif
|
||||
|
||||
#SUSE
|
||||
%if %{defined suse_version}
|
||||
BuildRequires: pkg-config
|
||||
BuildRequires: libopenssl-3-devel
|
||||
BuildRequires: libplist-2_0-devel
|
||||
BuildRequires: avahi-compat-mDNSResponder-devel
|
||||
BuildRequires: gstreamer-devel
|
||||
BuildRequires: gstreamer-plugins-base-devel
|
||||
Requires: gstreamer-plugins-base
|
||||
Requires: gstreamer-plugins-good
|
||||
Requires: gstreamer-plugins-bad
|
||||
Requires: gstreamer-plugins-libav
|
||||
%endif
|
||||
|
||||
%description
|
||||
An AirPlay2 Mirror and AirPlay2 Audio (but not Video) server that provides
|
||||
screen-mirroring (with audio) of iOS/MacOS clients in a display window on
|
||||
the server host (which can be shared using a screen-sharing application);
|
||||
Apple Lossless Audio (ALAC) (e.g.,iTunes) can be streamed from client to
|
||||
server in non-mirror mode
|
||||
|
||||
%prep
|
||||
|
||||
%autosetup -n UxPlay-%{version}
|
||||
|
||||
%cmake -DCMAKE_INSTALL_DOCDIR=%{_docdir}/%{name}
|
||||
%cmake_build
|
||||
|
||||
%if %{defined suse_version}
|
||||
#suse macro cmake_install installs from _topdir/build (misses docs in _topdir)
|
||||
cd ..
|
||||
%endif
|
||||
|
||||
%cmake_install
|
||||
|
||||
%files
|
||||
%{_bindir}/uxplay
|
||||
%{_mandir}/man1/uxplay.1*
|
||||
|
||||
%doc
|
||||
%{_docdir}/%{name}/README.txt
|
||||
%{_docdir}/%{name}/README.html
|
||||
%{_docdir}/%{name}/README.md
|
||||
|
||||
%license
|
||||
%{_docdir}/%{name}/LICENSE
|
||||
%{_docdir}/%{name}/llhttp/LICENSE-MIT
|
||||
|
||||
|
||||
%changelog
|
||||
* Thu Jul 20 2023 UxPlay maintainer <https://github.com/FDH2/UxPlay>
|
||||
Initial uxplay.spec: tested on Fedora 38, Rocky Linux 9.2, OpenSUSE
|
||||
Leap 15.5, Mageia 9.
|
||||
-
|
||||
Reference in New Issue
Block a user