VLC 4.0.0-dev
|
Modules | |
Character sets | |
Uniform Resource Locator (URL) | |
Files | |
file | vlc_strings.h |
Helper functions for nul-terminated strings. | |
Typedefs | |
typedef struct vlc_player_t | vlc_player_t |
Functions | |
static int | vlc_ascii_toupper (int c) |
static int | vlc_ascii_tolower (int c) |
static int | vlc_ascii_strcasecmp (const char *psz1, const char *psz2) |
Compare two ASCII strings ignoring case. | |
static int | vlc_ascii_strncasecmp (const char *psz1, const char *psz2, size_t n) |
void | vlc_xml_decode (char *str) |
Decodes XML entities. | |
char * | vlc_xml_encode (const char *str) |
Encodes XML entities. | |
void | vlc_hex_encode_binary (const void *input, size_t size, char *output) |
Encode binary data as hex string. | |
char * | vlc_b64_encode_binary (const void *base, size_t length) |
Base64 encoding. | |
char * | vlc_b64_encode (const char *str) |
Base64 encoding (string). | |
size_t | vlc_b64_decode_binary_to_buffer (void *p_dst, size_t i_dst_max, const char *psz_src) |
size_t | vlc_b64_decode_binary (uint8_t **pp_dst, const char *psz_src) |
char * | vlc_b64_decode (const char *psz_src) |
char * | vlc_strftime (const char *) |
Convenience wrapper for strftime(). | |
char * | vlc_strfplayer (vlc_player_t *player, input_item_t *item, const char *fmt) |
Formats input meta-data. | |
static char * | str_format (vlc_player_t *player, input_item_t *item, const char *fmt) |
int | vlc_filenamecmp (const char *, const char *) |
void | filename_sanitize (char *) |
Sanitize a file name. | |
typedef struct vlc_player_t vlc_player_t |
void filename_sanitize | ( | char * | str | ) |
Sanitize a file name.
Remove forbidden, potentially forbidden and otherwise evil characters from file names. That includes slashes, and popular characters like colon (on Unix anyway).
References EnsureUTF8().
Referenced by ArtCacheGetDirPath(), ArtCacheName(), input_item_CreateFilename(), and vout_snapshot_SaveImage().
|
inlinestatic |
References vlc_strfplayer(), and vlc_strftime().
Referenced by input_item_CreateFilename(), and vout_snapshot_SaveImage().
|
inlinestatic |
Compare two ASCII strings ignoring case.
The result is independent of the locale. If there are non-ASCII characters in the strings, their cases are NOT ignored in the comparison.
References vlc_ascii_tolower().
Referenced by cookie_domain_matches(), demux_mapping_cmp(), demux_NewAdvanced(), rtp_ac3_open(), rtp_h264_open(), rtp_h265_open(), rtp_mpeg12_open(), rtp_opus_open(), rtp_pcm_open(), rtp_raw_open(), vlc_http_cookies_store(), vlc_http_outfile_create(), vlc_http_res_get_redirect(), and vlc_http_res_init().
|
inlinestatic |
References vlc_ascii_tolower().
Referenced by cookie_get_attribute_value(), and cookie_has_attribute().
|
inlinestatic |
Referenced by vlc_ascii_strcasecmp(), and vlc_ascii_strncasecmp().
|
inlinestatic |
char * vlc_b64_decode | ( | const char * | psz_src | ) |
References vlc_b64_decode_binary_to_buffer().
Referenced by httpdAuthOk().
size_t vlc_b64_decode_binary | ( | uint8_t ** | pp_dst, |
const char * | psz_src | ||
) |
References vlc_b64_decode_binary_to_buffer().
Referenced by h26x_extractbase64xps().
size_t vlc_b64_decode_binary_to_buffer | ( | void * | p_dst, |
size_t | i_dst_max, | ||
const char * | psz_src | ||
) |
char * vlc_b64_encode | ( | const char * | str | ) |
Base64 encoding (string).
Encodes a nul-terminated string into Base64.
str | nul-terminated string to encode |
References vlc_b64_encode_binary().
Referenced by vlc_http_auth_FormatAuthorizationHeader().
char * vlc_b64_encode_binary | ( | const void * | base, |
size_t | length | ||
) |
Base64 encoding.
Encodes a buffer into base64 as a (nul-terminated) string.
base | start address of buffer to encode |
length | length in bytes of buffer to encode |
References vlc_memstream::length, and unlikely.
Referenced by vlc_b64_encode(), and vlc_http_msg_add_creds_basic().
int vlc_filenamecmp | ( | const char * | a, |
const char * | b | ||
) |
References strcoll.
Referenced by CompareFilenameStrings(), and rdh_compar_filename().
void vlc_hex_encode_binary | ( | const void * | input, |
size_t | size, | ||
char * | output | ||
) |
Encode binary data as hex string.
Writes a given data buffer to the output buffer as a null terminated string in hexadecimal representation.
input | Input buffer | |
size | Input buffer size | |
[out] | output | Output buffer to write the string to |
char * vlc_strfplayer | ( | vlc_player_t * | player, |
input_item_t * | item, | ||
const char * | fmt | ||
) |
Formats input meta-data.
Formats input and input item meta-informations into a heap-allocated string according to the given player format string.
The player format string contains of replacement specifiers, each specifier begins with the dollar character ($
) followed by one of the following letters:
Char | Replacement |
---|---|
a | Artist metadata |
b | Album title metadata |
c | Copyright information metadata |
d | Description metadata |
e | 'Encoded by' metadata |
f | Displayed output frame (- if not available) |
g | Genre metadata |
l | Language metadata |
n | Current Track number metadata |
o | Total Track number metadata |
p | Now playing metadata (i.e. currently playing title for livestreams) |
r | Rating metadata |
s | Selected subtitle language (- if not available) |
t | Title metadata |
u | URL metadata |
A | Date metadata |
B | Selected audio track bitrate (- if not available) |
C | Current chapter index (- if not available) |
D | Item duration (--:--:-- if not available) |
F | Item URI |
I | Current title index (- if not available) |
L | Item remaining time (--:--:-- if not available) |
N | Item name |
O | Current audio track language (- if not available) |
P | Current playback position (0.0 to 1.0, --.-% if not available) |
R | Current playback speed (1.0 is normal speed, - if not available) |
S | Current audio track samplerate (- if not available) |
T | Current playback time (--:--:-- if not available) |
U | Publisher metadata |
V | Volume (0 to 256, --- if not available) |
Z | Now playing or Artist/Title metadata depending what is available |
_ | Newline (\n ) |
Additionally characters can be prepended with a whitespace (e.g. $ T
), which will cause a replacement with nothing, when not available, instead of the placeholders documented above.
player | a locked player instance or NULL (player and item can't be both NULL) |
item | a valid item or NULL (player and item can't be both NULL) |
fmt | format string |
References aout_Release(), aout_VolumeGet(), es_format_t::audio, AUDIO_ES, vlc_player_track::fmt, es_format_t::i_bitrate, input_stats_t::i_displayed_pictures, audio_format_t::i_rate, input_item_GetDuration(), input_item_GetName(), input_item_GetNowPlayingFb(), input_item_GetTitleFbName(), input_item_GetURI(), input_item_t::lock, name, input_item_t::p_stats, vlc_memstream::ptr, SPU_ES, vlc_memstream::stream, vlc_memstream_close(), vlc_memstream_open(), vlc_memstream_printf(), vlc_memstream_putc(), vlc_memstream_puts(), vlc_meta_Album, vlc_meta_Artist, vlc_meta_Copyright, vlc_meta_Date, vlc_meta_Description, vlc_meta_EncodedBy, vlc_meta_Genre, vlc_meta_Language, vlc_meta_Publisher, vlc_meta_Rating, vlc_meta_Title, vlc_meta_TrackNumber, vlc_meta_TrackTotal, vlc_meta_URL, vlc_mutex_lock(), vlc_mutex_unlock(), vlc_player_aout_Hold(), vlc_player_GetCategoryLanguage(), vlc_player_GetCurrentMedia(), vlc_player_GetLength(), vlc_player_GetPosition(), vlc_player_GetRate(), vlc_player_GetSelectedChapterIdx(), vlc_player_GetSelectedTitleIdx(), vlc_player_GetSelectedTrack(), vlc_player_GetTime(), VLC_TICK_INVALID, write_duration(), and write_meta().
Referenced by str_format().
char * vlc_strftime | ( | const char * | tformat | ) |
Convenience wrapper for strftime().
Formats the current time into a heap-allocated string.
tformat | time format (as with C strftime()) |
References localtime_r(), strdup(), and vlc_assert_unreachable.
Referenced by str_format().
void vlc_xml_decode | ( | char * | str | ) |
Decodes XML entities.
Decodes a null-terminated UTF-8 string of XML character data into a regular nul-terminated UTF-8 string. In other words, replaces XML entities and numerical character references with the corresponding characters.
This function operates in place (the output is always of smaller or equal length than the input) and always succeeds.
str | null-terminated string [IN/OUT] |
References ARRAY_SIZE, cmp_entity(), xml_entity_s::psz_char, xml_entity_s::psz_entity, psz_value, and xml_entities.
char * vlc_xml_encode | ( | const char * | str | ) |
Encodes XML entities.
Substitutes unsafe characters in a null-terminated UTF-8 strings with an XML entity or numerical character reference.
str | null terminated UTF-8 string |
References vlc_memstream::stream, unlikely, vlc_memstream_close(), vlc_memstream_open(), vlc_memstream_printf(), vlc_memstream_puts(), vlc_memstream_write(), and vlc_towc().
Referenced by httpd_HtmlError().