VLC 4.0.0-dev
Loading...
Searching...
No Matches
libvlc_media_player.h File Reference

LibVLC simple media player external API. More...

Include dependency graph for libvlc_media_player.h:

Go to the source code of this file.

Data Structures

struct  libvlc_title_description_t
 
struct  libvlc_chapter_description_t
 Description for chapters. More...
 
struct  libvlc_audio_output_t
 Description for audio output. More...
 
struct  libvlc_audio_output_device_t
 Description for audio output device. More...
 
struct  libvlc_video_setup_device_cfg_t
 
struct  libvlc_video_setup_device_info_t
 
struct  libvlc_video_render_cfg_t
 
struct  libvlc_video_output_cfg_t
 
struct  libvlc_video_frame_hdr10_metadata_t
 
struct  libvlc_player_program_t
 
struct  libvlc_media_player_time_point_t
 Media Player timer point. More...
 

Macros

#define libvlc_role_Last   libvlc_role_Test
 Testing.
 

Typedefs

typedef struct libvlc_video_viewpoint_t libvlc_video_viewpoint_t
 
typedef enum libvlc_media_slave_type_t libvlc_media_slave_type_t
 
typedef struct libvlc_media_t libvlc_media_t
 
typedef struct libvlc_media_track_t libvlc_media_track_t
 
typedef struct libvlc_media_tracklist_t libvlc_media_tracklist_t
 
typedef enum libvlc_track_type_t libvlc_track_type_t
 
typedef struct libvlc_renderer_item_t libvlc_renderer_item_t
 
typedef enum libvlc_state_t libvlc_state_t
 
typedef struct libvlc_media_player_t libvlc_media_player_t
 
typedef struct libvlc_title_description_t libvlc_title_description_t
 
typedef struct libvlc_chapter_description_t libvlc_chapter_description_t
 Description for chapters.
 
typedef struct libvlc_audio_output_t libvlc_audio_output_t
 Description for audio output.
 
typedef struct libvlc_audio_output_device_t libvlc_audio_output_device_t
 Description for audio output device.
 
typedef enum libvlc_video_marquee_option_t libvlc_video_marquee_option_t
 Marq options definition.
 
typedef enum libvlc_navigate_mode_t libvlc_navigate_mode_t
 Navigation mode.
 
typedef enum libvlc_position_t libvlc_position_t
 Enumeration of values used to set position (e.g.
 
typedef enum libvlc_video_fit_mode_t libvlc_video_fit_mode_t
 Enumeration of values used to set the video fitting inside the display area.
 
typedef enum libvlc_teletext_key_t libvlc_teletext_key_t
 Enumeration of teletext keys than can be passed via libvlc_video_set_teletext()
 
typedef struct libvlc_equalizer_t libvlc_equalizer_t
 Opaque equalizer handle.
 
typedef enum libvlc_video_color_primaries_t libvlc_video_color_primaries_t
 Enumeration of the Video color primaries.
 
typedef enum libvlc_video_color_space_t libvlc_video_color_space_t
 Enumeration of the Video color spaces.
 
typedef enum libvlc_video_transfer_func_t libvlc_video_transfer_func_t
 Enumeration of the Video transfer functions.
 
typedef void *(* libvlc_video_lock_cb) (void *opaque, void **planes)
 Callback prototype to allocate and lock a picture buffer.
 
typedef void(* libvlc_video_unlock_cb) (void *opaque, void *picture, void *const *planes)
 Callback prototype to unlock a picture buffer.
 
typedef void(* libvlc_video_display_cb) (void *opaque, void *picture)
 Callback prototype to display a picture.
 
typedef unsigned(* libvlc_video_format_cb) (void **opaque, char *chroma, unsigned *width, unsigned *height, unsigned *pitches, unsigned *lines)
 Callback prototype to configure picture buffers format.
 
typedef void(* libvlc_video_cleanup_cb) (void *opaque)
 Callback prototype to configure picture buffers format.
 
typedef struct libvlc_video_setup_device_cfg_t libvlc_video_setup_device_cfg_t
 
typedef struct libvlc_video_setup_device_info_t libvlc_video_setup_device_info_t
 
typedef bool(* libvlc_video_output_setup_cb) (void **opaque, const libvlc_video_setup_device_cfg_t *cfg, libvlc_video_setup_device_info_t *out)
 Callback prototype called to initialize user data.
 
typedef void(* libvlc_video_output_cleanup_cb) (void *opaque)
 Callback prototype called to release user data.
 
typedef struct libvlc_video_render_cfg_t libvlc_video_render_cfg_t
 
typedef struct libvlc_video_output_cfg_t libvlc_video_output_cfg_t
 
typedef bool(* libvlc_video_update_output_cb) (void *opaque, const libvlc_video_render_cfg_t *cfg, libvlc_video_output_cfg_t *output)
 Callback prototype called on video size changes.
 
typedef void(* libvlc_video_swap_cb) (void *opaque)
 Callback prototype called after performing drawing calls.
 
typedef bool(* libvlc_video_makeCurrent_cb) (void *opaque, bool enter)
 Callback prototype to set up the OpenGL context for rendering.
 
typedef void *(* libvlc_video_getProcAddress_cb) (void *opaque, const char *fct_name)
 Callback prototype to load opengl functions.
 
typedef struct libvlc_video_frame_hdr10_metadata_t libvlc_video_frame_hdr10_metadata_t
 
typedef enum libvlc_video_metadata_type_t libvlc_video_metadata_type_t
 
typedef void(* libvlc_video_frameMetadata_cb) (void *opaque, libvlc_video_metadata_type_t type, const void *metadata)
 Callback prototype to receive metadata before rendering.
 
typedef enum libvlc_video_engine_t libvlc_video_engine_t
 Enumeration of the Video engine to be used on output.
 
typedef void(* libvlc_video_output_resize_cb) (void *report_opaque, unsigned width, unsigned height)
 Callback type that can be called to request a render size changes.
 
typedef enum libvlc_video_output_mouse_button_t libvlc_video_output_mouse_button_t
 Enumeration of the different mouse buttons that can be reported for user interaction can be passed to libvlc_video_output_mouse_press_cb and libvlc_video_output_mouse_release_cb.
 
typedef void(* libvlc_video_output_mouse_move_cb) (void *opaque, int x, int y)
 Callback type that can be called to notify the mouse position when hovering the render surface.
 
typedef void(* libvlc_video_output_mouse_press_cb) (void *opaque, libvlc_video_output_mouse_button_t button)
 Callback type that can be called to notify when a mouse button is pressed in the rendering surface.
 
typedef void(* libvlc_video_output_mouse_release_cb) (void *opaque, libvlc_video_output_mouse_button_t button)
 Callback type that can be called to notify when a mouse button is released in the rendering surface.
 
typedef void(* libvlc_video_output_set_window_cb) (void *opaque, libvlc_video_output_resize_cb report_size_change, libvlc_video_output_mouse_move_cb report_mouse_move, libvlc_video_output_mouse_press_cb report_mouse_pressed, libvlc_video_output_mouse_release_cb report_mouse_released, void *report_opaque)
 Set the callback to call when the host app resizes the rendering area.
 
typedef bool(* libvlc_video_output_select_plane_cb) (void *opaque, size_t plane, void *output)
 Tell the host the rendering for the given plane is about to start.
 
typedef void(* libvlc_audio_play_cb) (void *data, const void *samples, unsigned count, int64_t pts)
 Callback prototype for audio playback.
 
typedef void(* libvlc_audio_pause_cb) (void *data, int64_t pts)
 Callback prototype for audio pause.
 
typedef void(* libvlc_audio_resume_cb) (void *data, int64_t pts)
 Callback prototype for audio resumption.
 
typedef void(* libvlc_audio_flush_cb) (void *data, int64_t pts)
 Callback prototype for audio buffer flush.
 
typedef void(* libvlc_audio_drain_cb) (void *data)
 Callback prototype for audio buffer drain.
 
typedef void(* libvlc_audio_set_volume_cb) (void *data, float volume, bool mute)
 Callback prototype for audio volume change.
 
typedef int(* libvlc_audio_setup_cb) (void **opaque, char *format, unsigned *rate, unsigned *channels)
 Callback prototype to setup the audio playback.
 
typedef void(* libvlc_audio_cleanup_cb) (void *opaque)
 Callback prototype for audio playback cleanup.
 
typedef struct libvlc_player_program_t libvlc_player_program_t
 
typedef struct libvlc_player_programlist_t libvlc_player_programlist_t
 Opaque struct containing a list of program.
 
typedef enum libvlc_audio_output_stereomode_t libvlc_audio_output_stereomode_t
 Audio stereo modes.
 
typedef enum libvlc_audio_output_mixmode_t libvlc_audio_output_mixmode_t
 Audio mix modes.
 
typedef enum libvlc_media_player_role libvlc_media_player_role_t
 Media player roles.
 
typedef struct libvlc_media_player_time_point_t libvlc_media_player_time_point_t
 Media Player timer point.
 
typedef void(* libvlc_media_player_watch_time_on_update) (const libvlc_media_player_time_point_t *value, void *data)
 Callback prototype that notify when the player state or time changed.
 
typedef void(* libvlc_media_player_watch_time_on_discontinuity) (int64_t system_date_us, void *data)
 Callback prototype that notify when the player is paused or a discontinuity occurred.
 

Enumerations

enum  { libvlc_title_menu = 0x01 , libvlc_title_interactive = 0x02 }
 Description for titles. More...
 
enum  libvlc_video_marquee_option_t {
  libvlc_marquee_Enable = 0 , libvlc_marquee_Text , libvlc_marquee_Color , libvlc_marquee_Opacity ,
  libvlc_marquee_Position , libvlc_marquee_Refresh , libvlc_marquee_Size , libvlc_marquee_Timeout ,
  libvlc_marquee_X , libvlc_marquee_Y
}
 Marq options definition. More...
 
enum  libvlc_navigate_mode_t {
  libvlc_navigate_activate = 0 , libvlc_navigate_up , libvlc_navigate_down , libvlc_navigate_left ,
  libvlc_navigate_right , libvlc_navigate_popup
}
 Navigation mode. More...
 
enum  libvlc_position_t {
  libvlc_position_disable =-1 , libvlc_position_center , libvlc_position_left , libvlc_position_right ,
  libvlc_position_top , libvlc_position_top_left , libvlc_position_top_right , libvlc_position_bottom ,
  libvlc_position_bottom_left , libvlc_position_bottom_right
}
 Enumeration of values used to set position (e.g. More...
 
enum  libvlc_video_fit_mode_t {
  libvlc_video_fit_none , libvlc_video_fit_smaller , libvlc_video_fit_larger , libvlc_video_fit_width ,
  libvlc_video_fit_height
}
 Enumeration of values used to set the video fitting inside the display area. More...
 
enum  libvlc_teletext_key_t {
  libvlc_teletext_key_red = 'r' << 16 , libvlc_teletext_key_green = 'g' << 16 , libvlc_teletext_key_yellow = 'y' << 16 , libvlc_teletext_key_blue = 'b' << 16 ,
  libvlc_teletext_key_index = 'i' << 16
}
 Enumeration of teletext keys than can be passed via libvlc_video_set_teletext() More...
 
enum  libvlc_video_color_primaries_t {
  libvlc_video_primaries_BT601_525 = 1 , libvlc_video_primaries_BT601_625 = 2 , libvlc_video_primaries_BT709 = 3 , libvlc_video_primaries_BT2020 = 4 ,
  libvlc_video_primaries_DCI_P3 = 5 , libvlc_video_primaries_BT470_M = 6
}
 Enumeration of the Video color primaries. More...
 
enum  libvlc_video_color_space_t { libvlc_video_colorspace_BT601 = 1 , libvlc_video_colorspace_BT709 = 2 , libvlc_video_colorspace_BT2020 = 3 }
 Enumeration of the Video color spaces. More...
 
enum  libvlc_video_transfer_func_t {
  libvlc_video_transfer_func_LINEAR = 1 , libvlc_video_transfer_func_SRGB = 2 , libvlc_video_transfer_func_BT470_BG = 3 , libvlc_video_transfer_func_BT470_M = 4 ,
  libvlc_video_transfer_func_BT709 = 5 , libvlc_video_transfer_func_PQ = 6 , libvlc_video_transfer_func_SMPTE_240 = 7 , libvlc_video_transfer_func_HLG = 8
}
 Enumeration of the Video transfer functions. More...
 
enum  libvlc_video_metadata_type_t { libvlc_video_metadata_frame_hdr10 }
 
enum  libvlc_video_engine_t {
  libvlc_video_engine_disable , libvlc_video_engine_opengl , libvlc_video_engine_gles2 , libvlc_video_engine_d3d11 ,
  libvlc_video_engine_d3d9
}
 Enumeration of the Video engine to be used on output. More...
 
enum  libvlc_video_output_mouse_button_t { libvlc_video_output_mouse_button_left = 0 , libvlc_video_output_mouse_button_middle = 1 , libvlc_video_output_mouse_button_right = 2 }
 Enumeration of the different mouse buttons that can be reported for user interaction can be passed to libvlc_video_output_mouse_press_cb and libvlc_video_output_mouse_release_cb. More...
 
enum  libvlc_video_logo_option_t {
  libvlc_logo_enable , libvlc_logo_file , libvlc_logo_x , libvlc_logo_y ,
  libvlc_logo_delay , libvlc_logo_repeat , libvlc_logo_opacity , libvlc_logo_position
}
 option values for libvlc_video_{get,set}_logo_{int,string} More...
 
enum  libvlc_video_adjust_option_t {
  libvlc_adjust_Enable = 0 , libvlc_adjust_Contrast , libvlc_adjust_Brightness , libvlc_adjust_Hue ,
  libvlc_adjust_Saturation , libvlc_adjust_Gamma
}
 option values for libvlc_video_{get,set}_adjust_{int,float,bool} More...
 
enum  libvlc_audio_output_stereomode_t {
  libvlc_AudioStereoMode_Unset = 0 , libvlc_AudioStereoMode_Stereo = 1 , libvlc_AudioStereoMode_RStereo = 2 , libvlc_AudioStereoMode_Left = 3 ,
  libvlc_AudioStereoMode_Right = 4 , libvlc_AudioStereoMode_Dolbys = 5 , libvlc_AudioStereoMode_Mono = 7
}
 Audio stereo modes. More...
 
enum  libvlc_audio_output_mixmode_t {
  libvlc_AudioMixMode_Unset = 0 , libvlc_AudioMixMode_Stereo = 1 , libvlc_AudioMixMode_Binaural = 2 , libvlc_AudioMixMode_4_0 = 3 ,
  libvlc_AudioMixMode_5_1 = 4 , libvlc_AudioMixMode_7_1 = 5
}
 Audio mix modes. More...
 
enum  libvlc_media_player_role {
  libvlc_role_None = 0 , libvlc_role_Music , libvlc_role_Video , libvlc_role_Communication ,
  libvlc_role_Game , libvlc_role_Notification , libvlc_role_Animation , libvlc_role_Production ,
  libvlc_role_Accessibility
}
 Media player roles. More...
 

Functions

LIBVLC_API libvlc_media_player_tlibvlc_media_player_new (libvlc_instance_t *p_libvlc_instance)
 Create an empty Media Player object.
 
LIBVLC_API libvlc_media_player_tlibvlc_media_player_new_from_media (libvlc_instance_t *inst, libvlc_media_t *p_md)
 Create a Media Player object from a Media.
 
LIBVLC_API void libvlc_media_player_release (libvlc_media_player_t *p_mi)
 Release a media_player after use Decrement the reference count of a media player object.
 
LIBVLC_API libvlc_media_player_tlibvlc_media_player_retain (libvlc_media_player_t *p_mi)
 Retain a reference to a media player object.
 
LIBVLC_API void libvlc_media_player_set_media (libvlc_media_player_t *p_mi, libvlc_media_t *p_md)
 Set the media that will be used by the media_player.
 
LIBVLC_API libvlc_media_tlibvlc_media_player_get_media (libvlc_media_player_t *p_mi)
 Get the media used by the media_player.
 
LIBVLC_API libvlc_event_manager_tlibvlc_media_player_event_manager (libvlc_media_player_t *p_mi)
 Get the Event Manager from which the media player send event.
 
LIBVLC_API bool libvlc_media_player_is_playing (libvlc_media_player_t *p_mi)
 is_playing
 
LIBVLC_API int libvlc_media_player_play (libvlc_media_player_t *p_mi)
 Play.
 
LIBVLC_API void libvlc_media_player_set_pause (libvlc_media_player_t *mp, int do_pause)
 Pause or resume (no effect if there is no media)
 
LIBVLC_API void libvlc_media_player_pause (libvlc_media_player_t *p_mi)
 Toggle pause (no effect if there is no media)
 
LIBVLC_API int libvlc_media_player_stop_async (libvlc_media_player_t *p_mi)
 Stop asynchronously.
 
LIBVLC_API int libvlc_media_player_set_renderer (libvlc_media_player_t *p_mi, libvlc_renderer_item_t *p_item)
 Set a renderer to the media player.
 
LIBVLC_API void libvlc_video_set_callbacks (libvlc_media_player_t *mp, libvlc_video_lock_cb lock, libvlc_video_unlock_cb unlock, libvlc_video_display_cb display, void *opaque)
 Set callbacks and private data to render decoded video to a custom area in memory.
 
LIBVLC_API void libvlc_video_set_format (libvlc_media_player_t *mp, const char *chroma, unsigned width, unsigned height, unsigned pitch)
 Set decoded video chroma and dimensions.
 
LIBVLC_API void libvlc_video_set_format_callbacks (libvlc_media_player_t *mp, libvlc_video_format_cb setup, libvlc_video_cleanup_cb cleanup)
 Set decoded video chroma and dimensions.
 
LIBVLC_API bool libvlc_video_set_output_callbacks (libvlc_media_player_t *mp, libvlc_video_engine_t engine, libvlc_video_output_setup_cb setup_cb, libvlc_video_output_cleanup_cb cleanup_cb, libvlc_video_output_set_window_cb window_cb, libvlc_video_update_output_cb update_output_cb, libvlc_video_swap_cb swap_cb, libvlc_video_makeCurrent_cb makeCurrent_cb, libvlc_video_getProcAddress_cb getProcAddress_cb, libvlc_video_frameMetadata_cb metadata_cb, libvlc_video_output_select_plane_cb select_plane_cb, void *opaque)
 Set callbacks and data to render decoded video to a custom texture.
 
LIBVLC_API void libvlc_media_player_set_nsobject (libvlc_media_player_t *p_mi, void *drawable)
 Set the NSView handler where the media player should render its video output.
 
LIBVLC_API void * libvlc_media_player_get_nsobject (libvlc_media_player_t *p_mi)
 Get the NSView handler previously set with libvlc_media_player_set_nsobject().
 
LIBVLC_API void libvlc_media_player_set_xwindow (libvlc_media_player_t *p_mi, uint32_t drawable)
 Set an X Window System drawable where the media player should render its video output.
 
LIBVLC_API uint32_t libvlc_media_player_get_xwindow (libvlc_media_player_t *p_mi)
 Get the X Window System window identifier previously set with libvlc_media_player_set_xwindow().
 
LIBVLC_API void libvlc_media_player_set_hwnd (libvlc_media_player_t *p_mi, void *drawable)
 Set a Win32/Win64 API window handle (HWND) where the media player should render its video output.
 
LIBVLC_API void * libvlc_media_player_get_hwnd (libvlc_media_player_t *p_mi)
 Get the Windows API window handle (HWND) previously set with libvlc_media_player_set_hwnd().
 
LIBVLC_API void libvlc_media_player_set_android_context (libvlc_media_player_t *p_mi, void *p_awindow_handler)
 Set the android context.
 
LIBVLC_API void libvlc_audio_set_callbacks (libvlc_media_player_t *mp, libvlc_audio_play_cb play, libvlc_audio_pause_cb pause, libvlc_audio_resume_cb resume, libvlc_audio_flush_cb flush, libvlc_audio_drain_cb drain, void *opaque)
 Sets callbacks and private data for decoded audio.
 
LIBVLC_API void libvlc_audio_set_volume_callback (libvlc_media_player_t *mp, libvlc_audio_set_volume_cb set_volume)
 Set callbacks and private data for decoded audio.
 
LIBVLC_API void libvlc_audio_set_format_callbacks (libvlc_media_player_t *mp, libvlc_audio_setup_cb setup, libvlc_audio_cleanup_cb cleanup)
 Sets decoded audio format via callbacks.
 
LIBVLC_API void libvlc_audio_set_format (libvlc_media_player_t *mp, const char *format, unsigned rate, unsigned channels)
 Sets a fixed decoded audio format.
 
LIBVLC_API libvlc_time_t libvlc_media_player_get_length (libvlc_media_player_t *p_mi)
 Get the current movie length (in ms).
 
LIBVLC_API libvlc_time_t libvlc_media_player_get_time (libvlc_media_player_t *p_mi)
 Get the current movie time (in ms).
 
LIBVLC_API int libvlc_media_player_set_time (libvlc_media_player_t *p_mi, libvlc_time_t i_time, bool b_fast)
 Set the movie time (in ms).
 
LIBVLC_API double libvlc_media_player_get_position (libvlc_media_player_t *p_mi)
 Get movie position as percentage between 0.0 and 1.0.
 
LIBVLC_API int libvlc_media_player_set_position (libvlc_media_player_t *p_mi, double f_pos, bool b_fast)
 Set movie position as percentage between 0.0 and 1.0.
 
LIBVLC_API void libvlc_media_player_set_chapter (libvlc_media_player_t *p_mi, int i_chapter)
 Set movie chapter (if applicable).
 
LIBVLC_API int libvlc_media_player_get_chapter (libvlc_media_player_t *p_mi)
 Get movie chapter.
 
LIBVLC_API int libvlc_media_player_get_chapter_count (libvlc_media_player_t *p_mi)
 Get movie chapter count.
 
LIBVLC_API int libvlc_media_player_get_chapter_count_for_title (libvlc_media_player_t *p_mi, int i_title)
 Get title chapter count.
 
LIBVLC_API void libvlc_media_player_set_title (libvlc_media_player_t *p_mi, int i_title)
 Set movie title.
 
LIBVLC_API int libvlc_media_player_get_title (libvlc_media_player_t *p_mi)
 Get movie title.
 
LIBVLC_API int libvlc_media_player_get_title_count (libvlc_media_player_t *p_mi)
 Get movie title count.
 
LIBVLC_API void libvlc_media_player_previous_chapter (libvlc_media_player_t *p_mi)
 Set previous chapter (if applicable)
 
LIBVLC_API void libvlc_media_player_next_chapter (libvlc_media_player_t *p_mi)
 Set next chapter (if applicable)
 
LIBVLC_API float libvlc_media_player_get_rate (libvlc_media_player_t *p_mi)
 Get the requested movie play rate.
 
LIBVLC_API int libvlc_media_player_set_rate (libvlc_media_player_t *p_mi, float rate)
 Set movie play rate.
 
LIBVLC_API libvlc_state_t libvlc_media_player_get_state (libvlc_media_player_t *p_mi)
 Get current movie state.
 
LIBVLC_API unsigned libvlc_media_player_has_vout (libvlc_media_player_t *p_mi)
 How many video outputs does this media player have?
 
LIBVLC_API bool libvlc_media_player_is_seekable (libvlc_media_player_t *p_mi)
 Is this media player seekable?
 
LIBVLC_API bool libvlc_media_player_can_pause (libvlc_media_player_t *p_mi)
 Can this media player be paused?
 
LIBVLC_API bool libvlc_media_player_program_scrambled (libvlc_media_player_t *p_mi)
 Check if the current program is scrambled.
 
LIBVLC_API void libvlc_media_player_next_frame (libvlc_media_player_t *p_mi)
 Display the next frame (if supported)
 
LIBVLC_API void libvlc_media_player_navigate (libvlc_media_player_t *p_mi, unsigned navigate)
 Navigate through DVD Menu.
 
LIBVLC_API void libvlc_media_player_set_video_title_display (libvlc_media_player_t *p_mi, libvlc_position_t position, unsigned int timeout)
 Set if, and how, the video title will be shown when media is played.
 
LIBVLC_API libvlc_media_tracklist_tlibvlc_media_player_get_tracklist (libvlc_media_player_t *p_mi, libvlc_track_type_t type, bool selected)
 Get the track list for one type.
 
LIBVLC_API libvlc_media_track_tlibvlc_media_player_get_selected_track (libvlc_media_player_t *p_mi, libvlc_track_type_t type)
 Get the selected track for one type.
 
LIBVLC_API libvlc_media_track_tlibvlc_media_player_get_track_from_id (libvlc_media_player_t *p_mi, const char *psz_id)
 
LIBVLC_API void libvlc_media_player_select_track (libvlc_media_player_t *p_mi, const libvlc_media_track_t *track)
 Select a track.
 
LIBVLC_API void libvlc_media_player_unselect_track_type (libvlc_media_player_t *p_mi, libvlc_track_type_t type)
 Unselect all tracks for a given type.
 
LIBVLC_API void libvlc_media_player_select_tracks (libvlc_media_player_t *p_mi, libvlc_track_type_t type, const libvlc_media_track_t **tracks, size_t track_count)
 Select multiple tracks for one type.
 
LIBVLC_API void libvlc_media_player_select_tracks_by_ids (libvlc_media_player_t *p_mi, libvlc_track_type_t type, const char *psz_ids)
 Select tracks by their string identifier.
 
LIBVLC_API int libvlc_media_player_add_slave (libvlc_media_player_t *p_mi, libvlc_media_slave_type_t i_type, const char *psz_uri, bool b_select)
 Add a slave to the current media player.
 
LIBVLC_API void libvlc_player_program_delete (libvlc_player_program_t *program)
 Delete a program struct.
 
LIBVLC_API size_t libvlc_player_programlist_count (const libvlc_player_programlist_t *list)
 Get the number of programs in a programlist.
 
LIBVLC_API libvlc_player_program_tlibvlc_player_programlist_at (libvlc_player_programlist_t *list, size_t index)
 Get a program at a specific index.
 
LIBVLC_API void libvlc_player_programlist_delete (libvlc_player_programlist_t *list)
 Release a programlist.
 
LIBVLC_API void libvlc_media_player_select_program_id (libvlc_media_player_t *p_mi, int i_group_id)
 Select program with a given program id.
 
LIBVLC_API libvlc_player_program_tlibvlc_media_player_get_selected_program (libvlc_media_player_t *p_mi)
 Get the selected program.
 
LIBVLC_API libvlc_player_program_tlibvlc_media_player_get_program_from_id (libvlc_media_player_t *p_mi, int i_group_id)
 Get a program struct from a program id.
 
LIBVLC_API libvlc_player_programlist_tlibvlc_media_player_get_programlist (libvlc_media_player_t *p_mi)
 Get the program list.
 
LIBVLC_API void libvlc_toggle_fullscreen (libvlc_media_player_t *p_mi)
 Toggle fullscreen status on non-embedded video outputs.
 
LIBVLC_API void libvlc_set_fullscreen (libvlc_media_player_t *p_mi, bool b_fullscreen)
 Enable or disable fullscreen.
 
LIBVLC_API bool libvlc_get_fullscreen (libvlc_media_player_t *p_mi)
 Get current fullscreen status.
 
LIBVLC_API void libvlc_video_set_key_input (libvlc_media_player_t *p_mi, unsigned on)
 Enable or disable key press events handling, according to the LibVLC hotkeys configuration.
 
LIBVLC_API void libvlc_video_set_mouse_input (libvlc_media_player_t *p_mi, unsigned on)
 Enable or disable mouse click events handling.
 
LIBVLC_API int libvlc_video_get_size (libvlc_media_player_t *p_mi, unsigned num, unsigned *px, unsigned *py)
 Get the pixel dimensions of a video.
 
LIBVLC_API int libvlc_video_get_cursor (libvlc_media_player_t *p_mi, unsigned num, int *px, int *py)
 Get the mouse pointer coordinates over a video.
 
LIBVLC_API float libvlc_video_get_scale (libvlc_media_player_t *p_mi)
 Get the current video scaling factor.
 
LIBVLC_API void libvlc_video_set_scale (libvlc_media_player_t *p_mi, float f_factor)
 Set the video scaling factor.
 
LIBVLC_API char * libvlc_video_get_aspect_ratio (libvlc_media_player_t *p_mi)
 Get current video aspect ratio.
 
LIBVLC_API void libvlc_video_set_aspect_ratio (libvlc_media_player_t *p_mi, const char *psz_aspect)
 Set new video aspect ratio.
 
LIBVLC_API libvlc_video_fit_mode_t libvlc_video_get_display_fit (libvlc_media_player_t *p_mi)
 Get current video display fit mode.
 
LIBVLC_API void libvlc_video_set_display_fit (libvlc_media_player_t *p_mi, libvlc_video_fit_mode_t fit)
 Set new video display fit.
 
LIBVLC_API libvlc_video_viewpoint_tlibvlc_video_new_viewpoint (void)
 Create a video viewpoint structure.
 
LIBVLC_API int libvlc_video_update_viewpoint (libvlc_media_player_t *p_mi, const libvlc_video_viewpoint_t *p_viewpoint, bool b_absolute)
 Update the video viewpoint information.
 
LIBVLC_API int64_t libvlc_video_get_spu_delay (libvlc_media_player_t *p_mi)
 Get the current subtitle delay.
 
LIBVLC_API float libvlc_video_get_spu_text_scale (libvlc_media_player_t *p_mi)
 Get the current subtitle text scale.
 
LIBVLC_API void libvlc_video_set_spu_text_scale (libvlc_media_player_t *p_mi, float f_scale)
 Set the subtitle text scale.
 
LIBVLC_API int libvlc_video_set_spu_delay (libvlc_media_player_t *p_mi, int64_t i_delay)
 Set the subtitle delay.
 
LIBVLC_API int libvlc_media_player_get_full_title_descriptions (libvlc_media_player_t *p_mi, libvlc_title_description_t ***titles)
 Get the full description of available titles.
 
LIBVLC_API void libvlc_title_descriptions_release (libvlc_title_description_t **p_titles, unsigned i_count)
 Release a title description.
 
LIBVLC_API int libvlc_media_player_get_full_chapter_descriptions (libvlc_media_player_t *p_mi, int i_chapters_of_title, libvlc_chapter_description_t ***pp_chapters)
 Get the full description of available chapters.
 
LIBVLC_API void libvlc_chapter_descriptions_release (libvlc_chapter_description_t **p_chapters, unsigned i_count)
 Release a chapter description.
 
LIBVLC_API void libvlc_video_set_crop_ratio (libvlc_media_player_t *mp, unsigned num, unsigned den)
 Set/unset the video crop ratio.
 
LIBVLC_API void libvlc_video_set_crop_window (libvlc_media_player_t *mp, unsigned x, unsigned y, unsigned width, unsigned height)
 Set the video crop window.
 
LIBVLC_API void libvlc_video_set_crop_border (libvlc_media_player_t *mp, unsigned left, unsigned right, unsigned top, unsigned bottom)
 Set the video crop borders.
 
LIBVLC_API int libvlc_video_get_teletext (libvlc_media_player_t *p_mi)
 Get current teletext page requested or 0 if it's disabled.
 
LIBVLC_API void libvlc_video_set_teletext (libvlc_media_player_t *p_mi, int i_page)
 Set new teletext page to retrieve.
 
LIBVLC_API int libvlc_video_take_snapshot (libvlc_media_player_t *p_mi, unsigned num, const char *psz_filepath, unsigned int i_width, unsigned int i_height)
 Take a snapshot of the current video window.
 
LIBVLC_API void libvlc_video_set_deinterlace (libvlc_media_player_t *p_mi, int deinterlace, const char *psz_mode)
 Enable or disable deinterlace filter.
 
LIBVLC_API int libvlc_video_get_marquee_int (libvlc_media_player_t *p_mi, unsigned option)
 Get an integer marquee option value.
 
LIBVLC_API void libvlc_video_set_marquee_int (libvlc_media_player_t *p_mi, unsigned option, int i_val)
 Enable, disable or set an integer marquee option.
 
LIBVLC_API void libvlc_video_set_marquee_string (libvlc_media_player_t *p_mi, unsigned option, const char *psz_text)
 Set a marquee string option.
 
LIBVLC_API int libvlc_video_get_logo_int (libvlc_media_player_t *p_mi, unsigned option)
 Get integer logo option.
 
LIBVLC_API void libvlc_video_set_logo_int (libvlc_media_player_t *p_mi, unsigned option, int value)
 Set logo option as integer.
 
LIBVLC_API void libvlc_video_set_logo_string (libvlc_media_player_t *p_mi, unsigned option, const char *psz_value)
 Set logo option as string.
 
LIBVLC_API int libvlc_video_get_adjust_int (libvlc_media_player_t *p_mi, unsigned option)
 Get integer adjust option.
 
LIBVLC_API void libvlc_video_set_adjust_int (libvlc_media_player_t *p_mi, unsigned option, int value)
 Set adjust option as integer.
 
LIBVLC_API float libvlc_video_get_adjust_float (libvlc_media_player_t *p_mi, unsigned option)
 Get float adjust option.
 
LIBVLC_API void libvlc_video_set_adjust_float (libvlc_media_player_t *p_mi, unsigned option, float value)
 Set adjust option as float.
 
LIBVLC_API libvlc_audio_output_tlibvlc_audio_output_list_get (libvlc_instance_t *p_instance)
 Gets the list of available audio output modules.
 
LIBVLC_API void libvlc_audio_output_list_release (libvlc_audio_output_t *p_list)
 Frees the list of available audio output modules.
 
LIBVLC_API int libvlc_audio_output_set (libvlc_media_player_t *p_mi, const char *psz_name)
 Selects an audio output module.
 
LIBVLC_API libvlc_audio_output_device_tlibvlc_audio_output_device_enum (libvlc_media_player_t *mp)
 Gets a list of potential audio output devices.
 
LIBVLC_API void libvlc_audio_output_device_list_release (libvlc_audio_output_device_t *p_list)
 Frees a list of available audio output devices.
 
LIBVLC_API int libvlc_audio_output_device_set (libvlc_media_player_t *mp, const char *device_id)
 Configures an explicit audio output device.
 
LIBVLC_API char * libvlc_audio_output_device_get (libvlc_media_player_t *mp)
 Get the current audio output device identifier.
 
LIBVLC_API void libvlc_audio_toggle_mute (libvlc_media_player_t *p_mi)
 Toggle mute status.
 
LIBVLC_API int libvlc_audio_get_mute (libvlc_media_player_t *p_mi)
 Get current mute status.
 
LIBVLC_API void libvlc_audio_set_mute (libvlc_media_player_t *p_mi, int status)
 Set mute status.
 
LIBVLC_API int libvlc_audio_get_volume (libvlc_media_player_t *p_mi)
 Get current software audio volume.
 
LIBVLC_API int libvlc_audio_set_volume (libvlc_media_player_t *p_mi, int i_volume)
 Set current software audio volume.
 
LIBVLC_API libvlc_audio_output_stereomode_t libvlc_audio_get_stereomode (libvlc_media_player_t *p_mi)
 Get current audio stereo-mode.
 
LIBVLC_API int libvlc_audio_set_stereomode (libvlc_media_player_t *p_mi, libvlc_audio_output_stereomode_t mode)
 Set current audio stereo-mode.
 
LIBVLC_API libvlc_audio_output_mixmode_t libvlc_audio_get_mixmode (libvlc_media_player_t *p_mi)
 Get current audio mix-mode.
 
LIBVLC_API int libvlc_audio_set_mixmode (libvlc_media_player_t *p_mi, libvlc_audio_output_mixmode_t mode)
 Set current audio mix-mode.
 
LIBVLC_API int64_t libvlc_audio_get_delay (libvlc_media_player_t *p_mi)
 Get current audio delay.
 
LIBVLC_API int libvlc_audio_set_delay (libvlc_media_player_t *p_mi, int64_t i_delay)
 Set current audio delay.
 
LIBVLC_API unsigned libvlc_audio_equalizer_get_preset_count (void)
 Get the number of equalizer presets.
 
LIBVLC_API const char * libvlc_audio_equalizer_get_preset_name (unsigned u_index)
 Get the name of a particular equalizer preset.
 
LIBVLC_API unsigned libvlc_audio_equalizer_get_band_count (void)
 Get the number of distinct frequency bands for an equalizer.
 
LIBVLC_API float libvlc_audio_equalizer_get_band_frequency (unsigned u_index)
 Get a particular equalizer band frequency.
 
LIBVLC_API libvlc_equalizer_tlibvlc_audio_equalizer_new (void)
 Create a new default equalizer, with all frequency values zeroed.
 
LIBVLC_API libvlc_equalizer_tlibvlc_audio_equalizer_new_from_preset (unsigned u_index)
 Create a new equalizer, with initial frequency values copied from an existing preset.
 
LIBVLC_API void libvlc_audio_equalizer_release (libvlc_equalizer_t *p_equalizer)
 Release a previously created equalizer instance.
 
LIBVLC_API int libvlc_audio_equalizer_set_preamp (libvlc_equalizer_t *p_equalizer, float f_preamp)
 Set a new pre-amplification value for an equalizer.
 
LIBVLC_API float libvlc_audio_equalizer_get_preamp (libvlc_equalizer_t *p_equalizer)
 Get the current pre-amplification value from an equalizer.
 
LIBVLC_API int libvlc_audio_equalizer_set_amp_at_index (libvlc_equalizer_t *p_equalizer, float f_amp, unsigned u_band)
 Set a new amplification value for a particular equalizer frequency band.
 
LIBVLC_API float libvlc_audio_equalizer_get_amp_at_index (libvlc_equalizer_t *p_equalizer, unsigned u_band)
 Get the amplification value for a particular equalizer frequency band.
 
LIBVLC_API int libvlc_media_player_set_equalizer (libvlc_media_player_t *p_mi, libvlc_equalizer_t *p_equalizer)
 Apply new equalizer settings to a media player.
 
LIBVLC_API int libvlc_media_player_get_role (libvlc_media_player_t *p_mi)
 Gets the media role.
 
LIBVLC_API int libvlc_media_player_set_role (libvlc_media_player_t *p_mi, unsigned role)
 Sets the media role.
 
LIBVLC_API void libvlc_media_player_record (libvlc_media_player_t *p_mi, bool enable, const char *dir_path)
 Start/stop recording.
 
LIBVLC_API int libvlc_media_player_watch_time (libvlc_media_player_t *p_mi, int64_t min_period_us, libvlc_media_player_watch_time_on_update on_update, libvlc_media_player_watch_time_on_discontinuity on_discontinuity, void *cbs_data)
 Watch for times updates.
 
LIBVLC_API void libvlc_media_player_unwatch_time (libvlc_media_player_t *p_mi)
 Unwatch time updates.
 
LIBVLC_API int libvlc_media_player_time_point_interpolate (const libvlc_media_player_time_point_t *point, int64_t system_now_us, int64_t *out_ts_us, double *out_pos)
 Interpolate a timer value to now.
 
LIBVLC_API int64_t libvlc_media_player_time_point_get_next_date (const libvlc_media_player_time_point_t *point, int64_t system_now_us, int64_t interpolated_ts_us, int64_t next_interval_us)
 Get the date of the next interval.
 
LIBVLC_API void libvlc_media_player_lock (libvlc_media_player_t *mp)
 Lock the media_player internal lock.
 
LIBVLC_API void libvlc_media_player_unlock (libvlc_media_player_t *mp)
 Unlock the media_player internal lock.
 
LIBVLC_API void libvlc_media_player_wait (libvlc_media_player_t *mp)
 Wait for an event to be signalled.
 
LIBVLC_API void libvlc_media_player_signal (libvlc_media_player_t *mp)
 Signal all threads waiting for a signalling event.
 

Detailed Description

LibVLC simple media player external API.

Macro Definition Documentation

◆ libvlc_role_Last

#define libvlc_role_Last   libvlc_role_Test

Testing.

Typedef Documentation

◆ libvlc_media_slave_type_t

◆ libvlc_media_t

◆ libvlc_media_track_t

◆ libvlc_media_tracklist_t

◆ libvlc_renderer_item_t

◆ libvlc_state_t

◆ libvlc_track_type_t

◆ libvlc_video_viewpoint_t