They allow to add untrusted options (needed at least for web plugin).
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.
*
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
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
**************************************************************************/
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 ) )
}
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 )
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
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