Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package libcec for openSUSE:Factory checked in at 2026-07-28 18:17:41 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/libcec (Old) and /work/SRC/openSUSE:Factory/.libcec.new.2004 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libcec" Tue Jul 28 18:17:41 2026 rev:18 rq:1368128 version:8.1.1 Changes: -------- --- /work/SRC/openSUSE:Factory/libcec/libcec.changes 2026-07-26 11:32:43.235490434 +0200 +++ /work/SRC/openSUSE:Factory/.libcec.new.2004/libcec.changes 2026-07-28 18:19:45.282400116 +0200 @@ -1,0 +2,11 @@ +Tue Jul 28 06:03:35 UTC 2026 - Martin Pluskal <[email protected]> + +- Update to version 8.1.1: + * Never return a zero keypress poll delay, which would stall the + processor + * Make double-tap deduplication opt-in, defaulting + iDoubleTapTimeoutMs to 0 + * Revert sending a Panasonic user-control power-on together with + image-view-on + +------------------------------------------------------------------- Old: ---- libcec-8.1.0.tar.gz New: ---- libcec-8.1.1.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ libcec.spec ++++++ --- /var/tmp/diff_new_pack.2pAxOQ/_old 2026-07-28 18:19:50.550583939 +0200 +++ /var/tmp/diff_new_pack.2pAxOQ/_new 2026-07-28 18:19:50.554584079 +0200 @@ -21,7 +21,7 @@ %define libname %{name}%{sover} %bcond_with enable_rpi_build Name: libcec -Version: 8.1.0 +Version: 8.1.1 Release: 0 Summary: Library to control devices with TV remote control via HDMI License: GPL-2.0-or-later ++++++ libcec-8.1.0.tar.gz -> libcec-8.1.1.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libcec-libcec-8.1.0/CMakeLists.txt new/libcec-libcec-8.1.1/CMakeLists.txt --- old/libcec-libcec-8.1.0/CMakeLists.txt 2026-07-24 14:02:05.000000000 +0200 +++ new/libcec-libcec-8.1.1/CMakeLists.txt 2026-07-27 20:51:45.000000000 +0200 @@ -3,7 +3,7 @@ set(LIBCEC_VERSION_MAJOR 8) set(LIBCEC_VERSION_MINOR 1) -set(LIBCEC_VERSION_PATCH 0) +set(LIBCEC_VERSION_PATCH 1) if(NOT WIN32) # set here rather than in CheckPlatformSupport.cmake, which only gets included diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libcec-libcec-8.1.0/debian/changelog.in new/libcec-libcec-8.1.1/debian/changelog.in --- old/libcec-libcec-8.1.0/debian/changelog.in 2026-07-24 14:02:05.000000000 +0200 +++ new/libcec-libcec-8.1.1/debian/changelog.in 2026-07-27 20:51:45.000000000 +0200 @@ -1,3 +1,12 @@ +libcec (8.1.1.1~#DIST#) #DIST#; urgency=medium + + [ Lars Op den Kamp ] + * fixed: never return a 0 keypress poll delay, which could stall the processor thread until the next incoming frame instead of servicing the next keypress deadline + * changed: make double-tap dedup opt-in by defaulting iDoubleTapTimeoutMs to 0, restoring 7.1.1 keypress behaviour for clients on the defaults (Kodi); set it >0 to enable. Panasonic (VL) still turns it on automatically (#722) + * fixed: revert sending a user control power on keypress alongside image view on to Panasonic Viera sets (#511); the box sprayed power-on keypresses at an already-on set on every active-source retry after a standby/wake, and the TV then stopped routing the remote to it (#722) + + -- Lars Op den Kamp <[email protected]> Mon, 27 Jul 2026 20:42:54 +0200 + libcec (8.1.0.1~#DIST#) #DIST#; urgency=medium [ Lars Op den Kamp ] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libcec-libcec-8.1.0/include/cectypes.h new/libcec-libcec-8.1.1/include/cectypes.h --- old/libcec-libcec-8.1.0/include/cectypes.h 2026-07-24 14:02:05.000000000 +0200 +++ new/libcec-libcec-8.1.1/include/cectypes.h 2026-07-27 20:51:45.000000000 +0200 @@ -1592,7 +1592,7 @@ uint32_t iComboKeyTimeoutMs; /*!< timeout until the combo key is sent as normal keypress */ uint32_t iButtonRepeatRateMs; /*!< rate at which buttons autorepeat. 0 means rely on CEC device */ uint32_t iButtonReleaseDelayMs;/*!< duration after last update until a button is considered released */ - uint32_t iDoubleTapTimeoutMs; /*!< prevent double taps within this timeout. defaults to 200ms. added in 4.0.0 */ + uint32_t iDoubleTapTimeoutMs; /*!< suppress a repeated same-key press/release within this many ms (double-tap dedup). 0 (default) disables it so every press is forwarded; set >0 (e.g. CEC_DOUBLE_TAP_TIMEOUT_MS = 200) to enable. added in 4.0.0 */ uint8_t bAutoWakeAVR; /*!< set to 1 to automatically waking an AVR when the source is activated. added in 4.0.0 */ #if CEC_LIB_VERSION_MAJOR >= 5 uint8_t bAutoPowerOn; /*!< set to 1 and save eeprom config to wake the tv when usb is powered. added in 5.0.0 / fw v9 */ @@ -1673,7 +1673,7 @@ bMonitorOnly = 0; cecVersion = (cec_version)CEC_DEFAULT_SETTING_CEC_VERSION; adapterType = ADAPTERTYPE_UNKNOWN; - iDoubleTapTimeoutMs = CEC_DOUBLE_TAP_TIMEOUT_MS; + iDoubleTapTimeoutMs = 0; // opt-in: 0 disables double-tap dedup. Panasonic (VL) forces CEC_DOUBLE_TAP_TIMEOUT_MS on when unset comboKey = CEC_USER_CONTROL_CODE_STOP; iComboKeyTimeoutMs = CEC_DEFAULT_COMBO_TIMEOUT_MS; iButtonRepeatRateMs = 0; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libcec-libcec-8.1.0/src/libcec/CECClient.cpp new/libcec-libcec-8.1.1/src/libcec/CECClient.cpp --- old/libcec-libcec-8.1.0/src/libcec/CECClient.cpp 2026-07-24 14:02:05.000000000 +0200 +++ new/libcec-libcec-8.1.1/src/libcec/CECClient.cpp 2026-07-27 20:51:45.000000000 +0200 @@ -1282,7 +1282,13 @@ if (key.keycode != CEC_USER_CONTROL_CODE_UNKNOWN) QueueAddKey(key); - return (uint16_t)timeout; + // never return 0. this is the delay after which the processor thread should + // poll us again, and it hands it straight to CCECInputBuffer::Pop(), where 0 + // means "wait forever" -- the opposite of SyncedBuffer::Pop(), where 0 means + // "return immediately". a 0 slipping out of the arithmetic above would park + // the processor on the input queue until the next incoming frame instead of + // servicing the next keypress deadline, so clamp to a 1ms poll. + return (uint16_t)std::max<uint64_t>(timeout, 1); } void CCECClient::ResetKeypressState(void) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libcec-libcec-8.1.0/src/libcec/implementations/VLCommandHandler.cpp new/libcec-libcec-8.1.1/src/libcec/implementations/VLCommandHandler.cpp --- old/libcec-libcec-8.1.0/src/libcec/implementations/VLCommandHandler.cpp 2026-07-24 14:02:05.000000000 +0200 +++ new/libcec-libcec-8.1.1/src/libcec/implementations/VLCommandHandler.cpp 2026-07-27 20:51:45.000000000 +0200 @@ -298,20 +298,6 @@ return CCECCommandHandler::HandleSystemAudioModeRequest(command); } -bool CVLCommandHandler::PowerOn(const cec_logical_address iInitiator, const cec_logical_address iDestination) -{ - if (iDestination != CECDEVICE_TV) - return CCECCommandHandler::PowerOn(iInitiator, iDestination); - - // some Panasonic Viera sets feature abort 'image view on' and only wake from a - // user control power keypress. send both; power on function isn't a toggle, so - // it's harmless when the set is already on. - bool bReturn = TransmitImageViewOn(iInitiator, iDestination); - return TransmitKeypress(iInitiator, iDestination, CEC_USER_CONTROL_CODE_POWER_ON_FUNCTION) && - TransmitKeyRelease(iInitiator, iDestination) && - bReturn; -} - int CVLCommandHandler::HandleReportPowerStatus(const cec_command &command) { if (command.initiator == m_busDevice->GetLogicalAddress() && diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libcec-libcec-8.1.0/src/libcec/implementations/VLCommandHandler.h new/libcec-libcec-8.1.1/src/libcec/implementations/VLCommandHandler.h --- old/libcec-libcec-8.1.0/src/libcec/implementations/VLCommandHandler.h 2026-07-24 14:02:05.000000000 +0200 +++ new/libcec-libcec-8.1.1/src/libcec/implementations/VLCommandHandler.h 2026-07-27 20:51:45.000000000 +0200 @@ -60,8 +60,6 @@ bool SourceSwitchAllowed(void); - bool PowerOn(const cec_logical_address iInitiator, const cec_logical_address iDestination); - protected: void VendorPreActivateSourceHook(void); void SendVendorCommandCapabilities(const cec_logical_address initiator, const cec_logical_address destination);
