* \param p_mi media player
* \return the number of available video tracks (int)
*/
-VLC_PUBLIC_API int libvlc_video_get_track_count( libvlc_media_player_t *, libvlc_exceptio_t * );
+VLC_PUBLIC_API int libvlc_video_get_track_count( libvlc_media_player_t *, libvlc_exception_t * );
/**
* Get the description of available video tracks.
* \return list with description of available video tracks, or NULL on error
*/
VLC_PUBLIC_API libvlc_track_description_t *
- libvlc_video_get_track_description( libvlc_media_player_t * );
+ libvlc_video_get_track_description( libvlc_media_player_t *, libvlc_exception_t * );
/**
* Get current video track.
int libvlc_audio_get_track_count( libvlc_media_player_t *p_mi,
libvlc_exception_t *p_e )
{
- input_thread_t *p_input_thread = libvlc_get_input_thread( p_mi, p_e );
+ input_thread_t *p_input_thread = libvlc_get_input_thread( p_mi );
int i_track_count;
if( !p_input_thread )
libvlc_audio_get_track_description( libvlc_media_player_t *p_mi,
libvlc_exception_t *p_e )
{
- return libvlc_get_track_description( p_mi, "audio-es", p_e);
+ return libvlc_get_track_description( p_mi, "audio-es" );
}
/*****************************************************************************
int libvlc_audio_get_track( libvlc_media_player_t *p_mi,
libvlc_exception_t *p_e )
{
- input_thread_t *p_input_thread = libvlc_get_input_thread( p_mi, p_e );
+ input_thread_t *p_input_thread = libvlc_get_input_thread( p_mi );
vlc_value_t val_list;
vlc_value_t val;
int i_track = -1;
void libvlc_audio_set_track( libvlc_media_player_t *p_mi, int i_track,
libvlc_exception_t *p_e )
{
- input_thread_t *p_input_thread = libvlc_get_input_thread( p_mi, p_e );
+ input_thread_t *p_input_thread = libvlc_get_input_thread( p_mi );
vlc_value_t val_list;
vlc_value_t newval;
int i_ret = -1;
unlock(p_mlp);
return; /* Will set to play */
}
- libvlc_media_player_play(p_mlp->p_mi, p_e);
+ libvlc_media_player_play(p_mlp->p_mi);
unlock(p_mlp);
}
unlock(p_mlp);
return;
}
- libvlc_media_player_pause(p_mlp->p_mi, p_e);
+ libvlc_media_player_pause(p_mlp->p_mi);
unlock(p_mlp);
}
{
lock(p_mlp);
set_current_playing_item(p_mlp, libvlc_media_list_path_with_root_index(i_index));
- libvlc_media_player_play(p_mlp->p_mi, p_e);
+ libvlc_media_player_play(p_mlp->p_mi);
unlock(p_mlp);
/* Send the next item event */
}
set_current_playing_item(p_mlp, path);
- libvlc_media_player_play(p_mlp->p_mi, p_e);
+ libvlc_media_player_play(p_mlp->p_mi);
unlock(p_mlp);
}
return;
}
- libvlc_media_player_play(p_mlp->p_mi, p_e);
+ libvlc_media_player_play(p_mlp->p_mi);
libvlc_media_list_unlock(p_mlp->p_mlist);
*
* Function will lock the object.
*/
-input_thread_t *libvlc_get_input_thread( libvlc_media_player_t *p_mi,
- libvlc_exception_t *p_e )
+input_thread_t *libvlc_get_input_thread( libvlc_media_player_t *p_mi )
{
input_thread_t *p_input_thread;
- if( !p_mi ) RAISENULL( "Media Instance is NULL" );
+ assert( p_mi );
lock(p_mi);
-
- if( !p_mi->p_input_thread )
- {
- unlock(p_mi);
- RAISENULL( "Input is NULL" );
- }
-
p_input_thread = p_mi->p_input_thread;
- vlc_object_hold( p_input_thread );
-
+ if( p_input_thread )
+ vlc_object_hold( p_input_thread );
unlock(p_mi);
return p_input_thread;
{
input_thread_t * p_input_thread;
- if( (p_input_thread = libvlc_get_input_thread( p_mi, NULL )) )
+ if( (p_input_thread = libvlc_get_input_thread( p_mi )) )
{
/* A thread already exists, send it a play message */
input_Control( p_input_thread, INPUT_SET_STATE, PLAYING_S );
**************************************************************************/
void libvlc_media_player_pause( libvlc_media_player_t *p_mi )
{
- input_thread_t * p_input_thread = libvlc_get_input_thread( p_mi, NULL );
+ input_thread_t * p_input_thread = libvlc_get_input_thread( p_mi );
if( !p_input_thread )
return;
input_thread_t *p_input_thread;
libvlc_time_t i_time;
- p_input_thread = libvlc_get_input_thread ( p_mi, NULL );
+ p_input_thread = libvlc_get_input_thread ( p_mi );
if( !p_input_thread )
return -1;
input_thread_t *p_input_thread;
libvlc_time_t i_time;
- p_input_thread = libvlc_get_input_thread ( p_mi, NULL );
+ p_input_thread = libvlc_get_input_thread ( p_mi );
if( !p_input_thread )
return -1;
{
input_thread_t *p_input_thread;
- p_input_thread = libvlc_get_input_thread ( p_mi, NULL );
+ p_input_thread = libvlc_get_input_thread ( p_mi );
if( !p_input_thread )
return;
{
input_thread_t *p_input_thread;
- p_input_thread = libvlc_get_input_thread ( p_mi, NULL );
+ p_input_thread = libvlc_get_input_thread ( p_mi );
if( !p_input_thread )
return;
input_thread_t *p_input_thread;
float f_position;
- p_input_thread = libvlc_get_input_thread ( p_mi, NULL );
+ p_input_thread = libvlc_get_input_thread ( p_mi );
if( !p_input_thread )
return -1.0;
{
input_thread_t *p_input_thread;
- p_input_thread = libvlc_get_input_thread ( p_mi, NULL );
+ p_input_thread = libvlc_get_input_thread ( p_mi );
if( !p_input_thread )
return;
input_thread_t *p_input_thread;
int i_chapter;
- p_input_thread = libvlc_get_input_thread ( p_mi, NULL );
+ p_input_thread = libvlc_get_input_thread ( p_mi );
if( !p_input_thread )
return -1;
input_thread_t *p_input_thread;
vlc_value_t val;
- p_input_thread = libvlc_get_input_thread ( p_mi, NULL );
+ p_input_thread = libvlc_get_input_thread ( p_mi );
if( !p_input_thread )
return -1;
input_thread_t *p_input_thread;
vlc_value_t val;
- p_input_thread = libvlc_get_input_thread ( p_mi, NULL );
+ p_input_thread = libvlc_get_input_thread ( p_mi );
if( !p_input_thread )
return -1;
{
input_thread_t *p_input_thread;
- p_input_thread = libvlc_get_input_thread ( p_mi, NULL );
+ p_input_thread = libvlc_get_input_thread ( p_mi );
if( !p_input_thread )
return;
input_thread_t *p_input_thread;
int i_title;
- p_input_thread = libvlc_get_input_thread ( p_mi, NULL );
+ p_input_thread = libvlc_get_input_thread ( p_mi );
if( !p_input_thread )
return -1;
input_thread_t *p_input_thread;
vlc_value_t val;
- p_input_thread = libvlc_get_input_thread ( p_mi, NULL );
+ p_input_thread = libvlc_get_input_thread ( p_mi );
if( !p_input_thread )
return -1;
{
input_thread_t *p_input_thread;
- p_input_thread = libvlc_get_input_thread ( p_mi, NULL );
+ p_input_thread = libvlc_get_input_thread ( p_mi );
if( !p_input_thread )
return;
{
input_thread_t *p_input_thread;
- p_input_thread = libvlc_get_input_thread ( p_mi, NULL );
+ p_input_thread = libvlc_get_input_thread ( p_mi );
if( !p_input_thread )
return;
float libvlc_media_player_get_fps( libvlc_media_player_t *p_mi )
{
- input_thread_t *p_input_thread = libvlc_get_input_thread ( p_mi, NULL );
+ input_thread_t *p_input_thread = libvlc_get_input_thread ( p_mi );
double f_fps = 0.0;
if( p_input_thread )
{
bool b_will_play;
input_thread_t *p_input_thread =
- libvlc_get_input_thread ( p_mi, NULL );
+ libvlc_get_input_thread ( p_mi );
if ( !p_input_thread )
return false;
input_thread_t *p_input_thread;
bool b_can_rewind;
- p_input_thread = libvlc_get_input_thread ( p_mi, NULL );
+ p_input_thread = libvlc_get_input_thread ( p_mi );
if( !p_input_thread )
return -1;
float f_rate;
bool b_can_rewind;
- p_input_thread = libvlc_get_input_thread ( p_mi, NULL );
+ p_input_thread = libvlc_get_input_thread ( p_mi );
if( !p_input_thread )
return 0.0; /* rate < 0 indicates rewind */
input_thread_t *p_input_thread;
bool b_seekable;
- p_input_thread = libvlc_get_input_thread ( p_mi, NULL );
+ p_input_thread = libvlc_get_input_thread ( p_mi );
if ( !p_input_thread )
return false;
b_seekable = var_GetBool( p_input_thread, "can-seek" );
libvlc_get_track_description( libvlc_media_player_t *p_mi,
const char *psz_variable )
{
- input_thread_t *p_input = libvlc_get_input_thread( p_mi, NULL );
+ input_thread_t *p_input = libvlc_get_input_thread( p_mi );
libvlc_track_description_t *p_track_description = NULL,
*p_actual, *p_previous;
if ( !p_actual )
{
libvlc_track_description_release( p_track_description );
- libvlc_exception_raise( p_e );
libvlc_printerr( "Not enough memory" );
goto end;
}
input_thread_t *p_input_thread;
bool b_can_pause;
- p_input_thread = libvlc_get_input_thread ( p_mi, NULL );
+ p_input_thread = libvlc_get_input_thread ( p_mi );
if ( !p_input_thread )
return false;
b_can_pause = var_GetBool( p_input_thread, "can-pause" );
void libvlc_media_player_next_frame( libvlc_media_player_t *p_mi )
{
- input_thread_t *p_input_thread = libvlc_get_input_thread ( p_mi, NULL );
+ input_thread_t *p_input_thread = libvlc_get_input_thread ( p_mi );
if( p_input_thread != NULL )
{
var_TriggerCallback( p_input_thread, "frame-next" );
};
/* Media player - audio, video */
-input_thread_t *libvlc_get_input_thread(libvlc_media_player_t *, libvlc_exception_t * );
+input_thread_t *libvlc_get_input_thread(libvlc_media_player_t * );
libvlc_track_description_t * libvlc_get_track_description(
libvlc_media_player_t *p_mi,
- const char *psz_variable,
- libvlc_exception_t *p_e );
+ const char *psz_variable );
#endif
libvlc_exception_init( &ex );
mediacontrol_exception_init( exception );
- p_input = libvlc_get_input_thread( self->p_media_player, &ex );
+ p_input = libvlc_get_input_thread( self->p_media_player );
if( ! p_input )
{
RAISE_NULL( mediacontrol_InternalException, "No input" );
RAISE_VOID( mediacontrol_InternalException, "Empty text" );
}
- p_input = libvlc_get_input_thread( self->p_media_player, &ex );
+ p_input = libvlc_get_input_thread( self->p_media_player );
if( ! p_input )
{
RAISE_VOID( mediacontrol_InternalException, "No input" );
mediacontrol_get_rate( mediacontrol_Instance *self,
mediacontrol_Exception *exception )
{
- libvlc_exception_t ex;
int i_ret;
mediacontrol_exception_init( exception );
- libvlc_exception_init( &ex );
-
- i_ret = libvlc_media_player_get_rate( self->p_media_player, &ex );
- HANDLE_LIBVLC_EXCEPTION_ZERO( &ex );
+ i_ret = libvlc_media_player_get_rate( self->p_media_player );
- return i_ret / 10;
+ return (i_ret >= 0) ? (i_ret / 10) : -1;
}
void
const int rate,
mediacontrol_Exception *exception )
{
- libvlc_exception_t ex;
-
mediacontrol_exception_init( exception );
- libvlc_exception_init( &ex );
- libvlc_media_player_set_rate( self->p_media_player, rate * 10, &ex );
- HANDLE_LIBVLC_EXCEPTION_VOID( &ex );
+ libvlc_media_player_set_rate( self->p_media_player, rate * 10 );
}
int
mediacontrol_Exception *exception )
{
mediacontrol_Position* retval = NULL;
- libvlc_exception_t ex;
int64_t pos;
mediacontrol_exception_init( exception );
- libvlc_exception_init( &ex );
retval = ( mediacontrol_Position* )malloc( sizeof( mediacontrol_Position ) );
retval->origin = an_origin;
}
/* We are asked for an AbsolutePosition. */
- pos = libvlc_media_player_get_time( self->p_media_player, &ex );
+ pos = libvlc_media_player_get_time( self->p_media_player );
if( a_key == mediacontrol_MediaTime )
{
const mediacontrol_Position * a_position,
mediacontrol_Exception *exception )
{
- libvlc_exception_t ex;
int64_t i_pos;
- libvlc_exception_init( &ex );
mediacontrol_exception_init( exception );
i_pos = private_mediacontrol_position2microsecond( self->p_media_player, a_position );
- libvlc_media_player_set_time( self->p_media_player, i_pos / 1000, &ex );
- HANDLE_LIBVLC_EXCEPTION_VOID( &ex );
+ libvlc_media_player_set_time( self->p_media_player, i_pos / 1000 );
}
/* Starts playing a stream */
libvlc_media_player_set_media( self->p_media_player, p_media );
- libvlc_media_player_play( self->p_media_player, &ex );
- HANDLE_LIBVLC_EXCEPTION_VOID( &ex );
+ libvlc_media_player_play( self->p_media_player );
}
}
mediacontrol_pause( mediacontrol_Instance *self,
mediacontrol_Exception *exception )
{
- libvlc_exception_t ex;
-
mediacontrol_exception_init( exception );
- libvlc_exception_init( &ex );
- libvlc_media_player_pause( self->p_media_player, &ex );
- HANDLE_LIBVLC_EXCEPTION_VOID( &ex );
+ libvlc_media_player_pause( self->p_media_player );
}
void
mediacontrol_resume( mediacontrol_Instance *self,
mediacontrol_Exception *exception )
{
- libvlc_exception_t ex;
-
mediacontrol_exception_init( exception );
- libvlc_exception_init( &ex );
- libvlc_media_player_pause( self->p_media_player, &ex );
- HANDLE_LIBVLC_EXCEPTION_VOID( &ex );
+ libvlc_media_player_pause( self->p_media_player );
}
void
mediacontrol_stop( mediacontrol_Instance *self,
mediacontrol_Exception *exception )
{
- libvlc_exception_t ex;
-
mediacontrol_exception_init( exception );
- libvlc_exception_init( &ex );
libvlc_media_player_stop( self->p_media_player );
}
retval->url = libvlc_media_get_mrl( p_media );
- retval->position = libvlc_media_player_get_time( self->p_media_player, &ex );
- if( libvlc_exception_raised( &ex ) )
- {
- libvlc_exception_clear( &ex );
- retval->position = 0;
- }
-
- retval->length = libvlc_media_player_get_length( self->p_media_player, &ex );
- if( libvlc_exception_raised( &ex ) )
- {
- libvlc_exception_clear( &ex );
- retval->length = 0;
- }
-
+ retval->position = libvlc_media_player_get_time( self->p_media_player );
+ retval->length = libvlc_media_player_get_length( self->p_media_player );
}
return retval;
}
if( to == mediacontrol_SampleCount )
{
double f_fps;
- libvlc_exception_t ex;
- libvlc_exception_init( &ex );
- f_fps = libvlc_media_player_get_rate( p_media_player, &ex );
+ f_fps = libvlc_media_player_get_rate( p_media_player );
if( f_fps < 0 )
return 0;
else
case mediacontrol_SampleCount:
{
double f_fps;
- libvlc_exception_t ex;
- libvlc_exception_init( &ex );
- f_fps = libvlc_media_player_get_rate( p_media_player, &ex );
+ f_fps = libvlc_media_player_get_rate( p_media_player );
if( f_fps < 0 )
return 0;
{
libvlc_time_t l_time = 0;
libvlc_time_t l_pos = 0;
- libvlc_exception_t ex;
- libvlc_exception_init( &ex );
- l_time = libvlc_media_player_get_time( p_media_player, &ex );
+ l_time = libvlc_media_player_get_time( p_media_player );
/* Ignore exception, we will assume a 0 time value */
l_pos = private_mediacontrol_unit_convert( p_media_player,
libvlc_time_t l_time = 0;
libvlc_time_t l_length = 0;
libvlc_time_t l_pos = 0;
- libvlc_exception_t ex;
- libvlc_exception_init( &ex );
- l_length = libvlc_media_player_get_length( p_media_player, &ex );
+ l_length = libvlc_media_player_get_length( p_media_player );
if( l_length <= 0 )
return 0;
- l_time = libvlc_media_player_get_time( p_media_player, &ex );
+ l_time = libvlc_media_player_get_time( p_media_player );
/* Ignore exception, we will assume a 0 time value */
l_pos = private_mediacontrol_unit_convert( p_media_player,
static vout_thread_t *GetVout( libvlc_media_player_t *p_mi,
libvlc_exception_t *p_exception )
{
- input_thread_t *p_input = libvlc_get_input_thread( p_mi, p_exception );
+ input_thread_t *p_input = libvlc_get_input_thread( p_mi );
vout_thread_t *p_vout = NULL;
if( p_input )
}
vlc_object_release( p_input );
}
+ else
+ {
+ libvlc_exception_raise( p_exception );
+ libvlc_printerr( "No active input" );
+ }
return p_vout;
}
int libvlc_media_player_has_vout( libvlc_media_player_t *p_mi,
libvlc_exception_t *p_e )
{
- input_thread_t *p_input_thread = libvlc_get_input_thread(p_mi, p_e);
+ input_thread_t *p_input_thread = libvlc_get_input_thread(p_mi);
bool has_vout = false;
if( p_input_thread )
int libvlc_video_get_spu( libvlc_media_player_t *p_mi,
libvlc_exception_t *p_e )
{
- input_thread_t *p_input_thread = libvlc_get_input_thread( p_mi, p_e );
+ input_thread_t *p_input_thread = libvlc_get_input_thread( p_mi );
vlc_value_t val_list;
vlc_value_t val;
int i_spu = -1;
int i_ret = -1;
int i;
- if( !p_input_thread ) return -1;
+ if( !p_input_thread )
+ {
+ libvlc_exception_raise( p_e );
+ libvlc_printerr( "No active input" );
+ return -1;
+ }
i_ret = var_Get( p_input_thread, "spu-es", &val );
if( i_ret < 0 )
int libvlc_video_get_spu_count( libvlc_media_player_t *p_mi,
libvlc_exception_t *p_e )
{
- input_thread_t *p_input_thread = libvlc_get_input_thread( p_mi, p_e );
+ input_thread_t *p_input_thread = libvlc_get_input_thread( p_mi );
int i_spu_count;
if( !p_input_thread )
+ {
+ libvlc_exception_raise( p_e );
+ libvlc_printerr( "No active input" );
return -1;
+ }
i_spu_count = var_CountChoices( p_input_thread, "spu-es" );
libvlc_video_get_spu_description( libvlc_media_player_t *p_mi,
libvlc_exception_t *p_e )
{
- return libvlc_get_track_description( p_mi, "spu-es", p_e);
+ return libvlc_get_track_description( p_mi, "spu-es" );
}
void libvlc_video_set_spu( libvlc_media_player_t *p_mi, int i_spu,
libvlc_exception_t *p_e )
{
- input_thread_t *p_input_thread = libvlc_get_input_thread( p_mi, p_e );
+ input_thread_t *p_input_thread = libvlc_get_input_thread( p_mi );
vlc_value_t val_list;
vlc_value_t newval;
int i_ret = -1;
- if( !p_input_thread ) return;
+ if( !p_input_thread )
+ {
+ libvlc_exception_raise( p_e );
+ libvlc_printerr( "No active input" );
+ return;
+ }
var_Change( p_input_thread, "spu-es", VLC_VAR_GETCHOICES, &val_list, NULL );
const char *psz_subtitle,
libvlc_exception_t *p_e )
{
- input_thread_t *p_input_thread = libvlc_get_input_thread ( p_mi, p_e );
+ input_thread_t *p_input_thread = libvlc_get_input_thread ( p_mi );
bool b_ret = false;
if( p_input_thread )
libvlc_video_get_title_description( libvlc_media_player_t *p_mi,
libvlc_exception_t * p_e )
{
- return libvlc_get_track_description( p_mi, "title", p_e);
+ return libvlc_get_track_description( p_mi, "title" );
}
libvlc_track_description_t *
{
char psz_title[12];
sprintf( psz_title, "title %2i", i_title );
- return libvlc_get_track_description( p_mi, psz_title, p_e);
+ return libvlc_get_track_description( p_mi, psz_title );
}
char *libvlc_video_get_crop_geometry( libvlc_media_player_t *p_mi,
{
input_thread_t *p_input_thread;
- p_input_thread = libvlc_get_input_thread(p_mi, p_e);
+ p_input_thread = libvlc_get_input_thread(p_mi);
if( !p_input_thread ) return;
if( var_CountChoices( p_input_thread, "teletext-es" ) <= 0 )
int libvlc_video_get_track_count( libvlc_media_player_t *p_mi,
libvlc_exception_t *p_e )
{
- input_thread_t *p_input_thread = libvlc_get_input_thread( p_mi, p_e );
+ input_thread_t *p_input_thread = libvlc_get_input_thread( p_mi );
int i_track_count;
if( !p_input_thread )
libvlc_video_get_track_description( libvlc_media_player_t *p_mi,
libvlc_exception_t *p_e )
{
- return libvlc_get_track_description( p_mi, "video-es", p_e);
+ return libvlc_get_track_description( p_mi, "video-es" );
}
int libvlc_video_get_track( libvlc_media_player_t *p_mi,
libvlc_exception_t *p_e )
{
- input_thread_t *p_input_thread = libvlc_get_input_thread( p_mi, p_e );
+ input_thread_t *p_input_thread = libvlc_get_input_thread( p_mi );
vlc_value_t val_list;
vlc_value_t val;
int i_track = -1;
libvlc_exception_raise( p_e );
libvlc_printerr( "Video track information not found" );
vlc_object_release( p_input_thread );
- return i_ret;
+ return -1;
}
var_Change( p_input_thread, "video-es", VLC_VAR_GETCHOICES, &val_list, NULL );
void libvlc_video_set_track( libvlc_media_player_t *p_mi, int i_track,
libvlc_exception_t *p_e )
{
- input_thread_t *p_input_thread = libvlc_get_input_thread( p_mi, p_e );
+ input_thread_t *p_input_thread = libvlc_get_input_thread( p_mi );
vlc_value_t val_list;
int i_ret = -1;
int i;
vlc = libvlc_new (argc, argv, &ex);
catch ();
- mi = libvlc_media_player_new (vlc, &ex);
- catch ();
+ mi = libvlc_media_player_new (vlc);
+ assert (mi != NULL);
em = libvlc_media_player_event_manager (mi);
md = libvlc_media_new (vlc, file, &ex);
catch ();
- mi = libvlc_media_player_new_from_media (md, &ex);
- catch ();
+ mi = libvlc_media_player_new_from_media (md);
+ assert (mi != NULL);
libvlc_media_release (md);
- libvlc_media_player_play (mi, &ex);
- catch ();
+ libvlc_media_player_play (mi);
/* Wait a correct state */
libvlc_state_t state;
md = libvlc_media_new (vlc, file, &ex);
catch ();
- mi = libvlc_media_player_new_from_media (md, &ex);
- catch ();
+ mi = libvlc_media_player_new_from_media (md);
+ assert (mi != NULL);
libvlc_media_release (md);
- libvlc_media_player_play (mi, &ex);
- catch ();
+ libvlc_media_player_play (mi);
log ("Waiting for playing\n");
#if 0
/* This can't work because under some condition (short file, this is the case) this will be
* equivalent to a play() */
- libvlc_media_player_pause (mi, &ex);
- catch();
+ libvlc_media_player_pause (mi);
log ("Waiting for pause\n");