]> git.sesse.net Git - vlc/commitdiff
vlc_input.h: Fix funman's commit.
authorPierre d'Herbemont <pdherbemont@videolan.org>
Sat, 18 Aug 2007 04:21:36 +0000 (04:21 +0000)
committerPierre d'Herbemont <pdherbemont@videolan.org>
Sat, 18 Aug 2007 04:21:36 +0000 (04:21 +0000)
include/vlc_input.h

index 12aaa91d0d754fb60b49eb9445a17125104e06de..90d7ab6d5024678073b00e549738f96066a17122 100644 (file)
@@ -221,11 +221,12 @@ static inline void input_ItemClean( input_item_t *p_i )
 static inline void input_item_SetMeta( input_item_t *p_i, vlc_meta_type_t meta_type, const char *psz_val )
 {
     vlc_event_t event;
-    vlc_mutex_lock( &p_i->p_lock );
+
+    vlc_mutex_lock( &p_i->lock );
     if( !p_i->p_meta )
         p_i->p_meta = vlc_meta_New();
     vlc_meta_Set( p_i->p_meta, meta_type, psz_val );
-    vlc_mutex_unlock( &p_i->p_lock ); 
+    vlc_mutex_unlock( &p_i->lock ); 
 
     /* Notify interested third parties */
     event.type = vlc_InputItemMetaChanged;
@@ -235,22 +236,27 @@ static inline void input_item_SetMeta( input_item_t *p_i, vlc_meta_type_t meta_t
 
 static inline char * input_item_GetMeta( input_item_t *p_i, vlc_meta_type_t meta_type )
 {
-    vlc_mutex_lock( &p_i->p_lock );
+    char * psz = NULL;
+    vlc_mutex_lock( &p_i->lock );
+
     if( !p_i->p_meta )
     {
-        vlc_mutex_unlock( &p_i->p_lock );
+        vlc_mutex_unlock( &p_i->lock );
         return NULL;
     }
-    char *psz_s = strdup( vlc_meta_Get( p_i->p_meta, meta_type ) );
-    vlc_mutex_unlock( &p_i->p_lock );
-    return psz_s;
+
+    if( vlc_meta_Get( p_i->p_meta, meta_type ) )
+        psz = strdup( vlc_meta_Get( p_i->p_meta, meta_type ) );
+
+    vlc_mutex_unlock( &p_i->lock );
+    return psz;
 }
 
 static inline char * input_item_GetName( input_item_t *p_i )
 {
-    vlc_mutex_lock( &p_i->p_lock );
-    char *psz_s = strdup( p_i->psz_name );
-    vlc_mutex_unlock( &p_i->p_lock );
+    vlc_mutex_lock( &p_i->lock );
+    char *psz_s = p_i->psz_name ? strdup( p_i->psz_name ) : NULL;
+    vlc_mutex_unlock( &p_i->lock );
     return psz_s;
 }