VLC  2.1.0-git
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Typedefs | Enumerations | Functions
libvlc_media_player.h File Reference

This file defines libvlc_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_track_description_t
 Description for video, audio tracks and subtitles. 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_rectangle_t
 Rectangle type for video geometry. More...

Typedefs

typedef struct
libvlc_media_player_t 
libvlc_media_player_t
typedef struct
libvlc_track_description_t 
libvlc_track_description_t
 Description for video, audio tracks and subtitles.
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 struct libvlc_rectangle_t libvlc_rectangle_t
 Rectangle type for video geometry.
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 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 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 (i.e.
typedef void(* libvlc_audio_flush_cb )(void *data, int64_t pts)
 Callback prototype for audio buffer flush (i.e.
typedef void(* libvlc_audio_drain_cb )(void *data)
 Callback prototype for audio buffer drain (i.e.
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 **data, char *format, unsigned *rate, unsigned *channels)
 Callback prototype to setup the audio playback.
typedef void(* libvlc_audio_cleanup_cb )(void *data)
 Callback prototype for audio playback cleanup.
typedef enum
libvlc_audio_output_device_types_t 
libvlc_audio_output_device_types_t
 Audio device types.
typedef enum
libvlc_audio_output_channel_t 
libvlc_audio_output_channel_t
 Audio channels.

Enumerations

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
}
 Navigation mode. 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_device_types_t {
  libvlc_AudioOutputDevice_Error = -1, libvlc_AudioOutputDevice_Mono = 1, libvlc_AudioOutputDevice_Stereo = 2, libvlc_AudioOutputDevice_2F2R = 4,
  libvlc_AudioOutputDevice_3F2R = 5, libvlc_AudioOutputDevice_5_1 = 6, libvlc_AudioOutputDevice_6_1 = 7, libvlc_AudioOutputDevice_7_1 = 8,
  libvlc_AudioOutputDevice_SPDIF = 10
}
 Audio device types. More...
enum  libvlc_audio_output_channel_t {
  libvlc_AudioChannel_Error = -1, libvlc_AudioChannel_Stereo = 1, libvlc_AudioChannel_RStereo = 2, libvlc_AudioChannel_Left = 3,
  libvlc_AudioChannel_Right = 4, libvlc_AudioChannel_Dolbys = 5
}
 Audio channels. 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_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 void libvlc_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 int 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 void libvlc_media_player_stop (libvlc_media_player_t *p_mi)
 Stop (no effect if there is no media)
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 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_agl (libvlc_media_player_t *p_mi, uint32_t drawable)
 Set the agl handler where the media player should render its video output.
LIBVLC_API uint32_t libvlc_media_player_get_agl (libvlc_media_player_t *p_mi)
 Get the agl handler previously set with libvlc_media_player_set_agl().
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_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)
 Set 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)
 Set decoded audio format.
LIBVLC_API void libvlc_audio_set_format (libvlc_media_player_t *mp, const char *format, unsigned rate, unsigned channels)
 Set 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 void libvlc_media_player_set_time (libvlc_media_player_t *p_mi, libvlc_time_t i_time)
 Set the movie time (in ms).
LIBVLC_API float libvlc_media_player_get_position (libvlc_media_player_t *p_mi)
 Get movie position as percentage between 0.0 and 1.0.
LIBVLC_API void libvlc_media_player_set_position (libvlc_media_player_t *p_mi, float f_pos)
 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_will_play (libvlc_media_player_t *p_mi)
 Is the player able to play.
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 float libvlc_media_player_get_fps (libvlc_media_player_t *p_mi)
 Get movie fps rate.
LIBVLC_API unsigned libvlc_media_player_has_vout (libvlc_media_player_t *p_mi)
 end bug
LIBVLC_API int libvlc_media_player_is_seekable (libvlc_media_player_t *p_mi)
 Is this media player seekable?
LIBVLC_API int libvlc_media_player_can_pause (libvlc_media_player_t *p_mi)
 Can this media player be paused?
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_track_description_list_release (libvlc_track_description_t *p_track_description)
 Release (free) libvlc_track_description_t.
LIBVLC_DEPRECATED LIBVLC_API void libvlc_track_description_release (libvlc_track_description_t *p_track_description)
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, int b_fullscreen)
 Enable or disable fullscreen.
LIBVLC_API int 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_DEPRECATED LIBVLC_API int libvlc_video_get_height (libvlc_media_player_t *p_mi)
 Get current video height.
LIBVLC_DEPRECATED LIBVLC_API int libvlc_video_get_width (libvlc_media_player_t *p_mi)
 Get current video width.
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 int libvlc_video_get_spu (libvlc_media_player_t *p_mi)
 Get current video subtitle.
LIBVLC_API int libvlc_video_get_spu_count (libvlc_media_player_t *p_mi)
 Get the number of available video subtitles.
LIBVLC_API
libvlc_track_description_t
libvlc_video_get_spu_description (libvlc_media_player_t *p_mi)
 Get the description of available video subtitles.
LIBVLC_API int libvlc_video_set_spu (libvlc_media_player_t *p_mi, int i_spu)
 Set new video subtitle.
LIBVLC_API int libvlc_video_set_subtitle_file (libvlc_media_player_t *p_mi, const char *psz_subtitle)
 Set new video subtitle file.
LIBVLC_API int64_t libvlc_video_get_spu_delay (libvlc_media_player_t *p_mi)
 Get the current subtitle delay.
LIBVLC_API int libvlc_video_set_spu_delay (libvlc_media_player_t *p_mi, int64_t i_delay)
 Set the subtitle delay.
LIBVLC_API
libvlc_track_description_t
libvlc_video_get_title_description (libvlc_media_player_t *p_mi)
 Get the description of available titles.
LIBVLC_API
libvlc_track_description_t
libvlc_video_get_chapter_description (libvlc_media_player_t *p_mi, int i_title)
 Get the description of available chapters for specific title.
LIBVLC_API char * libvlc_video_get_crop_geometry (libvlc_media_player_t *p_mi)
 Get current crop filter geometry.
LIBVLC_API void libvlc_video_set_crop_geometry (libvlc_media_player_t *p_mi, const char *psz_geometry)
 Set new crop filter geometry.
LIBVLC_API int libvlc_video_get_teletext (libvlc_media_player_t *p_mi)
 Get current teletext page requested.
LIBVLC_API void libvlc_video_set_teletext (libvlc_media_player_t *p_mi, int i_page)
 Set new teletext page to retrieve.
LIBVLC_API void libvlc_toggle_teletext (libvlc_media_player_t *p_mi)
 Toggle teletext transparent status on video output.
LIBVLC_API int libvlc_video_get_track_count (libvlc_media_player_t *p_mi)
 Get number of available video tracks.
LIBVLC_API
libvlc_track_description_t
libvlc_video_get_track_description (libvlc_media_player_t *p_mi)
 Get the description of available video tracks.
LIBVLC_API int libvlc_video_get_track (libvlc_media_player_t *p_mi)
 Get current video track.
LIBVLC_API int libvlc_video_set_track (libvlc_media_player_t *p_mi, int i_track)
 Set video track.
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, 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 char * libvlc_video_get_marquee_string (libvlc_media_player_t *p_mi, unsigned option)
 Get a string 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 outputs.
LIBVLC_API void libvlc_audio_output_list_release (libvlc_audio_output_t *p_list)
 Frees the list of available audio outputs.
LIBVLC_API int libvlc_audio_output_set (libvlc_media_player_t *p_mi, const char *psz_name)
 Sets the audio output.
LIBVLC_DEPRECATED LIBVLC_API int libvlc_audio_output_device_count (libvlc_instance_t *, const char *)
 Backward compatibility stub.
LIBVLC_DEPRECATED LIBVLC_API char * libvlc_audio_output_device_longname (libvlc_instance_t *, const char *, int)
 Backward compatibility stub.
LIBVLC_DEPRECATED LIBVLC_API char * libvlc_audio_output_device_id (libvlc_instance_t *, const char *, int)
 Backward compatibility stub.
LIBVLC_API
libvlc_audio_output_device_t
libvlc_audio_output_device_list_get (libvlc_instance_t *p_instance, const char *aout)
 Gets a list of audio output devices for a given audio output.
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 void libvlc_audio_output_device_set (libvlc_media_player_t *p_mi, const char *psz_audio_output, const char *psz_device_id)
 Configures an explicit audio output device for a given audio output plugin.
LIBVLC_DEPRECATED LIBVLC_API int libvlc_audio_output_get_device_type (libvlc_media_player_t *p_mi)
 Stub for backward compatibility.
LIBVLC_DEPRECATED LIBVLC_API void libvlc_audio_output_set_device_type (libvlc_media_player_t *, int)
 Stub for backward compatibility.
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 int libvlc_audio_get_track_count (libvlc_media_player_t *p_mi)
 Get number of available audio tracks.
LIBVLC_API
libvlc_track_description_t
libvlc_audio_get_track_description (libvlc_media_player_t *p_mi)
 Get the description of available audio tracks.
LIBVLC_API int libvlc_audio_get_track (libvlc_media_player_t *p_mi)
 Get current audio track.
LIBVLC_API int libvlc_audio_set_track (libvlc_media_player_t *p_mi, int i_track)
 Set current audio track.
LIBVLC_API int libvlc_audio_get_channel (libvlc_media_player_t *p_mi)
 Get current audio channel.
LIBVLC_API int libvlc_audio_set_channel (libvlc_media_player_t *p_mi, int channel)
 Set current audio channel.
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.

Detailed Description

This file defines libvlc_media_player external API.