Frodo does not show up as Airplay device in OS X
#1
Since I upgraded my XBMC to Frodo (at least RC2 and RC3), my XBMC computers (Ubuntu Linux) does not show up as Airplay devices on my OS X 10.8.2 computers.That is, they are not available for selection in Sound Preferences.

They do however show up in iTunes, and appears to work well from there. They also show up on my iOS devices (both iOS 5 and iOS 6).

The problem with this is that I can't play audio from other applications than iTunes on my computer.

I can also see the devices in Bonjour Browser, and the entries there looks fairly similar to a Shairport-device which does show up in the device list.

Any ideas?
Reply
#2
turn off and on xbmc and reboot network devices. At some point it will appear and work in the osx audio output selector.
AppleTV4/iPhone/iPod/iPad: HowTo find debug logs and everything else which the devs like so much: click here
HowTo setup NFS for Kodi: NFS (wiki)
HowTo configure avahi (zeroconf): Avahi_Zeroconf (wiki)
READ THE IOS FAQ!: iOS FAQ (wiki)
Reply
#3
Well, I have restarted XBMC like a zillion times, and rebooted my network devices plenty of times, including a firmware upgrade. Still no sign of the xbmc devices Confused
Reply
#4
Well nothing more that i can tell you. Its a problem of osx picking up the announcment and i'm aware of it - but have no clue what i could do to improve it (since it is the os which needs to pickup the announcment). As said i diddled with it at some point and it just showed up - as of then it always worked.
AppleTV4/iPhone/iPod/iPad: HowTo find debug logs and everything else which the devs like so much: click here
HowTo setup NFS for Kodi: NFS (wiki)
HowTo configure avahi (zeroconf): Avahi_Zeroconf (wiki)
READ THE IOS FAQ!: iOS FAQ (wiki)
Reply
#5
I did some experimenting with Shairport (which is quite simple, since it's more or less just a perl script). I found out that if I announce the AirTunes service as MAC-address@systemname (e.g. "5403A52322@Livingroom"), it does not show up as an audio device. However, if I replace the MAC address with any other number (it's enough to change just one digit), everything works fine.

Xbmc does currently announce itself as MAC-address@systemname in just that way which doesn't work. If I had a working development environment set up for xbmc, which I unfortunately don't have, I would try changing that to something different. (Shairport by default simply uses some hash made up from the system name.)

Maybe this could be some clue? I don't know if there is some reason for having chosen the MAC address as the identifier, or if there is some reason for OSX to hide the device if that is the case. But it seems like that is what's happening here anyway.
Reply
#6
I set up a test environment and modified the code to reverse the MAC address string in the AirTunes service announcement. And yes, the xbmc box did appear as a selectable device in my sound preferences. (And it goes away again if I revert my code change).

It also seems to still work for AirPlay streaming of video and audio from my ipad. However, the change makes itunes unable to stream video to the device. So I guess that this is not the correct solution (but for me personally it would be better this way, as I never stream video from itunes).

I also found this thread where someone noticed some similar issues. But I think no good solution appeared at that time.

Reply
#7
Big Grin 
Sorry for spamming the thread. But now I think that I have found a working solution. Apple seems to give AppleTV units some special treatment, so let's stop pretending we are one. I changed the device model identification string from "AppleTV2,1" to "Xbmc,1" in a couple of places and added that string to the am-flag in the AirTunes announcement.

With those changes the xbmc box:
  • Is selectable as audio device in Sound Preferences (OS X 10.8.2)
  • Is available for sound and video streaming from iTunes 11.0.1
  • Is available for sound and video streaming from iPad with iOS 5
  • Is available for sound and video streaming from iPad with iOS 6

Here is a patch: http://paste.ubuntu.com/1510363/

Any chances of getting this implemented?
Reply
#8
put a ticket in trac, you cannot expect developers to trawl the forums looking for patches.
If I have helped you or increased your knowledge, click the 'thumbs up' button to give thanks :) (People with less than 20 posts won't see the "thumbs up" button.)
Reply
#9
Good point (even though at least one developer have responded in this thread). The issue, with patch, is now created as ticket #13935
Reply
#10
hopefully this will make it in .. i too have noticed AirPlay being finicky .. was working before and now all of a sudden its not there anymore and i even rebooted my iphone, ipad and xbmc box
Reply
#11
Guys i feel more then uncomfortable to change something basic like that. I tried to mimic the AppleTV2 as close as possible when it comes to all the announcement stuff. And it has a reason that the mac is used for roap announcement as you already figured. (there are more - which i don't remember anymore).

If this is the problem i would like to know why the AppleTV2 shows up in osx then? It uses the "AppleTV2,1" string. I know it is hard - but this whole airplay stuff is reverseengineering and i will not implement something like that - even if you tell me everything is working. Once we release a version with this changed 100s of users will test it and i bet hell will break loose when this change means regressions to other users.

Though appreciate you work and findings - but i need a better explenation for why this will fix the problem and why it won't cause regression with one of the various other airplay apps.

What i can think of in theory is that apples mountain lion checks the announcement in something like this.

if "AppleTV2,1" is announced AND announced MacAddress matches one of Apples Ranges AND the airplayclient really owns this macadress (arp request maybe?)

Only then show it up as a target
end

To prove this you would need to spoof an appletv2,1 macadress in the announcment AND on the ethernet card.

At least for frodo we will not do any quickshots in regard to this. I know airplay is buggy for some people but its to risky to just change it because of it works better with the change for somebody.
AppleTV4/iPhone/iPod/iPad: HowTo find debug logs and everything else which the devs like so much: click here
HowTo setup NFS for Kodi: NFS (wiki)
HowTo configure avahi (zeroconf): Avahi_Zeroconf (wiki)
READ THE IOS FAQ!: iOS FAQ (wiki)
Reply
#12
I see, and fully respect, your concerns.
At least for me, it significantly lowers the WAF of xbmc if we are unable to stream Spotify from our laptops. But it is of course hard to estimate how many user this regression affects since we don't fully see the logic behind.

I tried your suggestion of spoofing an AppleTV2 MAC address in the announcement and on the ethernet card with no luck, so it seems that there is something else happening. However, I don't have access to any ATV2, so I am not fully certain that the chosen MAC address (58:55:CA:0E:C6:72) is a real ATV2. Neither have I any possibility to have a look at a real ATV2 announcement to see if xbmc is missing something.

Wouldn't it be possible to let users change the identification string by using advancedsettings.xml? Or is even that a too large change at this time?
Reply
#13
Its hard to push advancedsettings through the team review at this moment i'm afraid. Well i have the original announcements and even if i copy it 1:1 i don't get the same behaviour as with the original atv2 - seems apple does something special hidden somewhere in ML.

BTW - this is not a regression. Its like it was since AirPlay was added to XBMC. (though i know that its a problem of course).
AppleTV4/iPhone/iPod/iPad: HowTo find debug logs and everything else which the devs like so much: click here
HowTo setup NFS for Kodi: NFS (wiki)
HowTo configure avahi (zeroconf): Avahi_Zeroconf (wiki)
READ THE IOS FAQ!: iOS FAQ (wiki)
Reply
#14
Undecided

(2013-01-10, 11:38)Memphiz Wrote: BTW - this is not a regression. Its like it was since AirPlay was added to XBMC. (though i know that its a problem of course).

Hmm. I feel quite confident that it worked before I upgraded to Frodo. But just to be sure, I upgraded a Dharma box in a forgotten corner of the house to Eden, and the behaviour is the same as in Frodo. So i guess you are right about it not being a regression. And when I think about it, I installed updates to Mountain Lion and to iTunes about the same time as i upgraded my xbmc boxes to Frodo. So it seems likely that Apple recently changed something.

Well, at least I know how to solve the problem for my installation. Just a nuisance to not be able to use official packages.
Reply
#15
Recent changes to OSX screwed airplay on mythtv, I suspect the same happened here.
Ooops it seems like it was an iTunes update

http://www.gossamer-threads.com/lists/my...ay;#534181
If I have helped you or increased your knowledge, click the 'thumbs up' button to give thanks :) (People with less than 20 posts won't see the "thumbs up" button.)
Reply

Logout Mark Read Team Forum Stats Members Help
Frodo does not show up as Airplay device in OS X0