Permalink
Browse files

Initial AirPlay support.

This is currently disabled by default and is enabled by setting the
temporary environment variable 'MYTHTV_AIRPLAY'.

Outstanding issues:-

- playback will silently fail if there is already a video playing on the
frontend. This usually encourages the source device to blacklist the
frontend for an indeterminate period of time.
- playback exit isn't properly handled. Currently the player is
restarted when told to stop and exits gracefully when no more data is
available. This does not work for remote sources (e.g. YouTube - where
the data is provided directly from the remote site to the frontend).
- no seeking/scrubbing with remote sources such as YouTube.
- initial seek/bookmark positioning does not work.
- scrubbing does not work on devices with iOS 5 (at least I think it's
iOS 5 related).
- playback fails with some remote services (e.g. BBC iPlayer). This is a
problem in the StreamingRingBuffer code.
- the playback url is sometimes provided embedded in a binary property
list (e.g. YouTube). Parsing of this plist is currently only supported
on OS X.

All that said, when it works, it works well - with all the features of a
full frontend (e.g. timestretch)
  • Loading branch information...
1 parent 462fb30 commit 7ae19f525972f335f297ae9f92a4fe74f6c1687e Mark Kendall committed Jan 31, 2012
@@ -415,6 +415,8 @@ using_frontend {
using_libdns_sd {
!macx: LIBS += -ldns_sd
+ HEADERS += mythairplayserver.h
+ SOURCES += mythairplayserver.cpp
using_libcrypto: HEADERS += mythraopdevice.h mythraopconnection.h
using_libcrypto: SOURCES += mythraopdevice.cpp mythraopconnection.cpp
using_libcrypto: LIBS += -lcrypto
Oops, something went wrong.

0 comments on commit 7ae19f5

Please sign in to comment.