+ if( !retval )
+ RAISE_NULL( mediacontrol_InternalException, "Out of memory" );
+
+ retval->p_instance = libvlc_new( argc, (const char**)argv, &ex );
+ HANDLE_LIBVLC_EXCEPTION_NULL( &ex );
+ retval->p_media_player = libvlc_media_player_new( retval->p_instance, &ex );
+ HANDLE_LIBVLC_EXCEPTION_NULL( &ex );
+ return retval;
+}
+
+void
+mediacontrol_exit( mediacontrol_Instance *self )
+{
+ libvlc_release( self->p_instance );
+}
+
+libvlc_instance_t*
+mediacontrol_get_libvlc_instance( mediacontrol_Instance *self )
+{
+ return self->p_instance;
+}
+
+libvlc_media_player_t*
+mediacontrol_get_media_player( mediacontrol_Instance *self )
+{
+ return self->p_media_player;
+}
+
+mediacontrol_Instance *
+mediacontrol_new_from_instance( libvlc_instance_t* p_instance,
+ mediacontrol_Exception *exception )
+{
+ mediacontrol_Instance* retval;
+ libvlc_exception_t ex;