]> git.sesse.net Git - vlc/blobdiff - src/control/media_instance.c
control/media_list_player.c: Add support for playing a hierarchical media_list.
[vlc] / src / control / media_instance.c
index 9afaa677617d48823751c2640b3e0759a6a0b316..7d1ca6fa3eba712f51982a74be22303508de0b28 100644 (file)
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
  *****************************************************************************/
 
-#include "libvlc_internal.h"
 #include <vlc/libvlc.h>
 #include <vlc_demux.h>
 #include <vlc_input.h>
 #include "input/input_internal.h"
+#include "libvlc_internal.h"
 
 /*
  * Release the associated input thread
@@ -233,7 +233,8 @@ libvlc_media_instance_new_from_media_descriptor(
     if( !p_mi )
         return NULL;
 
-    p_mi->p_md = libvlc_media_descriptor_duplicate( p_md );
+    libvlc_media_descriptor_retain( p_md );
+    p_mi->p_md = p_md;
 
     return p_mi;
 }
@@ -378,7 +379,8 @@ void libvlc_media_instance_set_media_descriptor(
         return; /* It is ok to pass a NULL md */
     }
 
-    p_mi->p_md = libvlc_media_descriptor_duplicate( p_md );
+    libvlc_media_descriptor_retain( p_md );
+    p_mi->p_md = p_md;
     
     /* The policy here is to ignore that we were created using a different
      * libvlc_instance, because we don't really care */
@@ -400,7 +402,8 @@ libvlc_media_instance_get_media_descriptor(
     if( !p_mi->p_md )
         return NULL;
 
-    return libvlc_media_descriptor_duplicate( p_mi->p_md );
+    libvlc_media_descriptor_retain( p_mi->p_md );
+    return p_mi->p_md;
 }
 
 /**************************************************************************