void libvlc_audio_set_format_callbacks( libvlc_media_player_t *mp, libvlc_audio_setup_cb setup, libvlc_audio_cleanup_cb cleanup ) { var_SetAddress( mp, "amem-setup", setup ); var_SetAddress( mp, "amem-cleanup", cleanup ); input_resource_ResetAout(mp->input.p_resource); }
void libvlc_audio_set_callbacks( libvlc_media_player_t *mp, libvlc_audio_play_cb play_cb, libvlc_audio_pause_cb pause_cb, libvlc_audio_resume_cb resume_cb, libvlc_audio_flush_cb flush_cb, libvlc_audio_drain_cb drain_cb, void *opaque ) { var_SetAddress( mp, "amem-play", play_cb ); var_SetAddress( mp, "amem-pause", pause_cb ); var_SetAddress( mp, "amem-resume", resume_cb ); var_SetAddress( mp, "amem-flush", flush_cb ); var_SetAddress( mp, "amem-drain", drain_cb ); var_SetAddress( mp, "amem-data", opaque ); var_SetString( mp, "aout", "amem,none" ); input_resource_ResetAout(mp->input.p_resource); }
/*********************** * Set the audio output. ***********************/ int libvlc_audio_output_set( libvlc_media_player_t *mp, const char *psz_name ) { char *value; if( !module_exists( psz_name ) || asprintf( &value, "%s,none", psz_name ) == -1 ) return -1; var_SetString( mp, "aout", value ); free( value ); /* Forget the existing audio output */ input_resource_ResetAout(mp->input.p_resource); /* Create a new audio output */ audio_output_t *aout = input_resource_GetAout(mp->input.p_resource); if( aout != NULL ) input_resource_PutAout(mp->input.p_resource, aout); return 0; }
void input_resource_Terminate( input_resource_t *p_resource ) { input_resource_TerminateSout( p_resource ); input_resource_ResetAout( p_resource ); input_resource_TerminateVout( p_resource ); }