Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package noson for openSUSE:Factory checked in at 2023-02-15 13:40:54 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/noson (Old) and /work/SRC/openSUSE:Factory/.noson.new.22824 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "noson" Wed Feb 15 13:40:54 2023 rev:13 rq:1065869 version:2.10.1 Changes: -------- --- /work/SRC/openSUSE:Factory/noson/noson.changes 2022-08-16 17:07:31.591839133 +0200 +++ /work/SRC/openSUSE:Factory/.noson.new.22824/noson.changes 2023-02-15 13:41:18.295026738 +0100 @@ -1,0 +2,9 @@ +Mon Feb 13 10:57:51 UTC 2023 - Andrea Manzini <[email protected]> + +- Update to 2.10.1. No changelog. + * fix skip of id3 extended header + * full fix for empty namespace + * handle null namespace + * add helper to create or destroy radio station + +------------------------------------------------------------------- Old: ---- noson-2.8.6.tar.gz New: ---- noson-2.10.1.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ noson.spec ++++++ --- /var/tmp/diff_new_pack.Hfxdhy/_old 2023-02-15 13:41:18.743029101 +0100 +++ /var/tmp/diff_new_pack.Hfxdhy/_new 2023-02-15 13:41:18.747029122 +0100 @@ -1,7 +1,7 @@ # # spec file for package noson # -# Copyright (c) 2022 SUSE LLC +# Copyright (c) 2023 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -17,7 +17,7 @@ Name: noson -Version: 2.8.6 +Version: 2.10.1 Release: 0 Summary: C++ library for accessing sonos devices License: GPL-3.0-or-later ++++++ noson-2.8.6.tar.gz -> noson-2.10.1.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/noson-2.8.6/noson/CMakeLists.txt new/noson-2.10.1/noson/CMakeLists.txt --- old/noson-2.8.6/noson/CMakeLists.txt 2022-02-23 19:01:32.000000000 +0100 +++ new/noson-2.10.1/noson/CMakeLists.txt 2023-02-01 21:24:43.000000000 +0100 @@ -8,8 +8,8 @@ ############################################################################### # set lib version here set (noson_VERSION_MAJOR 2) -set (noson_VERSION_MINOR 8) -set (noson_VERSION_PATCH 6) +set (noson_VERSION_MINOR 10) +set (noson_VERSION_PATCH 1) set (noson_VERSION ${noson_VERSION_MAJOR}.${noson_VERSION_MINOR}.${noson_VERSION_PATCH}) set (NOSON_LIB_VERSION ${noson_VERSION}) @@ -26,8 +26,8 @@ set (CMAKE_CXX_FLAGS_MINSIZEREL "${CMAKE_CXX_FLAGS_MINSIZEREL} /O2 /EHsc /nologo") set (CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} /O2 /EHsc /nologo") set (CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} /W3 /Od /RTC1 /EHsc /nologo") - set( CMAKE_SHARED_LIBRARY_PREFIX "lib" ) - set( CMAKE_STATIC_LIBRARY_PREFIX "lib" ) + set (CMAKE_SHARED_LIBRARY_PREFIX "lib") + set (CMAKE_STATIC_LIBRARY_PREFIX "lib") endif () set (CMAKE_POSITION_INDEPENDENT_CODE ON) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/noson-2.8.6/noson/cmake/MSVCRuntime.cmake new/noson-2.10.1/noson/cmake/MSVCRuntime.cmake --- old/noson-2.8.6/noson/cmake/MSVCRuntime.cmake 2022-02-23 19:01:32.000000000 +0100 +++ new/noson-2.10.1/noson/cmake/MSVCRuntime.cmake 2023-02-01 21:24:43.000000000 +0100 @@ -38,12 +38,6 @@ endif() endforeach() - set(CMAKE_CXX_FLAGS "${CMAKE_C_FLAGS}") - set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG}") - set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE}") - set(CMAKE_CXX_FLAGS_MINSIZEREL "${CMAKE_C_FLAGS_MINSIZEREL}") - set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS_RELWITHDEBINFO}") - foreach(variable ${variables}) set(${variable} "${${variable}}" CACHE STRING "MSVC_${variable}" FORCE) endforeach() diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/noson-2.8.6/noson/src/contentdirectory.cpp new/noson-2.10.1/noson/src/contentdirectory.cpp --- old/noson-2.8.6/noson/src/contentdirectory.cpp 2022-02-23 19:01:32.000000000 +0100 +++ new/noson-2.10.1/noson/src/contentdirectory.cpp 2023-02-01 21:24:43.000000000 +0100 @@ -216,7 +216,7 @@ {"A:COMPOSER", "Composer"}, {"A:ARTIST", "Contributor"}, {"A:PLAYLISTS", "Playlist"}, - {"R:0", "Radio"}, + {"R:0/0", "RadioStation"}, {"Q:0", "Queue"}, {"SQ:", "SONOS Playlist"}, {"S:", "Share"}, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/noson-2.8.6/noson/src/contentdirectory.h new/noson-2.10.1/noson/src/contentdirectory.h --- old/noson-2.8.6/noson/src/contentdirectory.h 2022-02-23 19:01:32.000000000 +0100 +++ new/noson-2.10.1/noson/src/contentdirectory.h 2023-02-01 21:24:43.000000000 +0100 @@ -94,7 +94,7 @@ SearchComposer, SearchContributor, SearchPlaylist, - SearchRadio, + SearchRadioStation, SearchQueue, SearchSonosPlaylist, SearchShare, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/noson-2.8.6/noson/src/filepicreader.cpp new/noson-2.10.1/noson/src/filepicreader.cpp --- old/noson-2.8.6/noson/src/filepicreader.cpp 2022-02-23 19:01:32.000000000 +0100 +++ new/noson-2.10.1/noson/src/filepicreader.cpp 2023-02-01 21:24:43.000000000 +0100 @@ -667,15 +667,11 @@ /* skip extended header */ unsigned int extended_header_size; char extended_header_data[6]; - bool crc; - if (fread(extended_header_data, 1, 4, file) != 4) + if (fread(extended_header_data, 1, 6, file) != 6) return -1; extended_header_size = (unsigned)read32be(extended_header_data); - crc = extended_header_data[5] & 0x8000; - - *ptag_size += extended_header_size + (crc * 4); fseek(file, extended_header_size - 6, SEEK_CUR); frame_data_pos += extended_header_size; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/noson-2.8.6/noson/src/private/builtin.c new/noson-2.10.1/noson/src/private/builtin.c --- old/noson-2.8.6/noson/src/private/builtin.c 2022-02-23 19:01:32.000000000 +0100 +++ new/noson-2.10.1/noson/src/private/builtin.c 2023-02-01 21:24:43.000000000 +0100 @@ -406,6 +406,6 @@ tz->tz_dir = minutes < 0 ? (-1) : 1; tz->tz_hour = tz->tz_dir * minutes / 60; tz->tz_min = tz->tz_dir * ( minutes - tz->tz_hour * 60 ); - sprintf(tz->tz_str, "%+2.2d:%2.2d", tz->tz_dir * tz->tz_hour, tz->tz_min); + sprintf(tz->tz_str, "%+2.2d:%2.2d", tz->tz_dir * tz->tz_hour, (unsigned)(tz->tz_min) % 60); return tz; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/noson-2.8.6/noson/src/private/os/threads/timeout.h new/noson-2.10.1/noson/src/private/os/threads/timeout.h --- old/noson-2.8.6/noson/src/private/os/threads/timeout.h 2022-02-23 19:01:32.000000000 +0100 +++ new/noson-2.10.1/noson/src/private/os/threads/timeout.h 2023-02-01 21:24:43.000000000 +0100 @@ -24,6 +24,8 @@ #if defined(__APPLE__) #include <mach/mach_time.h> +#elif defined(__linux__) +#include <time.h> #endif #ifdef NSROOT diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/noson-2.8.6/noson/src/private/xmldict.cpp new/noson-2.10.1/noson/src/private/xmldict.cpp --- old/noson-2.8.6/noson/src/private/xmldict.cpp 2022-02-23 19:01:32.000000000 +0100 +++ new/noson-2.10.1/noson/src/private/xmldict.cpp 2023-02-01 21:24:43.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 2016 Jean-Luc Barriere + * Copyright (C) 2016-2023 Jean-Luc Barriere * * This library is free software; you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published @@ -31,11 +31,14 @@ unsigned n = 0; const char* p = qname; while (*p != ZERO) - if (*(++p) == ':') + { + if (*p == ':') { n = p - qname; break; } + ++p; + } return (strlen(prefix) == n && strncmp(qname, prefix, n) == 0); } @@ -44,11 +47,14 @@ const char* n = qname; const char* p = qname; while (*p != ZERO) - if (*(++p) == ':') + { + if (*p == ':') { n = p + 1; break; } + ++p; + } return (strcmp(n, name) == 0); } @@ -57,11 +63,14 @@ const char* n = qname; const char* p = qname; while (*p != ZERO) - if (*(++p) == ':') + { + if (*p == ':') { n = p + 1; break; } + ++p; + } return n; } @@ -128,12 +137,15 @@ const char* n = qname; const char* p = qname; while (*p != ZERO) - if (*(++p) == ':') + { + if (*p == ':') { l = p - qname; n = p + 1; break; } + ++p; + } std::string prefix(qname, l); const XMLNS* in = names.FindKey(prefix.c_str()); if (in) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/noson-2.8.6/noson/src/sonossystem.cpp new/noson-2.10.1/noson/src/sonossystem.cpp --- old/noson-2.8.6/noson/src/sonossystem.cpp 2022-02-23 19:01:32.000000000 +0100 +++ new/noson-2.10.1/noson/src/sonossystem.cpp 2023-02-01 21:24:43.000000000 +0100 @@ -393,6 +393,35 @@ return m_contentDirectory->DestroyObject(FVObjectID); } +bool System::CreateRadio(const std::string& streamURL, const std::string& title) +{ + size_t p = streamURL.find("://"); + if (streamURL.find("http") == 0 && p != std::string::npos) + { + DigitalItemPtr item(new DigitalItem(DigitalItem::Type_item, DigitalItem::SubType_audioItem)); + item->SetRestricted(false); + item->SetProperty(DIDL_QNAME_DC "title", title); + item->SetProperty(DIDL_QNAME_UPNP "class", "object.item.audioItem.audioBroadcast"); + ElementPtr res(new Element("res")); + std::string tmp; + tmp.assign(ProtocolTable[Protocol_xRinconMP3Radio]); + tmp.append(streamURL.substr(p)); + res->assign(tmp); + tmp.assign(ProtocolTable[Protocol_xRinconMP3Radio]); + tmp.append(":*:*:*"); + res->SetAttribut("protocolInfo", tmp); + item->SetProperty(res); + if (m_contentDirectory->CreateObject(ContentSearch(SearchRadioStation, "").Root(), item)) + return true; + } + return false; +} + +bool System::DestroyRadio(const std::string& RDObjectID) +{ + return m_contentDirectory->DestroyObject(RDObjectID); +} + bool System::ExtractObjectFromFavorite(const DigitalItemPtr& favorite, DigitalItemPtr& item) { const std::string& str = favorite->GetValue(DIDL_QNAME_RINC "resMD"); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/noson-2.8.6/noson/src/sonossystem.h new/noson-2.10.1/noson/src/sonossystem.h --- old/noson-2.8.6/noson/src/sonossystem.h 2022-02-23 19:01:32.000000000 +0100 +++ new/noson-2.10.1/noson/src/sonossystem.h 2023-02-01 21:24:43.000000000 +0100 @@ -109,6 +109,10 @@ bool DestroyFavorite(const std::string& FVObjectID); + bool CreateRadio(const std::string& streamURL, const std::string& title); + + bool DestroyRadio(const std::string& RDObjectID); + static bool ExtractObjectFromFavorite(const DigitalItemPtr& favorite, DigitalItemPtr& item); static bool CanQueueItem(const DigitalItemPtr& item); ++++++ noson-include-time.h.patch ++++++ --- /var/tmp/diff_new_pack.Hfxdhy/_old 2023-02-15 13:41:18.995030430 +0100 +++ /var/tmp/diff_new_pack.Hfxdhy/_new 2023-02-15 13:41:18.995030430 +0100 @@ -8,13 +8,13 @@ [ 23s] /home/abuild/rpmbuild/BUILD/noson-2.8.6/noson/src/private/os/threads/timeout.h:58:5: error: 'clock_gettime' was not declared in this scope on most recent gcc 12 branch -diff --git a/noson/src/private/os/threads/timeout.h b/noson/src/private/os/threads/timeout.h -index f0c3453..d259ca6 100644 ---- a/noson/src/private/os/threads/timeout.h -+++ b/noson/src/private/os/threads/timeout.h -@@ -25,6 +25,7 @@ - #if defined(__APPLE__) - #include <mach/mach_time.h> +Index: noson-2.10.1/noson/src/private/os/threads/timeout.h +=================================================================== +--- noson-2.10.1.orig/noson/src/private/os/threads/timeout.h ++++ noson-2.10.1/noson/src/private/os/threads/timeout.h +@@ -27,6 +27,7 @@ + #elif defined(__linux__) + #include <time.h> #endif +#include <time.h>
