Kodi Community Forum
Help us solving the AirPlay issue when using iOS7 devices - Printable Version

+- Kodi Community Forum (https://forum.kodi.tv)
+-- Forum: Support (https://forum.kodi.tv/forumdisplay.php?fid=33)
+--- Forum: General Support (https://forum.kodi.tv/forumdisplay.php?fid=111)
+---- Forum: OS independent / Other (https://forum.kodi.tv/forumdisplay.php?fid=228)
+---- Thread: Help us solving the AirPlay issue when using iOS7 devices (/showthread.php?tid=179961)

Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43


RE: Help us solving the AirPlay issue when using iOS7 devices - Testers needed! - Memphiz - 2014-01-11

@pette
1. The only official dev device sponsored by xbmc is an ipod4g - no ios7 for that one
2. I have a couple of other devices (private) which are set on tactical ios versions to check for compatibility (ipad1 ios5, ipad2 ios6, iphone4s ios6.1)
3. I have a non jailbroken iphone4s which i would use - if there were not so much reports with broken wifi after update (i mean real broken - its stated that in some circumstences it gets a hw defect).
4. The iphone is my productive phone
5. I don't like ios7 ... it looks like crap and it is a performance killer (seen it on a iphone4...).

Well not much to tell - the ipad retina mini is accepted by the foundation i guess - so not so long until i can join the real fun...

btw ... on ios6 i get a proper "/stop" when stopping a movie from youtube.app ...


RE: Help us solving the AirPlay issue when using iOS7 devices - Testers needed! - Memphiz - 2014-01-11

New builds are in the furnace.

I already altered first thread with new "default" airplay.xml. Next changes can be seen here:

https://github.com/Memphiz/xbmc/commits/ios7airplaytry

The last commit is really needed for ios6 and ios5 clients - else hell will break loose ...


RE: Help us solving the AirPlay issue when using iOS7 devices - Testers needed! - Axuttaja - 2014-01-11

This build is going to need a lot of testing, the monitor icon may work for like 20 min and the be gone 5, no matter how hard you try restarting xbmc it wont help.
But re toggling AirPlay from settings, still works every time.
I havent tried restarting other devices, toggling wlan won't work for me.


RE: Help us solving the AirPlay issue when using iOS7 devices - Testers needed! - edwr - 2014-01-11

Unless I'm doing something wrong here, the new build doesn't appear to respect the airplay.xml values - announces the default Xbmc,1 / 101.28 / 0x77 every time according to bonjourbrowser

edit: this is with XBMCSetup-20140111-254d4e4-ios7airplaytry


RE: Help us solving the AirPlay issue when using iOS7 devices - Testers needed! - Memphiz - 2014-01-11

This might happen if you got a xml error in your file for example?


RE: Help us solving the AirPlay issue when using iOS7 devices - Testers needed! - pette - 2014-01-11

Error in the latest airplay.xml on pastebin;

13. <features>119</features> <!-- feature bits not used for announcement - but inside of the protocol!

should be

13. <features>119</features> <!-- feature bits not used for announcement - but inside of the protocol! -->

And, I got speaker Icon quite fast - even with the corrected XML


RE: Help us solving the AirPlay issue when using iOS7 devices - Testers needed! - Memphiz - 2014-01-11

ha - thats me then Smile

- exchanged the pasty in first post with a fixed one - thx for noticing ...

Well i can assure you that the feature 119 thingy has nothing to do with the speaker symbol. I verified with wireshark that there are no connections made during recognition phase (had a ios7 device here yesterday)

I have the feeling beside the general problem with ios7 some newer devices are worse then other ... ipad mini retina seemed quiet stable with the monitor icon ...


RE: Help us solving the AirPlay issue when using iOS7 devices - Testers needed! - pette - 2014-01-11

Yes, for me the only thing that seems to make monitor icon stay is changing model to "AppleTV3".

It is also a bit weird that the first, initial connect to airplay target often works, but when deselecting the target and selecting again makes the connection fail alot of times before it is connected again.

It's actually quite crazy that multiple devices show different things, even different menus on the iPhone may show different things - I don't know how the fuck they have implemented that shit.

At last, I don't Think AirServer just picked AppleTV3 as the model name because it was fun, I think they picked it because of how things works.

One thing I forgot to mention.

The old way of announcing - like my AppleTV2 did, and like XBMC used to do works just fine - IF you do not stop re-announcing it. Toggling the airplay on/off which seems to be a common fix around here will trigger a re-announcement, and the target will show again... Works as well as turning the old AppleTV2 off/on.

Perhaps not useful information if it is totally impossible to re-announce things manually though.


RE: Help us solving the AirPlay issue when using iOS7 devices - Testers needed! - Memphiz - 2014-01-12

(2014-01-11, 23:38)pette Wrote: I don't know how the fuck they have implemented that shit.

That is a question i ask myself more and more too. I think they just totally ignored the unencrypted path and didn't test it for regressions ...

(2014-01-11, 23:38)pette Wrote: The old way of announcing - like my AppleTV2 did, and like XBMC used to do works just fine - IF you do not stop re-announcing it.

This is clearly a bug. IIRC the RFC for mDNS is explicitly there for not needing to re-announce. This protocol is made to do service awareness with as low as possible traffic. So i don't even know where i would look for a pericodic re-announcmenet tbh.


RE: Help us solving the AirPlay issue when using iOS7 devices - Testers needed! - pette - 2014-01-12

One thing more actually;

Can anyone confirm that airserver or appletv uses fairplay when streaming from e.g youtube?

If not, how can I confirm this, Memphiz? What to look for in wireshark. I must say that it would be a waste of cpu to encode everything sent from an iDevice.


RE: Help us solving the AirPlay issue when using iOS7 devices - Testers needed! - Memphiz - 2014-01-12

In wireshark just filter for ip.addr == <ip of your ios device> ... then hit the right mouse button on the first hit - "follow tcp stream" ... if you see clear ascii text then its not encrypted ... this will add a filter per tcp.stream to the wireshark ... there might be multiple streams - you need to increase the stream number and check each stream with "follow tcp stream" ...

If you see http request with post /play ... and some sort of url in it - then its not encrypted ...


RE: Help us solving the AirPlay issue when using iOS7 devices - Testers needed! - pette - 2014-01-12

Well, did anyone actually try to airplay to AirServer? To me it works almost as bad as XBMC with "AppleTV3" announcements - I have to select the target more than once sometimes to make it stick.

AirServer will play audio though - that is one major difference.

And, all this talk about fairplay - AirServer might not even support fairplay, this can be seen by looking at the Q&A on the site or is that something else? I got a bit confused now, since screen mirroring seems to force fairplay.... Well, atleast confirmed that the iDevice sends URL in cleartext to AirServer.


RE: Help us solving the AirPlay issue when using iOS7 devices - Testers needed! - Memphiz - 2014-01-12

What about the airtunes traffic. You should see something like "/fp-setup" as a request to the port it announces the raop for ... how does airserver handle that request?


RE: Help us solving the AirPlay issue when using iOS7 devices - Testers needed! - pette - 2014-01-12

http://pastebin.com/5VU3ieFZ

Might be a bit messy, but should be readable enough I think.


RE: Help us solving the AirPlay issue when using iOS7 devices - Testers needed! - Memphiz - 2014-01-12

Nice. So what they do is somehow they handshake the fairplay thingy and make the client to fallback to aes encryption afterwards. Can you give me the isolated capture of that stream? (so that i can forward it to the libshairplay dev and he can load it into wireshark for getting the binary data?)

I guess it is this implementation they are using:

https://github.com/nto/AirSpeaker/blob/master/AirTunes/AirTunesController.m#L236