Hello community,
here is the log from the commit of package phonon-backend-vlc for openSUSE:13.1 checked in at 2013-10-01 08:23:15
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:13.1/phonon-backend-vlc (Old)
and /work/SRC/openSUSE:13.1/.phonon-backend-vlc.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "phonon-backend-vlc"
Changes:
--------
--- /work/SRC/openSUSE:13.1/phonon-backend-vlc/phonon-backend-vlc.changes 2013-09-23 11:05:10.000000000 +0200
+++ /work/SRC/openSUSE:13.1/.phonon-backend-vlc.new/phonon-backend-vlc.changes 2013-10-01 08:23:16.000000000 +0200
@@ -1,0 +2,8 @@
+Mon Sep 30 18:49:34 UTC 2013 - hrvoje.senjan@gmail.com
+
+- Update to 0.6.80~git20130930
+ * do not release and allocate media_t on audiocd track change
+ * do not reset autoplay as applications can set that any time
+ * implement attemptautoplay mechanic
+
+-------------------------------------------------------------------
Old:
----
phonon-backend-vlc-0.6.80~git20130915.tar.xz
New:
----
phonon-backend-vlc-0.6.80~git20130930.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ phonon-backend-vlc.spec ++++++
--- /var/tmp/diff_new_pack.O39vEP/_old 2013-10-01 08:23:16.000000000 +0200
+++ /var/tmp/diff_new_pack.O39vEP/_new 2013-10-01 08:23:16.000000000 +0200
@@ -17,20 +17,20 @@
Name: phonon-backend-vlc
-Version: 0.6.80~git20130915
+Version: 0.6.80~git20130930
Release: 0
Summary: Phonon VLC Backend
License: LGPL-2.1+
Group: Development/Libraries/KDE
Url: http://phonon.kde.org/
-%define _phonon_version 4.6.80~git20130915
+%define _phonon_version 4.6.80~git20130930
Source0: %{name}-%{version}.tar.xz
BuildRequires: alsa-devel
BuildRequires: automoc4
BuildRequires: cmake
BuildRequires: fdupes
BuildRequires: kde4-filesystem
-BuildRequires: phonon-devel >= 4.6.80~git20130915
+BuildRequires: phonon-devel >= 4.6.80~git20130930
BuildRequires: pkgconfig
BuildRequires: vlc-devel >= 2.0.1
Requires: libphonon4 => %{_phonon_version}
++++++ phonon-backend-vlc-0.6.80~git20130915.tar.xz -> phonon-backend-vlc-0.6.80~git20130930.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/phonon-backend-vlc-0.6.80~git20130915/src/media.cpp new/phonon-backend-vlc-0.6.80~git20130930/src/media.cpp
--- old/phonon-backend-vlc-0.6.80~git20130915/src/media.cpp 2013-09-11 15:17:59.000000000 +0200
+++ new/phonon-backend-vlc-0.6.80~git20130930/src/media.cpp 2013-09-30 16:33:59.000000000 +0200
@@ -21,6 +21,7 @@
#include
+#include "utils/debug.h"
#include "utils/libvlc.h"
#include "utils/vstring.h"
@@ -98,11 +99,9 @@
void Media::setCdTrack(int track)
{
- libvlc_media_release(m_media);
- m_media = libvlc_media_new_location(libvlc, m_mrl.constData());
+ debug() << "setting CDDA track" << track;
addOption(QLatin1String(":cdda-track="), QVariant(track));
}
-
} // namespace VLC
} // namespace Phonon
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/phonon-backend-vlc-0.6.80~git20130915/src/mediacontroller.cpp new/phonon-backend-vlc-0.6.80~git20130930/src/mediacontroller.cpp
--- old/phonon-backend-vlc-0.6.80~git20130915/src/mediacontroller.cpp 2013-09-11 15:17:59.000000000 +0200
+++ new/phonon-backend-vlc-0.6.80~git20130930/src/mediacontroller.cpp 2013-09-30 16:33:59.000000000 +0200
@@ -41,6 +41,7 @@
, m_subtitleFontChanged(false)
, m_player(0)
, m_refreshTimer(new QTimer(dynamic_cast(this)))
+ , m_attemptingAutoplay(false)
{
GlobalSubtitles::instance()->register_(this);
GlobalAudioChannels::instance()->register_(this);
@@ -219,7 +220,7 @@
m_currentTitle = 1;
m_availableTitles = 0;
- m_autoPlayTitles = false;
+ m_attemptingAutoplay = false;
}
// ----------------------------- Audio Channel ------------------------------ //
@@ -433,7 +434,7 @@
{
m_availableTitles = 0;
- VLC_FOREACH_TRACK(it, m_player->videoTitleDescription()) {
+ VLC_FOREACH_TRACK(it, m_player->titleDescription()) {
++m_availableTitles;
emit availableTitlesChanged(m_availableTitles);
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/phonon-backend-vlc-0.6.80~git20130915/src/mediacontroller.h new/phonon-backend-vlc-0.6.80~git20130930/src/mediacontroller.h
--- old/phonon-backend-vlc-0.6.80~git20130915/src/mediacontroller.h 2013-09-11 15:17:59.000000000 +0200
+++ new/phonon-backend-vlc-0.6.80~git20130930/src/mediacontroller.h 2013-09-30 16:33:59.000000000 +0200
@@ -146,6 +146,8 @@
MediaPlayer *m_player;
QTimer *m_refreshTimer;
+
+ bool m_attemptingAutoplay;
};
} // namespace VLC
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/phonon-backend-vlc-0.6.80~git20130915/src/mediaobject.cpp new/phonon-backend-vlc-0.6.80~git20130930/src/mediaobject.cpp
--- old/phonon-backend-vlc-0.6.80~git20130915/src/mediaobject.cpp 2013-09-11 15:17:59.000000000 +0200
+++ new/phonon-backend-vlc-0.6.80~git20130930/src/mediaobject.cpp 2013-09-30 16:33:59.000000000 +0200
@@ -525,10 +525,8 @@
m_media->addOption(QLatin1String("screen-caching=300"));
}
- if (source().discType() == Cd && m_currentTitle > 0) {
- debug() << "setting CDDA track";
- m_media->addOption(QLatin1String(":cdda-track="), QVariant(m_currentTitle));
- }
+ if (source().discType() == Cd && m_currentTitle > 0)
+ m_media->setCdTrack(m_currentTitle);
if (m_streamReader)
// StreamReader is no sink but a source, for this we have no concept right now
@@ -644,6 +642,28 @@
{
DEBUG_BLOCK;
debug() << state;
+ debug() << "attempted autoplay?" << m_attemptingAutoplay;
+
+#warning report upstream: lack of track information on cdda-trakc specific media
+ if (m_attemptingAutoplay) {
+ switch (state) {
+ case MediaPlayer::PlayingState:
+ case MediaPlayer::PausedState:
+ m_attemptingAutoplay = false;
+ break;
+ case MediaPlayer::ErrorState:
+ debug() << "autoplay failed, must be end of media.";
+ // The error should not be reflected to the consumer. So we swap it
+ // for finished() which is actually what is happening here.
+ // Or so we think ;)
+ state = MediaPlayer::EndedState;
+ --m_currentTitle;
+ break;
+ default:
+ debug() << "not handling as part of autplay:" << state;
+ break;
+ }
+ }
switch (state) {
case MediaPlayer::NoState:
@@ -665,9 +685,14 @@
changeState(StoppedState);
break;
case MediaPlayer::EndedState:
- if (hasNextTrack())
+ if (hasNextTrack()) {
moveToNextSource();
- else {
+ } else if (source().discType() == Cd && m_autoPlayTitles && !m_attemptingAutoplay) {
+ debug() << "trying to simulate autoplay";
+ m_attemptingAutoplay = true;
+ m_player->setCdTrack(++m_currentTitle);
+ } else {
+ m_attemptingAutoplay = false;
emitAboutToFinish();
emit finished();
changeState(StoppedState);
@@ -750,16 +775,15 @@
void MediaObject::refreshDescriptors()
{
+ if (m_player->titleCount() > 0)
+ refreshTitles();
+
if (hasVideo()) {
refreshAudioChannels();
refreshSubtitles();
- // Get movie chapter count
- // It is not a title/chapter media if there is no chapter
- if (m_player->videoChapterCount() > 0) {
- refreshTitles();
+ if (m_player->videoChapterCount() > 0)
refreshChapters(m_player->title());
- }
}
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/phonon-backend-vlc-0.6.80~git20130915/src/mediaplayer.h new/phonon-backend-vlc-0.6.80~git20130930/src/mediaplayer.h
--- old/phonon-backend-vlc-0.6.80~git20130915/src/mediaplayer.h 2013-09-11 15:17:59.000000000 +0200
+++ new/phonon-backend-vlc-0.6.80~git20130930/src/mediaplayer.h 2013-09-30 16:33:59.000000000 +0200
@@ -110,7 +110,10 @@
int title() const
{ return libvlc_media_player_get_title(m_player); }
- libvlc_track_description_t *videoTitleDescription() const
+ int titleCount() const
+ { return libvlc_media_player_get_title_count(m_player); }
+
+ libvlc_track_description_t *titleDescription() const
{ return libvlc_video_get_title_description(m_player); }
void setTitle(int title);
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org
For additional commands, e-mail: opensuse-commit+help@opensuse.org