Commit 4dfa4e63 authored by Clément Stenac's avatar Clément Stenac

Fix a crasher in exception handling

Add some playlist functions
parent 2458a977
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
* Copyright (C) 1998-2005 the VideoLAN team * Copyright (C) 1998-2005 the VideoLAN team
* $Id: vlc.h 13701 2005-12-12 17:58:56Z zorglub $ * $Id: vlc.h 13701 2005-12-12 17:58:56Z zorglub $
* *
* Authors: Cl�ent Stenac <zorglub@videolan.org> * Authors: Clément Stenac <zorglub@videolan.org>
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
...@@ -130,6 +130,38 @@ void libvlc_destroy( libvlc_instance_t *); ...@@ -130,6 +130,38 @@ void libvlc_destroy( libvlc_instance_t *);
void libvlc_playlist_play( libvlc_instance_t*, int, char **, void libvlc_playlist_play( libvlc_instance_t*, int, char **,
libvlc_exception_t * ); libvlc_exception_t * );
/**
* Stop playing
* \param p_instance the instance to stop
* \param p_exception an initialized exception
*/
void libvlc_playlist_stop( libvlc_instance_t *, libvlc_exception_t * );
/**
* Remove all playlist ites
* \param p_instance the instance
* \param p_exception an initialized exception
*/
void libvlc_playlist_clear( libvlc_instance_t *, libvlc_exception_t * );
/**
* Go to next playlist item
* \param p_instance the instance
* \param p_exception an initialized exception
*/
void libvlc_playlist_next( libvlc_instance_t *, libvlc_exception_t * );
/**
* Go to Previous playlist item
* \param p_instance the instance
* \param p_exception an initialized exception
*/
void libvlc_playlist_prev( libvlc_instance_t *, libvlc_exception_t * );
typedef struct libvlc_input_t libvlc_input_t; typedef struct libvlc_input_t libvlc_input_t;
///\todo document me ///\todo document me
......
...@@ -54,7 +54,8 @@ inline void libvlc_exception_raise( libvlc_exception_t *p_exception, ...@@ -54,7 +54,8 @@ inline void libvlc_exception_raise( libvlc_exception_t *p_exception,
{ {
if( p_exception == NULL ) return; if( p_exception == NULL ) return;
p_exception->b_raised = 1; p_exception->b_raised = 1;
p_exception->psz_message = strdup( psz_message ); if( psz_message )
p_exception->psz_message = strdup( psz_message );
} }
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
* Copyright (C) 2005 the VideoLAN team * Copyright (C) 2005 the VideoLAN team
* $Id$ * $Id$
* *
* Authors: Clent Stenac <zorglub@videolan.org> * Authors: Clment Stenac <zorglub@videolan.org>
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
...@@ -40,6 +40,22 @@ void libvlc_playlist_play( libvlc_instance_t *p_instance, ...@@ -40,6 +40,22 @@ void libvlc_playlist_play( libvlc_instance_t *p_instance,
playlist_Play( p_instance->p_playlist ); playlist_Play( p_instance->p_playlist );
} }
void libvlc_playlist_stop( libvlc_instance_t *p_instance,
libvlc_exception_t *p_exception )
{
if( playlist_Stop( p_instance->p_playlist ) != VLC_SUCCESS )
{
libvlc_exception_raise( p_exception, "Empty playlist" );
}
}
void libvlc_playlist_clear( libvlc_instance_t *p_instance,
libvlc_exception_t *p_exception )
{
playlist_Clear( p_instance->p_playlist );
}
libvlc_input_t * libvlc_playlist_get_input( libvlc_instance_t *p_instance, libvlc_input_t * libvlc_playlist_get_input( libvlc_instance_t *p_instance,
libvlc_exception_t *p_exception ) libvlc_exception_t *p_exception )
{ {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment