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