RaspberryPI support #1282

Merged
merged 62 commits into from Sep 4, 2012

Conversation

Projects
None yet
@huceke
Contributor

huceke commented Aug 12, 2012

This PR brings RaspberryPI support to XBMC. :

1.) Library wrapper for the host and omx implementation.

2.) EGL windowing support.

The EGL windowing needed some enhancments to get the full fange of display modes. Android needs testing if the changes do not break it.

3.) Additional pseudo 3D display modes for the PI.

We are able to use 3D modes on the PI. XBMC does not render the GUI double, this done by the firmware. For this there are new 3D modes.

4.) OMXPlayer.

OMXPlayer is an aditional player for the PI, close based on DVDPlayer. The player does not use AE out of the OMX nature. It is also able to use hardware audio decoding when the user has the licence for it.

5.) Changes to the player selection.

The default player selection in xbmc is too cosy with DVDPlayer.

6.) Build infrastructure simmiliar to android.

The forgotten points are in the source ..... ;)

huceke added some commits Aug 10, 2012

[rbp] cec: added support for the Raspberry Pi. needs libCEC v1.8.0+. …
…other targets are still supported by libCEC 1.7.0
[rbp] fixed crash in thumbnail extraction. disable all ffmpeg cpu opt…
…ions for now, until we figgured out which ones are safe to use on the PI arm core
@huceke

This comment has been minimized.

Show comment
Hide comment
@huceke

huceke Aug 13, 2012

Contributor

@opdenkamp : Do so. Thx

Contributor

huceke commented Aug 13, 2012

@opdenkamp : Do so. Thx

@huceke

This comment has been minimized.

Show comment
Hide comment
@huceke

huceke Aug 13, 2012

Contributor

@Memphiz : https://github.com/huceke/xbmc/blob/6b37a4c8ec605689aee9b8625aec0c41764f21b4/configure.in#L895 comes out of the android merge. It is not PI speciffic.

Edit: My bad, missunderstanding.

Contributor

huceke commented Aug 13, 2012

@Memphiz : https://github.com/huceke/xbmc/blob/6b37a4c8ec605689aee9b8625aec0c41764f21b4/configure.in#L895 comes out of the android merge. It is not PI speciffic.

Edit: My bad, missunderstanding.

huceke added some commits Aug 21, 2012

[rbp] fixed move RBP platform init after setup of the environment oth…
…erwise a debug build will assert in specialprotocoll.
[rbp] fixed host side forced hdmi mode. when on the host side hdmi mo…
…de is forced, we should not touch the hdmi settings.
[rbp] fixed move bcm_host_deinit after omx deinit. treat libbcm_host …
…wrapper as external library. we are already linked against libbcm_host.
@strich

This comment has been minimized.

Show comment
Hide comment
@strich

strich Aug 27, 2012

Hi,
I believe some of your work here includes a fix for downmixing AC3 audio from 5.1 to 2.0? If so, would it be more beneficial to put it into its own pull request? There are many who are suffering this issue on the various Raspberri Pi XBMC distro's (OpenElec) and it looks like this pull request is quite large!

strich commented Aug 27, 2012

Hi,
I believe some of your work here includes a fix for downmixing AC3 audio from 5.1 to 2.0? If so, would it be more beneficial to put it into its own pull request? There are many who are suffering this issue on the various Raspberri Pi XBMC distro's (OpenElec) and it looks like this pull request is quite large!

@huceke

This comment has been minimized.

Show comment
Hide comment
@huceke

huceke Aug 27, 2012

Contributor

Please have patience. Prio number one is to nail critical bugs down and get the merge done.

Contributor

huceke commented Aug 27, 2012

Please have patience. Prio number one is to nail critical bugs down and get the merge done.

@strich

This comment has been minimized.

Show comment
Hide comment
@strich

strich Aug 28, 2012

No problems huceke. Is there an ETA on this pull request?

strich commented Aug 28, 2012

No problems huceke. Is there an ETA on this pull request?

@ghost

This comment has been minimized.

Show comment
Hide comment
@ghost

ghost Aug 28, 2012

a bit longer into the future than it used to be due to all these useless questions you guys keep nagging us with. eta is when it is ready and not a minute before.

ghost commented Aug 28, 2012

a bit longer into the future than it used to be due to all these useless questions you guys keep nagging us with. eta is when it is ready and not a minute before.

@peol

This comment has been minimized.

Show comment
Hide comment
@peol

peol Sep 2, 2012

@Pezmc I'm sure we're a lot of people waiting for this to get merged, but I'd rather wait for a proper merge than having a broken main repository that might take weeks to trace bugs in (and code that doesn't follow the XBMC standards). Let them work in peace, I'm sure they'll announce it once they got it all sorted out. :)

peol commented Sep 2, 2012

@Pezmc I'm sure we're a lot of people waiting for this to get merged, but I'd rather wait for a proper merge than having a broken main repository that might take weeks to trace bugs in (and code that doesn't follow the XBMC standards). Let them work in peace, I'm sure they'll announce it once they got it all sorted out. :)

@Pezmc

This comment has been minimized.

Show comment
Hide comment
@Pezmc

Pezmc Sep 2, 2012

@peol Can't this be split into some of the major problems as separate pull requests. E.g. the force HDMI and Downmixing AC3

Pezmc commented Sep 2, 2012

@peol Can't this be split into some of the major problems as separate pull requests. E.g. the force HDMI and Downmixing AC3

@ghost ghost assigned huceke Sep 4, 2012

huceke added a commit that referenced this pull request Sep 4, 2012

@huceke huceke merged commit 45fe6fc into xbmc:master Sep 4, 2012

@ace20022

This comment has been minimized.

Show comment
Hide comment
@ace20022

ace20022 Sep 5, 2012

Member

@opdenkamp Hi Lars, I'm afraid that you forgot to upload the file to the server. If this is automated and just takes some time, I apologize.

Member

ace20022 commented on 19793b2 Sep 5, 2012

@opdenkamp Hi Lars, I'm afraid that you forgot to upload the file to the server. If this is automated and just takes some time, I apologize.

This comment has been minimized.

Show comment
Hide comment
@opdenkamp

opdenkamp Sep 5, 2012

Member

yeah indeed, there's a comment about this on the original commit/pr. i've asked in the internal irc channel whether someone can upload it.

Member

opdenkamp replied Sep 5, 2012

yeah indeed, there's a comment about this on the original commit/pr. i've asked in the internal irc channel whether someone can upload it.

@Voyager1

This comment has been minimized.

Show comment
Hide comment
@Voyager1

Voyager1 Sep 5, 2012

Member

all - there's an issue with this - all video now plays at half-height (platform = Windows). Reverting this PR solves it for me.

Member

Voyager1 commented Sep 5, 2012

all - there's an issue with this - all video now plays at half-height (platform = Windows). Reverting this PR solves it for me.

@Memphiz

This comment has been minimized.

Show comment
Hide comment
@Memphiz

Memphiz Sep 5, 2012

Member

I saw something similar on linux.

moved .xbmc away - restart - still an issue - moved .xbmc back - restart - all fine. Not sure what was wonky there.

Member

Memphiz commented Sep 5, 2012

I saw something similar on linux.

moved .xbmc away - restart - still an issue - moved .xbmc back - restart - all fine. Not sure what was wonky there.

@FernetMenta

This comment has been minimized.

Show comment
Hide comment
@FernetMenta

FernetMenta Sep 5, 2012

Member

Did some investigation. Changes in BaseRenderer seem to be wrong. I always get a wrong refresh rate chosen.

Member

FernetMenta commented Sep 5, 2012

Did some investigation. Changes in BaseRenderer seem to be wrong. I always get a wrong refresh rate chosen.

@Memphiz

This comment has been minimized.

Show comment
Hide comment
@Memphiz

Memphiz Sep 5, 2012

Member

same it doesn't switch at all (stays at 60 hz). And now i got the state again where the movie height is wrong...

Member

Memphiz commented Sep 5, 2012

same it doesn't switch at all (stays at 60 hz). And now i got the state again where the movie height is wrong...

@Memphiz

This comment has been minimized.

Show comment
Hide comment
@Memphiz

Memphiz Sep 5, 2012

Member

see this screeny https://dl.dropbox.com/u/30371861/wrongheight.png

somehow the size info is missing in the osd too isn't it?

Member

Memphiz commented Sep 5, 2012

see this screeny https://dl.dropbox.com/u/30371861/wrongheight.png

somehow the size info is missing in the osd too isn't it?

@Memphiz

This comment has been minimized.

Show comment
Hide comment
@Memphiz

Memphiz Sep 5, 2012

Member

i only get this on linux as it seems...

Member

Memphiz commented Sep 5, 2012

i only get this on linux as it seems...

@Voyager1

This comment has been minimized.

Show comment
Hide comment
@Voyager1

Voyager1 Sep 5, 2012

Member

I had it on Windows (Release) but not in the debug build... beats me :-)

Member

Voyager1 commented Sep 5, 2012

I had it on Windows (Release) but not in the debug build... beats me :-)

@Memphiz

This comment has been minimized.

Show comment
Hide comment
@Memphiz

Memphiz Sep 5, 2012

Member

correction - the wrong height also happens on osx ... its different from start to start...

Member

Memphiz commented Sep 5, 2012

correction - the wrong height also happens on osx ... its different from start to start...

@elupus

This comment has been minimized.

Show comment
Hide comment
@elupus

elupus Sep 5, 2012

Member

It should be fixed now.

Member

elupus commented Sep 5, 2012

It should be fixed now.

@elupus

This comment has been minimized.

Show comment
Hide comment
@elupus

elupus Sep 5, 2012

Member

When windows builds properly again, somebody might want to remove the
duplicate m_flags variable in that or rename the m_iFlags to m_flags
in all the other renderers.

Member

elupus commented Sep 5, 2012

When windows builds properly again, somebody might want to remove the
duplicate m_flags variable in that or rename the m_iFlags to m_flags
in all the other renderers.

@theuni

This comment has been minimized.

Show comment
Hide comment
@theuni

theuni Sep 20, 2012

Member

@huceke this breaks other arm builds.

ffmpeg should be figuring out which arm instructions to use based on the cpu it's provided with (we already pass that in). We'll need to revert this unless you can give an example of something that's not detected correctly.

Member

theuni commented on configure.in in 6b37a4c Sep 20, 2012

@huceke this breaks other arm builds.

ffmpeg should be figuring out which arm instructions to use based on the cpu it's provided with (we already pass that in). We'll need to revert this unless you can give an example of something that's not detected correctly.

This comment has been minimized.

Show comment
Hide comment
@huceke

huceke Sep 21, 2012

Contributor

With arm flags :

grep ARM lib/ffmpeg/config.h

define ARCH_ARM 1

define HAVE_ARMV5TE 1

define HAVE_ARMV6 1

define HAVE_ARMV6T2 0

define HAVE_ARMVFP 1

Without arm flags :

grep ARM lib/ffmpeg/config.h

define ARCH_ARM 1

define HAVE_ARMV5TE 1

define HAVE_ARMV6 1

define HAVE_ARMV6T2 0

define HAVE_ARMVFP 1

So i assume it should be save for the PI to revert the arm configure flags.

Please leave use_hardcoded_tables alone. This is needed on the PI. Without hardcoded tables ffmpeg crashes on the PI.

Contributor

huceke replied Sep 21, 2012

With arm flags :

grep ARM lib/ffmpeg/config.h

define ARCH_ARM 1

define HAVE_ARMV5TE 1

define HAVE_ARMV6 1

define HAVE_ARMV6T2 0

define HAVE_ARMVFP 1

Without arm flags :

grep ARM lib/ffmpeg/config.h

define ARCH_ARM 1

define HAVE_ARMV5TE 1

define HAVE_ARMV6 1

define HAVE_ARMV6T2 0

define HAVE_ARMVFP 1

So i assume it should be save for the PI to revert the arm configure flags.

Please leave use_hardcoded_tables alone. This is needed on the PI. Without hardcoded tables ffmpeg crashes on the PI.

This comment has been minimized.

Show comment
Hide comment
@theuni

theuni Sep 21, 2012

Member

Perfect, thanks.

Member

theuni replied Sep 21, 2012

Perfect, thanks.

This comment has been minimized.

Show comment
Hide comment
@pieh

pieh Sep 21, 2012

Member

friendly reminder here, arm flags are still there and because of that we can't play stuff on android now ( http://pastebin.com/EkJDJRX8 )
removing them fix that on android, but I would like someone who actually know what he's doing to look at it ;)

Member

pieh replied Sep 21, 2012

friendly reminder here, arm flags are still there and because of that we can't play stuff on android now ( http://pastebin.com/EkJDJRX8 )
removing them fix that on android, but I would like someone who actually know what he's doing to look at it ;)

@christian667 christian667 referenced this pull request in mazkolain/spotimc Oct 17, 2012

Closed

Make spotimc compatible to XBMC 12 (Frodo) #66

@ampedandwired

This comment has been minimized.

Show comment
Hide comment
@ampedandwired

ampedandwired Jan 20, 2013

Hi huceke, it seems this change has caused some playback problems for my Rdio plugin in Frodo.
Forum discussion: http://forum.xbmc.org/showthread.php?tid=152538&pid=1304505
Trac issue: http://trac.xbmc.org/ticket/13864

It seems that with this change PAPlayer now handles my rtmp stream, and it fails with "Unable to Init codec". Just trying to understand the change and how I can get my plugin working again? Are you able to provide any insight?

Hi huceke, it seems this change has caused some playback problems for my Rdio plugin in Frodo.
Forum discussion: http://forum.xbmc.org/showthread.php?tid=152538&pid=1304505
Trac issue: http://trac.xbmc.org/ticket/13864

It seems that with this change PAPlayer now handles my rtmp stream, and it fails with "Unable to Init codec". Just trying to understand the change and how I can get my plugin working again? Are you able to provide any insight?

This comment has been minimized.

Show comment
Hide comment
@davilla

davilla Jan 20, 2013

Contributor

@huceke, I'm working on a fix :) stay tuned.

Contributor

davilla replied Jan 20, 2013

@huceke, I'm working on a fix :) stay tuned.

@Rechi Rechi referenced this pull request Feb 15, 2018

Merged

[cleanup][omxplayer] remove unused headers #13551

4 of 10 tasks complete
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment