]> git.sesse.net Git - vlc/commitdiff
We know where VLM is, no need to find it.
authorRémi Denis-Courmont <rem@videolan.org>
Wed, 7 May 2008 17:51:49 +0000 (20:51 +0300)
committerRémi Denis-Courmont <rem@videolan.org>
Wed, 7 May 2008 17:58:36 +0000 (20:58 +0300)
Now we can remove the VLM object type.

include/vlc_objects.h
modules/misc/lua/objects.c
modules/misc/lua/vlm.c
src/input/vlm.c

index da73ea8e1818489ee1ed71e68d02a1e3855bdc97..c211b2283249bd4f2651a0479e736e5c8e431270 100644 (file)
@@ -51,7 +51,7 @@
 #define VLC_OBJECT_PACKETIZER  (-13)
 #define VLC_OBJECT_ENCODER     (-14)
 #define VLC_OBJECT_DIALOGS     (-15)
-#define VLC_OBJECT_VLM         (-16)
+
 #define VLC_OBJECT_ANNOUNCE    (-17)
 #define VLC_OBJECT_DEMUX       (-18)
 #define VLC_OBJECT_ACCESS      (-19)
index deb99189f93beb3818a02c874f62ccebc5a497f5..badf23c6be4f5041dd080315af93b0f25f155b28 100644 (file)
@@ -119,7 +119,6 @@ static int vlc_object_type_from_string( const char *psz_name )
           { VLC_OBJECT_PACKETIZER, "packetizer" },
           { VLC_OBJECT_ENCODER, "encoder" },
           { VLC_OBJECT_DIALOGS, "dialogs" },
-          { VLC_OBJECT_VLM, "vlm" },
           { VLC_OBJECT_ANNOUNCE, "announce" },
           { VLC_OBJECT_DEMUX, "demux" },
           { VLC_OBJECT_ACCESS, "access" },
index e4157061856fc5d01b60431678a865cc0d10f4e6..c9198030423ffc4bdb89cb1a6075f01340843a93 100644 (file)
@@ -56,7 +56,7 @@ int vlclua_vlm_new( lua_State *L )
 
 int vlclua_vlm_delete( lua_State *L )
 {
-    vlm_t *p_vlm = (vlm_t*)vlclua_checkobject( L, 1, VLC_OBJECT_VLM );
+    vlm_t *p_vlm = (vlm_t*)vlclua_checkobject( L, 1, VLC_OBJECT_GENERIC );
     vlm_Delete( p_vlm );
     return 0;
 }
@@ -88,7 +88,7 @@ void push_message( lua_State *L, vlm_message_t *message )
 
 int vlclua_vlm_execute_command( lua_State *L )
 {
-    vlm_t *p_vlm = (vlm_t*)vlclua_checkobject( L, 1, VLC_OBJECT_VLM );
+    vlm_t *p_vlm = (vlm_t*)vlclua_checkobject( L, 1, VLC_OBJECT_GENERIC );
     const char *psz_command = luaL_checkstring( L, 2 );
     vlm_message_t *message;
     int i_ret;
index 7a35e1f1016f3d8edfb2fdba6e875a89239294c5..e5c5ade641884f8fcd21ea5dc80779c1a335726c 100644 (file)
@@ -100,7 +100,7 @@ static vlm_media_sys_t *vlm_MediaSearch( vlm_t *, const char *);
 vlm_t *__vlm_New ( vlc_object_t *p_this )
 {
     vlc_value_t lockval;
-    vlm_t *p_vlm = NULL;
+    vlm_t *p_vlm = NULL, **pp_vlm = &(libvlc_priv (p_this->p_libvlc)->p_vlm);
     char *psz_vlmconf;
     static const char vlm_object_name[] = "vlm daemon";
 
@@ -111,9 +111,9 @@ vlm_t *__vlm_New ( vlc_object_t *p_this )
 
     vlc_mutex_lock( lockval.p_address );
 
-    p_vlm = vlc_object_find( p_this, VLC_OBJECT_VLM, FIND_ANYWHERE );
+    p_vlm = *pp_vlm;
     if( p_vlm )
-    {
+    {   /* VLM already exists */
         vlc_object_yield( p_vlm );
         vlc_mutex_unlock( lockval.p_address );
         return p_vlm;
@@ -121,7 +121,7 @@ vlm_t *__vlm_New ( vlc_object_t *p_this )
 
     msg_Dbg( p_this, "creating VLM" );
 
-    p_vlm = vlc_custom_create( p_this, sizeof( *p_vlm ), VLC_OBJECT_VLM,
+    p_vlm = vlc_custom_create( p_this, sizeof( *p_vlm ), VLC_OBJECT_GENERIC,
                                vlm_object_name );
     if( !p_vlm )
     {
@@ -167,6 +167,7 @@ vlm_t *__vlm_New ( vlc_object_t *p_this )
     free(psz_vlmconf);
 
     vlc_object_set_destructor( p_vlm, (vlc_destructor_t)vlm_Destructor );
+    *pp_vlm = p_vlm; /* for future reference */
     vlc_mutex_unlock( lockval.p_address );
 
     return p_vlm;