VLC  3.0.15
interrupt.h
Go to the documentation of this file.
1 /*****************************************************************************
2  * interrupt.h:
3  *****************************************************************************
4  * Copyright (C) 2015 RĂ©mi Denis-Courmont
5  *
6  * This program is free software; you can redistribute it and/or modify it
7  * under the terms of the GNU Lesser General Public License as published by
8  * the Free Software Foundation; either version 2.1 of the License, or
9  * (at your option) any later version.
10  *
11  * This program is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  * GNU Lesser General Public License for more details.
15  *
16  * You should have received a copy of the GNU Lesser General Public License
17  * along with this program; if not, write to the Free Software Foundation,
18  * Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
19  *****************************************************************************/
20 
21 /** @ingroup interrupt */
22 #ifndef LIBVLC_INPUT_SIGNAL_H
23 # define LIBVLC_INPUT_SIGNAL_H 1
24 
25 # include <vlc_interrupt.h>
26 # include <vlc_atomic.h>
27 
30 
31 struct vlc_interrupt
32 {
35  atomic_bool killed;
36  void (*callback)(void *);
37  void *data;
38 };
39 #endif
ImageRead
static picture_t * ImageRead(image_handler_t *, block_t *, const video_format_t *, video_format_t *)
Definition: image.c:131
video_format_t::i_bmask
uint32_t i_bmask
color masks for RGB chroma
Definition: vlc_es.h:344
image_handler_t::pf_write
block_t *(* pf_write)(image_handler_t *, picture_t *, const video_format_t *, const video_format_t *)
Definition: vlc_image.h:45
decoder_t::pf_vout_format_update
int(* pf_vout_format_update)(decoder_t *)
Definition: vlc_codec.h:150
count
size_t count
Definition: core.c:461
vlc_recvfrom_i11e
ssize_t vlc_recvfrom_i11e(int fd, void *buf, size_t len, int flags, struct sockaddr *addr, socklen_t *addrlen)
Definition: interrupt.c:485
picture_fifo_Delete
void picture_fifo_Delete(picture_fifo_t *fifo)
It destroys a fifo created by picture_fifo_New.
Definition: picture_fifo.c:139
vlc_es.h
vlc_interrupt_sem
static void vlc_interrupt_sem(void *opaque)
Definition: interrupt.c:193
vlc_fopen
FILE * vlc_fopen(const char *filename, const char *mode)
Opens a FILE pointer.
Definition: filesystem.c:46
cookie_has_attribute
static bool cookie_has_attribute(const char *cookie, const char *attr)
Definition: httpcookies.c:71
VLC_CODEC_BPG
#define VLC_CODEC_BPG
Definition: vlc_fourcc.h:390
VIDEO_ES
Definition: vlc_es.h:566
picture_Hold
picture_t * picture_Hold(picture_t *p_picture)
This function will increase the picture reference count.
Definition: picture.c:290
decoder_t::pf_vout_buffer_new
picture_t *(* pf_vout_buffer_new)(decoder_t *)
Definition: vlc_codec.h:151
picture_fifo_Pop
picture_t * picture_fifo_Pop(picture_fifo_t *fifo)
It retreives a picture_t from the fifo.
Definition: picture_fifo.c:84
vlc_stream_GetSize
static int vlc_stream_GetSize(stream_t *s, uint64_t *size)
Get the size of the stream.
Definition: vlc_stream.h:313
vlc_restorecancel
void vlc_restorecancel(int state)
Restores the cancellation state.
Definition: thread.c:323
es_format_t::video
video_format_t video
description of video format
Definition: vlc_es.h:609
vlc_cleanup_push
#define vlc_cleanup_push(routine, arg)
Registers a thread cancellation handler.
Definition: vlc_threads.h:975
vlc_http.h
video_format_Copy
static int video_format_Copy(video_format_t *p_dst, const video_format_t *p_src)
Copy video_format_t including the palette.
Definition: vlc_es.h:392
strcasecmp
int strcasecmp(const char *, const char *)
mime_table
static const struct @50 mime_table[]
CreateEncoder
static encoder_t * CreateEncoder(vlc_object_t *, const video_format_t *, const video_format_t *)
Definition: image.c:716
vlc_interrupt::data
void * data
Definition: interrupt.h:36
video_update_format
static int video_update_format(decoder_t *p_dec)
Definition: image.c:660
filter_owner_t::video
struct filter_owner_t::@166::@168 video
vlc_array_remove
static void vlc_array_remove(vlc_array_t *ar, size_t idx)
Definition: vlc_arrays.h:333
vlc_interrupt_raise
void vlc_interrupt_raise(vlc_interrupt_t *ctx)
Raises an interruption through a specified context.
Definition: interrupt.c:84
vlc_common.h
DeleteEncoder
static void DeleteEncoder(encoder_t *)
Definition: image.c:785
vlc_messages.h
vlc_interrupt_finish
static int vlc_interrupt_finish(vlc_interrupt_t *ctx)
Cleans up after an interruptible wait: waits for any pending invocations of the callback previously r...
Definition: interrupt.c:141
VLC_CODEC_RGB15
#define VLC_CODEC_RGB15
Definition: vlc_fourcc.h:319
filter_t::p_module
module_t * p_module
Definition: vlc_filter.h:70
video_format_t::i_y_offset
unsigned int i_y_offset
start offset of visible area
Definition: vlc_es.h:332
vlc_recvmsg_i11e
ssize_t vlc_recvmsg_i11e(int fd, struct msghdr *msg, int flags)
Definition: interrupt.c:471
image_handler_t::p_filter
filter_t * p_filter
Definition: vlc_image.h:58
sout_EncoderCreate
#define sout_EncoderCreate(o)
Definition: vlc_sout.h:266
vlc_sendto_i11e
ssize_t vlc_sendto_i11e(int fd, const void *buf, size_t len, int flags, const struct sockaddr *addr, socklen_t addrlen)
Definition: interrupt.c:515
video_format_t::i_sar_num
unsigned int i_sar_num
sample/pixel aspect ratio
Definition: vlc_es.h:338
block_t::i_buffer
size_t i_buffer
Payload length.
Definition: vlc_block.h:116
vlc_interrupt.h
vlc_pipe
int vlc_pipe(int fds[2])
Creates a pipe (see "man pipe" for further reference).
Definition: filesystem.c:263
video_format_Clean
static void video_format_Clean(video_format_t *p_src)
Cleanup and free palette of this video_format_t.
Definition: vlc_es.h:438
block_t::i_dts
mtime_t i_dts
Definition: vlc_block.h:124
decoder_t::pf_decode
int(* pf_decode)(decoder_t *, block_t *p_block)
Definition: vlc_codec.h:96
pollfd::fd
int fd
Definition: vlc_fixups.h:416
vlc_poll_i11e_wake
static void vlc_poll_i11e_wake(void *opaque)
Definition: interrupt.c:287
vlc_interrupt_destroy
void vlc_interrupt_destroy(vlc_interrupt_t *ctx)
Destroys an interrupt context.
Definition: interrupt.c:77
vlc_network.h
pollfd
Definition: vlc_fixups.h:414
cookie_get_attribute_value
static char * cookie_get_attribute_value(const char *cookie, const char *attr)
Definition: httpcookies.c:48
filter_t::fmt_in
es_format_t fmt_in
Definition: vlc_filter.h:74
video_format_t
video format description
Definition: vlc_es.h:325
vlc_sem_post
int vlc_sem_post(vlc_sem_t *sem)
Increments the value of a semaphore.
Definition: thread.c:343
video_format_t::i_gmask
uint32_t i_gmask
Definition: vlc_es.h:344
vlc_array_append
static int vlc_array_append(vlc_array_t *ar, void *elem)
Definition: vlc_arrays.h:315
msg_Dbg
#define msg_Dbg(p_this,...)
Definition: vlc_messages.h:86
vlc_http_cookies_fetch
char * vlc_http_cookies_fetch(vlc_http_cookie_jar_t *p_jar, bool secure, const char *host, const char *path)
Returns a cookie value that match the given URL.
Definition: httpcookies.c:353
es_format_Clean
void es_format_Clean(es_format_t *fmt)
This function will clean up a es_format_t and release all associated resources.
Definition: es_format.c:539
decoder_t
Definition: vlc_codec.h:55
vlc_stream_NewURL
#define vlc_stream_NewURL(a, b)
Definition: vlc_stream.h:404
psz_ext
const char psz_ext[7]
Definition: image.c:581
ImageReadUrl
static picture_t * ImageReadUrl(image_handler_t *, const char *, video_format_t *, video_format_t *)
Definition: image.c:273
CreateFilter
static filter_t * CreateFilter(vlc_object_t *, const es_format_t *, const video_format_t *)
Definition: image.c:801
poll
int poll(struct pollfd *, unsigned, int)
vlc_ascii_strcasecmp
static int vlc_ascii_strcasecmp(const char *psz1, const char *psz2)
Compare two ASCII strings ignoring case.
Definition: vlc_strings.h:57
VLC_EGENERIC
#define VLC_EGENERIC
Unspecified error.
Definition: vlc_common.h:350
ARRAY_SIZE
#define ARRAY_SIZE(x)
Definition: vlc_arrays.h:162
es_format_Init
void es_format_Init(es_format_t *fmt, int i_cat, vlc_fourcc_t i_codec)
This function will initialize a es_format_t structure.
Definition: es_format.c:433
vlc_poll_i11e
int vlc_poll_i11e(struct pollfd *fds, unsigned nfds, int timeout)
Interruptible variant of poll().
Definition: interrupt.c:372
video_format_t::transfer
video_transfer_func_t transfer
transfer function
Definition: vlc_es.h:351
picture_Release
void picture_Release(picture_t *p_picture)
This function will release a picture.
Definition: picture.c:300
vlc_cond_signal
void vlc_cond_signal(vlc_cond_t *p_condvar)
Wakes up one thread waiting on a condition variable.
Definition: thread.c:256
vlc_readv_i11e
ssize_t vlc_readv_i11e(int fd, struct iovec *iov, int count)
Wrapper for readv() that returns the EINTR error upon VLC I/O interruption.
Definition: interrupt.c:417
es_format_InitFromVideo
void es_format_InitFromVideo(es_format_t *p_es, const video_format_t *p_fmt)
This function will initialize a es_format_t structure from a video_format_t.
Definition: es_format.c:454
encoder_t::pf_encode_video
block_t *(* pf_encode_video)(encoder_t *, picture_t *)
Definition: vlc_codec.h:225
cookie_path_matches
static bool cookie_path_matches(const http_cookie_t *cookie, const char *uripath)
Definition: httpcookies.c:140
VLC_CODEC_PNM
#define VLC_CODEC_PNM
Definition: vlc_fourcc.h:398
CALLBACK
#define CALLBACK(name, cb)
Definition: var.c:89
vlc_cond_t
pthread_cond_t vlc_cond_t
Condition variable.
Definition: vlc_threads.h:279
image_Type2Fourcc
vlc_fourcc_t image_Type2Fourcc(const char *)
Definition: image.c:608
cookie_domain_matches
static bool cookie_domain_matches(const http_cookie_t *cookie, const char *host)
Definition: httpcookies.c:105
picture_t
Video picture.
Definition: vlc_picture.h:68
asprintf
int asprintf(char **, const char *,...)
block_t::i_pts
mtime_t i_pts
Definition: vlc_block.h:123
video_format_FixRgb
void video_format_FixRgb(video_format_t *p_fmt)
This function will fill all RGB shift from RGB masks.
Definition: es_format.c:87
video_format_t::primaries
video_color_primaries_t primaries
color primaries
Definition: vlc_es.h:350
VLCDEC_SUCCESS
#define VLCDEC_SUCCESS
Definition: vlc_codec.h:72
ext_table
static const struct @49 ext_table[]
Misc functions.
strndup
char * strndup(const char *, size_t)
image_HandlerCreate
image_handler_t * image_HandlerCreate(vlc_object_t *p_this)
Create an image_handler_t instance.
Definition: image.c:82
DeleteFilter
static void DeleteFilter(filter_t *)
Definition: image.c:830
filter_t::fmt_out
es_format_t fmt_out
Definition: vlc_filter.h:77
vlc_http_cookies_store
bool vlc_http_cookies_store(vlc_http_cookie_jar_t *p_jar, const char *cookies, const char *host, const char *path)
Parse a value of an incoming Set-Cookie header and append the cookie to the cookie jar if appropriate...
Definition: httpcookies.c:298
video_format_t::i_frame_rate
unsigned int i_frame_rate
frame rate numerator
Definition: vlc_es.h:341
video_format_t::space
video_color_space_t space
YCbCr color space.
Definition: vlc_es.h:352
vlc_killed
bool vlc_killed(void)
Checks if the interruption context was "killed".
Definition: interrupt.c:186
vlc_http_cookies_new
vlc_http_cookie_jar_t * vlc_http_cookies_new(void)
Definition: httpcookies.c:272
cookie_default_path
static char * cookie_default_path(const char *request_path)
Definition: httpcookies.c:163
msg_Warn
#define msg_Warn(p_this,...)
Definition: vlc_messages.h:84
cookie_get_domain
static char * cookie_get_domain(const char *cookie)
Definition: httpcookies.c:91
decoder_t::p_module
module_t * p_module
Definition: vlc_codec.h:60
picture_fifo_New
picture_fifo_t * picture_fifo_New(void)
It creates an empty picture_fifo_t.
Definition: picture_fifo.c:67
vlc_close
int vlc_close(int fd)
Closes a file descriptor.
Definition: filesystem.c:88
vlc_array_t
Definition: vlc_arrays.h:238
vlc_object_release
#define vlc_object_release(a)
Definition: vlc_objects.h:63
VLC_CODEC_PGM
#define VLC_CODEC_PGM
Definition: vlc_fourcc.h:386
interrupt.h
vlc_interrupt_register
void vlc_interrupt_register(void(*cb)(void *), void *opaque)
Registers a custom interrupt handler.
Definition: interrupt.c:160
video_format_t::i_width
unsigned int i_width
picture width
Definition: vlc_es.h:329
VLC_CODEC_PCX
#define VLC_CODEC_PCX
Definition: vlc_fourcc.h:399
vlc_interrupt_kill
void vlc_interrupt_kill(vlc_interrupt_t *ctx)
Marks the interruption context as "killed".
Definition: interrupt.c:178
COLOR_PRIMARIES_UNDEF
Definition: vlc_es.h:252
VLC_CODEC_RGB32
#define VLC_CODEC_RGB32
Definition: vlc_fourcc.h:325
vlc_testcancel
void vlc_testcancel(void)
Issues an explicit deferred cancellation point.
Definition: thread.c:331
http_cookie_t
struct http_cookie_t http_cookie_t
vlc_interrupt_unregister
int vlc_interrupt_unregister(void)
Definition: interrupt.c:167
video_format_t::i_x_offset
unsigned int i_x_offset
start offset of visible area
Definition: vlc_es.h:331
vlc_array_count
static size_t vlc_array_count(vlc_array_t *p_array)
Definition: vlc_arrays.h:257
filter_t
Structure describing a filter.
Definition: vlc_filter.h:65
es_format_t
Definition: vlc_es.h:580
vlc_atomic.h
vlc_mwait_i11e_wake
static void vlc_mwait_i11e_wake(void *opaque)
Definition: interrupt.c:213
POLLOUT
#define POLLOUT
Definition: vlc_fixups.h:412
vlc_strings.h
vlc_filter.h
es_format_t::i_cat
enum es_format_category_e i_cat
ES category.
Definition: vlc_es.h:582
vlc_interrupt_cleanup
static void vlc_interrupt_cleanup(void *opaque)
Definition: interrupt.c:173
image_handler_t::pf_read_url
picture_t *(* pf_read_url)(image_handler_t *, const char *, video_format_t *, video_format_t *)
Definition: vlc_image.h:43
CreateDecoder
static decoder_t * CreateDecoder(vlc_object_t *, const video_format_t *)
Definition: image.c:671
decoder_t::fmt_in
es_format_t fmt_in
Definition: vlc_codec.h:64
vlc_meta_Delete
void vlc_meta_Delete(vlc_meta_t *m)
Definition: meta.c:110
vlc_interrupt_deinit
void vlc_interrupt_deinit(vlc_interrupt_t *)
Deinitializes an interruption context.
Definition: interrupt.c:71
decoder_t::p_queue_ctx
void * p_queue_ctx
Definition: vlc_codec.h:186
VLC_CODEC_PNG
#define VLC_CODEC_PNG
Definition: vlc_fourcc.h:384
block_Release
static void block_Release(block_t *block)
Releases a block.
Definition: vlc_block.h:181
vlc_interrupt_set
vlc_interrupt_t * vlc_interrupt_set(vlc_interrupt_t *newctx)
Sets the interruption context for the calling thread.
Definition: interrupt.c:99
VLC_CODEC_SVG
#define VLC_CODEC_SVG
Definition: vlc_fourcc.h:396
vlc_interrupt::lock
vlc_mutex_t lock
Definition: interrupt.h:32
encoder_t
Definition: vlc_codec.h:211
pollfd::events
short events
Definition: vlc_fixups.h:417
recvmsg
ssize_t recvmsg(int, struct msghdr *, int)
vlc_sem_wait
void vlc_sem_wait(vlc_sem_t *sem)
Waits on a semaphore.
Definition: thread.c:357
vlc_interrupt_var
static thread_local vlc_interrupt_t * vlc_interrupt_var
Definition: interrupt.c:46
psz_name
const char * psz_name
Definition: vlc_codecs.h:315
decoder_t::pf_queue_video
int(* pf_queue_video)(decoder_t *, picture_t *)
Definition: vlc_codec.h:179
filter_new_picture
static picture_t * filter_new_picture(filter_t *p_filter)
Definition: image.c:796
vlc_mutex_init
void vlc_mutex_init(vlc_mutex_t *p_mutex)
Initializes a fast mutex.
Definition: thread.c:85
vlc_interrupt_deinit
void vlc_interrupt_deinit(vlc_interrupt_t *ctx)
Deinitializes an interruption context.
Definition: interrupt.c:71
VLC_CODEC_PGMYUV
#define VLC_CODEC_PGMYUV
Definition: vlc_fourcc.h:387
stream_t
stream_t definition
Definition: vlc_stream.h:46
VLC_CODEC_GIF
#define VLC_CODEC_GIF
Definition: vlc_fourcc.h:394
vlc_cleanup_pop
#define vlc_cleanup_pop()
Unregisters the last cancellation handler.
Definition: vlc_threads.h:983
encoder_t::fmt_in
es_format_t fmt_in
Definition: vlc_codec.h:220
POLLIN
#define POLLIN
Definition: vlc_fixups.h:411
psz_mime
const char * psz_mime
Definition: image.c:629
image_HandlerDelete
void image_HandlerDelete(image_handler_t *p_image)
Delete the image_handler_t instance.
Definition: image.c:105
vlc_ascii_strncasecmp
static int vlc_ascii_strncasecmp(const char *psz1, const char *psz2, size_t n)
Definition: vlc_strings.h:72
vlc_interrupt
Definition: interrupt.h:30
video_format_t::i_visible_height
unsigned int i_visible_height
height of visible area
Definition: vlc_es.h:334
image_handler_t::pf_convert
picture_t *(* pf_convert)(image_handler_t *, picture_t *, const video_format_t *, video_format_t *)
Definition: vlc_image.h:51
cookie_parse
static http_cookie_t * cookie_parse(const char *value, const char *host, const char *path)
Definition: httpcookies.c:199
vlc_write_i11e
ssize_t vlc_write_i11e(int fd, const void *buf, size_t count)
Wrapper for write() that returns the EINTR error upon VLC I/O interruption.
Definition: interrupt.c:465
video_format_t::i_sar_den
unsigned int i_sar_den
Definition: vlc_es.h:339
vlc_fs.h
vlc_sout.h
decoder_t::fmt_out
es_format_t fmt_out
Definition: vlc_codec.h:67
vlc_interrupt::interrupted
bool interrupted
Definition: interrupt.h:33
sendmsg
ssize_t sendmsg(int, const struct msghdr *, int)
picture_fifo_Push
void picture_fifo_Push(picture_fifo_t *fifo, picture_t *picture)
It saves a picture_t into the fifo.
Definition: picture_fifo.c:78
likely
#define likely(p)
Definition: vlc_common.h:113
image_Ext2Fourcc
vlc_fourcc_t image_Ext2Fourcc(const char *)
Definition: image.c:617
vlc_object_t
The main vlc_object_t structure.
Definition: vlc_objects.h:39
vlc_savecancel
int vlc_savecancel(void)
Disables thread cancellation.
Definition: thread.c:313
vlc_stream_Block
block_t * vlc_stream_Block(stream_t *s, size_t size)
Read data into a block.
Definition: stream.c:697
vlc_interrupt::killed
atomic_bool killed
Definition: interrupt.h:34
vlc_mwait_i11e_cleanup
static void vlc_mwait_i11e_cleanup(void *opaque)
Definition: interrupt.c:218
vlc_array_init
static void vlc_array_init(vlc_array_t *p_array)
Definition: vlc_arrays.h:244
picture_Copy
void picture_Copy(picture_t *p_dst, const picture_t *p_src)
This function will copy both picture dynamic properties and pixels.
Definition: picture.c:373
vlc_stream.h
vlc_mutex_t
pthread_mutex_t vlc_mutex_t
Mutex.
Definition: vlc_threads.h:267
vlc_interrupt_create
vlc_interrupt_t * vlc_interrupt_create(void)
Creates an interruption context.
Definition: interrupt.c:59
VLC_SUCCESS
#define VLC_SUCCESS
No error.
Definition: vlc_common.h:349
vlc_array_clear
static void vlc_array_clear(vlc_array_t *p_array)
Definition: vlc_arrays.h:250
COLOR_SPACE_UNDEF
Definition: vlc_es.h:297
vlc_accept_i11e
int vlc_accept_i11e(int fd, struct sockaddr *addr, socklen_t *addrlen, bool blocking)
Definition: interrupt.c:529
vlc_interrupt_forward_wake
static void vlc_interrupt_forward_wake(void *opaque)
Definition: interrupt.c:251
video_format_t::i_visible_width
unsigned int i_visible_width
width of visible area
Definition: vlc_es.h:333
strdup
char * strdup(const char *)
VLC_USED
#define VLC_USED
Definition: fourcc_gen.c:31
vlc_custom_create
#define vlc_custom_create(o, s, n)
Definition: libvlc.h:108
es_format_t::i_codec
vlc_fourcc_t i_codec
FOURCC value as used in vlc.
Definition: vlc_es.h:583
image_handler_t
Definition: vlc_image.h:39
vlc_writev_i11e
ssize_t vlc_writev_i11e(int fd, const struct iovec *iov, int count)
Wrapper for writev() that returns the EINTR error upon VLC I/O interruption.
Definition: interrupt.c:436
vlc_http_cookies_destroy
void vlc_http_cookies_destroy(vlc_http_cookie_jar_t *p_jar)
Definition: httpcookies.c:284
vlc_poll_i11e_inner
static int vlc_poll_i11e_inner(struct pollfd *restrict fds, unsigned nfds, int timeout, vlc_interrupt_t *ctx, struct pollfd *restrict ufd)
Definition: interrupt.c:309
ImageWriteUrl
static int ImageWriteUrl(image_handler_t *, picture_t *, const video_format_t *, video_format_t *, const char *)
Definition: image.c:450
vlc_cond_destroy
void vlc_cond_destroy(vlc_cond_t *p_condvar)
Deinitializes a condition variable.
Definition: thread.c:228
vlc_cond_init
void vlc_cond_init(vlc_cond_t *p_condvar)
Initializes a condition variable.
Definition: thread.c:216
VLC_MALLOC
#define VLC_MALLOC
Definition: vlc_common.h:102
image_handler_t::outfifo
picture_fifo_t * outfifo
Definition: vlc_image.h:60
VLC_FOURCC
#define VLC_FOURCC(a, b, c, d)
Definition: fourcc_gen.c:36
vlc_array_item_at_index
#define vlc_array_item_at_index(ar, idx)
Definition: vlc_arrays.h:263
vlc_interrupt_forward_stop
int vlc_interrupt_forward_stop(void *const data[2])
Undoes vlc_interrupt_forward_start().
Definition: interrupt.c:275
vlc_interrupt::callback
void(* callback)(void *)
Definition: interrupt.h:35
encoder_t::fmt_out
es_format_t fmt_out
Definition: vlc_codec.h:223
encoder_t::p_module
module_t * p_module
Definition: vlc_codec.h:216
vlc_mutex_destroy
void vlc_mutex_destroy(vlc_mutex_t *p_mutex)
Deinitializes a mutex.
Definition: thread.c:110
TRANSFER_FUNC_UNDEF
Definition: vlc_es.h:274
VLC_CODEC_JPEG
#define VLC_CODEC_JPEG
Definition: vlc_fourcc.h:389
video_format_t::i_height
unsigned int i_height
picture height
Definition: vlc_es.h:330
vlc_mutex_unlock
void vlc_mutex_unlock(vlc_mutex_t *p_mutex)
Releases a mutex.
Definition: thread.c:138
unlikely
#define unlikely(p)
Definition: vlc_common.h:114
ImageWrite
static block_t * ImageWrite(image_handler_t *, picture_t *, const video_format_t *, const video_format_t *)
Write an image.
Definition: image.c:354
VLC_CODEC_TIFF
#define VLC_CODEC_TIFF
Definition: vlc_fourcc.h:393
vlc_image.h
image_handler_t::p_enc
encoder_t * p_enc
Definition: vlc_image.h:57
cookie_should_be_sent
static bool cookie_should_be_sent(const http_cookie_t *cookie, bool secure, const char *host, const char *path)
Definition: httpcookies.c:154
video_format_t::i_frame_rate_base
unsigned int i_frame_rate_base
frame rate denominator
Definition: vlc_es.h:342
VLC_CODEC_BMP
#define VLC_CODEC_BMP
Definition: vlc_fourcc.h:392
i_codec
vlc_fourcc_t i_codec
Definition: image.c:580
libvlc.h
vlc_strerror_c
const char * vlc_strerror_c(int errnum)
Definition: error.c:34
stream_MimeType
static char * stream_MimeType(stream_t *s)
Get the mime-type of a stream.
Definition: vlc_stream.h:357
video_format_t::i_rmask
uint32_t i_rmask
Definition: vlc_es.h:344
decoder_t::b_frame_drop_allowed
bool b_frame_drop_allowed
Definition: vlc_codec.h:70
filter_NewPicture
static picture_t * filter_NewPicture(filter_t *p_filter)
This function will return a new picture usable by p_filter as an output buffer.
Definition: vlc_filter.h:163
VLC_CODEC_TARGA
#define VLC_CODEC_TARGA
Definition: vlc_fourcc.h:395
vlc_assert_unreachable
#define vlc_assert_unreachable()
Definition: vlc_common.h:118
vlc_sem_t
sem_t vlc_sem_t
Semaphore.
Definition: vlc_threads.h:297
image_handler_t::p_parent
vlc_object_t * p_parent
Definition: vlc_image.h:55
mtime_t
int64_t mtime_t
High precision date or time interval.
Definition: vlc_common.h:150
vlc_poll_i11e_cleanup
static void vlc_poll_i11e_cleanup(void *opaque)
Definition: interrupt.c:298
vlc_cond_timedwait
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
block_t::p_buffer
uint8_t * p_buffer
Payload start.
Definition: vlc_block.h:115
BitMapFormatIsSimilar
static bool BitMapFormatIsSimilar(const video_format_t *f1, const video_format_t *f2)
Definition: image.c:327
video_format_t::i_chroma
vlc_fourcc_t i_chroma
picture chroma
Definition: vlc_es.h:327
vlc_codec.h
vlc_interrupt_init
void vlc_interrupt_init(vlc_interrupt_t *ctx)
Initializes an interruption context.
Definition: interrupt.c:51
VLC_CODEC_RGB24
#define VLC_CODEC_RGB24
Definition: vlc_fourcc.h:323
VLC_CODEC_PPM
#define VLC_CODEC_PPM
Definition: vlc_fourcc.h:385
vlc_accept
int vlc_accept(int lfd, struct sockaddr *addr, socklen_t *alen, bool nonblock)
Accepts an inbound connection request on a listening socket.
Definition: filesystem.c:333
ImageConvert
static picture_t * ImageConvert(image_handler_t *, picture_t *, const video_format_t *, video_format_t *)
Convert an image to a different format.
Definition: image.c:497
vlc_alloc
static void * vlc_alloc(size_t count, size_t size)
Definition: vlc_common.h:948
mdate
mtime_t mdate(void)
Precision monotonic clock.
Definition: thread.c:406
VLC_CODEC_JPEGLS
#define VLC_CODEC_JPEGLS
Definition: vlc_fourcc.h:391
cookie_get_path
static char * cookie_get_path(const char *cookie)
Definition: httpcookies.c:135
mwait
#define mwait(d)
Definition: vlc_threads.h:879
module_unneed
#define module_unneed(a, b)
Definition: vlc_modules.h:49
vlc_meta.h
filter_t::pf_video_filter
picture_t *(* pf_video_filter)(filter_t *, picture_t *)
Filter a picture (video filter)
Definition: vlc_filter.h:88
image_Mime2Fourcc
vlc_fourcc_t image_Mime2Fourcc(const char *psz_mime)
Definition: image.c:652
vlc_interrupt_forward_start
void vlc_interrupt_forward_start(vlc_interrupt_t *to, void *data[2])
Enables forwarding of interruption.
Definition: interrupt.c:261
vlc_mwait_i11e
int vlc_mwait_i11e(mtime_t deadline)
Interruptible variant of mwait().
Definition: interrupt.c:228
es_format_Copy
int es_format_Copy(es_format_t *restrict dst, const es_format_t *src)
Definition: es_format.c:460
vlc_mutex_lock
void vlc_mutex_lock(vlc_mutex_t *p_mutex)
Acquires a mutex.
Definition: thread.c:123
ImageQueueVideo
static int ImageQueueVideo(decoder_t *p_dec, picture_t *p_pic)
Read an image.
Definition: image.c:124
block_t
Definition: vlc_block.h:111
msg_Err
#define msg_Err(p_this,...)
Definition: vlc_messages.h:82
vlc_sem_wait_i11e
int vlc_sem_wait_i11e(vlc_sem_t *sem)
Interruptible variant of vlc_sem_wait().
Definition: interrupt.c:198
vlc_read_i11e
ssize_t vlc_read_i11e(int fd, void *buf, size_t count)
Wrapper for read() that returns the EINTR error upon VLC I/O interruption.
Definition: interrupt.c:452
video_new_buffer
static picture_t * video_new_buffer(decoder_t *p_dec)
Definition: image.c:666
vlc_interrupt_prepare
static void vlc_interrupt_prepare(vlc_interrupt_t *ctx, void(*cb)(void *), void *data)
Prepares to enter interruptible wait.
Definition: interrupt.c:114
image_handler_t::pf_write_url
int(* pf_write_url)(image_handler_t *, picture_t *, const video_format_t *, video_format_t *, const char *)
Definition: vlc_image.h:47
picture_NewFromFormat
picture_t * picture_NewFromFormat(const video_format_t *p_fmt)
This function will create a new picture using the given format.
Definition: picture.c:271
image_handler_t::p_dec
decoder_t * p_dec
Definition: vlc_image.h:56
module_need
#define module_need(a, b, c, d)
Definition: vlc_modules.h:47
cookie_destroy
static void cookie_destroy(http_cookie_t *cookie)
Definition: httpcookies.c:188
DeleteDecoder
static void DeleteDecoder(decoder_t *)
Definition: image.c:702
VLC_CODEC_RGB16
#define VLC_CODEC_RGB16
Definition: vlc_fourcc.h:321
vlc_fourcc_t
uint32_t vlc_fourcc_t
Definition: fourcc_gen.c:32
p
#define p(t)
vlc_sendmsg_i11e
ssize_t vlc_sendmsg_i11e(int fd, const struct msghdr *msg, int flags)
Definition: interrupt.c:502
vlc_modules.h
image_handler_t::pf_read
picture_t *(* pf_read)(image_handler_t *, block_t *, const video_format_t *, video_format_t *)
Definition: vlc_image.h:41
filter_t::owner
filter_owner_t owner
Definition: vlc_filter.h:151
vlc_stream_Delete
void vlc_stream_Delete(stream_t *s)
Destroy a stream.
Definition: stream.c:120
decoder_t::p_description
vlc_meta_t * p_description
Definition: vlc_codec.h:141