VLC  4.0.0-dev
Data Structures | Macros | Functions
Collaboration diagram for Mutual exclusion locks:

Data Structures

struct  vlc_mutex_t
 Mutex. More...
 

Macros

#define VLC_STATIC_MUTEX
 Static initializer for (static) mutex. More...
 
#define vlc_mutex_assert(m)   assert(vlc_mutex_held(m))
 Asserts that a mutex is locked by the calling thread. More...
 

Functions

VLC_EXPORT void vlc_mutex_init (vlc_mutex_t *)
 Initializes a fast mutex. More...
 
VLC_EXPORT void vlc_mutex_init_recursive (vlc_mutex_t *)
 Initializes a recursive mutex. More...
 
VLC_EXPORT void vlc_mutex_lock (vlc_mutex_t *)
 Acquires a mutex. More...
 
VLC_EXPORT int vlc_mutex_trylock (vlc_mutex_t *)
 Tries to acquire a mutex. More...
 
VLC_EXPORT void vlc_mutex_unlock (vlc_mutex_t *)
 Releases a mutex. More...
 
VLC_EXPORT bool vlc_mutex_held (const vlc_mutex_t *)
 Checks if a mutex is locked. More...
 

Detailed Description

Macro Definition Documentation

◆ vlc_mutex_assert

#define vlc_mutex_assert (   m)    assert(vlc_mutex_held(m))

Asserts that a mutex is locked by the calling thread.

◆ VLC_STATIC_MUTEX

#define VLC_STATIC_MUTEX
Value:
{ \
.value = ATOMIC_VAR_INIT(0), \
.recursion = ATOMIC_VAR_INIT(0), \
.owner = ATOMIC_VAR_INIT(NULL), \
}

Static initializer for (static) mutex.

Note
This only works in C code. In C++, consider using a global vlc::threads::mutex instance instead.

Function Documentation

◆ vlc_mutex_held()

VLC_EXPORT bool vlc_mutex_held ( const vlc_mutex_t )

Checks if a mutex is locked.

Do not use this function directly. Use vlc_mutex_assert() instead.

Note
This function has no effects. It is only meant to be use in run-time assertions.
Warning
This function might not return correct results in non-debug builds.
Return values
falsethe mutex is not locked by the calling thread
truethe mutex is locked by the calling thread

References vlc_mutex_t::owner, and THREAD_SELF.

Referenced by vlc_mutex_trylock(), vlc_mutex_unlock(), and vlc_player_Lock().

◆ vlc_mutex_init()

VLC_EXPORT void vlc_mutex_init ( vlc_mutex_t )

◆ vlc_mutex_init_recursive()

VLC_EXPORT void vlc_mutex_init_recursive ( vlc_mutex_t )

Initializes a recursive mutex.

Warning
This is strongly discouraged. Please use normal mutexes.

References vlc_mutex_init_common().

Referenced by input_EsOutTimeshiftNew(), vlc_event_manager_init(), and vlc_player_InitLocks().

◆ vlc_mutex_lock()

VLC_EXPORT void vlc_mutex_lock ( vlc_mutex_t )

Acquires a mutex.

If needed, this waits for any other thread to release it.

Warning
Beware of deadlocks when locking multiple mutexes at the same time, or when using mutexes from callbacks.
Note
This function is not a cancellation point.

References vlc_mutex_t::owner, THREAD_SELF, vlc_mutex_t::value, vlc_atomic_wait(), vlc_mutex_trylock(), vlc_restorecancel(), and vlc_savecancel().

Referenced by Add(), AddAlbumCache(), addons_manager_Delete(), addons_manager_Gather(), addons_manager_WriteCatalog(), aout_ChangeViewpoint(), aout_DecPlay(), aout_Destroy(), aout_DeviceSet(), aout_DevicesList(), aout_HotplugNotify(), aout_MuteSet(), aout_OutputDelete(), aout_OutputNew(), aout_VolumeSet(), ArtCachePath(), CancelAllTasks(), CheckArt(), CheckMeta(), config_SaveConfigFile(), Control(), ControlPop(), Create(), CreateCacheKey(), CreateVoutIfNeeded(), DecoderPlayCc(), DecoderThread(), DecoderThread_ChangeDelay(), DecoderThread_ChangePause(), DecoderThread_ChangeRate(), DecoderThread_Flush(), DecoderThread_ProcessInput(), Del(), DestroyVout(), dialog_cancel_locked(), dialog_display_error_va(), dialog_display_login_va(), dialog_display_question_va(), dialog_id_post(), dialog_remove_locked(), dialog_update_progress(), dialog_wait(), dialog_wait_interrupted(), display_progress_va(), End(), EsOutAdd(), EsOutControl(), EsOutDel(), EsOutFillEsFmt(), EsOutMeta(), EsOutPrivControl(), EsOutProgramEpg(), EsOutSend(), Fetch(), FetcherAddTask(), FetcherRemoveTask(), finder_thread_interrupted(), FinderThread(), getHeldEntryByUUID(), httpd_HostCreate(), httpd_HostDelete(), httpd_StreamCallBack(), httpd_StreamHeader(), httpd_StreamSend(), httpd_StreamSetHTTPHeaders(), httpd_UrlCatch(), httpd_UrlDelete(), httpd_UrlNew(), httpdLoop(), InitTitle(), input_ControlPush(), input_GetAttachment(), input_GetAttachments(), input_item_AddInfo(), input_item_AddOpaque(), input_item_AddOption(), input_item_AddSlave(), input_item_ApplyOptions(), input_item_ChangeEPGSource(), input_item_Copy(), input_item_CopyOptions(), input_item_DelInfo(), input_item_GetDuration(), input_item_GetInfo(), input_item_GetMeta(), input_item_GetName(), input_item_GetTitleFbName(), input_item_GetURI(), input_item_HasErrorWhenReading(), input_item_IsArtFetched(), input_item_IsPreparsed(), input_item_MergeInfos(), input_item_MetaMatch(), input_item_node_AppendItem(), input_item_ReplaceInfos(), input_item_SetArtFetched(), input_item_SetArtNotFound(), input_item_SetDuration(), input_item_SetEpg(), input_item_SetEpgEvent(), input_item_SetEpgOffline(), input_item_SetEpgTime(), input_item_SetErrorWhenReading(), input_item_SetMeta(), input_item_SetName(), input_item_SetPreparsed(), input_item_SetURI(), input_item_ShouldPreparseSubItems(), input_item_UpdateTracksInfo(), input_item_WriteMeta(), input_preparser_Cancel(), input_preparser_Push(), input_rate_Add(), input_resource_GetAout(), input_resource_HoldAout(), input_resource_HoldVout(), input_resource_HoldVouts(), input_resource_PutAout(), input_resource_PutSout(), input_resource_PutVout(), input_resource_PutVoutLocked(), input_resource_RequestSout(), input_resource_RequestVout(), input_resource_ResetAout(), input_resource_SetInput(), input_resource_StopFreeVout(), input_resource_TerminateSout(), input_stats_Compute(), input_Stop(), input_Stopped(), input_thread_Events(), InputSourceInit(), InputSourceMeta(), InputUpdateMeta(), InstallEntry(), installer_thread_interrupted(), InstallerThread(), installOrRemoveAddon(), Interrupt(), intf_Create(), intf_DestroyAll(), libvlc_GetMainPlaylist(), libvlc_InternalDialogClean(), libvlc_MetadataRequest(), libvlc_Quit(), libvlc_SetExitHandler(), LoadSlaves(), Lookup(), MainLoopStatistics(), Manage(), MergeSources(), module_EndBank(), module_InitBank(), ModuleThread_GetDecoderDevice(), ModuleThread_GetDisplayDate(), ModuleThread_GetDisplayRate(), ModuleThread_NewSpuBuffer(), ModuleThread_PlayAudio(), ModuleThread_PlaySpu(), ModuleThread_PlayVideo(), ModuleThread_QueueSpu(), ModuleThread_QueueThumbnail(), ModuleThread_UpdateAudioFormat(), ModuleThread_UpdateVideoFormat(), MouseEvent(), on_thumbnailer_input_event(), OnArtFetchEnded(), OnParserEnded(), Parse(), picture_fifo_Flush(), picture_fifo_IsEmpty(), picture_fifo_Pop(), picture_fifo_Push(), picture_pool_Cancel(), picture_pool_Get(), picture_pool_ReleaseClone(), picture_pool_Wait(), player_on_state_changed(), PreparserAddTask(), PreparserRemoveTask(), PrivControl(), ReadAlbumCache(), RequestVoutRsc(), RunnableRun(), RunThread(), Send(), sout_AnnounceRegisterSDP(), sout_AnnounceUnRegister(), sout_StreamLock(), spu_Attach(), spu_ChangeChannelOrderMargin(), spu_ChangeFilters(), spu_ChangeSources(), spu_ClearChannel(), spu_Destroy(), spu_Detach(), spu_PrerenderCancel(), spu_PrerenderEnqueue(), spu_PrerenderPause(), spu_PrerenderSync(), spu_PrerenderThread(), spu_PrerenderWake(), spu_PutSubpicture(), spu_RegisterChannelInternal(), spu_Render(), spu_SetClockDelay(), spu_SetClockRate(), spu_SetHighlight(), spu_UnregisterChannel(), SpuRenderText(), StereoModeCallback(), ThreadDisplayPicture(), ThreadDisplayPreparePicture(), ThreadDisplayRenderPicture(), ThreadFilterFlush(), ThreadProcessMouseState(), ThreadRun(), thumbnailer_buffer_new(), ThumbnailerAddTask(), ThumbnailerRemoveTask(), TriggerCallback(), TriggerListCallback(), TsChangePause(), TsChangeRate(), TsHasCmd(), TsIsUnused(), TsPushCmd(), TsRun(), TsStop(), update_CheckReal(), var_Create(), var_GetAllNames(), vlc_audio_meter_AddPlugin(), vlc_audio_meter_Flush(), vlc_audio_meter_Process(), vlc_audio_meter_RemovePlugin(), vlc_audio_meter_Reset(), vlc_cancel(), vlc_cancel_addr_clear(), vlc_cancel_addr_set(), vlc_clock_ConvertArrayToSystem(), vlc_clock_ConvertToSystem(), vlc_clock_Delete(), vlc_clock_main_Abort(), vlc_clock_main_ChangePause(), vlc_clock_main_CreateMaster(), vlc_clock_main_CreateSlave(), vlc_clock_main_Reset(), vlc_clock_main_SetDejitter(), vlc_clock_main_SetFirstPcr(), vlc_clock_main_SetInputDejitter(), vlc_clock_master_reset(), vlc_clock_master_set_delay(), vlc_clock_master_update(), vlc_clock_slave_reset(), vlc_clock_slave_set_delay(), vlc_clock_slave_update(), vlc_clock_Wait(), vlc_cond_broadcast(), vlc_cond_signal(), vlc_cond_wait_finish(), vlc_cond_wait_prepare(), vlc_demux_chained_ControlVa(), vlc_dialog_id_get_context(), vlc_dialog_id_set_context(), vlc_dialog_is_cancelled(), vlc_dialog_provider_set_callbacks(), vlc_dialog_provider_set_ext_callback(), vlc_dialog_release(), vlc_drand48(), vlc_event_attach(), vlc_event_detach(), vlc_event_send(), vlc_executor_Cancel(), vlc_executor_Delete(), vlc_executor_Submit(), vlc_executor_WaitIdle(), vlc_ext_dialog_update(), vlc_gl_surface_CheckSize(), vlc_gl_surface_Create(), vlc_gl_surface_ResizeNotify(), vlc_global_mutex(), vlc_h2_client_output_thread(), vlc_h2_conn_release(), vlc_h2_output_dequeue(), vlc_h2_output_destroy(), vlc_h2_output_queue(), vlc_h2_output_thread(), vlc_h2_recv_thread(), vlc_h2_stream_close(), vlc_h2_stream_lock(), vlc_h2_stream_open(), vlc_h2_stream_wake_up(), vlc_http_cookies_fetch(), vlc_http_cookies_store(), vlc_input_decoder_AddVoutOverlay(), vlc_input_decoder_Delete(), vlc_input_decoder_DelVoutOverlay(), vlc_input_decoder_Flush(), vlc_input_decoder_FrameNext(), vlc_input_decoder_GetCcDesc(), vlc_input_decoder_GetCcState(), vlc_input_decoder_HasFormatChanged(), vlc_input_decoder_IsEmpty(), vlc_input_decoder_SetCcState(), vlc_input_decoder_SetSpuHighlight(), vlc_input_decoder_SetVoutMouseEvent(), vlc_input_decoder_StartWait(), vlc_input_decoder_StopWait(), vlc_input_decoder_Wait(), vlc_interrupt_finish(), vlc_interrupt_prepare(), vlc_interrupt_raise(), vlc_lrand48(), vlc_media_source_provider_GetMediaSource(), vlc_media_source_provider_Remove(), vlc_media_tree_Lock(), vlc_ml_event_register_callback(), vlc_ml_event_unregister_callback(), vlc_mrand48(), vlc_mwait_i11e(), vlc_player_AddMetadataListener(), vlc_player_AddSmpteTimer(), vlc_player_AddTimer(), vlc_player_aout_AddListener(), vlc_player_aout_RemoveListener(), vlc_player_Delete(), vlc_player_destructor_Thread(), vlc_player_GetTimerPoint(), vlc_player_Lock(), vlc_player_OnLoudnessEvent(), vlc_player_RemoveMetadataListener(), vlc_player_RemoveTimer(), vlc_player_RemoveTimerSource(), vlc_player_ResetTimer(), vlc_player_UpdateTimer(), vlc_player_UpdateTimerState(), vlc_player_vout_AddListener(), vlc_player_vout_RemoveListener(), vlc_playlist_item_meta_New(), vlc_queue_Lock(), vlc_rwlock_rdlock(), vlc_rwlock_unlock(), vlc_rwlock_wrlock(), vlc_strfplayer(), vlc_thread_cleanup(), vlc_threadvar_create(), vlc_threadvar_delete(), vlc_timer_destroy(), vlc_timer_schedule(), vlc_timer_thread(), vlc_vaLogEarly(), vlm_Control(), vlm_Delete(), vlm_ExecuteCommand(), vlm_New(), vout_ChangeCrop(), vout_ChangeDisplayAspectRatio(), vout_ChangeDisplayFilled(), vout_ChangeDisplaySize(), vout_ChangeFullscreen(), vout_ChangePause(), vout_ChangeViewpoint(), vout_ChangeWindowed(), vout_ChangeWindowState(), vout_ChangeZoom(), vout_control_Hold(), vout_control_Pop(), vout_control_PushMouse(), vout_control_Release(), vout_control_Wake(), vout_ControlChangeFilters(), vout_ControlChangeInterlacing(), vout_DisableWindow(), vout_FlushUnlocked(), vout_GetDevice(), vout_MouseState(), vout_OSDEpg(), vout_ReleaseDisplay(), vout_Request(), vout_snapshot_End(), vout_snapshot_Get(), vout_snapshot_Set(), vout_Start(), vout_UpdateWindowSizeLocked(), vout_window_Delete(), vout_window_ReportFullscreen(), vout_window_ReportWindowed(), and vout_window_SetInhibition().

◆ vlc_mutex_trylock()

VLC_EXPORT int vlc_mutex_trylock ( vlc_mutex_t )

Tries to acquire a mutex.

This function acquires the mutex if and only if it is not currently held by another thread. This function never sleeps and can be used in delay-critical code paths.

Note
This function is not a cancellation point.
Warning
If this function fails, then the mutex is held... by another thread. The calling thread must deal with the error appropriately. That typically implies postponing the operations that would have required the mutex. If the thread cannot defer those operations, then it must use vlc_mutex_lock(). If in doubt, use vlc_mutex_lock() instead.
Returns
0 if the mutex could be acquired, an error code otherwise.

References vlc_mutex_t::owner, vlc_mutex_t::recursion, THREAD_SELF, unlikely, vlc_mutex_t::value, and vlc_mutex_held().

Referenced by vlc_mutex_lock(), and vout_snapshot_IsRequested().

◆ vlc_mutex_unlock()

VLC_EXPORT void vlc_mutex_unlock ( vlc_mutex_t )

Releases a mutex.

If the mutex is not held by the calling thread, the behaviour is undefined.

Note
This function is not a cancellation point.

References vlc_mutex_t::owner, vlc_mutex_t::recursion, unlikely, vlc_mutex_t::value, vlc_assert_unreachable, vlc_atomic_notify_one(), and vlc_mutex_held().

Referenced by Add(), AddAlbumCache(), AddCallback(), addons_manager_Delete(), addons_manager_Gather(), addons_manager_WriteCatalog(), aout_ChangeViewpoint(), aout_DecPlay(), aout_Destroy(), aout_DeviceSet(), aout_DevicesList(), aout_HotplugNotify(), aout_MuteSet(), aout_OutputDelete(), aout_OutputNew(), aout_VolumeSet(), ArtCachePath(), CancelAllTasks(), CheckArt(), CheckMeta(), config_SaveConfigFile(), Control(), ControlPop(), Create(), CreateCacheKey(), CreateVoutIfNeeded(), DecoderPlayCc(), DecoderThread(), DecoderThread_ChangeDelay(), DecoderThread_ChangePause(), DecoderThread_ChangeRate(), DecoderThread_Flush(), DecoderThread_ProcessInput(), Del(), DelCallback(), DestroyVout(), dialog_cancel_locked(), dialog_display_error_va(), dialog_display_login_va(), dialog_display_question_va(), dialog_id_post(), dialog_remove_locked(), dialog_update_progress(), dialog_wait(), dialog_wait_interrupted(), display_progress_va(), End(), EsOutAdd(), EsOutControl(), EsOutDel(), EsOutFillEsFmt(), EsOutMeta(), EsOutPrivControl(), EsOutProgramEpg(), EsOutSend(), Fetch(), FetcherAddTask(), FetcherRemoveTask(), finder_thread_interrupted(), FinderThread(), getHeldEntryByUUID(), httpd_HostCreate(), httpd_HostDelete(), httpd_StreamCallBack(), httpd_StreamHeader(), httpd_StreamSend(), httpd_StreamSetHTTPHeaders(), httpd_UrlCatch(), httpd_UrlDelete(), httpd_UrlNew(), httpdLoop(), InitTitle(), input_ControlPush(), input_GetAttachment(), input_GetAttachments(), input_item_AddInfo(), input_item_AddOpaque(), input_item_AddOption(), input_item_AddSlave(), input_item_ApplyOptions(), input_item_ChangeEPGSource(), input_item_Copy(), input_item_CopyOptions(), input_item_DelInfo(), input_item_GetDuration(), input_item_GetInfo(), input_item_GetMeta(), input_item_GetName(), input_item_GetTitleFbName(), input_item_GetURI(), input_item_HasErrorWhenReading(), input_item_IsArtFetched(), input_item_IsPreparsed(), input_item_MergeInfos(), input_item_MetaMatch(), input_item_node_AppendItem(), input_item_ReplaceInfos(), input_item_SetArtFetched(), input_item_SetArtNotFound(), input_item_SetDuration(), input_item_SetEpg(), input_item_SetEpgEvent(), input_item_SetEpgOffline(), input_item_SetEpgTime(), input_item_SetErrorWhenReading(), input_item_SetMeta(), input_item_SetName(), input_item_SetPreparsed(), input_item_SetURI(), input_item_ShouldPreparseSubItems(), input_item_UpdateTracksInfo(), input_item_WriteMeta(), input_preparser_Cancel(), input_preparser_Push(), input_rate_Add(), input_resource_GetAout(), input_resource_HoldAout(), input_resource_HoldVout(), input_resource_HoldVouts(), input_resource_PutAout(), input_resource_PutSout(), input_resource_PutVout(), input_resource_PutVoutLocked(), input_resource_RequestSout(), input_resource_RequestVout(), input_resource_ResetAout(), input_resource_SetInput(), input_resource_StopFreeVout(), input_resource_TerminateSout(), input_stats_Compute(), input_Stop(), input_Stopped(), input_thread_Events(), InputSourceInit(), InputSourceMeta(), InputUpdateMeta(), InstallEntry(), installer_thread_interrupted(), InstallerThread(), installOrRemoveAddon(), Interrupt(), intf_Create(), intf_DestroyAll(), libvlc_GetMainPlaylist(), libvlc_InternalDialogClean(), libvlc_MetadataRequest(), libvlc_Quit(), libvlc_SetExitHandler(), LoadSlaves(), MainLoopStatistics(), Manage(), MergeSources(), module_EndBank(), module_LoadPlugins(), ModuleThread_GetDecoderDevice(), ModuleThread_GetDisplayDate(), ModuleThread_GetDisplayRate(), ModuleThread_NewSpuBuffer(), ModuleThread_PlayAudio(), ModuleThread_PlaySpu(), ModuleThread_PlayVideo(), ModuleThread_QueueSpu(), ModuleThread_QueueThumbnail(), ModuleThread_UpdateAudioFormat(), ModuleThread_UpdateVideoFormat(), MouseEvent(), on_thumbnailer_input_event(), OnArtFetchEnded(), OnParserEnded(), Parse(), picture_fifo_Flush(), picture_fifo_IsEmpty(), picture_fifo_Pop(), picture_fifo_Push(), picture_pool_Cancel(), picture_pool_Get(), picture_pool_ReleaseClone(), picture_pool_Wait(), player_on_state_changed(), PreparserAddTask(), PreparserRemoveTask(), PrivControl(), ReadAlbumCache(), RequestVoutRsc(), RunnableRun(), RunThread(), Send(), sout_AnnounceRegisterSDP(), sout_AnnounceUnRegister(), sout_StreamUnlock(), spu_Attach(), spu_ChangeChannelOrderMargin(), spu_ChangeFilters(), spu_ChangeSources(), spu_ClearChannel(), spu_Destroy(), spu_Detach(), spu_PrerenderCancel(), spu_PrerenderEnqueue(), spu_PrerenderPause(), spu_PrerenderSync(), spu_PrerenderThread(), spu_PrerenderWake(), spu_PutSubpicture(), spu_RegisterChannelInternal(), spu_Render(), spu_SetClockDelay(), spu_SetClockRate(), spu_SetHighlight(), spu_UnregisterChannel(), SpuRenderText(), StereoModeCallback(), ThreadDisplayPicture(), ThreadDisplayPreparePicture(), ThreadDisplayRenderPicture(), ThreadFilterFlush(), ThreadProcessMouseState(), ThreadRun(), thumbnailer_buffer_new(), ThumbnailerAddTask(), ThumbnailerRemoveTask(), TriggerCallback(), TriggerListCallback(), TsChangePause(), TsChangeRate(), TsHasCmd(), TsIsUnused(), TsPushCmd(), TsRun(), TsStop(), update_CheckReal(), var_Change(), var_Create(), var_Destroy(), var_GetAllNames(), var_GetAndSet(), var_GetChecked(), var_SetChecked(), var_TriggerCallback(), var_Type(), vlc_audio_meter_AddPlugin(), vlc_audio_meter_Flush(), vlc_audio_meter_Process(), vlc_audio_meter_RemovePlugin(), vlc_audio_meter_Reset(), vlc_cancel(), vlc_cancel_addr_clear(), vlc_cancel_addr_set(), vlc_cleanup_lock(), vlc_clock_ConvertArrayToSystem(), vlc_clock_ConvertToSystem(), vlc_clock_Delete(), vlc_clock_main_Abort(), vlc_clock_main_ChangePause(), vlc_clock_main_CreateMaster(), vlc_clock_main_CreateSlave(), vlc_clock_main_Reset(), vlc_clock_main_SetDejitter(), vlc_clock_main_SetFirstPcr(), vlc_clock_main_SetInputDejitter(), vlc_clock_master_reset(), vlc_clock_master_set_delay(), vlc_clock_master_update(), vlc_clock_slave_reset(), vlc_clock_slave_set_delay(), vlc_clock_slave_update(), vlc_clock_Wait(), vlc_cond_broadcast(), vlc_cond_signal(), vlc_cond_wait_finish(), vlc_cond_wait_prepare(), vlc_demux_chained_ControlVa(), vlc_dialog_id_get_context(), vlc_dialog_id_set_context(), vlc_dialog_is_cancelled(), vlc_dialog_provider_set_callbacks(), vlc_dialog_provider_set_ext_callback(), vlc_dialog_release(), vlc_drand48(), vlc_event_attach(), vlc_event_detach(), vlc_event_send(), vlc_executor_Cancel(), vlc_executor_Delete(), vlc_executor_Submit(), vlc_executor_WaitIdle(), vlc_ext_dialog_update(), vlc_gl_surface_CheckSize(), vlc_gl_surface_Create(), vlc_gl_surface_ResizeNotify(), vlc_global_mutex(), vlc_h2_client_output_thread(), vlc_h2_conn_release(), vlc_h2_output_dequeue(), vlc_h2_output_destroy(), vlc_h2_output_queue(), vlc_h2_output_thread(), vlc_h2_recv_thread(), vlc_h2_stream_close(), vlc_h2_stream_open(), vlc_h2_stream_unlock(), vlc_h2_stream_wake_up(), vlc_http_cookies_fetch(), vlc_http_cookies_store(), vlc_input_decoder_AddVoutOverlay(), vlc_input_decoder_Delete(), vlc_input_decoder_DelVoutOverlay(), vlc_input_decoder_Flush(), vlc_input_decoder_FrameNext(), vlc_input_decoder_GetCcDesc(), vlc_input_decoder_GetCcState(), vlc_input_decoder_HasFormatChanged(), vlc_input_decoder_IsEmpty(), vlc_input_decoder_SetCcState(), vlc_input_decoder_SetSpuHighlight(), vlc_input_decoder_SetVoutMouseEvent(), vlc_input_decoder_StartWait(), vlc_input_decoder_StopWait(), vlc_input_decoder_Wait(), vlc_interrupt_finish(), vlc_interrupt_prepare(), vlc_interrupt_raise(), vlc_lrand48(), vlc_media_source_provider_GetMediaSource(), vlc_media_source_provider_Remove(), vlc_media_tree_Unlock(), vlc_ml_event_register_callback(), vlc_ml_event_unregister_callback(), vlc_mrand48(), vlc_mwait_i11e(), vlc_mwait_i11e_cleanup(), vlc_player_AddMetadataListener(), vlc_player_AddSmpteTimer(), vlc_player_AddTimer(), vlc_player_aout_AddListener(), vlc_player_aout_RemoveListener(), vlc_player_Delete(), vlc_player_destructor_Thread(), vlc_player_GetTimerPoint(), vlc_player_OnLoudnessEvent(), vlc_player_RemoveMetadataListener(), vlc_player_RemoveTimer(), vlc_player_RemoveTimerSource(), vlc_player_ResetTimer(), vlc_player_Unlock(), vlc_player_UpdateTimer(), vlc_player_UpdateTimerState(), vlc_player_vout_AddListener(), vlc_player_vout_RemoveListener(), vlc_playlist_item_meta_New(), vlc_queue_Unlock(), vlc_rwlock_rdlock(), vlc_rwlock_unlock(), vlc_rwlock_wrlock(), vlc_strfplayer(), vlc_thread_cleanup(), vlc_threadvar_create(), vlc_threadvar_delete(), vlc_timer_destroy(), vlc_timer_schedule(), vlc_vaLogEarly(), vlm_Control(), vlm_Delete(), vlm_ExecuteCommand(), vlm_New(), vout_ChangeCrop(), vout_ChangeDisplayAspectRatio(), vout_ChangeDisplayFilled(), vout_ChangeDisplaySize(), vout_ChangeFullscreen(), vout_ChangePause(), vout_ChangeViewpoint(), vout_ChangeWindowed(), vout_ChangeWindowState(), vout_ChangeZoom(), vout_control_Hold(), vout_control_Pop(), vout_control_PushMouse(), vout_control_Release(), vout_control_Wake(), vout_ControlChangeFilters(), vout_ControlChangeInterlacing(), vout_DisableWindow(), vout_FlushUnlocked(), vout_GetDevice(), vout_MouseState(), vout_OSDEpg(), vout_ReleaseDisplay(), vout_Request(), vout_snapshot_End(), vout_snapshot_Get(), vout_snapshot_IsRequested(), vout_snapshot_Set(), vout_Start(), vout_UpdateWindowSizeLocked(), vout_window_Delete(), vout_window_ReportFullscreen(), vout_window_ReportWindowed(), and vout_window_SetInhibition().