]> git.sesse.net Git - vlc/blobdiff - src/control/playlist.c
Changing the order of parameters may be needed, but changing the parameters themselve...
[vlc] / src / control / playlist.c
index 2e7e3dfe243f6d7aaf61665a481edb7996c162c8..584a4503f6feda4418d0d899f25df67a3c697d3f 100644 (file)
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
  *****************************************************************************/
 
-#include "libvlc_internal.h"
 #include <vlc/libvlc.h>
 #include <vlc_playlist.h>
 
 #include <assert.h>
 
+#include "libvlc_internal.h"
+
 #include "../playlist/playlist_internal.h"
 
 #define PL p_instance->p_libvlc_int->p_playlist
@@ -211,31 +212,27 @@ void libvlc_playlist_unlock( libvlc_instance_t *p_instance )
     vlc_mutex_unlock( &PL->object_lock );
 }
 
-
-
-libvlc_input_t * libvlc_playlist_get_input( libvlc_instance_t *p_instance,
-                                            libvlc_exception_t *p_e )
+libvlc_media_instance_t * libvlc_playlist_get_media_instance(
+                                libvlc_instance_t *p_instance,
+                                libvlc_exception_t *p_e )
 {
-    libvlc_input_t *p_input;
+    libvlc_media_instance_t *p_mi;
     assert( PL );
 
     vlc_mutex_lock( &PL->object_lock );
-    if( PL->p_input == NULL )
+    if( PL->p_input )
     {
-        libvlc_exception_raise( p_e, "No active input" );
-        vlc_mutex_unlock( &PL->object_lock );
-        return NULL;
+        p_mi = libvlc_media_instance_new_from_input_thread(
+                            p_instance, PL->p_input, p_e );
     }
-    p_input = (libvlc_input_t *)malloc( sizeof( libvlc_input_t ) );
-    if( !p_input )
+    else
     {
-        libvlc_exception_raise( p_e, "out of memory" );
-        vlc_mutex_unlock( &PL->object_lock );
-        return NULL;
+        /* no active input */
+        p_mi = NULL;
+        libvlc_exception_raise( p_e, "No active input" );
     }
-    p_input->i_input_id = PL->p_input->i_object_id;
-    p_input->p_instance = p_instance;
     vlc_mutex_unlock( &PL->object_lock );
 
-    return p_input;
+    return p_mi;
 }
+