diff --git a/0001-only-use-qPrintable-for-debug-messages.patch b/0001-only-use-qPrintable-for-debug-messages.patch deleted file mode 100644 index f247057..0000000 --- a/0001-only-use-qPrintable-for-debug-messages.patch +++ /dev/null @@ -1,44 +0,0 @@ -From a9f09d4d84509259b92153f39e99e036bfcbcb61 Mon Sep 17 00:00:00 2001 -From: Mauro Carvalho Chehab -Date: Wed, 16 May 2018 14:11:26 -0300 -Subject: [PATCH 1/3] only use qPrintable() for debug messages - -There are two places qhere qPrintable() is not used for print -messages. Replace them by explicit conversion from QString -to char *. - -Signed-off-by: Mauro Carvalho Chehab ---- - src/backend-vlc/vlcmediawidget.cpp | 2 +- - src/dvb/dvbconfigdialog.cpp | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/src/backend-vlc/vlcmediawidget.cpp b/src/backend-vlc/vlcmediawidget.cpp -index 2421dd6..9be6263 100644 ---- a/src/backend-vlc/vlcmediawidget.cpp -+++ b/src/backend-vlc/vlcmediawidget.cpp -@@ -427,7 +427,7 @@ void VlcMediaWidget::setExternalSubtitle(const QUrl &url) - qCWarning(logMediaWidget, "Cannot set subtitle file %s", qPrintable(fname)); - #else - if (libvlc_video_set_subtitle_file(vlcMediaPlayer, -- qPrintable(fname)) == 0) -+ fname.toLocal8Bit().constData()) == 0) - qCWarning(logMediaWidget, "Cannot set subtitle file %s", qPrintable(fname)); - #endif - } -diff --git a/src/dvb/dvbconfigdialog.cpp b/src/dvb/dvbconfigdialog.cpp -index fc44459..a639635 100644 ---- a/src/dvb/dvbconfigdialog.cpp -+++ b/src/dvb/dvbconfigdialog.cpp -@@ -1539,7 +1539,7 @@ void DvbSLnbConfigObject::configure() - - for (i = 0; i < size; i++) { - struct lnbSat lnb = device->getLnbSatModels().at(i); -- QRadioButton *radioButton = new QRadioButton(i18nd("libdvbv5", qPrintable(lnb.name)), mainWidget); -+ QRadioButton *radioButton = new QRadioButton(i18nd("libdvbv5", lnb.name.toLocal8Bit().constData()), mainWidget); - mainLayout->addWidget(radioButton); - lnbSelectionGroup->addButton(radioButton, i + 1); - gridLayout->addWidget(radioButton, i % ((size + 1) / 2), i / ((size + 1) / 2)); --- -2.17.0 - diff --git a/0002-Fix-breakages-with-qt5.11-rc2.patch b/0002-Fix-breakages-with-qt5.11-rc2.patch deleted file mode 100644 index 211a620..0000000 --- a/0002-Fix-breakages-with-qt5.11-rc2.patch +++ /dev/null @@ -1,113 +0,0 @@ -From 06b78c5f24891fd38d25ed64f5029106eec7c4fb Mon Sep 17 00:00:00 2001 -From: Fabian Vogt -Date: Wed, 16 May 2018 16:38:04 -0300 -Subject: [PATCH 2/3] Fix breakages with qt5.11-rc2 - -On Qt5.11, there was a change at the way qPrintable() works. -There, the var using it should be already a QString() type, -not allowing implicit conversions. - -With that, some usages of qPrintable() are invalid for qt5.11, -as the vars to be printed are either enums or integers. - -BUG: 393222 - -Signed-off-by: Mauro Carvalho Chehab ---- - src/backend-vlc/vlcmediawidget.cpp | 4 ++-- - src/dvb/dvbdevice_linux.cpp | 2 +- - src/dvb/dvbrecording.cpp | 2 +- - src/sqlinterface.cpp | 8 ++++---- - 4 files changed, 8 insertions(+), 8 deletions(-) - -diff --git a/src/backend-vlc/vlcmediawidget.cpp b/src/backend-vlc/vlcmediawidget.cpp -index 9be6263..60666d2 100644 ---- a/src/backend-vlc/vlcmediawidget.cpp -+++ b/src/backend-vlc/vlcmediawidget.cpp -@@ -95,7 +95,7 @@ bool VlcMediaWidget::init() - - for (uint i = 0; i < (sizeof(eventTypes) / sizeof(eventTypes[0])); ++i) { - if (libvlc_event_attach(eventManager, eventTypes[i], vlcEventHandler, this) != 0) { -- qCCritical(logMediaWidget, "Cannot attach event handler %s", qPrintable(eventTypes[i])); -+ qCCritical(logMediaWidget, "Cannot attach event handler %d", eventTypes[i]); - return false; - } - } -@@ -328,7 +328,7 @@ void VlcMediaWidget::play(const MediaSource &source) - - for (uint i = 0; i < (sizeof(eventTypes) / sizeof(eventTypes[0])); ++i) { - if (libvlc_event_attach(eventManager, eventTypes[i], vlcEventHandler, this) != 0) { -- qCWarning(logMediaWidget, "Cannot attach event handler %s", qPrintable(eventTypes[i])); -+ qCWarning(logMediaWidget, "Cannot attach event handler %d", eventTypes[i]); - } - } - -diff --git a/src/dvb/dvbdevice_linux.cpp b/src/dvb/dvbdevice_linux.cpp -index 1f6c4ad..aa7fd34 100644 ---- a/src/dvb/dvbdevice_linux.cpp -+++ b/src/dvb/dvbdevice_linux.cpp -@@ -1245,7 +1245,7 @@ bool DvbLinuxDevice::getProps(DvbTransponder &transponder) - qCWarning(logDev, "Invalid transmission type"); - return false; - default: -- qCWarning(logDev, "Unknown transmission type %s", qPrintable(transponder.getTransmissionType())); -+ qCWarning(logDev, "Unknown transmission type %d", transponder.getTransmissionType()); - return false; - } - return true; -diff --git a/src/dvb/dvbrecording.cpp b/src/dvb/dvbrecording.cpp -index 1018455..1f1bf07 100644 ---- a/src/dvb/dvbrecording.cpp -+++ b/src/dvb/dvbrecording.cpp -@@ -473,7 +473,7 @@ DvbSharedRecording DvbRecordingModel::getLeastImportant(QListname), qPrintable(listRec->priority)); -+ qCDebug(logDvb, "name and priority %s %d", qPrintable(listRec->name), listRec->priority); - if (listRec->priority < leastImportant->priority) { - leastImportant = listRec; - } -diff --git a/src/sqlinterface.cpp b/src/sqlinterface.cpp -index 8cc3bbd..d78d997 100644 ---- a/src/sqlinterface.cpp -+++ b/src/sqlinterface.cpp -@@ -135,7 +135,7 @@ void SqlInterface::sqlInsert(SqlKey key) - break; - } - -- qCWarning(logSql, "Invalid pending statement '%s'", qPrintable(pendingStatement)); -+ qCWarning(logSql, "Invalid pending statement '%d'", pendingStatement); - } - - void SqlInterface::sqlUpdate(SqlKey key) -@@ -155,7 +155,7 @@ void SqlInterface::sqlUpdate(SqlKey key) - break; - } - -- qCWarning(logSql, "Invalid pending statement '%s'", qPrintable(pendingStatement)); -+ qCWarning(logSql, "Invalid pending statement '%d'", pendingStatement); - } - - void SqlInterface::sqlRemove(SqlKey key) -@@ -176,7 +176,7 @@ void SqlInterface::sqlRemove(SqlKey key) - break; - } - -- qCWarning(logSql, "Invalid pending statement %s", qPrintable(pendingStatement)); -+ qCWarning(logSql, "Invalid pending statement %d", pendingStatement); - } - - void SqlInterface::requestSubmission() -@@ -226,7 +226,7 @@ void SqlInterface::sqlSubmit() - continue; - } - -- qCWarning(logSql, "Invalid pending statement %s", qPrintable(pendingStatement)); -+ qCWarning(logSql, "Invalid pending statement %d", pendingStatement); - } - - pendingStatements.clear(); --- -2.17.0 - diff --git a/Set-vlcMedia-to-NULL-after-release.patch b/Set-vlcMedia-to-NULL-after-release.patch deleted file mode 100644 index 896a979..0000000 --- a/Set-vlcMedia-to-NULL-after-release.patch +++ /dev/null @@ -1,33 +0,0 @@ -From dbe1593af6bfb54460d249f960936f1378224eb8 Mon Sep 17 00:00:00 2001 -From: Mauro Carvalho Chehab -Date: Sun, 28 Oct 2018 06:34:13 -0300 -Subject: vlcmediawidget: Set vlcMedia to NULL after release - -As we're now calling the code at makePlay() on two different -places, we should ensure that it will only work if vlcMedia -was created. - -Without that, if someone tries to play an audio CD and it -fails for whatever reason (like if the system doesn't have -a CD device), it crashes. - -Signed-off-by: Mauro Carvalho Chehab ---- - src/backend-vlc/vlcmediawidget.cpp | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/src/backend-vlc/vlcmediawidget.cpp b/src/backend-vlc/vlcmediawidget.cpp -index 1f5d61d..e7bc801 100644 ---- a/src/backend-vlc/vlcmediawidget.cpp -+++ b/src/backend-vlc/vlcmediawidget.cpp -@@ -353,6 +353,7 @@ void VlcMediaWidget::makePlay() - - libvlc_media_player_set_media(vlcMediaPlayer, vlcMedia); - libvlc_media_release(vlcMedia); -+ vlcMedia = NULL; - - if (libvlc_media_player_play(vlcMediaPlayer) != 0) - return; --- -cgit v0.11.2 - diff --git a/fix-audio-CD-playing.patch b/fix-audio-CD-playing.patch deleted file mode 100644 index 26a685d..0000000 --- a/fix-audio-CD-playing.patch +++ /dev/null @@ -1,222 +0,0 @@ -From ef66906e3d3fda0144e18ed874c32266c1347ab1 Mon Sep 17 00:00:00 2001 -From: Andrey Bychkov -Date: Fri, 26 Oct 2018 09:32:53 +0300 -Subject: vlcmediawidget: fix audio CD playing - -While here, also fix: - - all tracks playing - - 'next' & 'previous' working ---- - src/backend-vlc/vlcmediawidget.cpp | 77 +++++++++++++++++++++++++++++++------- - src/backend-vlc/vlcmediawidget.h | 7 ++++ - src/mediawidget.cpp | 4 +- - 3 files changed, 72 insertions(+), 16 deletions(-) - -diff --git a/src/backend-vlc/vlcmediawidget.cpp b/src/backend-vlc/vlcmediawidget.cpp -index fe320ae..568e9bc 100644 ---- a/src/backend-vlc/vlcmediawidget.cpp -+++ b/src/backend-vlc/vlcmediawidget.cpp -@@ -27,6 +27,7 @@ - #include - #include - #include -+#include - - #include "../configuration.h" - #include "vlcmediawidget.h" -@@ -279,6 +280,9 @@ void VlcMediaWidget::play(const MediaSource &source) - QByteArray url = source.getUrl().toEncoded(); - playingDvd = false; - -+ trackNumber = 1; -+ numDevType = 0; -+ - switch (source.getType()) { - case MediaSource::Url: - if (url.endsWith(".iso")) { -@@ -287,6 +291,8 @@ void VlcMediaWidget::play(const MediaSource &source) - - break; - case MediaSource::AudioCd: -+ numDevType=2; -+ - if (url.size() >= 7) { - url.replace(0, 4, "cdda"); - } else { -@@ -315,11 +321,24 @@ void VlcMediaWidget::play(const MediaSource &source) - break; - } - -- libvlc_media_t *vlcMedia = libvlc_media_new_location(vlcInstance, url.constData()); -+ typeOfDevice = url.constData(); -+ -+ vlcMedia = libvlc_media_new_location(vlcInstance, typeOfDevice); -+ if (numDevType == 2) -+ libvlc_media_add_option(vlcMedia, "cdda-track=1"); -+ -+ makePlay(); -+ -+ setCursor(Qt::BlankCursor); -+ setCursor(Qt::ArrowCursor); -+ timer->start(1000); -+ setMouseTracking(true); -+} - -+void VlcMediaWidget::makePlay() -+{ - if (vlcMedia == NULL) { - libvlc_media_player_stop(vlcMediaPlayer); -- qCWarning(logMediaWidget, "Cannot create media %s", qPrintable(source.getUrl().toDisplayString())); - return; - } - -@@ -335,24 +354,46 @@ void VlcMediaWidget::play(const MediaSource &source) - libvlc_media_player_set_media(vlcMediaPlayer, vlcMedia); - libvlc_media_release(vlcMedia); - --// FIXME! subtitleUrl is only available for MediaSourceUrl private class --// if (source.subtitleUrl.isValid()) --// setExternalSubtitle(source.subtitleUrl); -+ if (libvlc_media_player_play(vlcMediaPlayer) != 0) -+ return; -+} - -- if (libvlc_media_player_play(vlcMediaPlayer) != 0) { -- qCWarning(logMediaWidget, "Cannot play media %s", qPrintable(source.getUrl().toDisplayString())); -- } -+void VlcMediaWidget::playDirection(int direction) -+{ -+ char numBuff[256]; -+ char strBuff[512] = "cdda-track="; - -- setCursor(Qt::BlankCursor); -- setCursor(Qt::ArrowCursor); -- timer->start(1000); -- setMouseTracking(true); -+ if (direction == -1) -+ trackNumber--; -+ else -+ trackNumber++; -+ -+ sprintf(numBuff, "%d", trackNumber); -+ strcat(strBuff, numBuff); -+ -+ if (vlcMedia != NULL) -+ libvlc_media_release(vlcMedia); -+ -+ vlcMedia = libvlc_media_new_location(vlcInstance, typeOfDevice); -+ libvlc_media_add_option(vlcMedia, strBuff); -+ -+ makePlay(); -+ -+ sleep(1); -+ -+ int playerState = libvlc_media_player_get_state(vlcMediaPlayer); -+ -+ if (playerState != libvlc_Playing) -+ stop(); - } - - void VlcMediaWidget::stop() - { - libvlc_media_player_stop(vlcMediaPlayer); - -+ if (trackNumber != 1) -+ trackNumber = 1; -+ - timer->stop(); - setCursor(Qt::BlankCursor); - setCursor(Qt::ArrowCursor); -@@ -452,7 +493,10 @@ bool VlcMediaWidget::jumpToPreviousChapter() - { - int currentTitle = libvlc_media_player_get_title(vlcMediaPlayer); - int currentChapter = libvlc_media_player_get_chapter(vlcMediaPlayer); -- libvlc_media_player_previous_chapter(vlcMediaPlayer); -+ if (numDevType == 2) -+ playDirection(-1); -+ else -+ libvlc_media_player_previous_chapter(vlcMediaPlayer); - - if ((libvlc_media_player_get_title(vlcMediaPlayer) != currentTitle) || - (libvlc_media_player_get_chapter(vlcMediaPlayer) != currentChapter)) { -@@ -466,7 +510,10 @@ bool VlcMediaWidget::jumpToNextChapter() - { - int currentTitle = libvlc_media_player_get_title(vlcMediaPlayer); - int currentChapter = libvlc_media_player_get_chapter(vlcMediaPlayer); -- libvlc_media_player_next_chapter(vlcMediaPlayer); -+ if (numDevType == 2) -+ playDirection(1); -+ else -+ libvlc_media_player_next_chapter(vlcMediaPlayer); - - if ((libvlc_media_player_get_title(vlcMediaPlayer) != currentTitle) || - (libvlc_media_player_get_chapter(vlcMediaPlayer) != currentChapter)) { -@@ -507,6 +554,8 @@ int VlcMediaWidget::updatePlaybackStatus() - playbackStatus = MediaWidget::Paused; - break; - case libvlc_Ended: -+ playDirection(1); -+ break; - case libvlc_Error: - playbackStatus = MediaWidget::Idle; - // don't keep last picture shown -diff --git a/src/backend-vlc/vlcmediawidget.h b/src/backend-vlc/vlcmediawidget.h -index 785370d..1534ed0 100644 ---- a/src/backend-vlc/vlcmediawidget.h -+++ b/src/backend-vlc/vlcmediawidget.h -@@ -25,6 +25,7 @@ - - class libvlc_event_t; - class libvlc_instance_t; -+class libvlc_media_t; - class libvlc_media_player_t; - class QTimer; - -@@ -68,6 +69,8 @@ public: - bool jumpToNextChapter(); - void showDvdMenu(); - void dvdNavigate(int key); -+ void playDirection(int direction); -+ void makePlay(); - - int updatePlaybackStatus(); - void updateCurrentTotalTime(); -@@ -90,10 +93,14 @@ private: - static void vlcEventHandler(const libvlc_event_t *event, void *instance); - - libvlc_instance_t *vlcInstance; -+ libvlc_media_t *vlcMedia; - libvlc_media_player_t *vlcMediaPlayer; - bool playingDvd; - bool mouseVisible; - QMap subtitleId; -+ QByteArray typeOfDevice; -+ int numDevType; -+ int trackNumber = 1; - }; - - #endif /* VLCMEDIAWIDGET_H */ -diff --git a/src/mediawidget.cpp b/src/mediawidget.cpp -index fd84d87..f38d301 100644 ---- a/src/mediawidget.cpp -+++ b/src/mediawidget.cpp -@@ -793,14 +793,14 @@ void MediaWidget::previous() - { - if (source->getType() == MediaSource::Url) - emit playlistPrevious(); -- source->previous(); -+ backend->jumpToPreviousChapter(); - } - - void MediaWidget::next() - { - if (source->getType() == MediaSource::Url) - emit playlistNext(); -- source->next(); -+ backend->jumpToNextChapter(); - } - - void MediaWidget::stop() --- -cgit v0.11.2 - diff --git a/kaffeine-2.0.15.tar.xz b/kaffeine-2.0.15.tar.xz deleted file mode 100644 index 9e94622..0000000 --- a/kaffeine-2.0.15.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:e61573199fe4e04377679a5cf8b32b3aa0bb4201c56371e11820d3a3ae41904d -size 5988584 diff --git a/kaffeine-2.0.16-2.tar.xz b/kaffeine-2.0.16-2.tar.xz new file mode 100644 index 0000000..4a2db78 --- /dev/null +++ b/kaffeine-2.0.16-2.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8659189d907c2512321dd2c0d0c47176229c344970d633e33f29ce82432deee5 +size 5995824 diff --git a/kaffeine.changes b/kaffeine.changes index 6635d2d..e1f756c 100644 --- a/kaffeine.changes +++ b/kaffeine.changes @@ -1,3 +1,37 @@ +------------------------------------------------------------------- +Tue Jan 15 11:51:16 UTC 2019 - wbauer@tmo.at + +- Update to 2.0.16(-2): + * Update scanfile.dvb to reflect latest channel additions + * Immediately apply the new audio language if the user changes it + while a channel is being playing + * Fix audio language selection issues (kde#402735) + * Add support for "Original Language" for audio and sub-title + descriptors + * Add some new PMT stream_type identifiers in order to allow + supporting newer audio and video encoding types + * Add support for High DPI pixel maps (kde#400422) + * Add a command line option to force an specific aspect ratio + (kde#394201) + * Only read/write longitude/latitude from config files for USALS + satellite configurations (kde#400268) + * Add support for parallel instant records + * Fix several issues related to audio CD playing + * Update build instructions for Debian/Ubuntu and Fedora at + README.md + * Fix handling of command line arguments and describe the ones + that are mutually exclusive at the docs (kde#394000) + * Fix compilation issues and clean warnings when built with Clang + * Fix compilation issues with qt5.11-rc2 and with FreeBSD + (kde#393222) + * Some code cleanups and typo fixes +- Add full Source URL +- Drop patches merged upstream: + * 0001-only-use-qPrintable-for-debug-messages.patch + * 0002-Fix-breakages-with-qt5.11-rc2.patch + * fix-audio-CD-playing.patch + * Set-vlcMedia-to-NULL-after-release.patch + ------------------------------------------------------------------- Mon Oct 29 08:43:00 UTC 2018 - wbauer@tmo.at diff --git a/kaffeine.spec b/kaffeine.spec index fc32feb..5f48ea4 100644 --- a/kaffeine.spec +++ b/kaffeine.spec @@ -1,7 +1,7 @@ # # spec file for package kaffeine # -# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -12,28 +12,20 @@ # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. -# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# Please submit bugfixes or comments via https://bugs.opensuse.org/ # Name: kaffeine -Version: 2.0.15 +Version: 2.0.16 Release: 0 Summary: VLC-based Multimedia Player License: GPL-2.0-or-later Group: Productivity/Multimedia/Video/Players URL: http://kaffeine.kde.org/ -Source0: %{name}-%{version}.tar.xz +Source0: https://download.kde.org/stable/%{name}/%{name}-%{version}-2.tar.xz # PATCH-FEATURE-OPENSUSE kaffeine-fixsplitter.patch -- GUI improvement (allow more flexibly set splitters) Patch0: kaffeine-fixsplitter.patch -# PATCH-FIX-UPSTREAM -- 0001-only-use-qPrintable-for-debug-messages.patch -Patch1: 0001-only-use-qPrintable-for-debug-messages.patch -# PATCH-FIX-UPSTREAM -- 0002-Fix-breakages-with-qt5.11-rc2.patch -Patch2: 0002-Fix-breakages-with-qt5.11-rc2.patch -# PATCH-FIX-UPSTREAM -Patch3: fix-audio-CD-playing.patch -# PATCH-FIX-UPSTREAM -Patch4: Set-vlcMedia-to-NULL-after-release.patch BuildRequires: extra-cmake-modules BuildRequires: pkgconfig BuildRequires: cmake(KF5CoreAddons) @@ -74,7 +66,7 @@ playing their movies: from DVD (including DVD menus, titles, chapters, etc.), VC %lang_package %prep -%autosetup -p1 +%autosetup -p1 -n %{name}-%{version}-2 %build %cmake_kf5 -d build