Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package libsidplayfp for openSUSE:Factory 
checked in at 2026-08-30 19:08:42
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libsidplayfp (Old)
 and      /work/SRC/openSUSE:Factory/.libsidplayfp.new.1265 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "libsidplayfp"

Sun Aug 30 19:08:42 2026 rev:32 rq:1374700 version:3.1.1

Changes:
--------
--- /work/SRC/openSUSE:Factory/libsidplayfp/libsidplayfp.changes        
2026-08-11 17:15:52.742850900 +0200
+++ /work/SRC/openSUSE:Factory/.libsidplayfp.new.1265/libsidplayfp.changes      
2026-08-30 19:08:52.662420239 +0200
@@ -1,0 +2,6 @@
+Sun Aug 30 14:58:56 UTC 2026 - Илья Индиго <[email protected]>
+
+- Updated to 3.1.1
+  * https://github.com/libsidplayfp/libsidplayfp/releases/tag/v3.1.1
+
+-------------------------------------------------------------------

Old:
----
  libsidplayfp-3.1.0.tar.gz

New:
----
  libsidplayfp-3.1.1.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ libsidplayfp.spec ++++++
--- /var/tmp/diff_new_pack.Xsje4Z/_old  2026-08-30 19:08:53.326443213 +0200
+++ /var/tmp/diff_new_pack.Xsje4Z/_new  2026-08-30 19:08:53.330443351 +0200
@@ -19,7 +19,7 @@
 %define soname 7
 %define stilview_soname 0
 Name:           libsidplayfp
-Version:        3.1.0
+Version:        3.1.1
 Release:        0
 Summary:        A library to play Commodore 64 music
 License:        GPL-2.0-or-later

++++++ libsidplayfp-3.1.0.tar.gz -> libsidplayfp-3.1.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libsidplayfp-3.1.0/NEWS.md 
new/libsidplayfp-3.1.1/NEWS.md
--- old/libsidplayfp-3.1.0/NEWS.md      2026-08-10 16:31:25.000000000 +0200
+++ new/libsidplayfp-3.1.1/NEWS.md      2026-08-30 16:56:45.000000000 +0200
@@ -1,3 +1,9 @@
+3.1.1 2026-08-30
+* USBSID-Pico: Fix issue in reset and delay routine
+* Fixed serial port for test sdr-icr-test2-0_7f
+
+
+
 3.1.0 2026-08-10
 * Improved BSD support in configure script
 * Cleaned up shadow warnings
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libsidplayfp-3.1.0/README.md 
new/libsidplayfp-3.1.1/README.md
--- old/libsidplayfp-3.1.0/README.md    2026-08-10 16:31:25.000000000 +0200
+++ new/libsidplayfp-3.1.1/README.md    2026-08-30 16:56:45.000000000 +0200
@@ -86,6 +86,6 @@
 
 # 3rd party software
 
-* hashlib  
+* hashlib 1.1.2  
   https://github.com/Cra3z/hashlib  
   distributed under MIT license
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libsidplayfp-3.1.0/configure 
new/libsidplayfp-3.1.1/configure
--- old/libsidplayfp-3.1.0/configure    2026-08-10 16:31:31.000000000 +0200
+++ new/libsidplayfp-3.1.1/configure    2026-08-30 16:56:52.000000000 +0200
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.71 for libsidplayfp 3.1.0.
+# Generated by GNU Autoconf 2.71 for libsidplayfp 3.1.1.
 #
 #
 # Copyright (C) 1992-1996, 1998-2017, 2020-2021 Free Software Foundation,
@@ -618,8 +618,8 @@
 # Identity of this package.
 PACKAGE_NAME='libsidplayfp'
 PACKAGE_TARNAME='libsidplayfp'
-PACKAGE_VERSION='3.1.0'
-PACKAGE_STRING='libsidplayfp 3.1.0'
+PACKAGE_VERSION='3.1.1'
+PACKAGE_STRING='libsidplayfp 3.1.1'
 PACKAGE_BUGREPORT=''
 PACKAGE_URL='https://github.com/libsidplayfp/libsidplayfp/'
 
@@ -1430,7 +1430,7 @@
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures libsidplayfp 3.1.0 to adapt to many kinds of systems.
+\`configure' configures libsidplayfp 3.1.1 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1501,7 +1501,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of libsidplayfp 3.1.0:";;
+     short | recursive ) echo "Configuration of libsidplayfp 3.1.1:";;
    esac
   cat <<\_ACEOF
 
@@ -1641,7 +1641,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-libsidplayfp configure 3.1.0
+libsidplayfp configure 3.1.1
 generated by GNU Autoconf 2.71
 
 Copyright (C) 2021 Free Software Foundation, Inc.
@@ -2457,7 +2457,7 @@
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by libsidplayfp $as_me 3.1.0, which was
+It was created by libsidplayfp $as_me 3.1.1, which was
 generated by GNU Autoconf 2.71.  Invocation command line was
 
   $ $0$ac_configure_args_raw
@@ -3947,7 +3947,7 @@
 
 # Define the identity of the package.
  PACKAGE='libsidplayfp'
- VERSION='3.1.0'
+ VERSION='3.1.1'
 
 
 printf "%s\n" "#define PACKAGE \"$PACKAGE\"" >>confdefs.h
@@ -4053,7 +4053,7 @@
 
 LIB_MAJOR=3
 LIB_MINOR=1
-LIB_LEVEL=0
+LIB_LEVEL=1
 
 
 
@@ -22012,7 +22012,7 @@
 # If any interfaces have been removed or changed since the last public 
release, then set age to 0.
 
 LIBSIDPLAYCUR=15
-LIBSIDPLAYREV=0
+LIBSIDPLAYREV=1
 LIBSIDPLAYAGE=8
 LIBSIDPLAYVERSION=$LIBSIDPLAYCUR:$LIBSIDPLAYREV:$LIBSIDPLAYAGE
 
@@ -24571,7 +24571,7 @@
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by libsidplayfp $as_me 3.1.0, which was
+This file was extended by libsidplayfp $as_me 3.1.1, which was
 generated by GNU Autoconf 2.71.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -24640,7 +24640,7 @@
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config='$ac_cs_config_escaped'
 ac_cs_version="\\
-libsidplayfp config.status 3.1.0
+libsidplayfp config.status 3.1.1
 configured by $0, generated by GNU Autoconf 2.71,
   with options \\"\$ac_cs_config\\"
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libsidplayfp-3.1.0/configure.ac 
new/libsidplayfp-3.1.1/configure.ac
--- old/libsidplayfp-3.1.0/configure.ac 2026-08-10 16:31:25.000000000 +0200
+++ new/libsidplayfp-3.1.1/configure.ac 2026-08-30 16:56:45.000000000 +0200
@@ -1,6 +1,6 @@
 m4_define([lib_major], [3])
 m4_define([lib_minor], [1])
-m4_define([lib_level], [0])
+m4_define([lib_level], [1])
 m4_define([lib_version], [lib_major.lib_minor.lib_level])
 
 AC_PREREQ([2.62])
@@ -106,7 +106,7 @@
 # If any interfaces have been removed or changed since the last public 
release, then set age to 0.
 
 LIBSIDPLAYCUR=15
-LIBSIDPLAYREV=0
+LIBSIDPLAYREV=1
 LIBSIDPLAYAGE=8
 LIBSIDPLAYVERSION=$LIBSIDPLAYCUR:$LIBSIDPLAYREV:$LIBSIDPLAYAGE
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/libsidplayfp-3.1.0/src/builders/usbsid-builder/driver/src/USBSID.cpp 
new/libsidplayfp-3.1.1/src/builders/usbsid-builder/driver/src/USBSID.cpp
--- old/libsidplayfp-3.1.0/src/builders/usbsid-builder/driver/src/USBSID.cpp    
2026-08-10 16:31:27.000000000 +0200
+++ new/libsidplayfp-3.1.1/src/builders/usbsid-builder/driver/src/USBSID.cpp    
2026-08-30 16:56:48.000000000 +0200
@@ -855,6 +855,8 @@
 void USBSID_Class::USBSID_ResetRingBuffer(void)
 {
   us_ringbuffer.ring_read = us_ringbuffer.ring_write = 0;
+  buffer_pos = 1;
+  flush_buffer = 0;
   return;
 }
 
@@ -965,8 +967,45 @@
 
 void USBSID_Class::USBSID_FlushBuffer(void)
 {
-  if (threaded && flush_buffer == 1
-    && ((withcycles == 1)
+  if (!threaded || flush_buffer != 1) {
+    flush_buffer = 0;
+    return;
+  }
+
+  /* The flush is a deadline, so whatever is still waiting in the ring belongs
+   * in this packet.
+   *
+   * Without this the ring is only ever drained by USBSID_Thread(), which stops
+   * while fewer than diff_size bytes are waiting, and a packet only goes out
+   * once it reaches 61 bytes on withcycles. A write therefore waits behind up 
to
+   * 15 + (diff_size / 4) writes, and what that costs is a time that moves with
+   * how fast the caller happens to be writing: about 2 ms during a volume
+   * register digi at ten thousand writes a second, and a quarter of a second
+   * once the sample ends and an ordinary tune writes its registers once a
+   * frame. Ghostbusters.sid is both in turn, and the notes after its speech
+   * arrived up to 229 ms late. No value of diff_size fixes that, because the
+   * 15 writes sitting in the packet are not diff_size's to give back.
+   *
+   * The fill is worked out here rather than with USBSID_RingDiff(), which
+   * returns the free space instead of the fill once ring_read has passed
+   * ring_write.
+   *
+   * The loop always consumes a whole record or exits, so it cannot spin. The
+   * thread's own drain loop and diff_size are deliberately left alone: leaving
+   * that loop is the only thing that reaches libusb_handle_events(), and a
+   * drain condition that cannot be satisfied hangs playback outright. */
+  const int rec = (withcycles == 1) ? 4 : 2;
+  const int cap = (withcycles == 1) ? 61 : 63;
+  int waiting = (us_ringbuffer.ring_write - us_ringbuffer.ring_read
+                 + ring_size) % ring_size;
+  while (waiting >= rec && (buffer_pos + rec) <= cap) {
+    for (int i = 0; i < rec; i++) {
+      thread_buffer[buffer_pos++] = USBSID_RingGet();
+    }
+    waiting -= rec;
+  }
+
+  if (((withcycles == 1)
     ? (buffer_pos >= 5)
     : (buffer_pos >= 3))) {
     thread_buffer[0] = (withcycles == 1)
@@ -1158,7 +1197,7 @@
    * automatically around libusb_claim_interface / libusb_release_interface. */
   rc = libusb_set_auto_detach_kernel_driver(devh, 1);
   if (rc == LIBUSB_ERROR_NOT_SUPPORTED) {
-    /* Not supported on this platform (Windows/older libusb) — ignore */
+    /* Not supported on this platform (Windows/older libusb) - ignore */
     rc = 0;
   } else if (rc < 0) {
     USBERR(stderr, "[USBSID] Error setting auto detach kernel driver: %d %s: 
%s\r\n", rc, libusb_error_name(rc), libusb_strerror(rc));
@@ -1181,12 +1220,12 @@
     int start_if = 0;
     int end_if = 2;
 
-    for (int if_num = start_if; if_num < end_if; if_num++) {
-      if (libusb_kernel_driver_active(devh, if_num)) {
-        rc = libusb_detach_kernel_driver(devh, if_num);
-        USBERR(stderr, "[USBSID] Error, in libusb_detach_kernel_driver: %d, 
%s: %s\n", rc, libusb_error_name(rc), libusb_strerror(rc));
-      }
-      rc = libusb_release_interface(devh, if_num);
+    libusb_release_interface(devh, 0);
+    libusb_release_interface(devh, 1);
+
+    rc = libusb_attach_kernel_driver(devh, 0);
+    if (rc < 0 && rc != LIBUSB_ERROR_NOT_FOUND) {
+      fprintf(stderr, "Attach error on interface 0: %s\n", 
libusb_error_name(rc));
     }
 #endif
     libusb_close(devh);
@@ -1241,7 +1280,7 @@
     end_if = 2;
 #endif
   for (int if_num = start_if; if_num < end_if; if_num++) {
-    if (libusb_kernel_driver_active(devh, if_num)) {
+    if (libusb_kernel_driver_active(devh, if_num) == 1) {
       libusb_detach_kernel_driver(devh, if_num);
     }
     rc = libusb_claim_interface(devh, if_num);
@@ -1497,7 +1536,7 @@
   if (ctx) {
     libusb_exit(ctx);
   }
-    ctx = NULL;
+  ctx = NULL;
   rc = -1;
   devh = NULL;
   USBDBG(stdout, "[USBSID] Closed USB device\r\n");
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/libsidplayfp-3.1.0/src/builders/usbsid-builder/driver/src/USBSID.h 
new/libsidplayfp-3.1.1/src/builders/usbsid-builder/driver/src/USBSID.h
--- old/libsidplayfp-3.1.0/src/builders/usbsid-builder/driver/src/USBSID.h      
2026-08-10 16:31:27.000000000 +0200
+++ new/libsidplayfp-3.1.1/src/builders/usbsid-builder/driver/src/USBSID.h      
2026-08-30 16:56:48.000000000 +0200
@@ -381,7 +381,6 @@
       pthread_t us_ptid;
 
       /* Ringbuffer */
-      void USBSID_ResetRingBuffer(void);
       void USBSID_InitRingBuffer(int buffer_size, int differ_size);
       void USBSID_InitRingBuffer(void);
       void USBSID_DeInitRingBuffer(void);
@@ -462,6 +461,7 @@
       void USBSID_Flush(void);                                                 
/* Set flush buffer flag to 1 and flushes the buffer */
       void USBSID_SetBufferSize(int size);                                     
/* Set the buffer size for storing writes */
       void USBSID_SetDiffSize(int size);                                       
/* Set the minimum size difference between head & tail */
+      void USBSID_ResetRingBuffer(void);                                       
/* Resets the ringbuffer to default state */
       void USBSID_RestartRingBuffer(void);                                     
/* Restart the ringbuffer */
 
       /* Thread utils */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/libsidplayfp-3.1.0/src/builders/usbsid-builder/usbsid-emu.cpp 
new/libsidplayfp-3.1.1/src/builders/usbsid-builder/usbsid-emu.cpp
--- old/libsidplayfp-3.1.0/src/builders/usbsid-builder/usbsid-emu.cpp   
2026-08-10 16:31:25.000000000 +0200
+++ new/libsidplayfp-3.1.1/src/builders/usbsid-builder/usbsid-emu.cpp   
2026-08-30 16:56:45.000000000 +0200
@@ -70,6 +70,8 @@
 
     m_delayClk = 0;
     if (sidno == 0) {
+        m_sid.USBSID_ResetRingBuffer();
+        m_sid.USBSID_ResetAllRegisters();
         m_sid.USBSID_Reset();
         m_sid.USBSID_UnMute();
     }
@@ -80,8 +82,8 @@
 
 event_clock_t USBSID::delay()
 {
-    event_clock_t cycles = eventScheduler->getTime(EVENT_CLOCK_PHI1) - 
m_delayClk;
-    // event_clock_t cycles = eventScheduler->getTime(EVENT_CLOCK_PHI1) - 
(m_delayClk - 1);
+    event_clock_t cycles = (eventScheduler->getTime(EVENT_CLOCK_PHI1) - 
m_delayClk);
+    cycles = ((cycles > 0) ? (cycles - 1) : cycles);
     m_delayClk += cycles;
     while (cycles > 0xffff)
     {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libsidplayfp-3.1.0/src/c64/CIA/SerialPort.cpp 
new/libsidplayfp-3.1.1/src/c64/CIA/SerialPort.cpp
--- old/libsidplayfp-3.1.0/src/c64/CIA/SerialPort.cpp   2026-08-10 
16:31:25.000000000 +0200
+++ new/libsidplayfp-3.1.1/src/c64/CIA/SerialPort.cpp   2026-08-30 
16:56:45.000000000 +0200
@@ -59,6 +59,15 @@
 void SerialPort::switchSerialDirection(bool input)
 {
     syncCntHistory();
+/*
+ https://sourceforge.net/p/vice-emu/code/45957/
+ 
https://github.com/piciji/denise/commit/f8f02f5cb54fae93435a3d8669e56d75c4f538c8
+*/
+    if ((count > 1 && count < 15) || (count == 15 && !(cntHistory & 0x4)))
+    {
+        eventScheduler.cancel(*this);
+        eventScheduler.schedule(*this, 2);
+    }
 
     if (input)
     {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libsidplayfp-3.1.0/src/libs/hashlib/README.md 
new/libsidplayfp-3.1.1/src/libs/hashlib/README.md
--- old/libsidplayfp-3.1.0/src/libs/hashlib/README.md   2026-08-10 
16:31:25.000000000 +0200
+++ new/libsidplayfp-3.1.1/src/libs/hashlib/README.md   2026-08-30 
16:56:45.000000000 +0200
@@ -62,7 +62,7 @@
 
 | Option | Default | Description            |
 |--------|---------|------------------------|
-| HASHLIB_TESTS | ON      | enable tests           |
+| HASHLIB_TESTS | ON for top-level builds, OFF for subprojects | enable tests |
 | HASHLIB_BUILD_SINGLE_HEADER | OFF     | generate single header |
 | HASHLIB_BUILD_MODULE | OFF     | generate C++20 module  |
 
@@ -78,6 +78,20 @@
 cmake -S . -B <your-build-dir> -DHASHLIB_BUILD_MODULE=ON
 ```
 
+### using CPM
+Yan can use [CPM](https://github.com/cpm-cmake/CPM.cmake) to fetch and 
configure `hashlib` automatically from your `CMakeLists.txt`:
+```cmake
+CPMAddPackage(
+    NAME hashlib
+    GITHUB_REPOSITORY Cra3z/hashlib
+    GIT_TAG v1.1.2
+    OPTIONS
+    "HASHLIB_TESTS OFF"
+)
+
+target_link_libraries(<your-target> PRIVATE hashlib::hashlib)
+```
+
 ### using conan package manager
 You can also install hashlib by [conan package 
manager](https://github.com/conan-io).
 ```shell
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libsidplayfp-3.1.0/src/libs/hashlib/config.hpp 
new/libsidplayfp-3.1.1/src/libs/hashlib/config.hpp
--- old/libsidplayfp-3.1.0/src/libs/hashlib/config.hpp  2026-08-10 
16:31:25.000000000 +0200
+++ new/libsidplayfp-3.1.1/src/libs/hashlib/config.hpp  2026-08-30 
16:56:45.000000000 +0200
@@ -7,7 +7,7 @@
 #endif
 #endif
 
-#define HASHLIB_VERSION "1.1.1"
+#define HASHLIB_VERSION "1.1.2"
 
 #ifdef _MSVC_LANG
 #define HASHLIB_CXX_STANDARD _MSVC_LANG
@@ -86,4 +86,4 @@
 #endif
 #else
 #define HASHLIB_NODISCARD
-#endif
\ No newline at end of file
+#endif

Reply via email to