[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: extragear/multimedia/kaffeine/src
From: Christoph Pfister <christophpfister () gmail ! com>
Date: 2010-05-30 20:17:32
Message-ID: 20100530201732.6A854AC8C5 () svn ! kde ! org
[Download RAW message or body]
SVN commit 1132487 by pfister:
properly handle cd audio tracks
- this time without libcdparanoia dependency
M +1 -1 CMakeLists.txt
M +2 -17 backend-xine/xineapplication.cpp
M +5 -0 backend-xine/xinemediawidget.cpp
--- trunk/extragear/multimedia/kaffeine/src/CMakeLists.txt #1132486:1132487
@@ -47,7 +47,7 @@
install(FILES kaffeine.desktop DESTINATION ${XDG_APPS_INSTALL_DIR})
kde4_add_executable(kaffeine-xbu ${kaffeinexbu_SRCS})
-target_link_libraries(kaffeine-xbu ${X11_X11_LIB} ${XINE_LIBRARY} ${KDE4_KDEUI_LIBS} cdda_interface)
+target_link_libraries(kaffeine-xbu ${X11_X11_LIB} ${XINE_LIBRARY} ${KDE4_KDEUI_LIBS})
install(TARGETS kaffeine-xbu ${INSTALL_TARGETS_DEFAULT_ARGS})
if(BUILD_DEBUG_MODULE)
--- trunk/extragear/multimedia/kaffeine/src/backend-xine/xineapplication.cpp #1132486:1132487
@@ -29,10 +29,6 @@
#include <X11/Xlib.h>
#include "xinecommands.h"
-extern "C" {
-#include <cdda_interface.h>
-};
-
class XineParent : public XineParentMarshaller
{
public:
@@ -662,26 +658,15 @@
overrideCurrentTitle = 0;
if (encodedUrl.startsWith("cdda:")) {
+ xine_get_autoplay_input_plugin_ids(engine);
+ xine_get_autoplay_mrls(engine, "CD", &overrideTitleCount);
overrideCurrentTitle =
encodedUrl.mid(encodedUrl.lastIndexOf('/') + 1).toInt();
- QByteArray devicePath;
if (overrideCurrentTitle < 1) {
overrideCurrentTitle = 1;
- devicePath = encodedUrl.mid(7);
- } else {
- devicePath = encodedUrl.mid(7, encodedUrl.lastIndexOf('/') - 7);
}
-
- cdrom_drive *drive = cdda_identify(devicePath.constData(), 0, NULL);
-
- if (drive != NULL) {
- if (cdda_open(drive) == 0) {
- overrideTitleCount = cdda_tracks(drive);
- cdda_close(drive);
}
- }
- }
if (!encodedUrl.isEmpty()) {
if (xine_open(stream, encodedUrl.constData()) == 1) {
--- trunk/extragear/multimedia/kaffeine/src/backend-xine/xinemediawidget.cpp #1132486:1132487
@@ -567,6 +567,11 @@
void XineMediaWidget::playbackFinishedInternal()
{
if ((currentState & Synchronized) != 0) {
+ if (currentUrl.startsWith("cdda") && (currentTitle < titleCount)) {
+ playNextTitle();
+ return;
+ }
+
if ((currentState & PlayingDvd) != 0) {
dirtyFlags |= PlayingDvdChanged;
}
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic