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

Reply via email to