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

List:       kde-commits
Subject:    extragear/multimedia/kmplayer/src
From:       Koos Vriezen <koos.vriezen () xs4all ! nl>
Date:       2006-01-10 18:08:47
Message-ID: 1136916527.968177.5232.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 496526 by vriezen:

Remove Source::mime() and Source::setMime(), was moved to Mrl some time
ago and made uncorrect assumptions (like it's creating a new document)


 M  +4 -3      kmplayer_part.cpp  
 M  +15 -24    kmplayerpartbase.cpp  
 M  +1 -3      kmplayersource.h  


--- trunk/extragear/multimedia/kmplayer/src/kmplayer_part.cpp #496525:496526
@@ -173,7 +173,7 @@
             } else if (name == QString::fromLatin1("height")) {
                 m_noresize = true;
             } else if (name == QString::fromLatin1("type")) {
-                urlsource->setMime (value);
+                urlsource->document ()->mrl ()->mimetype = value;
             } else if (name == QString::fromLatin1("controls")) {
                 //http://service.real.com/help/library/guides/production8/realpgd.htm?src=noref,rnhmpg_080301,rnhmtn,nosrc
                
                 //http://service.real.com/help/library/guides/production8/htmfiles/control.htm
 @@ -454,7 +454,7 @@
     if (!m_view || !url.isValid ()) return false;
     KParts::URLArgs args = m_browserextension->urlArgs();
     if (!args.serviceType.isEmpty ())
-        urlsource->setMime (args.serviceType);
+        urlsource->document ()->mrl ()->mimetype = args.serviceType;
     if (m_havehref && m_settings->allowhref) {
         hrefsource->setURL (url);
         setSource (hrefsource);
@@ -1058,7 +1058,8 @@
     Source * src = m_player->sources () ["urlsource"];
     QString target = src->document ()->document ()->getAttribute ("target");
     if (!target.isEmpty ()) {
-        static_cast <KMPlayerPart *> (m_player)->browserextension ()->requestOpenURL \
(src->url (), target, src->mime ()); +        KMPlayer::Mrl * mrl = src->document \
()->mrl (); +        static_cast <KMPlayerPart *> (m_player)->browserextension \
()->requestOpenURL (mrl->src, target, mrl->mimetype);  } else
         m_player->setSource (m_player->sources () ["urlsource"]);
 }
--- trunk/extragear/multimedia/kmplayer/src/kmplayerpartbase.cpp #496525:496526
@@ -1165,24 +1165,10 @@
         m_player->updateTree ();
 }
 
-QString Source::mime () const {
-    return m_current ? m_current->mrl ()->mimetype : (m_document ? m_document->mrl \
                ()->mimetype : QString ());
-}
-
-void Source::setMime (const QString & m) {
-    QString mimestr (m);
-    int plugin_pos = mimestr.find ("-plugin");
-    if (plugin_pos > 0)
-        mimestr.truncate (plugin_pos);
-    kdDebug () << "setMime " << mimestr << endl;
-    if (m_current)
-        m_current->mrl ()->mimetype = mimestr;
-    else {
-        if (m_document)
-            m_document->document ()->dispose ();
+NodePtr Source::document () {
+    if (!m_document)
         m_document = new Document (QString (), this);
-        m_document->mrl ()->mimetype = mimestr;
-    }
+    return m_document;
 }
 
 bool Source::processOutput (const QString &) {
@@ -1432,7 +1418,11 @@
 }
 
 static bool isPlayListMime (const QString & mime) {
-    const char * mimestr = mime.ascii ();
+    QString m (mime);
+    int plugin_pos = m.find ("-plugin");
+    if (plugin_pos > 0)
+        m.truncate (plugin_pos);
+    const char * mimestr = m.ascii ();
     return mimestr && (!strcmp (mimestr, "audio/mpegurl") ||
             !strcmp (mimestr, "audio/x-mpegurl") ||
             !strncmp (mimestr, "video/x-ms", 10) ||
@@ -1465,7 +1455,7 @@
         NodePtr cur_elm = root;
         if (cur_elm->isMrl ())
             cur_elm = cur_elm->mrl ()->realMrl ();
-        if (mime () == QString ("audio/x-scpls")) {
+        if (cur_elm->mrl ()->mimetype == QString ("audio/x-scpls")) {
             bool groupfound = false;
             int nr = -1;
             struct Entry {
@@ -1555,16 +1545,17 @@
 }
 
 KDE_NO_EXPORT void URLSource::kioMimetype (KIO::Job * job, const QString & mimestr) \
                {
-    setMime (mimestr);
-    if (job && !isPlayListMime (mime ())) // Note: -plugin might be stripped
+    if (job && (!m_resolving_mrl || !isPlayListMime (mimestr)))
         job->kill (false);
+    if (m_resolving_mrl)
+        m_resolving_mrl->mrl ()->mimetype = mimestr;
 }
 
 KDE_NO_EXPORT void URLSource::kioResult (KIO::Job *) {
     m_job = 0L; // KIO::Job::kill deletes itself
     QTextStream textstream (m_data, IO_ReadOnly);
     if (m_resolving_mrl) {
-        if (isPlayListMime (mime ()))
+        if (isPlayListMime (m_resolving_mrl->mrl ()->mimetype))
             read (m_resolving_mrl, textstream);
         m_resolving_mrl->mrl ()->resolved = true;
         m_resolving_mrl->undefer ();
@@ -1629,8 +1620,8 @@
         if (mimestr.isEmpty ()) {
             KMimeType::Ptr mimeptr = KMimeType::findByURL (url);
             if (mimeptr) {
-                setMime (mimeptr->name ());
-                maybe_playlist = isPlayListMime (mime ()); // get new mime
+                mrl->mimetype = mimeptr->name ();
+                maybe_playlist = isPlayListMime (mrl->mimetype); // get new mime
             }
         }
         if (maybe_playlist && file.size () < 2000000 && file.open (IO_ReadOnly)) {
--- trunk/extragear/multimedia/kmplayer/src/kmplayersource.h #496525:496526
@@ -65,7 +65,6 @@
     PartBase * player () { return m_player; }
     void reset ();
     QString currentMrl ();
-    QString mime () const;
     KDE_NO_EXPORT const QString & audioDevice () const { return m_audiodevice; }
     KDE_NO_EXPORT const QString & videoDevice () const { return m_videodevice; }
     KDE_NO_EXPORT const QString & videoNorm () const { return m_videonorm; }
@@ -76,14 +75,13 @@
     KDE_NO_EXPORT const QString & options () const { return m_options; }
     KDE_NO_EXPORT const QString & recordCmd () const { return m_recordcmd; }
     KDE_NO_EXPORT NodePtr current () const { return m_current; }
-    KDE_NO_EXPORT NodePtr document () const { return m_document; }
+    virtual NodePtr document ();
     virtual QString filterOptions ();
 
     void setURL (const KURL & url);
     void insertURL (NodePtr mrl, const QString & url);
     KDE_NO_EXPORT void setSubURL (const KURL & url) { m_sub_url = url; }
     void setLanguages (const QStringList & alang, const QStringList & slang);
-    void setMime (const QString & m);
     KDE_NO_EXPORT void setWidth (int w) { m_width = w; }
     KDE_NO_EXPORT void setHeight (int h) { m_height = h; }
     virtual void setDimensions (NodePtr, int w, int h);


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

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