Hello community,

here is the log from the commit of package phonon-backend-vlc for 
openSUSE:Factory checked in at 2013-10-01 08:23:14
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/phonon-backend-vlc (Old)
 and      /work/SRC/openSUSE:Factory/.phonon-backend-vlc.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "phonon-backend-vlc"

Changes:
--------
--- /work/SRC/openSUSE:Factory/phonon-backend-vlc/phonon-backend-vlc.changes    
2013-09-16 17:06:22.000000000 +0200
+++ 
/work/SRC/openSUSE:Factory/.phonon-backend-vlc.new/phonon-backend-vlc.changes   
    2013-10-01 08:23:15.000000000 +0200
@@ -1,0 +2,8 @@
+Mon Sep 30 18:49:34 UTC 2013 - hrvoje.sen...@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.7fPbM0/_old  2013-10-01 08:23:16.000000000 +0200
+++ /var/tmp/diff_new_pack.7fPbM0/_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 <vlc/vlc.h>
 
+#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<QObject *>(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+unsubscr...@opensuse.org
For additional commands, e-mail: opensuse-commit+h...@opensuse.org

Reply via email to