Add TV-Out support and resolution switching for IOS/ATV2 #780

Merged
merged 8 commits into from Apr 8, 2012

Conversation

Projects
None yet
5 participants
Owner

Memphiz commented Mar 18, 2012

This PR does multiple things.

It basically allows resolution switching for iOS and ATV2.

On iOS devices which are connected to a TV/LCD via TVOut adapter (hdmi,vga, component) it enables the user to switch XBMC to that external screen. When this is done the internal touch screen will behave like a remote control for controlling the XBMC instance on the LCD (swipe left,right,up,down - 1finger single tap, 2finger single tap and 2finger swipe left).

As Apple handles any ATV2 used for AirPlay mirroring as an external screen as well this will even allow mirror users to mirror the whole XBMC via the Air to the ATV2/TV. Couldn't test that because i don't have an mirror capable device, but in theory that should work :).

This PR also should take care of 1080p support for ATV3 and iPad3 (since both devices now support 1080p output that resolution will just show up in the screen settings then as usual).

I've tested this with iPad on iOS 4.3, iPod touch 4g on iOS 5.01, ATV2 on iOS4.3, ATV2 on iOS4.4.4. Both with VGA and HDMI Adapter and 4:3 (1024x768) and TV (720p) external screens.

Here is a demo video on how it looks like:

http://www.youtube.com/watch?v=eOmRHi3xbL8

Davilla should do a review and test on one of his devices when he gets time imho. Though i've done some test effort already ;)

Owner

Memphiz commented Mar 18, 2012

forgot - #778 has to be taken care off before tvout will work (else that yesnodialog won't show up and throw as back to the mainscreen).

Member

jimfcarroll commented Mar 18, 2012

Nice!

Member

elupus commented Mar 19, 2012

Looks pretty cool.

Owner

Memphiz commented Mar 19, 2012

added the comments and errorchecking of GetScreenResolution + fixed typo...

Owner

Memphiz commented Mar 20, 2012

another rebase ... i hate those gray buttons

@ghost ghost assigned Memphiz Mar 23, 2012

Member

jmarshallnz commented Apr 6, 2012

#778 has been taken care of now, so given this has already seen some review, pushing to @davilla to make the call.

Contributor

davilla commented Apr 6, 2012

push it Memphiz, once you make green again.

Owner

Memphiz commented Apr 6, 2012

will do after easter :)

Memphiz added some commits Apr 8, 2012

[ios/atv2/tvout] - move m_window from app to xbmccontroller on ios (s…
…ame as with atv2 before). Use screenmanager for handling screen/resolution changes
[ios/atv2/tvout]- make the ios window system as equal as possible to …
…the window system for osx and implement screen/resolution switching
[atv2] - deactivate screen resolution switching on atv2 for now (caus…
…e of the latest changes for iOS5.1 make this somewhat complicated). iOS allways leaves the rootLayer at 1280x720 - doesn't matter what resolution is set for the screen. So it automaticaly scales everything which is against XBMCs own scaling concepts.
Owner

Memphiz commented Apr 8, 2012

Squashed and rebased once again and deactivated resolution switching for ATV2 for now. Because of the changes i did for iOS5.1 a feature called "CA rootLayer scaling" kicked in from iOS. It allways scales the layer to 720p independend of the resolution of the screen. So it scales on its own and allways reports sizes off 720p. This is against the XBMC scaling code and i just disable it on ATV2 for now. Since iOS5 (4.4.4) the user can select the resolution in iOS settings itself - so its not so important to have this ability from within XBMC imho.

Merging in a min.

Memphiz added a commit that referenced this pull request Apr 8, 2012

Merge pull request #780 from Memphiz/tvout
Add TV-Out support and resolution switching for IOS/ATV2

@Memphiz Memphiz merged commit 4e8153a into xbmc:master Apr 8, 2012

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment