Kodi Community Forum

Full Version: Help us solving the AirPlay issue when using iOS7 devices
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
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
There must be a difference between both raop announcements. 2 exact same announcements can't exist in bonjour world and are treated as collision.

Also which mac adress and port and ip's are shown for the raop announcements?

Also are you sure that 31:85:A9:3F:B5Big GrinD is not present on another network interface on your pc? (check in commandline via "ipconfig /all")

What sticks in my eyes are those rhd fields (those are not documented anywhere) and the vv = 1 field (not documented either). Beside that once again the airtunes announcements has fairplay encryption enabled which will not work with xbmc.

Another question - if airserver 4 doesn not repeat the announcement after some minutes and airserver 5 (or whatever it is pette is using) does - this might play a role here too. But as we are relying on 3rd party bonjour libraries / APIs i am unsure how to make that happen (on osx we are using the osx bonjour api, same on windows and android, on ios its the ios api and on linux the avahi api).

Also i am pretty sure that this airserver version can't work with ios 4 clients when streaming audio (afaik there was no fairplay encryption in those days and the announcement doesn't support RSA encryption which works on ios4).
For me those rhd fields were the AirServer version, that vv thing seems undocumented.
Is there any script/function/method beetween avahi/Bonjour api and AirPlay scripts part where the announcement is defined and send?

I have no idea on the 5 min thing tough. I weren't looking for the right thing in Wireshark.
The bonjour browser for windows is perhaps not the best tool. That was all info I could get. If someone know a good bonjour browser (windows) I would be happy to try it. Might be different ports, but the tool does not present that. Perhaps the IOS variant is better, I can try it later.

I am sure about the mac addres, just one NIC and wireshark has source of packet with the correct MAC address (30:...).

I will upgrade my ATV2 later on and log the announcement from that one as well, could be interesting.

And yes, the AirServer sure repeats itself alot more than XBMC - it would be nice if someone else could confirm this as well. My Iphone4 actually displays correct monitor icon in the beginning of XBMC startup, but then sooner or later goes into speaker mode - which is interesting as well.
(2014-01-08, 17:49)pette Wrote: [ -> ]I will upgrade my ATV2 later on and log the announcement from that one as well, could be interesting.
Before you upgrade could you take a screenshot of the Bonjour Services (Bonjour Browser? is the windows one really that bad, neither does the mac one allow exporting...) of the Apple TV current os

_________________________________________

I did tests on my iPad these are little better.

1. iPad 3
2. iOS 7.0.4

Testbuild 1
3/4. Monitor
5. Yes
6. Yes
7. Yes

Testbuild 2
3/4. Monitor (with Mirroring)
5. No
6. Yes
7. Yes

Testbuild 3
->just like on iPhone 5S nothing works… this is weird how can a name change break something 0_o

Testbuild 4
3/4. Monitor (with Mirroring)
5. Yes
6. Yes
7. Yes

Builds 2 and 4 only work if I manually turn AirPlay off/ON from settings, otherwise speaker icon.


My original post is on page 5 i may re-test-build 4

I can do Wireshark logs... I just don't read them myself, so if you need any help i can post logs.
Ok first post updated with copied announcement of airserver + RSA encryption announce. @pette @Axuttaja - if you would be so kind.

Tbh its much more smooth to work with the same testers/devs instead of getting thousands different opinions. Thx for your time and patience and motivation Smile
First tests show that monitor symbol stays, I have not seen the speaker symbol yet - ipad2 left to test with.

Airplay is not working though - as expected.

Is it possible to change minimum things to make airplay work, and make a new build?

EDIT: Tested with ipad2 (which did not work with ANY other testbuild) and it shows monitor as well.

EDIT2: AirPlay started working as well from nowhere... I need to test a bit more.... sorry for above
I am thinking about implementing a special testversion which allows to configure the whole announcement stuff via an xml file. Just for testing purposes. Though i don't know when i get some time for it ... especially the features field is not only affecting the announcement but also needs to be used in the communication stream aswell...
Sorry for the stupid question, but wouldn't it be possible to make both announcements, but for "2." state "fairplay not supported"?

Despite what people think about Apple's ways, I can't imagine they would simply break off backwards compatibility of (at least) this feature just like that... And even if they would, there would be a LOT more noise on the net about it no?

EDIT: And I see that pette has noted that AirPlay "started working suddenly"
OK, tested some more now, sorry for the confusing post above.

1. Monitor symbol always shows - no speaker on any device.

2. AirPlay video works BUT, sometimes it fails on initialization it seems (need to select the target more than once before video is displayed on TV)
For me this looks like hours of wireshark...
Whatever is Airplay doing after announcment with clients -> XBMC is doing it wrong, also.
I think by lookking at the differences of AirServer 4 and is it 7?'s announcements we could do something useful maybe...
But i'm interested in why does airplay start working suddenly when its restarted from settings!?!
@Memphiz is it you who implemented most of this old code or someone else who would be a specialist?

"Keep testing" -GLaDOS 2011

Edit: @pette have you tried turning AirPlay off and on again from the XBMC settings?
To me it looks like we just got one step closer. If someone else who had problems with speaker symbol could confirm that testbuild5 only shows as monitor it would be nice...
I coded airplay support in xbmc and am trying to maintain it ... specialist - well - maybe a bit.
Well, there's definitely progress with the newest testbuild! I toggled wifi 10 times again and it showed up properly as an airplay target every time, whereas it was highly inconsistent before. Video seems to work fine too, as long as I connect to the target before I play anything. If I try to switch to the target while playing a video, the device won't even connect. Audio doesn't work and photos are jumbled, though do display.

iphone5 and ipad4, ios 7.0.4, win32 build

edit: sorry, that's with testbuild 5
(2014-01-09, 00:35)edwr Wrote: [ -> ]Well, there's definitely progress with the newest testbuild! I toggled wifi 10 times again and it showed up properly as an airplay target every time, whereas it was highly inconsistent before. Video seems to work fine too, as long as I connect to the target before I play anything. If I try to switch to the target while playing a video, the device won't even connect. Audio doesn't work and photos are jumbled, though do display.

iphone5 and ipad4, ios 7.0.4, win32 build

edwr, can you indicate which testbuild are you using?

Thanks
Using build XBMCSetup-20140109-15ecda3-ios7airplaytry.exe (on Windows 8.1), the airplay icon remains as "TV/Video" just fine (with XML provided in first link on Jan 8th), iOS devices being iPhone 5 with iOS 7.0.4.

However, a couple of issues:
- Unlike what Pette is saying, for me, videos don't play. Sometimes the video still sits on the iphone screen and nothing plays (on XBMC nor on iPhone), and sometimes the iPhone removes the first frame of the video and shows the usual screen that says it's playing on the XBMC device, but nothing plays on XBMC.

- Pictures display, however, the incorrect picture is shown.
I changed the "AppleTV3,1" to "Xbmc,1" within the XML file, and restarted XBMC, the router, and the iPhone, however that didn't "correct" the picture being incorrect issue (unlike what most findings in this thread seem to indicate), and actually noticed that the the log (see below) is still showing AppleTV as agent... Maybe because I recall seeing Memphiz' code had 2 places where the agent was defined, and other is still hardcoded despite the XML?


Found this in my log:
Code:
20:51:28 T:6528   ERROR: CDVDPlayer::OpenInputStream - error opening [|User-Agent=AppleCoreMedia%2f1.0.0.8F455%20(AppleTV%3b%20U%3b%20CPU%20OS%204_3%20like%20Mac%20OS%20X%3b%20de_de)]




And on a separate note, this error as well, for which I'll create a separate thread:
Code:
20:50:23 T:5124   ERROR: SQL: Undefined MySQL error: Code (1050)
                                            Query: CREATE TABLE album_new (idAlbum integer primary key auto_increment ,  strAlbum varchar(256), strMusicBrainzAlbumID text,  strArtists text, strGenres text,  iYear integer, idThumb integer,  bCompilation integer not null default '0',  strMoods text, strStyles text, strThemes text,  strReview text, strImage text, strLabel text,  strType text,  iRating integer,  lastScraped varchar(20) default NULL,  dateAdded varchar (20) default NULL) CHARACTER SET utf8 COLLATE utf8_general_ci

I'll try to do some more tests, but my wife and children "control" that...
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