VLC 4.0.0-dev
|
Helper functions related to parsing, as well as generating, data related to the MRL-specification. More...
Files | |
file | mrl_helpers.h |
Data Structures | |
struct | mrl_info |
Functions | |
static char * | mrl_EscapeFragmentIdentifier (char const *payload) |
Escape a fragment identifier for use within an MRL. | |
static char * | mrl_AppendAnchorFragment (const char *anchor, char const *payload) |
static void | mrl_info_Clean (struct mrl_info *mrli) |
static void | mrl_info_Init (struct mrl_info *mrli) |
static int | mrl_FragmentSplit (struct mrl_info *mrli, char const *payload) |
Split an MRL-fragment into identifiers. | |
Helper functions related to parsing, as well as generating, data related to the MRL-specification.
|
inlinestatic |
References mrl_EscapeFragmentIdentifier(), vlc_memstream::ptr, vlc_memstream_close(), vlc_memstream_open(), vlc_memstream_putc(), and vlc_memstream_puts().
Referenced by InputSourceInit().
|
inlinestatic |
Escape a fragment identifier for use within an MRL.
The function will generate a string that follows the MRL-specification regarding fragment-identifiers.
See the MRL-specification for a detailed explanation of how payload
will be escaped.
[in] | payload | the data to escape. |
References p, vlc_memstream::ptr, RFC3986_FRAGMENT, vlc_memstream_close(), vlc_memstream_open(), and vlc_memstream_printf().
Referenced by mrl_AppendAnchorFragment(), and StreamExtractorCreateMRL().
|
inlinestatic |
Split an MRL-fragment into identifiers.
Function used to split the fragment-data (also referred to as anchor-data) into an array containing each of the files specified.
See the MRL-specification for detailed information regarding how payload
will be interpreted.
[out] | out_items | storage for a vlc_array_t that will contain the parsed identifiers on success. |
[out] | out_extra | *out_extra will point to any remaining data (if any) |
[in] | payload | the data to parse |
References mrl_info::extra, mrl_info::identifiers, strndup(), unlikely, vlc_array_append(), vlc_array_count(), VLC_EGENERIC, VLC_SUCCESS, vlc_uri_decode(), and mrl_info::volumes.
Referenced by InputStreamHandleAnchor(), and vlc_stream_NewMRL().
|
inlinestatic |
References mrl_info::identifiers, vlc_array_clear(), vlc_array_count(), vlc_array_item_at_index, and mrl_info::volumes.
Referenced by InputStreamHandleAnchor(), and vlc_stream_NewMRL().
|
inlinestatic |
References mrl_info::extra, mrl_info::identifiers, vlc_array_init(), and mrl_info::volumes.
Referenced by InputStreamHandleAnchor(), and vlc_stream_NewMRL().