Go to the documentation of this file.
24 #ifndef LIBVLC_VOUT_CHRONO_H
25 #define LIBVLC_VOUT_CHRONO_H
42 chrono->
shift = shift;
44 chrono->
avg = avg_initial;
47 chrono->
var = avg_initial / 2;
61 return chrono->
avg + 2 * chrono->
var;
65 return __MAX(chrono->
avg - 2 * chrono->
var, 0);
78 chrono->
avg = (((1 << chrono->
shift) - 1) * chrono->
avg + duration) >> chrono->
shift;
char * vlc_uri_resolve(const char *base, const char *ref)
Resolves an URI reference.
Definition: url.c:767
int shift_var
Definition: chrono.h:53
#define VLC_TICK_INVALID
Definition: vlc_common.h:153
char * vlc_strcasestr(const char *haystack, const char *needle)
Look for an UTF-8 string within another one in a case-insensitive fashion.
Definition: unicode.c:196
int vlc_memstream_flush(struct vlc_memstream *ms)
Definition: memstream.c:114
Definition: vlc_memstream.h:27
size_t vlc_iconv(vlc_iconv_t, const char **, size_t *, char **, size_t *)
static bool vlc_uri_component_validate(const char *str, const char *extras)
Definition: url.c:371
static void vout_chrono_Reset(vout_chrono_t *chrono)
Definition: chrono.h:84
static const char urihex[]
Definition: url.c:99
char * vlc_uri_fixup(const char *str)
Fixes up a URI string.
Definition: url.c:863
char * vlc_xml_encode(const char *str)
Encodes XML entites.
Definition: strings.c:288
vlc_tick_t mdate(void)
Precision monotonic clock.
Definition: thread.c:406
static bool vlc_uri_path_validate(const char *str)
Definition: url.c:398
char * ptr
Definition: vlc_memstream.h:51
size_t vlc_b64_decode_binary_to_buffer(uint8_t *p_dst, size_t i_dst, const char *p_src)
Definition: strings.c:404
vlc_tick_t avg
Definition: chrono.h:50
int error
Definition: vlc_memstream.h:66
long long rem
Definition: vlc_fixups.h:77
int shift
Definition: chrono.h:49
static bool isurisubdelim(int c)
Definition: url.c:87
#define DIR_SEP
Definition: vlc_common.h:1032
static int write_meta(struct vlc_memstream *stream, input_item_t *item, vlc_meta_type_t type)
Definition: strings.c:524
static void write_duration(struct vlc_memstream *stream, int64_t duration)
Definition: strings.c:512
size_t length
Definition: vlc_memstream.h:52
int64_t vlc_tick_t
High precision date or time interval.
Definition: vlc_common.h:150
char * vlc_uri2path(const char *url)
Converts a URI to a local path.
Definition: url.c:240
const char * psz_eng_name
Definition: vlc_iso_lang.h:32
static bool isurihex(int c)
Definition: url.c:92
void vlc_UrlClean(vlc_url_t *restrict url)
Definition: url.c:594
int vlc_memstream_vprintf(struct vlc_memstream *ms, const char *fmt, va_list args)
Definition: memstream.c:155
int vlc_UrlParse(vlc_url_t *url, const char *str)
Parses an URI or IRI.
Definition: url.c:554
char * psz_password
Definition: vlc_url.h:149
const char psz_iso639_1[3]
Definition: vlc_iso_lang.h:33
#define ARRAY_SIZE(x)
Definition: vlc_arrays.h:162
Definition: vlc_fixups.h:74
size_t vlc_towc(const char *str, uint32_t *restrict pwc)
Decodes a code point from UTF-8.
Definition: unicode.c:111
static char * vlc_uri_fixup_inner(const char *str, const char *extras)
Definition: url.c:831
char * psz_option
Definition: vlc_url.h:153
static char * vlc_iri2uri(const char *iri)
Definition: url.c:329
char * vlc_b64_decode(const char *psz_src)
Definition: strings.c:468
vlc_tick_t var
Definition: chrono.h:54
char * vlc_b64_encode(const char *src)
Definition: strings.c:395
int utf8_vfprintf(FILE *stream, const char *fmt, va_list ap)
Formats an UTF-8 string as vfprintf(), then print it, with appropriate conversion to local encoding.
Definition: unicode.c:50
static bool isurisafe(int c)
Definition: url.c:78
int asprintf(char **, const char *,...)
char * vlc_b64_encode_binary(const uint8_t *src, size_t i_src)
Definition: strings.c:349
static int vlc_UrlParseInner(vlc_url_t *restrict url, const char *str)
Definition: url.c:403
char * vlc_uri_decode(char *str)
Decodes an URI component in place.
Definition: url.c:53
char * vlc_uri_decode_duplicate(const char *str)
Decodes an URI component.
Definition: url.c:42
char * strndup(const char *, size_t)
#define clz8(x)
Definition: vlc_common.h:529
int vlc_memstream_open(struct vlc_memstream *ms)
Definition: memstream.c:104
lldiv_t lldiv(long long, long long)
static vlc_tick_t vout_chrono_GetHigh(vout_chrono_t *chrono)
Definition: chrono.h:58
void * vlc_iconv_t
Definition: vlc_charset.h:113
char * vlc_getcwd(void)
Determines the current working directory.
Definition: filesystem.c:215
char * vlc_uri_encode(const char *str)
Encodes a URI component.
Definition: url.c:129
const char psz_iso639_2B[4]
Definition: vlc_iso_lang.h:35
static const struct xml_entity_s xml_entities[]
static char * encode_URI_bytes(const char *str, size_t *restrict lenp)
Definition: url.c:101
#define var_GetFloat(a, b)
Definition: vlc_variables.h:657
char * psz_host
Definition: vlc_url.h:150
static char * vlc_idna_to_ascii(const char *)
Converts a UTF-8 nul-terminated IDN to nul-terminated ASCII domain name.
Definition: url.c:911
#define CLOCK_FREQ
Definition: vlc_config.h:45
Audio output object.
Definition: vlc_aout.h:114
long long quot
Definition: vlc_fixups.h:76
#define vlc_object_release(a)
Definition: vlc_objects.h:63
void filename_sanitize(char *str)
Sanitize a file name.
Definition: strings.c:875
static bool vlc_uri_host_validate(const char *str)
Definition: url.c:393
static vlc_tick_t vout_chrono_GetLow(vout_chrono_t *chrono)
Definition: chrono.h:62
FILE * stream
Definition: vlc_memstream.h:65
char * psz_protocol
Definition: vlc_url.h:147
float aout_VolumeGet(audio_output_t *aout)
Gets the volume of the audio output stream (independent of mute).
Definition: output.c:727
char * psz_username
Definition: vlc_url.h:148
static char * vlc_uri_merge_paths(const char *base, const char *ref)
Merge paths.
Definition: url.c:606
void * memrchr(const void *, int, size_t)
int vlc_filenamecmp(const char *a, const char *b)
Definition: strings.c:829
static const iso639_lang_t unknown_language
Definition: iso_lang.c:41
static char * vlc_uri_remove_dot_segments(char *str)
Remove dot segments.
Definition: url.c:635
const iso639_lang_t * GetLang_2T(const char *psz_code)
Definition: iso_lang.c:55
#define var_GetInteger(a, b)
Definition: vlc_variables.h:655
int vlc_UrlParseFixup(vlc_url_t *url, const char *str)
Parses an URI or IRI and fix up the path part.
Definition: url.c:569
vlc_iconv_t vlc_iconv_open(const char *, const char *)
const iso639_lang_t * GetLang_1(const char *psz_code)
Definition: iso_lang.c:44
void * ToCharset(const char *charset, const char *in, size_t *outsize)
Converts a nul-terminated UTF-8 string to a given character encoding.
Definition: unicode.c:277
char * vlc_strftime(const char *tformat)
Convenience wrapper for strftime().
Definition: strings.c:482
char * vlc_uri_compose(const vlc_url_t *uri)
Composes an URI.
Definition: url.c:706
static void vout_chrono_Clean(vout_chrono_t *chrono)
Definition: chrono.h:50
int vlc_memstream_putc(struct vlc_memstream *ms, int c)
Definition: memstream.c:144
const char psz_iso639_2T[4]
Definition: vlc_iso_lang.h:34
#define DIR_SEP_CHAR
Definition: vlc_common.h:1031
#define likely(p)
Definition: vlc_common.h:113
Definition: vlc_url.h:145
char psz_entity[8]
Definition: strings.c:58
static char * EnsureUTF8(char *str)
Removes non-UTF-8 sequences.
Definition: vlc_charset.h:94
#define var_GetNonEmptyString(a, b)
Definition: vlc_variables.h:659
static void vout_chrono_Start(vout_chrono_t *chrono)
Definition: chrono.h:54
#define VLC_UNUSED(x)
Definition: vlc_common.h:916
Definition: vlc_iso_lang.h:30
void vlc_xml_decode(char *psz_value)
Decodes XML entities.
Definition: strings.c:196
char * strdup(const char *)
char psz_char[4]
Definition: strings.c:59
char psz_value[8]
Definition: vout_intf.c:91
int vlc_iconv_close(vlc_iconv_t)
unsigned i_port
Definition: vlc_url.h:151
int() vlc_memstream_puts(struct vlc_memstream *ms, const char *str)
Definition: memstream.c:149
static const iso639_lang_t p_languages[]
Definition: iso-639_def.h:37
#define strcoll
Definition: strings.c:41
static void vout_chrono_Stop(vout_chrono_t *chrono)
Definition: chrono.h:67
const char name[16]
Definition: httpd.c:1251
char * psz_pathbuffer
Definition: vlc_url.h:156
char * vlc_path2uri(const char *path, const char *scheme)
Converts local path to URL.
Definition: url.c:138
const iso639_lang_t * GetLang_2B(const char *psz_code)
Definition: iso_lang.c:66
vlc_tick_t avg_initial
Definition: chrono.h:51
size_t vlc_memstream_write(struct vlc_memstream *ms, const void *ptr, size_t len)
Definition: memstream.c:126
void vlc_mutex_unlock(vlc_mutex_t *p_mutex)
Releases a mutex.
Definition: thread.c:138
#define unlikely(p)
Definition: vlc_common.h:114
int vlc_memstream_printf(struct vlc_memstream *ms, const char *fmt,...)
Definition: memstream.c:184
struct tm * localtime_r(const time_t *, struct tm *)
#define vlc_assert_unreachable()
Definition: vlc_common.h:118
int utf8_fprintf(FILE *stream, const char *fmt,...)
Formats an UTF-8 string as fprintf(), then print it, with appropriate conversion to local encoding.
Definition: unicode.c:100
#define DECLARE_VLC_VERSION(func, var)
Definition: version.c:35
static void * vlc_alloc(size_t count, size_t size)
Definition: vlc_common.h:957
static int cmp_entity(const void *key, const void *elem)
Definition: strings.c:188
vlc_tick_t start
Definition: chrono.h:56
char * FromCharset(const char *charset, const void *data, size_t data_size)
Converts a string from the given character encoding to utf-8.
Definition: unicode.c:235
char * psz_path
Definition: vlc_url.h:152
void vlc_mutex_lock(vlc_mutex_t *p_mutex)
Acquires a mutex.
Definition: thread.c:123
int vlc_memstream_close(struct vlc_memstream *ms)
Definition: memstream.c:119
int vasprintf(char **, const char *, va_list)
static void vout_chrono_Init(vout_chrono_t *chrono, int shift, vlc_tick_t avg_initial)
Definition: chrono.h:39
size_t vlc_b64_decode_binary(uint8_t **pp_dst, const char *psz_src)
Definition: strings.c:458
char * vlc_strfinput(input_thread_t *input, const char *s)
Formats input meta-data.
Definition: strings.c:539