[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    KDE/kdebase/runtime/phonon/xine
From:       Ian Monroe <ian.monroe () gmail ! com>
Date:       2008-03-15 22:03:10
Message-ID: 1205618590.541607.16414.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 786052 by ianmonroe:

implementing the signals of commit 786051, availableSubtitlesChanged() 
and availableAudioChannelsChanged()


 M  +2 -0      mediaobject.cpp  
 M  +2 -0      mediaobject.h  
 M  +21 -0     xinestream.cpp  
 M  +4 -3      xinestream.h  


--- trunk/KDE/kdebase/runtime/phonon/xine/mediaobject.cpp #786051:786052
@@ -77,6 +77,8 @@
     connect(m_stream, SIGNAL(hasVideoChanged(bool)), SLOT(handleHasVideoChanged(bool)));
     connect(m_stream, SIGNAL(bufferStatus(int)), SIGNAL(bufferStatus(int)));
     connect(m_stream, SIGNAL(tick(qint64)), SIGNAL(tick(qint64)));
+    connect(m_stream, SIGNAL(availableSubtitlesChanged()), SIGNAL(availableSubtitlesChanged()));
+    connect(m_stream, SIGNAL(availableAudioChannelsChanged()), SIGNAL(availableAudioChannelsChanged()));
     connect(m_stream, SIGNAL(availableChaptersChanged(int)), SIGNAL(availableChaptersChanged(int)));
     connect(m_stream, SIGNAL(chapterChanged(int)), SIGNAL(chapterChanged(int)));
     connect(m_stream, SIGNAL(availableAnglesChanged(int)), SIGNAL(availableAnglesChanged(int)));
--- trunk/KDE/kdebase/runtime/phonon/xine/mediaobject.h #786051:786052
@@ -109,6 +109,8 @@
         void asyncSeek(xine_stream_t *, qint64, bool);
 
         // AddonInterface
+        void availableSubtitlesChanged();
+        void availableAudioChannelsChanged();
         void availableTitlesChanged(int);
         void titleChanged(int);
         void availableChaptersChanged(int);
--- trunk/KDE/kdebase/runtime/phonon/xine/xinestream.cpp #786051:786052
@@ -70,6 +70,8 @@
 //    m_startTime(-1),
     m_totalTime(-1),
     m_currentTime(-1),
+    m_availableSubtitles(-1),
+    m_availableAudioChannels(-1),
     m_availableTitles(-1),
     m_availableChapters(-1),
     m_availableAngles(-1),
@@ -715,6 +717,25 @@
                 emit availableAnglesChanged(m_availableAngles);
             }
 
+            {
+                int availableSubtitles = subtitlesSize();
+                if(availableSubtitles != m_availableSubtitles)
+                {
+                    kDebug(610) << "available subtitles changed: " << availableSubtitles;
+                    m_availableSubtitles = availableSubtitles;
+                    emit availableSubtitlesChanged();
+                }
+            }
+            {
+                int availableAudioStreams = audioChannelsSize();
+                if(availableAudioStreams != m_availableAudioChannels)
+                {
+                    kDebug(610) << "available audio channels changed: " << availableAudioStreams;
+                    m_availableAudioChannels = availableAudioStreams;
+                    emit availableAudioChannelsChanged();
+                }
+            }
+
             int currentTitle   = xine_get_stream_info(m_stream, XINE_STREAM_INFO_DVD_TITLE_NUMBER);
             int currentChapter = xine_get_stream_info(m_stream, XINE_STREAM_INFO_DVD_CHAPTER_NUMBER);
             int currentAngle   = xine_get_stream_info(m_stream, XINE_STREAM_INFO_DVD_ANGLE_NUMBER);
--- trunk/KDE/kdebase/runtime/phonon/xine/xinestream.h #786051:786052
@@ -156,6 +156,8 @@
         void hasVideoChanged(bool);
         void bufferStatus(int);
 
+        void availableSubtitlesChanged();
+        void availableAudioChannelsChanged();
         void availableChaptersChanged(int);
         void chapterChanged(int);
         void availableAnglesChanged(int);
@@ -164,9 +166,6 @@
         void titleChanged(int);
         void downstreamEvent(Event *e);
 
-        void availableSubtitlesChanged();
-        void availableAudioChanged();
-
         void hackSetProperty(const char *name, const QVariant &val);
 
     protected:
@@ -228,6 +227,8 @@
         int m_totalTime;
         int m_currentTime;
         int m_waitForPlayingTimerId;
+        int m_availableSubtitles;
+        int m_availableAudioChannels;
         int m_availableTitles;
         int m_availableChapters;
         int m_availableAngles;
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic