]> git.sesse.net Git - vlc/blobdiff - src/control/media_list.c
Dead inline
[vlc] / src / control / media_list.c
index e8ae52bb04668ba649483f4b3d2ad1bc76f02b16..914c12c7c51943648005643c3ea07fcf1cbdea00 100644 (file)
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
  *****************************************************************************/
 
-#include "libvlc_internal.h"
-#include <vlc/libvlc.h>
+#ifdef HAVE_CONFIG_H
+# include "config.h"
+#endif
+
 #include <assert.h>
-#include "vlc_arrays.h"
+
+#include <vlc/libvlc.h>
+#include <vlc/libvlc_media.h>
+#include <vlc/libvlc_media_list.h>
+#include <vlc/libvlc_events.h>
+
+#include <vlc_common.h>
+#include <vlc_input.h>
+
+#include "libvlc_internal.h"
+#include "media_internal.h" // libvlc_media_new_from_input_item()
+#include "media_list_internal.h"
 
 typedef enum EventPlaceInTime {
     EventWillHappen,
@@ -121,7 +134,8 @@ int mlist_is_writable( libvlc_media_list_t *p_mlist, libvlc_exception_t *p_e )
     if( !p_mlist||p_mlist->b_read_only )
     {
         /* We are read-only from user side */
-        libvlc_exception_raise( p_e, "Cannot write to read-only media list." );
+        libvlc_exception_raise( p_e );
+        libvlc_printerr( "Attempt to write a read-only media list" );
         return 0;
     }
     return 1;
@@ -137,37 +151,37 @@ int mlist_is_writable( libvlc_media_list_t *p_mlist, libvlc_exception_t *p_e )
  * Init an object.
  **************************************************************************/
 libvlc_media_list_t *
-libvlc_media_list_new( libvlc_instance_t * p_inst,
-                       libvlc_exception_t * p_e )
+libvlc_media_list_new( libvlc_instance_t * p_inst )
 {
     libvlc_media_list_t * p_mlist;
 
     p_mlist = malloc(sizeof(libvlc_media_list_t));
-    if( !p_mlist )
+    if( unlikely(p_mlist == NULL) )
+    {
+        libvlc_printerr( "Not enough memory" );
         return NULL;
+    }
 
     p_mlist->p_libvlc_instance = p_inst;
-    p_mlist->p_event_manager = libvlc_event_manager_new( p_mlist, p_inst, p_e );
+    p_mlist->p_event_manager = libvlc_event_manager_new( p_mlist, p_inst );
+    if( unlikely(p_mlist->p_event_manager == NULL) )
+    {
+        free(p_mlist);
+        return NULL;
+    }
 
     /* Code for that one should be handled in flat_media_list.c */
     p_mlist->p_flat_mlist = NULL;
     p_mlist->b_read_only = false;
 
     libvlc_event_manager_register_event_type( p_mlist->p_event_manager,
-            libvlc_MediaListItemAdded, p_e );
+            libvlc_MediaListItemAdded );
     libvlc_event_manager_register_event_type( p_mlist->p_event_manager,
-            libvlc_MediaListWillAddItem, p_e );
+            libvlc_MediaListWillAddItem );
     libvlc_event_manager_register_event_type( p_mlist->p_event_manager,
-            libvlc_MediaListItemDeleted, p_e );
+            libvlc_MediaListItemDeleted );
     libvlc_event_manager_register_event_type( p_mlist->p_event_manager,
-            libvlc_MediaListWillDeleteItem, p_e );
-
-    if( libvlc_exception_raised( p_e ) )
-    {
-        libvlc_event_manager_release( p_mlist->p_event_manager );
-        free( p_mlist );
-        return NULL;
-    }
+            libvlc_MediaListWillDeleteItem );
 
     vlc_mutex_init( &p_mlist->object_lock );
     vlc_mutex_init( &p_mlist->refcount_lock ); // FIXME: spinlock?
@@ -246,7 +260,8 @@ libvlc_media_list_add_file_content( libvlc_media_list_t * p_mlist,
 
     if( !p_input_item )
     {
-        libvlc_exception_raise( p_e, "Can't create an input item" );
+        libvlc_exception_raise( p_e );
+        libvlc_printerr( "Not enough memory" );
         return;
     }
 
@@ -264,7 +279,7 @@ libvlc_media_list_add_file_content( libvlc_media_list_t * p_mlist,
     if( libvlc_exception_raised( p_e ) )
         return;
 
-    input_Read( p_mlist->p_libvlc_instance->p_libvlc_int, p_input_item, true );
+    input_Read( p_mlist->p_libvlc_instance->p_libvlc_int, p_input_item );
 
     return;
 }
@@ -273,11 +288,9 @@ libvlc_media_list_add_file_content( libvlc_media_list_t * p_mlist,
  *       set_media (Public)
  **************************************************************************/
 void libvlc_media_list_set_media( libvlc_media_list_t * p_mlist,
-                                             libvlc_media_t * p_md,
-                                             libvlc_exception_t * p_e)
+                                  libvlc_media_t * p_md )
 
 {
-    VLC_UNUSED(p_e);
     vlc_mutex_lock( &p_mlist->object_lock );
     libvlc_media_release( p_mlist->p_md );
     libvlc_media_retain( p_md );
@@ -295,11 +308,9 @@ void libvlc_media_list_set_media( libvlc_media_list_t * p_mlist,
  * media.
  **************************************************************************/
 libvlc_media_t *
-libvlc_media_list_media( libvlc_media_list_t * p_mlist,
-                                    libvlc_exception_t * p_e)
+libvlc_media_list_media( libvlc_media_list_t * p_mlist )
 {
     libvlc_media_t *p_md;
-    VLC_UNUSED(p_e);
 
     vlc_mutex_lock( &p_mlist->object_lock );
     p_md = p_mlist->p_md;
@@ -313,12 +324,10 @@ libvlc_media_list_media( libvlc_media_list_t * p_mlist,
 /**************************************************************************
  *       libvlc_media_list_count (Public)
  *
- * Lock should be hold when entering.
+ * Lock should be held when entering.
  **************************************************************************/
-int libvlc_media_list_count( libvlc_media_list_t * p_mlist,
-                             libvlc_exception_t * p_e )
+int libvlc_media_list_count( libvlc_media_list_t * p_mlist )
 {
-    VLC_UNUSED(p_e);
     return vlc_array_count( &p_mlist->items );
 }
 
@@ -333,16 +342,13 @@ void libvlc_media_list_add_media(
                                    libvlc_exception_t * p_e )
 {
     if( mlist_is_writable(p_mlist,p_e) )
-        _libvlc_media_list_add_media( p_mlist, p_md, p_e );
+        _libvlc_media_list_add_media( p_mlist, p_md );
 }
 
 /* LibVLC internal version */
-void _libvlc_media_list_add_media(
-                                   libvlc_media_list_t * p_mlist,
-                                   libvlc_media_t * p_md,
-                                   libvlc_exception_t * p_e )
+void _libvlc_media_list_add_media( libvlc_media_list_t * p_mlist,
+                                   libvlc_media_t * p_md )
 {
-    VLC_UNUSED(p_e);
     libvlc_media_retain( p_md );
 
     notify_item_addition( p_mlist, p_md, vlc_array_count( &p_mlist->items ),
@@ -364,17 +370,15 @@ void libvlc_media_list_insert_media(
                                    libvlc_exception_t * p_e )
 {
     if( mlist_is_writable(p_mlist,p_e) )
-        _libvlc_media_list_insert_media( p_mlist, p_md, index, p_e );
+        _libvlc_media_list_insert_media( p_mlist, p_md, index );
 }
 
 /* LibVLC internal version */
 void _libvlc_media_list_insert_media(
                                    libvlc_media_list_t * p_mlist,
                                    libvlc_media_t * p_md,
-                                   int index,
-                                   libvlc_exception_t * p_e )
+                                   int index )
 {
-    VLC_UNUSED(p_e);
     libvlc_media_retain( p_md );
 
     notify_item_addition( p_mlist, p_md, index, EventWillHappen );
@@ -404,7 +408,8 @@ void _libvlc_media_list_remove_index( libvlc_media_list_t * p_mlist,
 
     if( index < 0 || index >= vlc_array_count( &p_mlist->items ))
     {
-        libvlc_exception_raise( p_e, "Index out of bounds");
+        libvlc_exception_raise( p_e );
+        libvlc_printerr( "Index out of bounds" );
         return;
     }
 
@@ -431,7 +436,8 @@ libvlc_media_list_item_at_index( libvlc_media_list_t * p_mlist,
 
     if( index < 0 || index >= vlc_array_count( &p_mlist->items ))
     {
-        libvlc_exception_raise( p_e, "Index out of bounds");
+        libvlc_exception_raise( p_e );
+        libvlc_printerr( "Index out of bounds" );
         return NULL;
     }
 
@@ -447,11 +453,8 @@ libvlc_media_list_item_at_index( libvlc_media_list_t * p_mlist,
  * Warning: this function returns the first matching item.
  **************************************************************************/
 int libvlc_media_list_index_of_item( libvlc_media_list_t * p_mlist,
-                                     libvlc_media_t * p_searched_md,
-                                     libvlc_exception_t * p_e )
+                                     libvlc_media_t * p_searched_md )
 {
-    VLC_UNUSED(p_e);
-
     libvlc_media_t * p_md;
     int i;
     for ( i = 0; i < vlc_array_count( &p_mlist->items ); i++ )
@@ -502,9 +505,7 @@ void libvlc_media_list_unlock( libvlc_media_list_t * p_mlist )
  * The p_event_manager is immutable, so you don't have to hold the lock
  **************************************************************************/
 libvlc_event_manager_t *
-libvlc_media_list_event_manager( libvlc_media_list_t * p_mlist,
-                                    libvlc_exception_t * p_e )
+libvlc_media_list_event_manager( libvlc_media_list_t * p_mlist )
 {
-    VLC_UNUSED(p_e);
     return p_mlist->p_event_manager;
 }