Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Loading…

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

Merged
merged 8 commits into from

5 participants

@Memphiz
Owner

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 ;)

@Memphiz
Owner

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).

@jimfcarroll
Collaborator

Nice!

@elupus
Collaborator
@Memphiz
Owner

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

@Memphiz
Owner

another rebase ... i hate those gray buttons

@Memphiz Memphiz was assigned
@jmarshallnz
Owner

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

@davilla
Collaborator

push it Memphiz, once you make green again.

@Memphiz
Owner

will do after easter :)

Memphiz added some commits
@Memphiz Memphiz [ios/atv2] - unify he EAGLView. No we use the same class for ios and …
…atv2
1e1544b
@Memphiz Memphiz [ios/atv2/tvout] - add IOSScreenManager and IOSExternalTouchControlle…
…r implementation
7f92be4
@Memphiz Memphiz [ios] - allow screen / mode settings for ios and audio passthrough se…
…ttings for ios
7c1c44b
@Memphiz Memphiz [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
8996429
@Memphiz Memphiz [ios/atv2/tvout]- make the ios window system as equal as possible to …
…the window system for osx and implement screen/resolution switching
3653bba
@Memphiz Memphiz [add] - localisation for the on screen touchpad description 3ed1604
@Memphiz Memphiz [ios/atv2] - sync projects for tvout changes 21c10bd
@Memphiz Memphiz [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.
d56465c
@Memphiz
Owner

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 Memphiz merged commit 4e8153a into xbmc:master
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Commits on Apr 8, 2012
  1. @Memphiz
  2. @Memphiz
  3. @Memphiz
  4. @Memphiz

    [ios/atv2/tvout] - move m_window from app to xbmccontroller on ios (s…

    Memphiz authored
    …ame as with atv2 before). Use screenmanager for handling screen/resolution changes
  5. @Memphiz

    [ios/atv2/tvout]- make the ios window system as equal as possible to …

    Memphiz authored
    …the window system for osx and implement screen/resolution switching
  6. @Memphiz
  7. @Memphiz
  8. @Memphiz

    [atv2] - deactivate screen resolution switching on atv2 for now (caus…

    Memphiz authored
    …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.
Something went wrong with that request. Please try again.