libCEC fixes

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.
Not with the new libCEC, but with the old one indeed. The old libCEC's bug won't be fixed


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

In xbmc/peripherals/devices/PeripheralCecAdapter.cpp:

> @@ -1347,8 +1347,13 @@ void CPeripheralCecAdapter::SetConfigurationFromSettings(void)
>    m_configuration.bPowerOffOnStandby = iStandbyAction == 13011 ? 1 : 0;
>    m_configuration.bShutdownOnStandby = iStandbyAction == 13005 ? 1 : 0;
>  
> -  // double tap prevention timeout in ms
> +#if defined(CEC_DOUBLE_TAP_TIMEOUT_MS_OLD)
> +  // 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");
To UINT8_MAX :)

—
Reply to this email directly or view it on GitHub.