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

List:       kde-commits
Subject:    KDE/kdemultimedia/phonon-xine
From:       Matthias Kretz <kretz () kde ! org>
Date:       2007-06-24 13:10:43
Message-ID: 1182690643.895185.6319.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 679636 by mkretz:

send a reference event to XineStream if the MRL contained a reference to another MRL

 M  +10 -1     xineengine.cpp  
 M  +14 -1     xineengine.h  


--- trunk/KDE/kdemultimedia/phonon-xine/xineengine.cpp #679635:679636
@@ -203,7 +203,16 @@
                 kDebug(610) << "XINE_EVENT_DROPPED_FRAMES" << endl;
                 break;
             case XINE_EVENT_MRL_REFERENCE_EXT:      /* demuxer->frontend: MRL \
                reference(s) for the real stream */
-                kDebug(610) << "XINE_EVENT_MRL_REFERENCE_EXT" << endl;
+                {
+                    xine_mrl_reference_data_ext_t *reference = \
static_cast<xine_mrl_reference_data_ext_t *>(xineEvent->data); +                    \
kDebug(610) << "XINE_EVENT_MRL_REFERENCE_EXT: " << reference->alternative +           \
<< ", " << reference->start_time +                        << ", " << \
reference->duration +                        << ", " << reference->mrl
+                        << ", " << (reference->mrl + strlen(reference->mrl) + 1)
+                        << endl;
+                    QCoreApplication::postEvent(xs, new \
XineReferenceEvent(reference->alternative, reference->mrl)); +                }
                 break;
         }
     }
--- trunk/KDE/kdemultimedia/phonon-xine/xineengine.h #679635:679636
@@ -50,9 +50,22 @@
         NavButtonOutEvent = 5404,
         AudioDeviceFailedEvent = 5405,
         FrameFormatChangeEvent = 5406,
-        UiChannelsChangedEvent = 5407
+        UiChannelsChangedEvent = 5407,
+        ReferenceEvent = 5408
 	};
 
+    class XineReferenceEvent : public QEvent
+    {
+        public :
+            XineReferenceEvent(bool _alternative, const QByteArray &_mrl)
+                : QEvent(static_cast<QEvent::Type>(ReferenceEvent)),
+                alternative(_alternative), mrl(_mrl)
+            {}
+
+            const bool alternative;
+            const QByteArray mrl;
+    };
+
     class XineProgressEvent : public QEvent
 	{
 		public:


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

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