mirror of
https://code.videolan.org/videolan/vlc
synced 2024-08-27 04:21:53 +02:00
Added libvlc_playlist_add_extended_untrusted and libvlc_media_add_option_untrusted.
They allow to add untrusted options (needed at least for web plugin).
This commit is contained in:
parent
96550ff2ed
commit
059a3399da
@ -215,6 +215,22 @@ VLC_DEPRECATED_API int libvlc_playlist_add_extended( libvlc_instance_t *, const
|
||||
const char *, int, const char **,
|
||||
libvlc_exception_t * );
|
||||
|
||||
/**
|
||||
* Append an item to the playlist. The item is added at the end, with
|
||||
* additional input options from an untrusted source.
|
||||
*
|
||||
* \param p_instance the playlist instance
|
||||
* \param psz_uri the URI to open, using VLC format
|
||||
* \param psz_name a name that you might want to give or NULL
|
||||
* \param i_options the number of options to add
|
||||
* \param ppsz_options strings representing the options to add
|
||||
* \param p_e an initialized exception pointer
|
||||
* \return the identifier of the new item
|
||||
*/
|
||||
VLC_DEPRECATED_API int libvlc_playlist_add_extended_untrusted( libvlc_instance_t *, const char *,
|
||||
const char *, int, const char **,
|
||||
libvlc_exception_t * );
|
||||
|
||||
/**
|
||||
* Delete the playlist item with the given ID.
|
||||
*
|
||||
|
@ -278,6 +278,24 @@ VLC_PUBLIC_API void libvlc_media_add_option(
|
||||
libvlc_media_t * p_md,
|
||||
const char * ppsz_options,
|
||||
libvlc_exception_t * p_e );
|
||||
/**
|
||||
* Add an option to the media from an untrusted source.
|
||||
*
|
||||
* This option will be used to determine how the media_player will
|
||||
* read the media. This allows to use VLC's advanced
|
||||
* reading/streaming options on a per-media basis.
|
||||
*
|
||||
* The options are detailed in vlc --long-help, for instance "--sout-all"
|
||||
*
|
||||
* \param p_instance the instance
|
||||
* \param ppsz_options the options (as a string)
|
||||
* \param p_e an initialized exception pointer
|
||||
*/
|
||||
VLC_PUBLIC_API void libvlc_media_add_option_untrusted(
|
||||
libvlc_media_t * p_md,
|
||||
const char * ppsz_options,
|
||||
libvlc_exception_t * p_e );
|
||||
|
||||
|
||||
/**
|
||||
* Retain a reference to a media descriptor object (libvlc_media_t). Use
|
||||
|
@ -350,6 +350,20 @@ void libvlc_media_add_option(
|
||||
VLC_INPUT_OPTION_UNIQUE|VLC_INPUT_OPTION_TRUSTED );
|
||||
}
|
||||
|
||||
/**************************************************************************
|
||||
* Same as libvlc_media_add_option but with untrusted source.
|
||||
**************************************************************************/
|
||||
void libvlc_media_add_option_untrusted(
|
||||
libvlc_media_t * p_md,
|
||||
const char * ppsz_option,
|
||||
libvlc_exception_t *p_e )
|
||||
{
|
||||
VLC_UNUSED(p_e);
|
||||
input_item_AddOption( p_md->p_input_item, ppsz_option,
|
||||
VLC_INPUT_OPTION_UNIQUE );
|
||||
}
|
||||
|
||||
|
||||
/**************************************************************************
|
||||
* Delete a media descriptor object
|
||||
**************************************************************************/
|
||||
|
@ -158,10 +158,11 @@ int libvlc_playlist_add( libvlc_instance_t *p_instance, const char *psz_uri,
|
||||
0, NULL, p_e );
|
||||
}
|
||||
|
||||
int libvlc_playlist_add_extended( libvlc_instance_t *p_instance,
|
||||
const char *psz_uri, const char *psz_name,
|
||||
int i_options, const char **ppsz_options,
|
||||
libvlc_exception_t *p_e )
|
||||
static int PlaylistAddExtended( libvlc_instance_t *p_instance,
|
||||
const char *psz_uri, const char *psz_name,
|
||||
int i_options, const char **ppsz_options,
|
||||
unsigned i_option_flags,
|
||||
libvlc_exception_t *p_e )
|
||||
{
|
||||
assert( PL );
|
||||
if( playlist_was_locked( p_instance ) )
|
||||
@ -172,10 +173,27 @@ int libvlc_playlist_add_extended( libvlc_instance_t *p_instance,
|
||||
}
|
||||
return playlist_AddExt( PL, psz_uri, psz_name,
|
||||
PLAYLIST_INSERT, PLAYLIST_END, -1,
|
||||
i_options, ppsz_options, VLC_INPUT_OPTION_TRUSTED,
|
||||
i_options, ppsz_options, i_option_flags,
|
||||
true, pl_Unlocked );
|
||||
}
|
||||
|
||||
int libvlc_playlist_add_extended( libvlc_instance_t *p_instance,
|
||||
const char *psz_uri, const char *psz_name,
|
||||
int i_options, const char **ppsz_options,
|
||||
libvlc_exception_t *p_e )
|
||||
{
|
||||
return PlaylistAddExtended( p_instance, psz_uri, psz_name,
|
||||
i_options, ppsz_options, VLC_INPUT_OPTION_TRUSTED,
|
||||
p_e );
|
||||
}
|
||||
int libvlc_playlist_add_extended_untrusted( libvlc_instance_t *p_instance,
|
||||
const char *psz_uri, const char *psz_name,
|
||||
int i_options, const char **ppsz_options,
|
||||
libvlc_exception_t *p_e )
|
||||
{
|
||||
return PlaylistAddExtended( p_instance, psz_uri, psz_name,
|
||||
i_options, ppsz_options, 0,
|
||||
p_e );
|
||||
}
|
||||
|
||||
int libvlc_playlist_delete_item( libvlc_instance_t *p_instance, int i_id,
|
||||
libvlc_exception_t *p_e )
|
||||
|
@ -48,6 +48,7 @@ libvlc_log_iterator_has_next
|
||||
libvlc_log_iterator_next
|
||||
libvlc_log_open
|
||||
libvlc_media_add_option
|
||||
libvlc_media_add_option_untrusted
|
||||
libvlc_media_discoverer_event_manager
|
||||
libvlc_media_discoverer_is_running
|
||||
libvlc_media_discoverer_localized_name
|
||||
@ -161,6 +162,7 @@ libvlc_media_subitems
|
||||
libvlc_new
|
||||
libvlc_playlist_add
|
||||
libvlc_playlist_add_extended
|
||||
libvlc_playlist_add_extended_untrusted
|
||||
libvlc_playlist_clear
|
||||
libvlc_playlist_delete_item
|
||||
libvlc_playlist_get_media_player
|
||||
|
Loading…
Reference in New Issue
Block a user