
Go to the source code of this file.
Data Structures | |
| struct | libvlc_vlm_t |
| struct | libvlc_instance_t |
Typedefs | |
| typedef void(* | libvlc_vlm_release_func_t )(libvlc_instance_t *) |
| typedef struct libvlc_vlm_t | libvlc_vlm_t |
Functions | |
| libvlc_int_t * | libvlc_InternalCreate (void) |
| Allocate a libvlc instance, initialize global data if needed It also initializes the threading system. | |
| int | libvlc_InternalInit (libvlc_int_t *, int, const char *ppsz_argv[]) |
Initialize a libvlc instance This function initializes a previously allocated libvlc instance:
| |
| void | libvlc_InternalCleanup (libvlc_int_t *) |
| Cleanup a libvlc instance. | |
| void | libvlc_InternalDestroy (libvlc_int_t *) |
| Destroy everything. | |
| int | libvlc_InternalAddIntf (libvlc_int_t *, const char *) |
| Add an interface plugin and run it. | |
| void | libvlc_InternalWait (libvlc_int_t *) |
| Waits until the LibVLC instance gets an exit signal. | |
| void | libvlc_SetExitHandler (libvlc_int_t *, void(*)(void *), void *) |
| Registers a callback for the LibVLC exit event. | |
| void | libvlc_init_threads (void) |
| void | libvlc_deinit_threads (void) |
| libvlc_event_manager_t * | libvlc_event_manager_new (void *p_obj, libvlc_instance_t *p_libvlc_inst) |
| void | libvlc_event_manager_release (libvlc_event_manager_t *p_em) |
| void | libvlc_event_manager_register_event_type (libvlc_event_manager_t *p_em, libvlc_event_type_t event_type) |
| void | libvlc_event_send (libvlc_event_manager_t *p_em, libvlc_event_t *p_event) |
| void | libvlc_event_attach_async (libvlc_event_manager_t *p_event_manager, libvlc_event_type_t event_type, libvlc_callback_t pf_callback, void *p_user_data) |
| static libvlc_time_t | from_mtime (mtime_t time) |
| static mtime_t | to_mtime (libvlc_time_t time) |
| typedef void(* libvlc_vlm_release_func_t)(libvlc_instance_t *) |
| typedef struct libvlc_vlm_t libvlc_vlm_t |
| static libvlc_time_t from_mtime | ( | mtime_t | time | ) | [inline, static] |
| void libvlc_deinit_threads | ( | void | ) |
References libvlc_setup_threads().
Referenced by libvlc_new(), and libvlc_release().
| void libvlc_event_attach_async | ( | libvlc_event_manager_t * | p_event_manager, | |
| libvlc_event_type_t | event_type, | |||
| libvlc_callback_t | pf_callback, | |||
| void * | p_user_data | |||
| ) |
References event_attach().
Referenced by install_media_player_observer().
| libvlc_event_manager_t* libvlc_event_manager_new | ( | void * | p_obj, | |
| libvlc_instance_t * | p_libvlc_inst | |||
| ) |
References libvlc_event_manager_t::async_event_queue, libvlc_event_manager_t::event_sending_lock, libvlc_printerr(), libvlc_retain(), libvlc_event_manager_t::listeners_groups, libvlc_event_manager_t::object_lock, libvlc_event_manager_t::p_libvlc_instance, libvlc_event_manager_t::p_obj, vlc_array_init(), vlc_mutex_init(), and vlc_mutex_init_recursive().
Referenced by libvlc_media_discoverer_new_from_name(), libvlc_media_library_new(), libvlc_media_list_new(), libvlc_media_list_player_new(), libvlc_media_new_from_input_item(), libvlc_media_player_new(), and libvlc_vlm_init().
| void libvlc_event_manager_register_event_type | ( | libvlc_event_manager_t * | p_em, | |
| libvlc_event_type_t | event_type | |||
| ) |
References libvlc_event_listeners_group_t::event_type, libvlc_event_listeners_group_t::listeners, libvlc_event_manager_t::listeners_groups, libvlc_event_manager_t::object_lock, vlc_array_append(), vlc_array_init(), vlc_mutex_lock(), vlc_mutex_unlock(), and xmalloc().
Referenced by __register_event(), libvlc_media_discoverer_new_from_name(), libvlc_media_list_new(), libvlc_media_list_player_new(), libvlc_media_new_from_input_item(), and libvlc_vlm_init().
| void libvlc_event_manager_release | ( | libvlc_event_manager_t * | p_em | ) |
References libvlc_event_manager_t::event_sending_lock, libvlc_event_async_fini(), libvlc_release(), libvlc_event_listeners_group_t::listeners, libvlc_event_manager_t::listeners_groups, libvlc_event_manager_t::object_lock, libvlc_event_manager_t::p_libvlc_instance, vlc_array_clear(), vlc_array_count(), vlc_array_item_at_index(), and vlc_mutex_destroy().
Referenced by libvlc_media_discoverer_new_from_name(), libvlc_media_discoverer_release(), libvlc_media_library_release(), libvlc_media_list_player_release(), libvlc_media_list_release(), libvlc_media_player_destroy(), libvlc_media_release(), and libvlc_vlm_release_internal().
| void libvlc_event_send | ( | libvlc_event_manager_t * | p_em, | |
| libvlc_event_t * | p_event | |||
| ) |
References libvlc_event_listeners_group_t::b_sublistener_removed, libvlc_event_manager_t::event_sending_lock, libvlc_event_listeners_group_t::event_type, group_contains_listener(), libvlc_event_listener_t::is_asynchronous, libvlc_event_async_dispatch(), libvlc_event_listeners_group_t::listeners, libvlc_event_manager_t::listeners_groups, libvlc_event_manager_t::object_lock, libvlc_event_manager_t::p_obj, libvlc_event_t::p_obj, libvlc_event_listener_t::p_user_data, libvlc_event_listener_t::pf_callback, libvlc_event_t::type, vlc_array_count(), vlc_array_item_at_index(), vlc_mutex_lock(), and vlc_mutex_unlock().
Referenced by input_event_changed(), input_item_duration_changed(), input_item_meta_changed(), input_item_preparsed_changed(), input_item_subitem_added(), input_pausable_changed(), input_seekable_changed(), libvlc_media_list_player_play_item_at_index(), libvlc_media_player_set_media(), libvlc_media_player_set_title(), libvlc_media_player_stop(), libvlc_media_release(), libvlc_media_set_state(), notify_item_addition(), notify_item_deletion(), services_discovery_ended(), services_discovery_started(), set_relative_playlist_position_and_play(), snapshot_was_taken(), and VlmEvent().
| void libvlc_init_threads | ( | void | ) |
References libvlc_setup_threads().
Referenced by libvlc_new().
| int libvlc_InternalAddIntf | ( | libvlc_int_t * | , | |
| const char * | ||||
| ) |
Add an interface plugin and run it.
References _, b_daemon, intf_Create, msg_Err, msg_Info, var_CreateGetNonEmptyString, and var_Destroy.
Referenced by libvlc_add_intf().
| void libvlc_InternalCleanup | ( | libvlc_int_t * | p_libvlc | ) |
Cleanup a libvlc instance.
The instance is not completely deallocated
| p_libvlc | the instance to clean |
References libvlc_priv_t::actions, b_daemon, config_AutoSaveConfigFile(), intf_DestroyAll(), libvlc_priv(), libvlc_Quit(), ml_Destroy(), module_EndBank(), module_unneed, msg_Dbg, playlist_t::p_libvlc, libvlc_priv_t::p_memcpy_module, libvlc_priv_t::p_ml, libvlc_priv_t::p_playlist, libvlc_priv_t::p_vlm, pl_Deactivate(), playlist_Destroy(), playlist_ServicesDiscoveryKillAll(), stats_TimersCleanAll, stats_TimersDumpAll, var_CreateGetNonEmptyString, var_InheritBool, vlc_DeinitActions(), VLC_OBJECT, vlc_object_release, and vlm_Delete().
Referenced by libvlc_release().
| libvlc_int_t* libvlc_InternalCreate | ( | void | ) |
Allocate a libvlc instance, initialize global data if needed It also initializes the threading system.
References libvlc_priv_t::b_color, libvlc_priv_t::exit, getenv(), libvlc_priv_t::i_verbose, libvlc_priv(), libvlc_priv_t::ml_lock, libvlc_priv_t::p_dialog_provider, libvlc_priv_t::p_ml, libvlc_priv_t::p_playlist, libvlc_priv_t::p_vlm, libvlc_priv_t::timer_lock, vlc_custom_create, vlc_ExitInit(), and vlc_mutex_init().
Referenced by libvlc_new().
| void libvlc_InternalDestroy | ( | libvlc_int_t * | p_libvlc | ) |
Destroy everything.
This function requests the running threads to finish, waits for their termination, and destroys their structure. It stops the thread systems: no instance can run after this has run
| p_libvlc | the instance to destroy |
References libvlc_priv_t::exit, libvlc_priv(), libvlc_priv_t::ml_lock, system_End(), libvlc_priv_t::timer_lock, vlc_ExitDestroy(), vlc_internals, vlc_mutex_destroy(), and vlc_object_release.
Referenced by libvlc_new(), and libvlc_release().
| int libvlc_InternalInit | ( | libvlc_int_t * | , | |
| int | , | |||
| const char * | ppsz_argv[] | |||
| ) |
Initialize a libvlc instance This function initializes a previously allocated libvlc instance:
< Item not found
References _, libvlc_priv_t::actions, asprintf(), libvlc_priv_t::b_color, b_daemon, libvlc_priv_t::b_stats, config_LoadCmdLine, config_LoadConfigFile, config_PrintHelp(), config_SaveConfigFile, GetFilenames(), getpid(), libvlc_priv_t::i_timers, libvlc_priv_t::i_verbose, intf_Create, libvlc_priv(), make_URI(), ml_Create(), module_EndBank(), module_InitBank(), module_LoadPlugins, module_need, module_unneed, msg_Dbg, msg_Err, msg_Warn, libvlc_priv_t::p_memcpy_module, libvlc_priv_t::p_ml, libvlc_priv_t::p_vlm, pl_Unlocked, playlist_AddExt(), playlist_Create(), PLAYLIST_INSERT, playlist_ServicesDiscoveryAdd(), libvlc_priv_t::pp_timers, psz_vlc_changeset, strdup(), strsep(), system_Configure(), system_End(), system_Init(), utf8_fprintf(), var_Create, var_CreateGetNonEmptyString, var_Destroy, var_GetBool, var_InheritBool, var_InheritInteger, var_InheritString, var_SetBool, var_SetInteger, var_SetString, vlc_bindtextdomain(), vlc_CPU_dump(), vlc_fopen(), vlc_InitActions(), VLC_OBJECT, vlc_object_set_name, vlc_threads_setup(), VLC_VAR_ADDRESS, VLC_VAR_BOOL, VLC_VAR_DOINHERIT, VLC_VAR_INTEGER, VLC_VAR_STRING, and vlm_New.
Referenced by libvlc_new().
| void libvlc_InternalWait | ( | libvlc_int_t * | p_libvlc | ) |
Waits until the LibVLC instance gets an exit signal.
This normally occurs when the user "exits" an interface plugin. But it can also be triggered by the special vlc://quit item, the update checker, or the playlist engine.
References libvlc_priv_t::exit, vlc_exit::handler, vlc_exit::killed, libvlc_priv(), vlc_exit::lock, vlc_exit::opaque, vlc_cond_destroy(), vlc_cond_init(), vlc_cond_wait(), vlc_mutex_lock(), and vlc_mutex_unlock().
Referenced by libvlc_wait().
| void libvlc_SetExitHandler | ( | libvlc_int_t * | p_libvlc, | |
| void(*)(void *) | handler, | |||
| void * | opaque | |||
| ) |
Registers a callback for the LibVLC exit event.
References libvlc_priv_t::exit, vlc_exit::handler, vlc_exit::killed, libvlc_priv(), vlc_exit::lock, vlc_exit::opaque, vlc_mutex_lock(), and vlc_mutex_unlock().
Referenced by libvlc_set_exit_handler().
| static mtime_t to_mtime | ( | libvlc_time_t | time | ) | [inline, static] |
Referenced by libvlc_media_player_set_time().
1.7.1