Go to the documentation of this file.
23 #ifndef LIBVLC_INPUT_RESOURCE_H
24 #define LIBVLC_INPUT_RESOURCE_H 1
28 #include "../video_output/vout_internal.h"
vout_thread_t * vout_Create(vlc_object_t *object)
Creates a video output.
Definition: video_output.c:1966
void vlc_mutex_init(vlc_mutex_t *mtx)
Initializes a fast mutex.
Definition: threads.c:123
char * referrer
Definition: resource.h:58
int vlc_http_res_init(struct vlc_http_resource *restrict res, const struct vlc_http_resource_cbs *cbs, struct vlc_http_mgr *mgr, const char *uri, const char *ua, const char *ref)
Definition: resource.c:168
size_t count
Definition: core.c:401
char * vlc_http_msg_get_basic_realm(const struct vlc_http_msg *m)
Definition: message.c:987
const video_format_t * fmt
Definition: vout_internal.h:46
struct vlc_list node
Definition: resource.c:75
const char * psz_name
Definition: text_style.c:53
vout_thread_t * vout
Definition: resource.c:71
struct vlc_http_msg * vlc_http_res_open(struct vlc_http_resource *res, void *opaque)
Definition: resource.c:84
char * vlc_http_res_get_type(struct vlc_http_resource *res)
Gets MIME type.
Definition: resource.c:300
char * vlc_http_authority(const char *host, unsigned port)
Formats an authority.
Definition: message.c:573
#define unlikely(p)
Predicted false condition.
Definition: vlc_common.h:227
char * vlc_http_res_get_redirect(struct vlc_http_resource *restrict res)
Definition: resource.c:236
int vout_Request(const vout_configuration_t *cfg, vlc_video_context *vctx, input_thread_t *input)
Returns a suitable vout or release the given one.
Definition: video_output.c:2120
unsigned port
Definition: resource.h:52
int(* response_validate)(const struct vlc_http_resource *, const struct vlc_http_msg *, void *)
Definition: resource.h:39
enum vlc_vout_order order
Definition: resource.c:72
int(* request_format)(const struct vlc_http_resource *, struct vlc_http_msg *, void *)
Definition: resource.h:37
int vlc_http_msg_add_creds_basic(struct vlc_http_msg *m, bool proxy, const char *username, const char *password)
Adds Basic credentials.
Definition: message.c:1005
void vlc_http_msg_destroy(struct vlc_http_msg *m)
Destroys an HTTP message.
Definition: message.c:193
static void vlc_list_init(struct vlc_list *restrict head)
Initializes an empty list head.
Definition: vlc_list.h:57
char * host
Definition: resource.h:51
static bool vlc_atomic_rc_dec(vlc_atomic_rc_t *rc)
Decrement the RC and return true if it reaches 0.
Definition: vlc_atomic.h:61
struct vlc_http_msg * response
Definition: resource.h:46
@ VLC_VOUT_ORDER_PRIMARY
There is only one primary vout/spu_channel For vouts: this is the first vout, probably embedded in th...
Definition: vlc_vout.h:78
void vout_DisplayTitle(vout_thread_t *vout, const char *title)
This function will ask the display of the input title.
Definition: video_output.c:348
void vlc_UrlClean(vlc_url_t *restrict url)
Definition: url.c:598
void vlc_http_res_destroy(struct vlc_http_resource *res)
Destroys an HTTP resource.
Definition: resource.c:162
void vout_Release(vout_thread_t *vout)
Definition: video_output.c:1906
#define msg_Dbg(p_this,...)
Definition: vlc_messages.h:106
vout_thread_t * vout
Definition: vout_internal.h:44
char * psz_password
Definition: vlc_url.h:149
static int vlc_ascii_strcasecmp(const char *psz1, const char *psz2)
Compare two ASCII strings ignoring case.
Definition: vlc_strings.h:60
char * path
Definition: resource.h:54
int vlc_http_msg_add_agent(struct vlc_http_msg *m, const char *str)
Sets the agent field.
Definition: message.c:783
char * psz_option
Definition: vlc_url.h:153
Doubly-linked list node.
Definition: vlc_list.h:43
char * agent
Definition: resource.h:57
int vlc_http_res_set_login(struct vlc_http_resource *res, const char *username, const char *password)
Definition: resource.c:319
const char * vlc_gettext(const char *msgid)
In-tree plugins share their gettext domain with LibVLC.
Definition: textdomain.c:79
int vlc_http_msg_add_header(struct vlc_http_msg *m, const char *name, const char *fmt,...)
Definition: message.c:144
char * authority
Definition: resource.h:53
int asprintf(char **, const char *,...)
struct vlc_http_mgr * manager
Definition: resource.h:47
Mutex.
Definition: vlc_threads.h:225
@ VLC_VOUT_ORDER_SECONDARY
There can be several secondary vouts or spu_channels For vouts: a secondary vout using its own window...
Definition: vlc_vout.h:86
Vout configuration.
Definition: vout_internal.h:43
void vlc_http_msg_get_cookies(const struct vlc_http_msg *m, vlc_http_cookie_jar_t *jar, const char *host, const char *path)
Definition: message.c:934
char * psz_host
Definition: vlc_url.h:150
Audio output object.
Definition: vlc_aout.h:141
#define vlc_assert_unreachable()
Impossible branch assertion.
Definition: vlc_common.h:253
void vout_Close(vout_thread_t *vout)
Destroys a vout.
Definition: video_output.c:1885
char * psz_protocol
Definition: vlc_url.h:147
int vlc_UrlParse(vlc_url_t *url, const char *str)
Parses an URI or IRI.
Definition: url.c:558
static void vlc_atomic_rc_inc(vlc_atomic_rc_t *rc)
Increment the RC.
Definition: vlc_atomic.h:52
struct vlc_http_msg * vlc_http_req_create(const char *method, const char *scheme, const char *authority, const char *path)
Creates an HTTP request.
Definition: message.c:213
struct vlc_http_msg * vlc_http_msg_get_final(struct vlc_http_msg *m)
Gets final response headers.
Definition: message.c:284
static void vlc_list_remove(struct vlc_list *restrict node)
Removes an element from a list.
Definition: vlc_list.h:135
char * psz_username
Definition: vlc_url.h:148
static void vlc_list_append(struct vlc_list *restrict node, struct vlc_list *head)
Appends an element into a list.
Definition: vlc_list.h:110
short status
Definition: message.c:62
vout_thread_t * vout_Hold(vout_thread_t *vout)
Definition: video_output.c:2047
const struct vlc_http_resource_cbs * cbs
Definition: resource.h:45
static bool vlc_list_is_empty(const struct vlc_list *head)
Checks if a list is empty.
Definition: vlc_list.h:167
char * username
Definition: resource.h:55
Definition: resource.h:43
bool secure
Definition: resource.h:48
int vout_ChangeSource(vout_thread_t *vout, const video_format_t *original)
Set the new source format for a started vout.
Definition: video_output.c:2055
Definition: resource.c:47
audio_output_t * aout_Hold(audio_output_t *aout)
Definition: output.c:348
Definition: decoder_helpers.c:228
#define aout_New(a)
Definition: aout_internal.h:133
Definition: vlc_url.h:145
int vlc_http_res_get_status(struct vlc_http_resource *res)
Definition: resource.c:131
VLC object common members.
Definition: vlc_objects.h:43
struct vlc_http_cookie_jar_t * vlc_http_mgr_get_jar(struct vlc_http_mgr *mgr)
Definition: connmgr.c:285
void sout_DeleteInstance(sout_instance_t *p_sout)
Definition: stream_output.c:137
#define sout_NewInstance(a, b)
Definition: stream_output.h:42
char * strdup(const char *)
bool started
Definition: resource.c:73
unsigned i_port
Definition: vlc_url.h:151
void vlc_mutex_lock(vlc_mutex_t *mtx)
Acquires a mutex.
Definition: threads.c:158
void vout_Stop(vout_thread_t *vout)
Disables a vout.
Definition: video_output.c:1874
bool negotiate
Definition: resource.h:49
char * path
Definition: message.c:66
char * vlc_uri_resolve(const char *base, const char *ref)
Resolves an URI reference.
Definition: url.c:772
vlc_vout_order
vout or spu_channel order
Definition: vlc_vout.h:70
char * psz_sout
Definition: stream_output.h:58
char * vlc_http_res_get_basic_realm(struct vlc_http_resource *res)
Definition: resource.c:353
static struct vlc_http_msg * vlc_http_res_req(const struct vlc_http_resource *res, void *opaque)
Definition: resource.c:40
static void vlc_http_res_deinit(struct vlc_http_resource *res)
Definition: resource.c:148
#define vlc_list_foreach(pos, head, member)
List iteration macro.
Definition: vlc_list.h:261
struct block_t * vlc_http_res_read(struct vlc_http_resource *res)
Reads data.
Definition: resource.c:310
void aout_Destroy(audio_output_t *)
Deinitializes an audio output module and destroys an audio output object.
Definition: output.c:359
const char * vlc_http_msg_get_header(const struct vlc_http_msg *m, const char *name)
Looks up an header field.
Definition: message.c:156
int vlc_http_msg_get_status(const struct vlc_http_msg *m)
Gets response status code.
Definition: message.c:168
#define likely(p)
Predicted true condition.
Definition: vlc_common.h:218
#define VLC_OBJECT(x)
Type-safe vlc_object_t cast.
Definition: vlc_objects.h:70
Video output thread descriptor.
Definition: vlc_vout.h:55
block_t * vlc_http_msg_read(struct vlc_http_msg *m)
Receives HTTP data.
Definition: message.c:291
bool failure
Definition: resource.h:50
static void * vlc_alloc(size_t count, size_t size)
Definition: vlc_common.h:1144
Definition: resource.h:35
char * password
Definition: resource.h:56
static void vlc_atomic_rc_init(vlc_atomic_rc_t *rc)
Init the RC to 1.
Definition: vlc_atomic.h:46
char * vlc_uri_fixup(const char *str)
Fixes up a URI string.
Definition: url.c:876
Stream output instance.
Definition: stream_output.h:33
char * psz_path
Definition: vlc_url.h:152
void vlc_mutex_unlock(vlc_mutex_t *mtx)
Releases a mutex.
Definition: threads.c:209
Definition: vlc_atomic.h:41
Definition: vlc_block.h:117
struct vlc_http_msg * vlc_http_mgr_request(struct vlc_http_mgr *mgr, bool https, const char *host, unsigned port, const struct vlc_http_msg *m, bool idempotent, bool payload)
Sends an HTTP request.
Definition: connmgr.c:273
vout_thread_t * vout_CreateDummy(vlc_object_t *object)
Definition: video_output.c:1955
int vlc_http_msg_add_cookies(struct vlc_http_msg *m, vlc_http_cookie_jar_t *jar)
Definition: message.c:946
void vout_StopDisplay(vout_thread_t *vout)
Stop the display plugin, but keep its window plugin for later reuse.
Definition: video_output.c:1852