Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

libCEC fixes #5610

Merged
merged 8 commits into from
Nov 1, 2014
Merged

libCEC fixes #5610

merged 8 commits into from
Nov 1, 2014

Conversation

opdenkamp
Copy link
Member

This PR updates libCEC to v2.2.0, which is binary compatible with the previous version 2.1.4, and addresses a number of issues that have been reported in 2.1.4:

  • deadlock on exit in XBMC because of CEC_ALERT_CONNECTION_LOST callback while closing the connection
  • vendor specific handlers weren't used for Toshiba and Onkyo
  • various Raspberry Pi fixes
  • physical address is now read from xrandr, removing the need to change the "connected to HDMI device" and "HDMI port number" settings on most Linux installations. The settings will be hidden when the address is autodetected

I've also fixed some other issues with CEC in XBMC:

  • double tap timeout never worked correctly, because we put '2000' in a byte
  • no more 2% CPU spike every 5 seconds on a Pi
  • fixed garbage returned by CEC related appmessenger methods

@wsnipex packages are being build on our PPA https://launchpad.net/~pulse-eight/+archive/ubuntu/libcec
@Karlson2k you wanted an x64 build of it last time because you were playing with x64 builds on windows. I've uploaded it to the mirror in case you still need it.

@opdenkamp opdenkamp added Type: Fix non-breaking change which fixes an issue Type: Improvement non-breaking change which improves existing functionality Helix labels Oct 31, 2014
@opdenkamp
Copy link
Member Author

jenkins build this please

@opdenkamp
Copy link
Member Author

forgot to ping you too @sraue, sorry ;-)

@Karlson2k
Copy link
Member

@opdenkamp Thanks for x64. Could you include x64 in future updates too?

@opdenkamp
Copy link
Member Author

@Karlson2k sure
@topfs2 because the new libCEC got copied to the Team PPA by @wsnipex already and because opdenkamp@3bc733e isn't included in XBMC yet, XBMC will be rebuilt tonight and use client API version 2.2.0, which will make libCEC assume that it's got these patches included. More specifically: opdenkamp@a15e66d . This will cause libCEC to use a huge "double tap timeout" value, and ignore each key press with the same keycode after the first press for a long time.
In short: unless this PR is pulled in or the new libCEC is removed from the PPA before 1AM tonight, CEC support will pretty much be broken in the next nightly.
opdenkamp@3bc733e will prevent this from happening again in the future.

@Karlson2k
Copy link
Member

@opdenkamp If you'd like to use new win32 package format: Karlson2k/xbmc@opdenkamp:libcec-2.2.0...libcec-2.2.0
Repacked package uploaded to mirrors.

@opdenkamp
Copy link
Member Author

okay thanks, will include it

@Karlson2k
Copy link
Member

@opdenkamp You may also want to update text to Kodi/XBMC instead of XBMC. 😄

@opdenkamp
Copy link
Member Author

@Karlson2k there isn't really something saner to use for that ifdef check at compile time now, and it's only temporary, so I'll keep it like this for now.
I've updated the CEC device name to Kodi

@Karlson2k
Copy link
Member

@opdenkamp As it's temporary and you'll manage to remove it soon anyway, I think it's not really important.

@opdenkamp
Copy link
Member Author

yeah indeed, got more important things to do ;-)
included your packaging change

@opdenkamp
Copy link
Member Author

jenkins build this please

@opdenkamp opdenkamp force-pushed the libcec-2.2.0 branch 2 times, most recently from b0c3178 to b38a4e4 Compare October 31, 2014 19:16
@opdenkamp
Copy link
Member Author

@MartijnKaijser pushed a fix for the OS X build thing.
jenkins build this please

@MartijnKaijser
Copy link
Member

started it manual as it screwed up on fetching OSX
http://jenkins.kodi.tv/job/BuildMulti-PR-Manually/36/

// double tap prevention timeout in ms. libCEC uses 50ms units for this in 2.2.0, so divide by 50
m_configuration.iDoubleTapTimeout50Ms = GetSettingInt("double_tap_timeout_ms") / 50;
#else
// backwards compatibility. will be removed once the next major release of libCEC is out
m_configuration.iDoubleTapTimeoutMs = GetSettingInt("double_tap_timeout_ms");

This comment was marked as spam.

This comment was marked as spam.

This comment was marked as spam.

This comment was marked as spam.

This comment was marked as spam.

This comment was marked as spam.

@MartijnKaijser
Copy link
Member

osx failed again. http://jenkins.kodi.tv/job/OSX-32/2237/console

@opdenkamp
Copy link
Member Author

Ok I'm not around the pc atm so can't check it. Only had 5 minutes and thought it would have worked ;)

@wsnipex can you revert the ppa thing please. Or just ignore broken CEC for a day, it's not that big of a problem for a testing ppa imo.

-------- Oorspronkelijk bericht --------
Van: Martijn Kaijser notifications@github.com
Datum:31-10-2014 21:53 (GMT+01:00)
Aan: xbmc/xbmc xbmc@noreply.github.com
Cc: Lars Op den Kamp opdenkamp@gmail.com
Onderwerp: Re: [xbmc] libCEC fixes (#5610)

osx failed again. http://jenkins.kodi.tv/job/OSX-32/2237/console


Reply to this email directly or view it on GitHub.

@opdenkamp
Copy link
Member Author

I see what went wrong. It got fixed in libCEC's configure.ac, but the package still included the old version of the file, I suppose because I started the script before it got fully pushed. That's what you get when you try to get something done quickly before leaving ;-)

jenkins build this please

@opdenkamp
Copy link
Member Author

stupid jenkins didn't pull the last changes and still built the previous one, so obviously it failed again...
jenkins build this please and pull the changes before building this time!

@opdenkamp
Copy link
Member Author

jenkins is happy now

opdenkamp pushed a commit that referenced this pull request Nov 1, 2014
@opdenkamp opdenkamp merged commit cae8daf into xbmc:master Nov 1, 2014
@opdenkamp opdenkamp deleted the libcec-2.2.0 branch November 1, 2014 15:03
@MartijnKaijser MartijnKaijser added this to the Helix 14.0-alpha5 milestone Nov 1, 2014
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Type: Fix non-breaking change which fixes an issue Type: Improvement non-breaking change which improves existing functionality
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

6 participants