Go to the documentation of this file.
24 #ifndef LIBVLC_VOUT_INTERNAL_SNAPSHOT_H
25 #define LIBVLC_VOUT_INTERNAL_SNAPSHOT_H
int height
Definition: opengl.c:105
FILE * vlc_fopen(const char *filename, const char *mode)
Opens a FILE pointer.
Definition: filesystem.c:46
char * vout_snapshot_GetDirectory(void)
This function will return the directory used for snapshots.
Definition: snapshot.c:135
video_frame_format_t format
The properties of the picture.
Definition: vlc_picture.h:73
int vlc_mutex_trylock(vlc_mutex_t *p_mutex)
Tries to acquire a mutex.
Definition: thread.c:129
Graphical window.
Definition: vlc_vout_window.h:130
void vout_snapshot_Clean(vout_snapshot_t *)
Definition: snapshot.c:53
static void vlc_gl_surface_ResizeNotify(vout_window_t *surface, unsigned width, unsigned height)
Definition: opengl.c:109
int vout_snapshot_SaveImage(char **name, int *sequential, const block_t *image, vout_thread_t *p_vout, const vout_snapshot_save_cfg_t *cfg)
This function will write an image to the disk an return the file name created.
Definition: snapshot.c:140
#define DIR_SEP
Definition: vlc_common.h:1023
size_t i_buffer
Payload length.
Definition: vlc_block.h:116
struct tm * gmtime_r(const time_t *, struct tm *)
vout_window_owner_t owner
Definition: vlc_vout_window.h:199
vlc_gl_t * vlc_gl_Create(struct vout_window_t *wnd, unsigned flags, const char *name)
Creates an OpenGL context (and its underlying surface).
Definition: opengl.c:50
void vout_snapshot_End(vout_snapshot_t *)
Definition: snapshot.c:66
#define msg_Dbg(p_this,...)
Definition: vlc_messages.h:86
char * prefix_fmt
Definition: snapshot.h:71
bool is_sequential
Definition: snapshot.h:67
bool is_available
Definition: snapshot.h:52
void vlc_cond_broadcast(vlc_cond_t *p_condvar)
Wakes up all threads waiting on a condition variable.
Definition: thread.c:262
#define VLC_EGENERIC
Unspecified error.
Definition: vlc_common.h:350
static void vlc_gl_Resize(vlc_gl_t *gl, unsigned w, unsigned h)
Definition: vlc_opengl.h:99
void vout_snapshot_Clean(vout_snapshot_t *snap)
Definition: snapshot.c:53
int vlc_stat(const char *filename, struct stat *buf)
Finds file/inode information - like stat().
Definition: filesystem.c:170
int width
Definition: opengl.c:104
void picture_Release(picture_t *p_picture)
This function will release a picture.
Definition: picture.c:300
void vout_snapshot_Init(vout_snapshot_t *snap)
Definition: snapshot.c:44
vout_window_t * vout_window_New(vlc_object_t *obj, const char *module, const vout_window_cfg_t *cfg, const vout_window_owner_t *owner)
Creates a new window.
Definition: window.c:52
bool vlc_gl_surface_CheckSize(vlc_gl_t *gl, unsigned *restrict width, unsigned *restrict height)
Checks if the dimensions of the surface used by the OpenGL context have changed (since the previous c...
Definition: opengl.c:169
pthread_cond_t vlc_cond_t
Condition variable.
Definition: vlc_threads.h:279
Video picture.
Definition: vlc_picture.h:68
int asprintf(char **, const char *,...)
void vout_snapshot_Set(vout_snapshot_t *, const video_format_t *, picture_t *)
It set the picture used to create the snapshots.
Definition: snapshot.c:112
Definition: vlc_opengl.h:82
Definition: snapshot.h:66
long tv_nsec
Definition: vlc_fixups.h:445
struct picture_t * p_next
Next picture in a FIFO a pictures.
Definition: vlc_picture.h:101
vlc_gl_t * vlc_gl_surface_Create(vlc_object_t *obj, const vout_window_cfg_t *cfg, struct vout_window_t **restrict wp)
Definition: opengl.c:122
vlc_mutex_t lock
Definition: snapshot.h:49
vlc_object_t * input
Definition: vout_internal.h:52
static vlc_mutex_t lock
Definition: interface.c:62
picture_t * picture
Definition: snapshot.h:54
#define vlc_object_release(a)
Definition: vlc_objects.h:63
void filename_sanitize(char *str)
Sanitize a file name.
Definition: strings.c:875
module_t * module
Definition: vlc_opengl.h:45
time_t tv_sec
Definition: vlc_fixups.h:444
bool vout_snapshot_IsRequested(vout_snapshot_t *)
It tells if they are pending snapshot request.
Definition: snapshot.c:103
#define TIME_UTC
Definition: vlc_fixups.h:254
char * format
Definition: snapshot.h:70
int timespec_get(struct timespec *, int)
vout_thread_sys_t * p
Definition: vlc_vout.h:74
void vout_snapshot_Init(vout_snapshot_t *)
Definition: snapshot.c:44
int sequence
Definition: snapshot.h:68
char * vout_snapshot_GetDirectory(void)
This function will return the directory used for snapshots.
Definition: snapshot.c:135
unsigned width
Definition: vlc_vout_window.h:105
Definition: vlc_opengl.h:40
void vlc_mutex_init(vlc_mutex_t *p_mutex)
Initializes a fast mutex.
Definition: thread.c:85
vlc_mutex_t lock
Definition: opengl.c:106
void vout_snapshot_End(vout_snapshot_t *snap)
Definition: snapshot.c:66
atomic_uint ref_count
Definition: opengl.c:54
void vout_window_Delete(vout_window_t *window)
Deletes a window created by vout_window_New().
Definition: window.c:99
The main vlc_object_t structure.
Definition: vlc_objects.h:39
bool vout_snapshot_IsRequested(vout_snapshot_t *snap)
It tells if they are pending snapshot request.
Definition: snapshot.c:103
Definition: snapshot.h:28
picture_t * vout_snapshot_Get(vout_snapshot_t *, mtime_t timeout)
Definition: snapshot.c:77
pthread_mutex_t vlc_mutex_t
Mutex.
Definition: vlc_threads.h:267
#define VLC_SUCCESS
No error.
Definition: vlc_common.h:349
static char * str_format(input_thread_t *input, const char *fmt)
Definition: vlc_strings.h:143
char * strdup(const char *)
Definition: vlc_vout_window.h:90
Definition: vlc_configuration.h:132
#define vlc_custom_create(o, s, n)
Definition: libvlc.h:108
const char name[16]
Definition: httpd.c:1249
Definition: vlc_opengl.h:81
void vlc_cond_destroy(vlc_cond_t *p_condvar)
Deinitializes a condition variable.
Definition: thread.c:228
char * config_GetUserDir(vlc_userdir_t type)
Definition: specific.c:272
void vlc_cond_init(vlc_cond_t *p_condvar)
Initializes a condition variable.
Definition: thread.c:216
void vlc_gl_Release(vlc_gl_t *gl)
Definition: opengl.c:91
vlc_cond_t wait
Definition: snapshot.h:50
void vout_snapshot_Set(vout_snapshot_t *snap, const video_format_t *fmt, picture_t *picture)
It set the picture used to create the snapshots.
Definition: snapshot.c:112
void vlc_mutex_destroy(vlc_mutex_t *p_mutex)
Deinitializes a mutex.
Definition: thread.c:110
int request_count
Definition: snapshot.h:53
void vlc_gl_surface_Destroy(vlc_gl_t *gl)
Definition: opengl.c:191
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 vout_snapshot_SaveImage(char **name, int *sequential, const block_t *image, vout_thread_t *p_vout, const vout_snapshot_save_cfg_t *cfg)
This function will write an image to the disk an return the file name created.
Definition: snapshot.c:140
Definition: vlc_vout_window.h:110
void vlc_gl_Hold(vlc_gl_t *gl)
Definition: opengl.c:85
struct tm * localtime_r(const time_t *, struct tm *)
int64_t mtime_t
High precision date or time interval.
Definition: vlc_common.h:150
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
char * path
Definition: snapshot.h:69
Definition: vlc_fixups.h:443
uint8_t * p_buffer
Payload start.
Definition: vlc_block.h:115
picture_t * vout_snapshot_Get(vout_snapshot_t *snap, mtime_t timeout)
Definition: snapshot.c:77
Video output thread descriptor.
Definition: vlc_vout.h:70
mtime_t mdate(void)
Precision monotonic clock.
Definition: thread.c:406
#define module_unneed(a, b)
Definition: vlc_modules.h:49
unsigned height
Definition: vlc_vout_window.h:106
void vlc_mutex_lock(vlc_mutex_t *p_mutex)
Acquires a mutex.
Definition: thread.c:123
Definition: vlc_block.h:111
#define msg_Err(p_this,...)
Definition: vlc_messages.h:82
picture_t * picture_Clone(picture_t *picture)
Perform a shallow picture copy.
Definition: picture.c:387
void * sys
Definition: vlc_vout_window.h:111
struct vout_window_t * surface
Definition: vlc_opengl.h:44
#define module_need(a, b, c, d)
Definition: vlc_modules.h:47
struct vlc_gl_surface vlc_gl_surface_t
vlc_gl_t gl
Definition: opengl.c:53