VLC 4.0.0-dev
|
Go to the source code of this file.
Data Structures | |
struct | vlc_exit |
struct | libvlc_priv_t |
Macros | |
#define | vlc_backtrace() vlc_trace(__func__, __FILE__, __LINE__) |
#define | vlc_custom_create(o, s, n) vlc_custom_create(VLC_OBJECT(o), s, n) |
Typedefs | |
typedef struct variable_t | variable_t |
typedef struct vlc_logger | vlc_logger_t |
typedef struct vlc_tracer | vlc_tracer_t |
typedef struct vlc_exit | vlc_exit_t |
typedef struct vlc_dialog_provider | vlc_dialog_provider |
Private LibVLC instance data. | |
typedef struct vlc_keystore | vlc_keystore |
typedef struct vlc_actions_t | vlc_actions_t |
typedef struct vlc_playlist | vlc_playlist_t |
typedef struct vlc_media_source_provider_t | vlc_media_source_provider_t |
typedef struct intf_thread_t | intf_thread_t |
typedef struct libvlc_priv_t | libvlc_priv_t |
Functions | |
void | system_Init (void) |
Initializes MME timer, Winsock. | |
void | system_Configure (libvlc_int_t *, int, const char *const []) |
void | vlc_CPU_dump (vlc_object_t *) |
void | vlc_threads_setup (libvlc_int_t *) |
void | vlc_trace (const char *fn, const char *file, unsigned line) |
Print a backtrace to the standard error for debugging purpose. | |
int | vlc_LogPreinit (libvlc_int_t *) |
Performs preinitialization of the messages logging subsystem. | |
void | vlc_LogInit (libvlc_int_t *) |
Initializes the messages logging subsystem and drain the early messages to the configured log. | |
void | vlc_ExitInit (vlc_exit_t *) |
int | vlc_object_init (vlc_object_t *obj, vlc_object_t *parent, const char *type_name) |
Initializes a VLC object. | |
void | vlc_object_deinit (vlc_object_t *obj) |
Deinitializes a VLC object. | |
void * | vlc_custom_create (vlc_object_t *p_this, size_t i_size, const char *psz_type) |
Creates a VLC object. | |
void * | vlc_objres_new (size_t size, void(*release)(void *)) |
Allocates an object resource. | |
void | vlc_objres_push (vlc_object_t *obj, void *data) |
Pushes an object resource on the object resources stack. | |
void | vlc_objres_clear (vlc_object_t *obj) |
Releases all resources of an object. | |
void | vlc_objres_remove (vlc_object_t *obj, void *data, bool(*match)(void *, void *)) |
Releases one object resource explicitly. | |
static libvlc_priv_t * | libvlc_priv (libvlc_int_t *libvlc) |
int | intf_InsertItem (libvlc_int_t *, const char *mrl, unsigned optc, const char *const *optv, unsigned flags) |
Inserts an item in the playlist. | |
void | intf_DestroyAll (libvlc_int_t *) |
Stops and destroys all interfaces, then the playlist. | |
vlc_playlist_t * | libvlc_GetMainPlaylist (libvlc_int_t *libvlc) |
void | var_OptionParse (vlc_object_t *, const char *, bool trusted) |
Parse a stringified option This function parse a string option and create the associated object variable The option must be of the form "[no[-]]foo[=bar]" where foo is the option name and bar is the value of the option. | |
Variables | |
const char | psz_vlc_changeset [] |
#define vlc_backtrace | ( | ) | vlc_trace(__func__, __FILE__, __LINE__) |
#define vlc_custom_create | ( | o, | |
s, | |||
n | |||
) | vlc_custom_create(VLC_OBJECT(o), s, n) |
typedef struct intf_thread_t intf_thread_t |
typedef struct libvlc_priv_t libvlc_priv_t |
typedef struct variable_t variable_t |
typedef struct vlc_actions_t vlc_actions_t |
typedef struct vlc_dialog_provider vlc_dialog_provider |
Private LibVLC instance data.
typedef struct vlc_exit vlc_exit_t |
typedef struct vlc_keystore vlc_keystore |
typedef struct vlc_logger vlc_logger_t |
typedef struct vlc_media_source_provider_t vlc_media_source_provider_t |
typedef struct vlc_playlist vlc_playlist_t |
typedef struct vlc_tracer vlc_tracer_t |
void intf_DestroyAll | ( | libvlc_int_t * | libvlc | ) |
Stops and destroys all interfaces, then the playlist.
libvlc | the LibVLC instance |
References AddIntfCallback(), config_ChainDestroy(), libvlc_priv_t::interfaces, libvlc_priv(), libvlc_priv_t::lock, module_unneed, intf_thread_t::p_cfg, intf_thread_t::p_module, intf_thread_t::p_next, var_DelCallback(), vlc_mutex_lock(), vlc_mutex_unlock(), and vlc_object_delete.
Referenced by libvlc_InternalCleanup().
int intf_InsertItem | ( | libvlc_int_t * | libvlc, |
const char * | mrl, | ||
unsigned | optc, | ||
const char *const * | optv, | ||
unsigned | flags | ||
) |
Inserts an item in the playlist.
This function is used during initialization. It inserts an item to the beginning of the playlist. That is meant to compensate for the reverse parsing order of the command line.
References input_item_AddOptions(), input_item_New, input_item_Release(), libvlc_GetMainPlaylist(), unlikely, vlc_playlist_InsertOne(), vlc_playlist_Lock(), vlc_playlist_Unlock(), and VLC_SUCCESS.
Referenced by GetFilenames(), and libvlc_InternalInit().
vlc_playlist_t * libvlc_GetMainPlaylist | ( | libvlc_int_t * | libvlc | ) |
References libvlc_priv(), libvlc_priv_t::lock, libvlc_priv_t::main_playlist, PlaylistConfigureFromVariables(), strcasecmp(), var_InheritBool(), var_InheritInteger(), var_InheritString(), vlc_mutex_lock(), vlc_mutex_unlock(), VLC_OBJECT, vlc_playlist_New(), VLC_PLAYLIST_PREPARSING_COLLAPSE, VLC_PLAYLIST_PREPARSING_DISABLED, VLC_PLAYLIST_PREPARSING_ENABLED, VLC_PLAYLIST_PREPARSING_RECURSIVE, and VLC_TICK_FROM_MS.
Referenced by intf_Create(), intf_InsertItem(), libvlc_InternalPlay(), and vlc_intf_GetMainPlaylist().
|
inlinestatic |
References container_of.
Referenced by get_dialog_provider(), get_memory_keystore(), intf_Create(), intf_DestroyAll(), IPCHelperThread(), libvlc_GetMainPlaylist(), libvlc_InternalActionsClean(), libvlc_InternalActionsInit(), libvlc_InternalCleanup(), libvlc_InternalCreate(), libvlc_InternalDialogClean(), libvlc_InternalDialogInit(), libvlc_InternalInit(), libvlc_InternalKeystoreClean(), libvlc_InternalKeystoreInit(), libvlc_Quit(), libvlc_SetExitHandler(), vlc_actions_get_key_names(), vlc_dialog_release(), vlc_media_source_provider_Get(), vlc_ml_instance_get(), vlc_object_get_tracer(), vlm_Delete(), and vlm_New().
void system_Configure | ( | libvlc_int_t * | p_libvlc, |
int | i_argc, | ||
const char * const | pp_argv[] | ||
) |
References vlc_ipc_data_t::argc, vlc_ipc_data_t::data, vlc_ipc_data_t::enqueue, hpipeIPC, IPC_CMD_ENQUEUE, IPC_CMD_GO, IPCHelperThread(), libvlc_InternalAddIntf(), msg_Dbg, msg_Err, msg_Info, s_jvm, strdup(), system_ConfigureDbus(), system_End(), tidIPCFirst, tidIPCHelper, var_Create(), var_InheritBool(), var_SetAddress(), VLC_IPC_PIPE, vlc_path2uri(), and VLC_VAR_ADDRESS.
Referenced by libvlc_InternalInit().
void system_Init | ( | void | ) |
Initializes MME timer, Winsock.
References _fmode_bin, getenv(), setenv(), and system_InitWSA().
Referenced by config_GetBaseDir(), and libvlc_InternalInit().
void var_OptionParse | ( | vlc_object_t * | p_obj, |
const char * | psz_option, | ||
bool | trusted | ||
) |
Parse a stringified option This function parse a string option and create the associated object variable The option must be of the form "[no[-]]foo[=bar]" where foo is the option name and bar is the value of the option.
p_obj | the object in which the variable must be created |
psz_option | the option to parse |
trusted | whether the option is set by a trusted input or not |
References vlc_value_t::b_bool, config_GetType(), config_IsSafe(), vlc_value_t::f_float, vlc_value_t::i_int, i_type, msg_Err, psz_name, vlc_value_t::psz_string, psz_value, strcasecmp(), strdup(), strtoll(), var_Create(), var_Set(), vlc_atof_c(), VLC_VAR_BOOL, VLC_VAR_FLOAT, VLC_VAR_INTEGER, and VLC_VAR_STRING.
Referenced by input_item_ApplyOptions(), and var_LocationParse().
void vlc_CPU_dump | ( | vlc_object_t * | obj | ) |
References msg_Dbg, vlc_memstream::stream, vlc_memstream_close(), vlc_memstream_open(), and vlc_memstream_puts().
Referenced by libvlc_InternalInit().
|
extern |
Creates a VLC object.
Note that because the object name pointer must remain valid, potentially even after the destruction of the object (through the message queues), this function CANNOT be exported to plugins as is. In this case, the old vlc_object_create() must be used instead.
p_this | an existing VLC object |
i_size | byte size of the object structure |
psz_type | object type name |
References unlikely, and vlc_object_init().
void vlc_ExitInit | ( | vlc_exit_t * | exit | ) |
References vlc_exit::handler, vlc_exit::lock, vlc_exit::opaque, and vlc_mutex_init().
Referenced by libvlc_InternalCreate().
void vlc_LogInit | ( | libvlc_int_t * | vlc | ) |
Initializes the messages logging subsystem and drain the early messages to the configured log.
References discard_log, vlc_LogModuleCreate(), vlc_LogSwitch(), and VLC_OBJECT.
Referenced by libvlc_InternalInit().
int vlc_LogPreinit | ( | libvlc_int_t * | vlc | ) |
Performs preinitialization of the messages logging subsystem.
Early log messages will be stored in memory until the subsystem is fully initialized with vlc_LogInit(). This enables logging before the configuration and modules bank are ready.
References unlikely, vlc_LogEarlyOpen(), vlc_LogSpam(), vlc_LogSwitch(), vlc_LogSwitchCreate(), and VLC_OBJECT.
Referenced by libvlc_InternalInit().
void vlc_object_deinit | ( | vlc_object_t * | obj | ) |
Deinitializes a VLC object.
This frees resources allocated by vlc_object_init().
References vlc_object_internals::resources, var_DestroyAll(), vlc_internals, vlc_restorecancel(), and vlc_savecancel().
Referenced by main(), and vlc_object_delete().
int vlc_object_init | ( | vlc_object_t * | obj, |
vlc_object_t * | parent, | ||
const char * | type_name | ||
) |
Initializes a VLC object.
obj | storage space for object to initialize [OUT] |
parent | parent object (or NULL to initialize the root) [IN] |
type_name | object type name |
0 | on success |
-1 | on (out of memory) error |
Referenced by main().
void vlc_objres_clear | ( | vlc_object_t * | obj | ) |
Releases all resources of an object.
All resources added with vlc_objres_add() are released in reverse order. The resource list is reset to empty.
obj | object whose resources to release |
References container_of, vlc_res::payload, vlc_res::release, and vlc_objres_pop().
Referenced by decoder_device_Open(), demux_Probe(), filter_chain_AppendInner(), generic_start(), module_unneed(), sout_StreamDelete(), vlc_decoder_device_Create(), vlc_decoder_device_Release(), vlc_encoder_Destroy(), vlc_filter_LoadModule(), vlc_filter_UnloadModule(), vlc_gl_Delete(), vlc_gl_start(), vlc_tls_ClientCreate(), vlc_tls_ClientDelete(), vlc_tls_ServerCreate(), vlc_tls_ServerDelete(), vlc_window_Delete(), vlc_window_start(), vout_display_Delete(), and vout_display_New().
void * vlc_objres_new | ( | size_t | size, |
void(*)(void *) | release | ||
) |
Allocates an object resource.
size | storage size in bytes of the resource data |
release | callback to release the resource |
References vlc_res::payload, vlc_res::release, and unlikely.
Referenced by vlc_obj_malloc().
void vlc_objres_push | ( | vlc_object_t * | obj, |
void * | data | ||
) |
Pushes an object resource on the object resources stack.
obj | object to allocate the resource for |
data | resource base address (as returned by vlc_objres_new()) |
References container_of, vlc_res::payload, vlc_res::prev, and vlc_obj_res().
Referenced by vlc_obj_malloc().
void vlc_objres_remove | ( | vlc_object_t * | obj, |
void * | data, | ||
bool(*)(void *, void *) | match | ||
) |
Releases one object resource explicitly.
If a resource associated with an object needs to be released explicitly earlier than normal, call this function. This is relatively slow and should be avoided.
obj | object whose resource to release |
data | private data for the comparison function |
match | comparison function to match the targeted resource |
References vlc_res::payload, vlc_res::prev, vlc_res::release, and vlc_obj_res().
Referenced by vlc_obj_free().
void vlc_threads_setup | ( | libvlc_int_t * | p_libvlc | ) |
References msg_Dbg, SelectClockSource(), and var_InheritBool().
Referenced by libvlc_InternalInit().
void vlc_trace | ( | const char * | fn, |
const char * | file, | ||
unsigned | line | ||
) |
Print a backtrace to the standard error for debugging purpose.
References ARRAY_SIZE, and fsync().
Referenced by vlc_thread_fatal().
|
extern |
Referenced by Version(), and vlc_LogSpam().