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

List:       kde-commits
Subject:    =?utf-8?q?=5Bphonon-gstreamer=5D_gstreamer=3A_Rebuild_gstreamer_?=
From:       Trever Fischer <tdfischer () fedoraproject ! org>
Date:       2011-05-03 19:25:30
Message-ID: 20110503192530.57121A60AE () git ! kde ! org
[Download RAW message or body]

Git commit 8bc7993e9d448455089c55e345dd6a70d1c3a7f9 by Trever Fischer.
Committed on 03/05/2011 at 21:24.
Pushed by tdfischer into branch 'master'.

Rebuild gstreamer registry if a base plugin is missing, as the registry might just be \
out of date.

M  +9    -1    gstreamer/backend.cpp     
M  +2    -1    gstreamer/backend.h     

http://commits.kde.org/phonon-gstreamer/8bc7993e9d448455089c55e345dd6a70d1c3a7f9

diff --git a/gstreamer/backend.cpp b/gstreamer/backend.cpp
index 616f0b3..f90e70f 100644
--- a/gstreamer/backend.cpp
+++ b/gstreamer/backend.cpp
@@ -173,7 +173,7 @@ bool Backend::supportsVideo() const
     return isValid();
 }
 
-bool Backend::checkDependencies() const
+bool Backend::checkDependencies(bool retry) const
 {
     bool success = false;
     // Verify that gst-plugins-base is installed
@@ -186,11 +186,19 @@ bool Backend::checkDependencies() const
         if (csFactory) {
             gst_object_unref(csFactory);
         } else {
+            if (!retry) {
+                gst_update_registry();
+                checkDependencies(true);
+            }
             QString message = tr("Warning: You do not seem to have the package \
                gstreamer0.10-plugins-good installed.\n"
                                  "          Some video features have been \
disabled.");  qDebug() << message;
         }
     } else {
+        if (!retry) {
+            gst_update_registry();
+            checkDependencies(true);
+        }
         qWarning() << tr("Warning: You do not seem to have the base GStreamer \
                plugins installed.\n"
                          "          All audio and video support has been disabled");
     }
diff --git a/gstreamer/backend.h b/gstreamer/backend.h
index 39a9bc7..45d8919 100644
--- a/gstreamer/backend.h
+++ b/gstreamer/backend.h
@@ -66,7 +66,8 @@ public:
     DebugLevel debugLevel() const;
 
     void logMessage(const QString &message, int priority = 2, QObject *obj = 0) \
                const;
-    bool checkDependencies() const;
+    // 'retry' indicates that we'd like to check the deps after a registry rebuild
+    bool checkDependencies(bool retry = false) const;
 
 Q_SIGNALS:
     void objectDescriptionChanged(ObjectDescriptionType);


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

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