]> git.sesse.net Git - vlc/blobdiff - include/vlc_input.h
Input access locking, part 3 (final).
[vlc] / include / vlc_input.h
index 6f15034a605954414ad8aa12e13e1bc11be5e95f..508f063ae01ebfa62024559c6d4ce477395612ab 100644 (file)
@@ -138,7 +138,7 @@ static inline void input_ItemCopyOptions( input_item_t *p_parent,
     }
 }
 
-static inline void input_ItemSetName( input_item_t *p_item, const char *psz_name )
+static inline void input_item_SetName( input_item_t *p_item, const char *psz_name )
 {
     if( p_item->psz_name ) free( p_item->psz_name );
     p_item->psz_name = strdup( psz_name );
@@ -272,6 +272,38 @@ static inline char * input_item_GetName( input_item_t * p_i )
     return psz_s;
 }
 
+static inline char * input_item_GetURI( input_item_t * p_i )
+{
+    vlc_mutex_lock( &p_i->lock );
+    char *psz_s = p_i->psz_uri ? strdup( p_i->psz_uri ) : NULL;
+    vlc_mutex_unlock( &p_i->lock );
+    return psz_s;
+}
+
+static inline void input_item_SetURI( input_item_t * p_i, char * psz_uri )
+{
+    vlc_mutex_lock( &p_i->lock );
+    if( p_i->psz_uri ) free( p_i->psz_uri );
+        p_i->psz_uri = strdup( psz_uri );
+    vlc_mutex_unlock( &p_i->lock );
+}
+
+static inline mtime_t input_item_GetDuration( input_item_t * p_i )
+{
+    vlc_mutex_lock( &p_i->lock );
+    mtime_t i_duration = p_i->i_duration;
+    vlc_mutex_unlock( &p_i->lock );
+    return i_duration;
+}
+
+static inline void input_item_SetDuration( input_item_t * p_i, mtime_t i_duration )
+{
+    vlc_mutex_lock( &p_i->lock );
+    p_i->i_duration = i_duration;
+    vlc_mutex_unlock( &p_i->lock );
+    return;
+}
+
 static inline void input_item_SetPreparsed( input_item_t *p_i, vlc_bool_t preparsed )
 {
     if( !p_i->p_meta )