Go to the documentation of this file.
150 void (*pf_callback)(
void *, bool );
173 const uint8_t *p_signature_issuer );
183 const uint8_t *p_key_data,
size_t i_key_len,
public_key_t *p_key,
184 const uint8_t *p_sig_issuer );
void text_style_Merge(text_style_t *p_dst, const text_style_t *p_src, bool b_override)
Merge two styles using non default values.
Definition: text_style.c:97
#define STYLE_NO_DEFAULTS
Definition: vlc_text_style.h:85
struct signature_packet_t::@61::@63 v4
text_style_t * text_style_Create(int i_defaults)
Create a text style.
Definition: text_style.c:38
FILE * vlc_fopen(const char *filename, const char *mode)
Opens a FILE pointer.
Definition: filesystem.c:46
#define STYLE_HAS_BACKGROUND_ALPHA
Definition: vlc_text_style.h:95
uint8_t hashed_data_len[2]
Definition: update.h:87
#define VLC_COMMON_MEMBERS
Backward compatibility macro.
Definition: vlc_common.h:453
uint32_t i_value
Definition: vlc_text_style.h:215
void vlc_sem_init(vlc_sem_t *sem, unsigned value)
Initializes a semaphore.
Definition: thread.c:325
int vlc_cond_timedwait_daytime(vlc_cond_t *p_condvar, vlc_mutex_t *p_mutex, time_t deadline)
Definition: thread.c:297
uint8_t * hashed_data
Definition: update.h:88
struct public_key_packet_t::@58::@59 dsa
static int vlc_stream_GetSize(stream_t *s, uint64_t *size)
Get the size of the stream.
Definition: vlc_stream.h:313
void vlc_restorecancel(int state)
Restores the cancellation state.
Definition: thread.c:323
#define vlc_cleanup_push(routine, arg)
Registers a thread cancellation handler.
Definition: vlc_threads.h:975
static void vlc_gcrypt_init(void)
Definition: vlc_gcrypt.h:28
static thread_local struct vlc_thread * thread
Definition: thread.c:162
int strcasecmp(const char *, const char *)
struct public_key_packet_t::@58::@60 rsa
Text segment for subtitles.
Definition: vlc_text_style.h:131
#define vlc_dialog_wait_question(a, b, c, d, e, f, g,...)
Definition: vlc_dialog.h:149
struct update_release_t release
Release (version)
Definition: update.h:160
text_segment_t * text_segment_New(const char *psz_text)
This function will create a new text segment.
Definition: text_style.c:158
void vlc_sem_destroy(vlc_sem_t *sem)
Deinitializes a semaphore.
Definition: thread.c:331
int verify_signature(signature_packet_t *sign, public_key_packet_t *p_key, uint8_t *p_hash)
Definition: update_crypto.c:586
text_segment_t * text_segment_Copy(text_segment_t *p_src)
This function will copy a text_segment and its chain into a new one.
Definition: text_style.c:208
Definition: vlc_main.h:33
update_release_t * update_GetRelease(update_t *p_update)
Definition: update.c:754
vlc_thread_t thread
Definition: update.h:146
#define vlc_dialog_display_progress(a, b, c, d, e, f,...)
Definition: vlc_dialog.h:185
#define STYLE_OUTLINE
Definition: vlc_text_style.h:103
uint8_t i_background_alpha
The transparency of the background.
Definition: vlc_text_style.h:89
int i_spacing
The spaceing between glyphs in pixels.
Definition: vlc_text_style.h:75
text_style_t * text_style_Duplicate(const text_style_t *p_src)
Duplicate a text style.
Definition: text_style.c:138
#define STYLE_HAS_OUTLINE_COLOR
Definition: vlc_text_style.h:90
uint8_t i_outline_alpha
The transparency of the outline.
Definition: vlc_text_style.h:79
void(* pf_callback)(void *, bool)
Definition: update.h:149
#define VLC_THREAD_PRIORITY_LOW
Definition: vlc_threads.h:321
int i_shadow_width
The width of the shadow in pixels.
Definition: vlc_text_style.h:85
#define STYLE_HAS_FONT_COLOR
Definition: vlc_text_style.h:87
uint8_t q[2+256/8]
Definition: update.h:60
#define msg_Info(p_this,...)
Definition: vlc_messages.h:80
bool vlc_addr_timedwait(void *addr, unsigned val, mtime_t delay)
Waits on an address with a time-out.
Definition: thread.c:80
vlc_thread_t thread
Definition: update.h:135
update_download_thread_t * p_download
Definition: update.h:162
text_segment_t * p_next
next segment
Definition: vlc_text_style.h:134
static char * size_str(uint64_t l_size)
Convert a long int size in bytes to a string.
Definition: update.c:475
struct vlc_common_members obj
Definition: update.h:133
union signature_packet_t::@62 algo_specific
void libvlc_Quit(libvlc_int_t *p_libvlc)
Posts an exit signal to LibVLC instance.
Definition: exit.c:60
#define UPDATE_VLC_STATUS_URL
Definition: update.c:83
update_check_thread_t * p_check
Definition: update.h:163
char * psz_monofontname
The name of the mono font.
Definition: vlc_text_style.h:64
#define STYLE_HAS_FONT_ALPHA
Definition: vlc_text_style.h:88
uint8_t issuer_longid[8]
Definition: update.h:81
uint16_t i_style_flags
Formatting style flags.
Definition: vlc_text_style.h:67
int vlc_sem_post(vlc_sem_t *sem)
Increments the value of a semaphore.
Definition: thread.c:343
uint8_t timestamp[4]
Definition: update.h:53
text_style_t * text_style_Copy(text_style_t *p_dst, const text_style_t *p_src)
Copy a text style into another.
Definition: text_style.c:72
static bool GetUpdateFile(update_t *p_update)
Get the update file and parse it p_update has to be locked when calling this function.
Definition: update.c:181
#define msleep(d)
Definition: vlc_threads.h:878
libvlc_int_t * libvlc
LibVLC instance.
Definition: vlc_common.h:441
#define msg_Dbg(p_this,...)
Definition: vlc_messages.h:86
#define vlc_stream_NewURL(a, b)
Definition: vlc_stream.h:404
text_segment_t * text_segment_NewInheritStyle(const text_style_t *p_style)
This function will create a new text segment and duplicates the style passed as argument.
Definition: text_style.c:170
#define _(str)
Definition: vlc_fixups.h:371
#define MERGE(var, fflag)
Definition: text_style.c:89
update_t * update_New(vlc_object_t *p_this)
Create a new update VLC struct.
Definition: update.c:102
int i_minor
Version minor.
Definition: vlc_update.h:43
void vlc_cond_broadcast(vlc_cond_t *p_condvar)
Wakes up all threads waiting on a condition variable.
Definition: thread.c:262
public_key_packet_t key
Definition: update.h:121
uint8_t * psz_username
Definition: update.h:119
int vlc_clone(vlc_thread_t *th, void *(*entry)(void *), void *data, int priority)
Creates and starts a new thread.
Definition: thread.c:263
uint8_t p[2+3072/8]
Definition: update.h:59
static void * update_CheckReal(void *)
Definition: update.c:414
void vlc_cond_signal(vlc_cond_t *p_condvar)
Wakes up one thread waiting on a condition variable.
Definition: thread.c:256
int parse_public_key(const uint8_t *p_key_data, size_t i_key_len, public_key_t *p_key, const uint8_t *p_sig_issuer)
Definition: update_crypto.c:604
pthread_cond_t vlc_cond_t
Condition variable.
Definition: vlc_threads.h:279
void vlc_rwlock_unlock(vlc_rwlock_t *lock)
Releases a read/write lock.
Definition: thread.c:393
int asprintf(char **, const char *,...)
public_key_t * p_pkey
Definition: update.h:161
uint8_t digest_algo
Definition: update.h:78
#define vlc_dialog_update_progress_text(a, b, c, d,...)
Definition: vlc_dialog.h:227
enum text_style_t::@200 e_wrapinfo
#define STYLE_HAS_K_BACKGROUND_ALPHA
Definition: vlc_text_style.h:97
uint8_t s[2+256/8]
Definition: update.h:105
#define STYLE_HAS_K_BACKGROUND_COLOR
Definition: vlc_text_style.h:96
uint16_t i_features
Feature flags (means non default)
Definition: vlc_text_style.h:66
static void vlc_cancel_addr_clear(void *addr)
Definition: vlc_threads.h:1020
int i_outline_width
The width of the outline in pixels.
Definition: vlc_text_style.h:80
uint8_t e[2+4096/8]
Definition: update.h:66
#define CLOCK_FREQ
Definition: vlc_config.h:45
void text_segment_ChainDelete(text_segment_t *segment)
This function will destroy a list of text segments allocated by text_segment_New.
Definition: text_style.c:196
unsigned int vlc_html_color(const char *psz_value, bool *ok)
Returns an integer representation of an HTML color.
Definition: text_style.c:236
static vlc_mutex_t lock
Definition: interface.c:62
uint8_t timestamp[4]
Definition: update.h:95
#define msg_Warn(p_this,...)
Definition: vlc_messages.h:84
#define STYLE_HAS_OUTLINE_ALPHA
Definition: vlc_text_style.h:91
#define STYLE_DEFAULT_REL_FONT_SIZE
Definition: vlc_text_style.h:115
int i_revision
Version revision.
Definition: vlc_update.h:44
#define vlc_object_release(a)
Definition: vlc_objects.h:63
Describes an update VLC release number.
Definition: vlc_update.h:40
#define STYLE_HAS_WRAP_INFO
Definition: vlc_text_style.h:98
void vlc_rwlock_wrlock(vlc_rwlock_t *lock)
Acquires a read/write lock for writing.
Definition: thread.c:387
int vlc_unlink(const char *filename)
Removes a file.
Definition: filesystem.c:180
int i_font_color
The color of the text 0xRRGGBB (native endianness)
Definition: vlc_text_style.h:72
void vlc_testcancel(void)
Issues an explicit deferred cancellation point.
Definition: thread.c:331
#define TIME_UTC
Definition: vlc_fixups.h:254
int i_background_color
The color of the background 0xRRGGBB.
Definition: vlc_text_style.h:88
#define STYLE_FULLY_SET
Definition: vlc_text_style.h:86
Definition: vlc_dialog.h:54
static void EmptyRelease(update_t *p_update)
Empty the release struct.
Definition: update.c:164
uint8_t * hash_from_public_key(public_key_t *p_pkey)
Definition: update_crypto.c:844
public_key_t * download_key(vlc_object_t *p_this, const uint8_t *p_longid, const uint8_t *p_signature_issuer)
Definition: update_crypto.c:929
static const uint8_t videolan_public_key_longid[8]
Definition: vlc_pgpkey.h:17
int timespec_get(struct timespec *, int)
#define vlc_dialog_is_cancelled(a, b)
Definition: vlc_dialog.h:262
static void * update_DownloadReal(void *)
Definition: update.c:526
uint8_t algo
Definition: update.h:54
struct signature_packet_t::@62::@66 rsa
uint8_t version
Definition: update.h:52
void update_Check(update_t *p_update, void(*pf_callback)(void *, bool), void *p_data)
Check for updates.
Definition: update.c:392
int i_font_size
The font size in pixels.
Definition: vlc_text_style.h:71
#define STYLE_HAS_SHADOW_COLOR
Definition: vlc_text_style.h:92
void vlc_rwlock_init(vlc_rwlock_t *lock)
Initializes a read/write lock.
Definition: thread.c:369
void vlc_cond_init_daytime(vlc_cond_t *p_condvar)
Initializes a condition variable (wall clock).
Definition: thread.c:222
void vlc_sem_wait(vlc_sem_t *sem)
Waits on a semaphore.
Definition: thread.c:357
text_style_t * text_style_New(void)
Create a default text style.
Definition: text_style.c:33
const char * psz_name
Definition: vlc_codecs.h:315
#define STYLE_ALPHA_OPAQUE
Definition: vlc_text_style.h:81
Thread handle.
Definition: vlc_threads.h:252
char * psz_desc
Release description.
Definition: vlc_update.h:47
void vlc_mutex_init(vlc_mutex_t *p_mutex)
Initializes a fast mutex.
Definition: thread.c:85
void text_segment_Delete(text_segment_t *segment)
Delete a text segment and its content.
Definition: text_style.c:186
uint8_t y[2+3072/8]
Definition: update.h:62
stream_t definition
Definition: vlc_stream.h:46
#define STYLE_HAS_BACKGROUND_COLOR
Definition: vlc_text_style.h:94
#define vlc_cleanup_pop()
Unregisters the last cancellation handler.
Definition: vlc_threads.h:983
void text_style_Delete(text_style_t *p_style)
Delete a text style created by text_style_New or text_style_Duplicate.
Definition: text_style.c:149
void update_Download(update_t *p_update, const char *psz_destdir)
Download the file given in the update_t.
Definition: update.c:500
uint8_t i_font_alpha
The transparency of the text.
Definition: vlc_text_style.h:74
void * p_data
Definition: update.h:150
#define static_assert
Definition: vlc_fixups.h:367
void vlc_rwlock_destroy(vlc_rwlock_t *lock)
Destroys an initialized unused read/write lock.
Definition: thread.c:375
uint8_t r[2+256/8]
Definition: update.h:104
uint8_t i_shadow_alpha
The transparency of the shadow.
Definition: vlc_text_style.h:84
char * psz_url
Download URL.
Definition: vlc_update.h:46
int i_shadow_color
The color of the shadow 0xRRGGBB.
Definition: vlc_text_style.h:83
ssize_t vlc_stream_Read(stream_t *s, void *buf, size_t len)
Reads data from a byte stream.
Definition: stream.c:453
signature_packet_t sig
Definition: update.h:123
int i_outline_color
The color of the outline 0xRRGGBB.
Definition: vlc_text_style.h:78
libvlc_int_t * p_libvlc
Definition: update.h:158
#define dialog_FatalWait(p_obj, psz_title, psz_fmt,...)
Definition: update.c:88
int i_extra
Version extra.
Definition: vlc_update.h:45
Text style.
Definition: vlc_text_style.h:39
uint8_t public_key_algo
Definition: update.h:77
text_style_t * style
style applied to this segment
Definition: vlc_text_style.h:133
#define likely(p)
Definition: vlc_common.h:113
The main vlc_object_t structure.
Definition: vlc_objects.h:39
int vlc_savecancel(void)
Disables thread cancellation.
Definition: thread.c:313
The update object.
Definition: update.h:156
pthread_mutex_t vlc_mutex_t
Mutex.
Definition: vlc_threads.h:267
#define VLC_SUCCESS
No error.
Definition: vlc_common.h:349
static const struct @199 p_html_colors[]
struct signature_packet_t::@61::@64 v3
#define FREENULL(a)
Definition: vlc_common.h:766
char * strdup(const char *)
char psz_value[8]
Definition: vout_intf.c:91
#define vlc_custom_create(o, s, n)
Definition: libvlc.h:108
char * psz_fontname
The name of the font.
Definition: vlc_text_style.h:63
uint8_t * hash_from_file(const char *psz_file, signature_packet_t *p_sig)
Definition: update_crypto.c:824
void vlc_cond_destroy(vlc_cond_t *p_condvar)
Deinitializes a condition variable.
Definition: thread.c:228
void vlc_addr_broadcast(void *addr)
Wakes up all thread on an address.
Definition: thread.c:70
bool update_NeedUpgrade(update_t *p_update)
Definition: update.c:434
void vlc_cond_init(vlc_cond_t *p_condvar)
Initializes a condition variable.
Definition: thread.c:216
uint8_t * hash_from_text(const char *psz_text, signature_packet_t *p_sig)
Definition: update_crypto.c:789
#define STYLE_HAS_SHADOW_ALPHA
Definition: vlc_text_style.h:93
void vlc_cond_wait(vlc_cond_t *p_condvar, vlc_mutex_t *p_mutex)
Waits on a condition variable.
Definition: thread.c:267
pthread_rwlock_t vlc_rwlock_t
Read/write lock.
Definition: vlc_threads.h:304
uint8_t g[2+3072/8]
Definition: update.h:61
vlc_mutex_t lock
Definition: update.h:159
int download_signature(vlc_object_t *p_this, signature_packet_t *p_sig, const char *psz_url)
Definition: update_crypto.c:994
void vlc_addr_signal(void *addr)
Wakes up one thread on an address.
Definition: thread.c:65
int i_karaoke_background_color
Background color for karaoke 0xRRGGBB.
Definition: vlc_text_style.h:90
void vlc_mutex_destroy(vlc_mutex_t *p_mutex)
Deinitializes a mutex.
Definition: thread.c:110
Non blocking binary download.
Definition: update.h:131
Non blocking update availability verification.
Definition: update.h:144
uint8_t n[2+4096/8]
Definition: update.h:65
union signature_packet_t::@61 specific
void vlc_mutex_unlock(vlc_mutex_t *p_mutex)
Releases a mutex.
Definition: thread.c:138
uint8_t longid[8]
Definition: update.h:118
Definition: vlc_threads.h:1060
#define unlikely(p)
Definition: vlc_common.h:114
#define STYLE_DEFAULT_FONT_SIZE
Definition: vlc_text_style.h:114
float f_font_relsize
The font size in video height %.
Definition: vlc_text_style.h:70
atomic_bool aborted
Definition: update.h:136
uint8_t unhashed_data_len[2]
Definition: update.h:89
sem_t vlc_sem_t
Semaphore.
Definition: vlc_threads.h:297
int64_t mtime_t
High precision date or time interval.
Definition: vlc_common.h:150
void vlc_rwlock_rdlock(vlc_rwlock_t *lock)
Acquires a read/write lock for reading.
Definition: thread.c:381
int vlc_cond_timedwait(vlc_cond_t *p_condvar, vlc_mutex_t *p_mutex, mtime_t deadline)
Waits on a condition variable up to a certain date.
Definition: thread.c:273
int i_major
Version major.
Definition: vlc_update.h:42
uint8_t type
Definition: update.h:76
Definition: vlc_fixups.h:443
uint8_t version
Definition: update.h:74
#define MERGE_SIZE(var)
Definition: text_style.c:93
uint8_t * unhashed_data
Definition: update.h:90
union public_key_packet_t::@58 sig
#define VLC_OBJECT(x)
Type-safe vlc_object_t cast.
Definition: vlc_common.h:464
#define vlc_dialog_release(a, b)
Definition: vlc_dialog.h:251
struct signature_packet_t::@62::@65 dsa
char * psz_destdir
Definition: update.h:138
mtime_t mdate(void)
Precision monotonic clock.
Definition: thread.c:406
uint8_t i_karaoke_background_alpha
The transparency of the karaoke bg.
Definition: vlc_text_style.h:91
uint8_t hash_verification[2]
Definition: update.h:80
#define mwait(d)
Definition: vlc_threads.h:879
char * psz_text
text string of the segment
Definition: vlc_text_style.h:132
static void vlc_cancel_addr_set(void *addr)
Definition: vlc_threads.h:1015
static const uint8_t videolan_public_key[]
Definition: vlc_pgpkey.h:22
#define VLC_STATIC_MUTEX
Static initializer for (static) mutex.
Definition: vlc_threads.h:272
update_t * p_update
Definition: update.h:137
void vlc_addr_wait(void *addr, unsigned val)
Waits on an address.
Definition: thread.c:75
update_t * p_update
Definition: update.h:148
void vlc_mutex_lock(vlc_mutex_t *p_mutex)
Acquires a mutex.
Definition: thread.c:123
void update_Delete(update_t *p_update)
Delete an update_t struct.
Definition: update.c:132
#define msg_Err(p_this,...)
Definition: vlc_messages.h:82
struct vlc_common_members obj
Definition: vlc_objects.h:42
void vlc_join(vlc_thread_t handle, void **result)
Waits for a thread to complete (if needed), then destroys it.
Definition: thread.c:270
void vlc_global_mutex(unsigned n, bool acquire)
Internal handler for global mutexes.
Definition: threads.c:31
#define mutex_cleanup_push(lock)
Definition: vlc_threads.h:1013
void vlc_stream_Delete(stream_t *s)
Destroy a stream.
Definition: stream.c:120