]> git.sesse.net Git - vlc/commitdiff
plugin.cpp: don't mess up custom protocol when combining 2 urls
authorDamien Fouilleul <damienf@videolan.org>
Tue, 15 Nov 2005 14:37:18 +0000 (14:37 +0000)
committerDamien Fouilleul <damienf@videolan.org>
Tue, 15 Nov 2005 14:37:18 +0000 (14:37 +0000)
libvlc.c: VLC_IsPlaying(), use playlist_IsPlaying() as last resort

activex/plugin.cpp
src/libvlc.c

index 9cf355dce8bbfd905b852e93e5695f2aa8f624ca..714c851bb81901865aca14c7026f99397616c790 100644 (file)
@@ -569,7 +569,7 @@ HRESULT VLCPlugin::onLoad(void)
                             if( NULL != abs_url )
                             {
                                 if( SUCCEEDED(UrlCombineW(base_url, _bstr_mrl, abs_url, &len,
-                                                URL_ESCAPE_UNSAFE)) )
+                                                URL_ESCAPE_UNSAFE|URL_PLUGGABLE_PROTOCOL)) )
                                 {
                                     SysFreeString(_bstr_mrl);
                                     _bstr_mrl = SysAllocStringLen(abs_url, len);
index 69fcf1a1696132f195cc31760fc40c0282198d79..560beef093b27a1c890a73592734b4a106e8ee60 100644 (file)
@@ -1319,7 +1319,6 @@ vlc_bool_t VLC_IsPlaying( int i_object )
 {
     playlist_t * p_playlist;
     vlc_bool_t   b_playing;
-    vlc_value_t  val;
 
     vlc_t *p_vlc = vlc_current_object( i_object );
 
@@ -1336,14 +1335,18 @@ vlc_bool_t VLC_IsPlaying( int i_object )
         if( i_object ) vlc_object_release( p_vlc );
         return VLC_ENOOBJ;
     }
-    if( !p_playlist->p_input )
+
+    if( p_playlist->p_input )
     {
-        if( i_object ) vlc_object_release( p_vlc );
-        vlc_object_release( p_playlist );
-        return VLC_ENOOBJ;
+        vlc_value_t  val;
+        var_Get( p_playlist->p_input, "state", &val );
+        b_playing = ( val.i_int == PLAYING_S );
+    }
+    else
+    {
+        msg_Dbg(p_vlc, "polling playlist_IsPlaying");
+        b_playing = playlist_IsPlaying( p_playlist );
     }
-    var_Get( p_playlist->p_input, "state", &val );
-    b_playing = ( val.i_int == PLAYING_S );
     vlc_object_release( p_playlist );
 
     if( i_object ) vlc_object_release( p_vlc );