* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
*****************************************************************************/
+#ifdef HAVE_CONFIG_H
+# include "config.h"
+#endif
+
#include <vlc/libvlc.h>
#include <vlc/libvlc_media.h>
#include <vlc/libvlc_media_list.h>
libvlc_media_library_new( libvlc_instance_t * p_inst,
libvlc_exception_t * p_e )
{
- (void)p_e;
libvlc_media_library_t * p_mlib;
p_mlib = malloc(sizeof(libvlc_media_library_t));
libvlc_media_library_load( libvlc_media_library_t * p_mlib,
libvlc_exception_t * p_e )
{
- char *psz_datadir = config_GetUserDataDir();
+ char *psz_datadir = config_GetUserDir( VLC_DATA_DIR );
char * psz_uri;
- if( !psz_datadir ) /* XXX: i doubt that this can ever happen */
- {
- libvlc_exception_raise( p_e, "Can't get data directory" );
- return;
- }
-
- if( asprintf( &psz_uri, "file/xspf-open://%s" DIR_SEP "ml.xsp",
+ if( psz_datadir == NULL
+ || asprintf( &psz_uri, "file/xspf-open://%s" DIR_SEP "ml.xsp",
psz_datadir ) == -1 )
+ psz_uri = NULL;
+ free( psz_datadir );
+
+ if( psz_uri == NULL )
{
- free( psz_datadir );
- libvlc_exception_raise( p_e, "Can't get create the path" );
+ libvlc_exception_raise( p_e );
+ libvlc_printerr( "Not enough memory" );
return;
}
- free( psz_datadir );
+
if( p_mlib->p_mlist )
libvlc_media_list_release( p_mlib->p_mlist );
return;
}
-/**************************************************************************
- * save (Public)
- **************************************************************************/
-void
-libvlc_media_library_save( libvlc_media_library_t * p_mlib,
- libvlc_exception_t * p_e )
-{
- (void)p_mlib;
- libvlc_exception_raise( p_e, "Not supported" );
-}
-
/**************************************************************************
* media_list (Public)
**************************************************************************/