FD- / RPiPlay

An open-source AirPlay mirroring server for the Raspberry Pi. Supports iOS 9 and up.
GNU General Public License v3.0
4.94k stars 354 forks source link

Question (for FD-) about non-mirror AirPlay audio streaming #272

Closed fduncanh closed 3 years ago

fduncanh commented 3 years ago

@FD- Thanks for all your great RPiPlay work.

Can the RPi renderers also play audio streamed from an iPad/IPhone client with the older "audio only" protocol, (and not just streams using the screen-mirror Airplay protocol)?

iOS/iPadOS 15.0 offers both ways to stream, as separate options.

Using the Gstreamer renderers with audio (only) streams from iPad produces no sound, but one can see a stream is being received.

At a UxPlay user's request, I hacked an "audio only" option into UxPlay 1.36 https://github.com/FDH2/UxPlay by providing an option which omits calling video_renderer_start (so no video rendering takes place, and a display window is not opened), and using the plist maxFPS variable to reduce the client's video streaming rate to 1 fps (this plist variable seems to have been accidentally omitted from your code when in May 2019 you translated the original binary plist file into plist variables in_raop_handlers.h; the API extensions I proposed as a PR #266 for RPiPlay (and implemented in UxPlay) for your airplay library allow access to some plist settings such as this.) But this is still using the mirror protocol.

But I suspect the ability to use the non-mirror Airplay audio protocol might be there somewhere in RPiPlay, and could be exposed to be used by a GStreamer audio renderer, unless its blocked by Apple AirPlay2 encryption.

Any hints?