1{ 2 Copyright (c) 2012 by Michael Van Canneyt 3 member of the Free Pascal development team 4 5 This is a translation of the VLC library headers. 6 The original VLC library license applies if you use the VLC libraries. 7 See http://www.videolan.org/ for license details. 8 9 See the file COPYING.FPC, included in this distribution, 10 for details about the copyright. 11 12 This program is distributed in the hope that it will be useful, 13 but WITHOUT ANY WARRANTY; without even the implied warranty of 14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 15 16 **********************************************************************} 17 18{$mode objfpc} 19unit libvlc; 20interface 21 22uses 23 ctypes; 24 25{$IFDEF FPC} 26{$PACKRECORDS C} 27{$ENDIF} 28 29Const 30 31{$ifdef unix} 32 libname = 'libvlc.so.5'; 33{$else} 34{$ifdef windows} 35 corelibname = 'libvlccore.dll'; 36 libname = 'libvlc.dll'; 37var 38 DefaultlibPath: String; 39{$endif} 40{$endif} 41 42 Type 43 _bool = cint; 44 Ppcchar = ^Pcchar; 45 46 // Opaque types. 47 libvlc_event_manager_t = record end; 48 Libvlc_instance_t = record end; 49 Libvlc_log_iterator_t = record end; 50 Libvlc_log_t = record end; 51 Libvlc_media_discoverer_t = record end; 52 Libvlc_media_library_t = record end; 53 Libvlc_media_list_player_t = record end; 54 Libvlc_media_list_t = record end; 55 Libvlc_media_player_t = record end; 56 Libvlc_media_t = record end; 57 58 Plibvlc_audio_output_t = ^libvlc_audio_output_t; 59 Plibvlc_event_manager_t = ^libvlc_event_manager_t; 60 Plibvlc_event_t = ^libvlc_event_t; 61 Plibvlc_instance_t = ^libvlc_instance_t; 62 Plibvlc_log_iterator_t = ^libvlc_log_iterator_t; 63 Plibvlc_log_message_t = ^libvlc_log_message_t; 64 Plibvlc_log_t = ^libvlc_log_t; 65 Plibvlc_media_discoverer_t = ^libvlc_media_discoverer_t; 66 Plibvlc_media_library_t = ^libvlc_media_library_t; 67 Plibvlc_media_list_player_t = ^libvlc_media_list_player_t; 68 Plibvlc_media_list_t = ^libvlc_media_list_t; 69 Plibvlc_media_player_t = ^libvlc_media_player_t; 70 Plibvlc_media_stats_t = ^libvlc_media_stats_t; 71 Plibvlc_media_t = ^libvlc_media_t; 72 Plibvlc_media_track_info_t = ^libvlc_media_track_info_t; 73 Plibvlc_module_description_t = ^libvlc_module_description_t; 74 Plibvlc_track_description_t = ^libvlc_track_description_t; 75 76 77 int8_t = cschar; 78 int16_t = csint; 79 int32_t = cint; 80 int64_t = cint64; 81 uint8_t = cuchar; 82 uint16_t = csint; 83 uint32_t = cuint; 84 uint64_t = cuint64; 85 int_least8_t = cschar; 86 int_least16_t = csint; 87 int_least32_t = cint; 88 int_least64_t = cint64; 89 uint_least8_t = cuchar; 90 uint_least16_t = csint; 91 uint_least32_t = cuint; 92 uint_least64_t = cuint64; 93 int_fast8_t = cschar; 94 int_fast16_t = clong; 95 int_fast32_t = clong; 96 int_fast64_t = cint64; 97 uint_fast8_t = cuchar; 98 uint_fast16_t = culong; 99 uint_fast32_t = culong; 100 uint_fast64_t = cuint64; 101 102 intptr_t = PtrInt; 103 uintptr_t = PtrUInt; 104 intmax_t = cint64; 105 uintmax_t = cuint64; 106 107 108 libvlc_time_t = int64_t; 109 libvlc_log_message_t = record 110 i_severity : cint; 111 psz_type : ^cchar; 112 psz_name : ^cchar; 113 psz_header : ^cchar; 114 psz_message : ^cchar; 115 end; 116 117 libvlc_event_type_t = cint; 118 libvlc_callback_t = procedure (_para1:Plibvlc_event_t; _para2:pointer);cdecl; 119 120 libvlc_module_description_t = record 121 psz_name : ^cchar; 122 psz_shortname : ^cchar; 123 psz_longname : ^cchar; 124 psz_help : ^cchar; 125 p_next : ^libvlc_module_description_t; 126 end; 127 128{ 129static inline int64_t libvlc_delay(int64_t pts) 130 131 return pts - libvlc_clock(); 132 133 } 134 135 136 libvlc_meta_t = (libvlc_meta_Title,libvlc_meta_Artist, 137 libvlc_meta_Genre,libvlc_meta_Copyright, 138 libvlc_meta_Album,libvlc_meta_TrackNumber, 139 libvlc_meta_Description,libvlc_meta_Rating, 140 libvlc_meta_Date,libvlc_meta_Setting, 141 libvlc_meta_URL,libvlc_meta_Language, 142 libvlc_meta_NowPlaying,libvlc_meta_Publisher, 143 libvlc_meta_EncodedBy,libvlc_meta_ArtworkURL, 144 libvlc_meta_TrackID); 145 146 libvlc_state_t = (libvlc_NothingSpecial := 0,libvlc_Opening, 147 libvlc_Buffering,libvlc_Playing,libvlc_Paused, 148 libvlc_Stopped,libvlc_Ended,libvlc_Error 149 ); 150 151 libvlc_media_option_t = (libvlc_media_option_trusted := $2,libvlc_media_option_unique := $100 152 ); 153 154 libvlc_track_type_t = (libvlc_track_unknown := -(1),libvlc_track_audio := 0, 155 libvlc_track_video := 1,libvlc_track_text := 2 156 ); 157 158 libvlc_media_stats_t = record 159 i_read_bytes : cint; 160 f_input_bitrate : cfloat; 161 i_demux_read_bytes : cint; 162 f_demux_bitrate : cfloat; 163 i_demux_corrupted : cint; 164 i_demux_discontinuity : cint; 165 i_decoded_video : cint; 166 i_decoded_audio : cint; 167 i_displayed_pictures : cint; 168 i_lost_pictures : cint; 169 i_played_abuffers : cint; 170 i_lost_abuffers : cint; 171 i_sent_packets : cint; 172 i_sent_bytes : cint; 173 f_send_bitrate : cfloat; 174 end; 175 176 libvlc_media_track_info_t = record 177 i_codec : uint32_t; 178 i_id : cint; 179 i_type : libvlc_track_type_t; 180 i_profile : cint; 181 i_level : cint; 182 u : record 183 case longint of 184 0 : ( audio : record 185 i_channels : cunsigned; 186 i_rate : cunsigned; 187 end ); 188 1 : ( video : record 189 i_height : cunsigned; 190 i_width : cunsigned; 191 end ); 192 end; 193 end; 194 195 196 libvlc_track_description_t = record 197 i_id : cint; 198 psz_name : ^cchar; 199 p_next : ^libvlc_track_description_t; 200 end; 201 202 libvlc_audio_output_t = record 203 psz_name : ^cchar; 204 psz_description : ^cchar; 205 p_next : ^libvlc_audio_output_t; 206 end; 207 208 libvlc_rectangle_t = record 209 top : cint; 210 left : cint; 211 bottom : cint; 212 right : cint; 213 end; 214 215 libvlc_video_marquee_option_t = (libvlc_marquee_Enable := 0,libvlc_marquee_Text, 216 libvlc_marquee_Color,libvlc_marquee_Opacity, 217 libvlc_marquee_Position,libvlc_marquee_Refresh, 218 libvlc_marquee_Size,libvlc_marquee_Timeout, 219 libvlc_marquee_X,libvlc_marquee_Y); 220 221 libvlc_navigate_mode_t = (libvlc_navigate_activate := 0,libvlc_navigate_up, 222 libvlc_navigate_down,libvlc_navigate_left, 223 libvlc_navigate_right); 224 225 226 libvlc_video_lock_cb = function (opaque:pointer; planes:Ppointer):pointer;cdecl; 227 libvlc_video_unlock_cb = procedure (opaque:pointer; picture:pointer; planes:Ppointer);cdecl; 228 libvlc_video_display_cb = procedure (opaque:pointer; picture:pointer);cdecl; 229 libvlc_video_format_cb = function (opaque:Ppointer; chroma:pcchar; width:pcunsigned; height:pcunsigned; pitches:pcunsigned; 230 lines:pcunsigned):cunsigned;cdecl; 231 libvlc_video_cleanup_cb = procedure (opaque:pointer);cdecl; 232 libvlc_audio_play_cb = procedure (data:pointer; samples:pointer; count:cunsigned; pts:int64_t);cdecl; 233 libvlc_audio_pause_cb = procedure (data:pointer; pts:int64_t);cdecl; 234 libvlc_audio_resume_cb = procedure (data:pointer; pts:int64_t);cdecl; 235 libvlc_audio_flush_cb = procedure (data:pointer; pts:int64_t);cdecl; 236 libvlc_audio_drain_cb = procedure (data:pointer);cdecl; 237 libvlc_audio_set_volume_cb = procedure (data:pointer; volume:cfloat; mute:_Bool);cdecl; 238 libvlc_audio_setup_cb = function (data:Ppointer; format:pcchar; rate:pcunsigned; channels:pcunsigned):cint;cdecl; 239 libvlc_audio_cleanup_cb = procedure (data:pointer);cdecl; 240 libvlc_video_logo_option_t = (libvlc_logo_enable,libvlc_logo_file,libvlc_logo_x, 241 libvlc_logo_y,libvlc_logo_delay,libvlc_logo_repeat, 242 libvlc_logo_opacity,libvlc_logo_position 243 ); 244 libvlc_video_adjust_option_t = (libvlc_adjust_Enable := 0,libvlc_adjust_Contrast, 245 libvlc_adjust_Brightness,libvlc_adjust_Hue, 246 libvlc_adjust_Saturation,libvlc_adjust_Gamma 247 ); 248 libvlc_audio_output_device_types_t = (libvlc_AudioOutputDevice_Error := -(1), 249 libvlc_AudioOutputDevice_Mono := 1, 250 libvlc_AudioOutputDevice_Stereo := 2, 251 libvlc_AudioOutputDevice_2F2R := 4, 252 libvlc_AudioOutputDevice_3F2R := 5, 253 libvlc_AudioOutputDevice_5_1 := 6,libvlc_AudioOutputDevice_6_1 := 7, 254 libvlc_AudioOutputDevice_7_1 := 8,libvlc_AudioOutputDevice_SPDIF := 10 255 ); 256 257 libvlc_audio_output_channel_t = (libvlc_AudioChannel_Error := -(1),libvlc_AudioChannel_Stereo := 1, 258 libvlc_AudioChannel_RStereo := 2,libvlc_AudioChannel_Left := 3, 259 libvlc_AudioChannel_Right := 4,libvlc_AudioChannel_Dolbys := 5 260 ); 261 libvlc_playback_mode_t = (libvlc_playback_mode_default,libvlc_playback_mode_loop, 262 libvlc_playback_mode_repeat); 263 264 libvlc_event_e = (libvlc_MediaMetaChanged := 0, 265 libvlc_MediaSubItemAdded, 266 libvlc_MediaDurationChanged,libvlc_MediaParsedChanged, 267 libvlc_MediaFreed,libvlc_MediaStateChanged, 268 libvlc_MediaPlayerMediaChanged := $100, 269 libvlc_MediaPlayerNothingSpecial,libvlc_MediaPlayerOpening, 270 libvlc_MediaPlayerBuffering,libvlc_MediaPlayerPlaying, 271 libvlc_MediaPlayerPaused,libvlc_MediaPlayerStopped, 272 libvlc_MediaPlayerForward,libvlc_MediaPlayerBackward, 273 libvlc_MediaPlayerEndReached,libvlc_MediaPlayerEncounteredError, 274 libvlc_MediaPlayerTimeChanged,libvlc_MediaPlayerPositionChanged, 275 libvlc_MediaPlayerSeekableChanged,libvlc_MediaPlayerPausableChanged, 276 libvlc_MediaPlayerTitleChanged,libvlc_MediaPlayerSnapshotTaken, 277 libvlc_MediaPlayerLengthChanged,libvlc_MediaPlayerVout, 278 libvlc_MediaListItemAdded := $200,libvlc_MediaListWillAddItem, 279 libvlc_MediaListItemDeleted,libvlc_MediaListWillDeleteItem, 280 libvlc_MediaListViewItemAdded := $300, 281 libvlc_MediaListViewWillAddItem,libvlc_MediaListViewItemDeleted, 282 libvlc_MediaListViewWillDeleteItem,libvlc_MediaListPlayerPlayed := $400, 283 libvlc_MediaListPlayerNextItemSet,libvlc_MediaListPlayerStopped, 284 libvlc_MediaDiscovererStarted := $500, 285 libvlc_MediaDiscovererEnded,libvlc_VlmMediaAdded := $600, 286 libvlc_VlmMediaRemoved,libvlc_VlmMediaChanged, 287 libvlc_VlmMediaInstanceStarted,libvlc_VlmMediaInstanceStopped, 288 libvlc_VlmMediaInstanceStatusInit,libvlc_VlmMediaInstanceStatusOpening, 289 libvlc_VlmMediaInstanceStatusPlaying, 290 libvlc_VlmMediaInstanceStatusPause,libvlc_VlmMediaInstanceStatusEnd, 291 libvlc_VlmMediaInstanceStatusError); 292 293 294 libvlc_event_t = record 295 _type : cint; 296 p_obj : pointer; 297 case longint of 298 0 : ( media_meta_changed : record 299 meta_type : libvlc_meta_t; 300 end ); 301 1 : ( media_subitem_added : record 302 new_child : ^libvlc_media_t; 303 end ); 304 2 : ( media_duration_changed : record 305 new_duration : int64_t; 306 end ); 307 3 : ( media_parsed_changed : record 308 new_status : cint; 309 end ); 310 4 : ( media_freed : record 311 md : ^libvlc_media_t; 312 end ); 313 5 : ( media_state_changed : record 314 new_state : libvlc_state_t; 315 end ); 316 6 : ( media_player_buffering : record 317 new_cache : cfloat; 318 end ); 319 7 : ( media_player_position_changed : record 320 new_position : cfloat; 321 end ); 322 8 : ( media_player_time_changed : record 323 new_time : libvlc_time_t; 324 end ); 325 9 : ( media_player_title_changed : record 326 new_title : cint; 327 end ); 328 10 : ( media_player_seekable_changed : record 329 new_seekable : cint; 330 end ); 331 11 : ( media_player_pausable_changed : record 332 new_pausable : cint; 333 end ); 334 12 : ( media_player_vout : record 335 new_count : cint; 336 end ); 337 13 : ( media_list_item_added : record 338 item : ^libvlc_media_t; 339 index : cint; 340 end ); 341 14 : ( media_list_will_add_item : record 342 item : ^libvlc_media_t; 343 index : cint; 344 end ); 345 15 : ( media_list_item_deleted : record 346 item : ^libvlc_media_t; 347 index : cint; 348 end ); 349 16 : ( media_list_will_delete_item : record 350 item : ^libvlc_media_t; 351 index : cint; 352 end ); 353 17 : ( media_list_player_next_item_set : record 354 item : ^libvlc_media_t; 355 end ); 356 18 : ( media_player_snapshot_taken : record 357 psz_filename : ^cchar; 358 end ); 359 19 : ( media_player_length_changed : record 360 new_length : libvlc_time_t; 361 end ); 362 20 : ( vlm_media_event : record 363 psz_media_name : ^cchar; 364 psz_instance_name : ^cchar; 365 end ); 366 21 : ( media_player_media_changed : record 367 new_media : ^libvlc_media_t; 368 end ); 369 end; 370 371 PPlibvlc_media_track_info_t = ^Plibvlc_media_track_info_t; 372 cbtype1 = procedure (_para1:pointer); cdecl; 373 374Var 375 libvlc_media_player_new : function(p_libvlc_instance:Plibvlc_instance_t):plibvlc_media_player_t; cdecl; 376 libvlc_media_player_new_from_media : function(p_md:Plibvlc_media_t):plibvlc_media_player_t; cdecl; 377 libvlc_media_player_release : procedure(p_mi:Plibvlc_media_player_t); cdecl; 378 libvlc_media_player_retain : procedure(p_mi:Plibvlc_media_player_t); cdecl; 379 libvlc_media_player_set_media : procedure(p_mi:Plibvlc_media_player_t; p_md:Plibvlc_media_t); cdecl; 380 libvlc_media_player_get_media : function(p_mi:Plibvlc_media_player_t):plibvlc_media_t; cdecl; 381 libvlc_media_player_event_manager : function(p_mi:Plibvlc_media_player_t):plibvlc_event_manager_t; cdecl; 382 libvlc_media_player_is_playing : function(p_mi:Plibvlc_media_player_t):cint; cdecl; 383 libvlc_media_player_play : function(p_mi:Plibvlc_media_player_t):cint; cdecl; 384 libvlc_media_player_set_pause : procedure(mp:Plibvlc_media_player_t; do_pause:cint); cdecl; 385 libvlc_media_player_pause : procedure(p_mi:Plibvlc_media_player_t); cdecl; 386 libvlc_media_player_stop : procedure(p_mi:Plibvlc_media_player_t); cdecl; 387 libvlc_media_new_location : function(p_instance:Plibvlc_instance_t; psz_mrl:pcchar):plibvlc_media_t; cdecl; 388 libvlc_media_new_path : function(p_instance:Plibvlc_instance_t; path:pcchar):plibvlc_media_t; cdecl; 389 libvlc_media_new_fd : function(p_instance:Plibvlc_instance_t; fd:cint):plibvlc_media_t; cdecl; 390 libvlc_media_new_as_node : function(p_instance:Plibvlc_instance_t; psz_name:pcchar):plibvlc_media_t; cdecl; 391 libvlc_media_add_option : procedure(p_md:Plibvlc_media_t; ppsz_options:pcchar); cdecl; 392 libvlc_media_add_option_flag : procedure(p_md:Plibvlc_media_t; ppsz_options:pcchar; i_flags:cunsigned); cdecl; 393 libvlc_media_retain : procedure(p_md:Plibvlc_media_t); cdecl; 394 libvlc_media_release : procedure(p_md:Plibvlc_media_t); cdecl; 395 libvlc_media_get_mrl : function(p_md:Plibvlc_media_t):pcchar; cdecl; 396 libvlc_media_duplicate : function(p_md:Plibvlc_media_t):plibvlc_media_t; cdecl; 397 libvlc_media_get_meta : function(p_md:Plibvlc_media_t; e_meta:libvlc_meta_t):pcchar; cdecl; 398 libvlc_media_set_meta : procedure(p_md:Plibvlc_media_t; e_meta:libvlc_meta_t; psz_value:pcchar); cdecl; 399 libvlc_media_save_meta : function(p_md:Plibvlc_media_t):cint; cdecl; 400 libvlc_media_get_state : function(p_md:Plibvlc_media_t):libvlc_state_t; cdecl; 401 libvlc_media_get_stats : function(p_md:Plibvlc_media_t; p_stats:Plibvlc_media_stats_t):cint; cdecl; 402 libvlc_media_subitems : function(p_md:Plibvlc_media_t):plibvlc_media_list_t; cdecl; 403 libvlc_media_event_manager : function(p_md:Plibvlc_media_t):plibvlc_event_manager_t; cdecl; 404 libvlc_media_get_duration : function(p_md:Plibvlc_media_t):libvlc_time_t; cdecl; 405 libvlc_media_parse : procedure(p_md:Plibvlc_media_t); cdecl; 406 libvlc_media_parse_async : procedure(p_md:Plibvlc_media_t); cdecl; 407 libvlc_media_is_parsed : function(p_md:Plibvlc_media_t):cint; cdecl; 408 libvlc_media_set_user_data : procedure(p_md:Plibvlc_media_t; p_new_user_data:pointer); cdecl; 409 libvlc_media_get_user_data : function(p_md:Plibvlc_media_t):pointer; cdecl; 410 libvlc_media_get_tracks_info : function(p_md:Plibvlc_media_t; tracks:PPlibvlc_media_track_info_t):cint; cdecl; 411 libvlc_module_description_list_release : procedure(p_list:Plibvlc_module_description_t); cdecl; 412 libvlc_audio_filter_list_get : function(p_instance:Plibvlc_instance_t):plibvlc_module_description_t; cdecl; 413 libvlc_video_filter_list_get : function(p_instance:Plibvlc_instance_t):plibvlc_module_description_t; cdecl; 414 libvlc_clock : function:int64_t; cdecl; 415 416 libvlc_errmsg : function:pcchar; cdecl; 417 libvlc_clearerr : procedure; cdecl; 418 libvlc_printerr : function(fmt:pcchar):pcchar;varargs; cdecl; 419 420 libvlc_new : function(argc:cint; argv:Ppcchar):plibvlc_instance_t; cdecl; 421 libvlc_release : procedure(p_instance:Plibvlc_instance_t); cdecl; 422 libvlc_retain : procedure(p_instance:Plibvlc_instance_t); cdecl; 423 libvlc_add_intf : function(p_instance:Plibvlc_instance_t; name:pcchar):cint; cdecl; 424 libvlc_set_exit_handler : procedure(p_instance:Plibvlc_instance_t; cb:cbtype1; opaque:pointer); cdecl; 425 libvlc_wait : procedure(p_instance:Plibvlc_instance_t); cdecl; 426 libvlc_set_user_agent : procedure(p_instance:Plibvlc_instance_t; name:pcchar; http:pcchar); cdecl; 427 libvlc_get_version : function:pcchar; cdecl; 428 libvlc_get_compiler : function:pcchar; cdecl; 429 libvlc_get_changeset : function:pcchar; cdecl; 430 libvlc_free : procedure(ptr:pointer); cdecl; 431 libvlc_event_attach : function(p_event_manager:Plibvlc_event_manager_t; i_event_type:libvlc_event_type_t; f_callback:libvlc_callback_t; user_data:pointer):cint; cdecl; 432 libvlc_event_detach : procedure(p_event_manager:Plibvlc_event_manager_t; i_event_type:libvlc_event_type_t; f_callback:libvlc_callback_t; p_user_data:pointer); cdecl; 433 libvlc_event_type_name : function(event_type:libvlc_event_type_t):pcchar; cdecl; 434 libvlc_get_log_verbosity : function(p_instance:Plibvlc_instance_t):cunsigned; cdecl; 435 libvlc_set_log_verbosity : procedure(p_instance:Plibvlc_instance_t; level:cunsigned); cdecl; 436 libvlc_log_open : function(p_instance:Plibvlc_instance_t):plibvlc_log_t; cdecl; 437 libvlc_log_close : procedure(p_log:Plibvlc_log_t); cdecl; 438 libvlc_log_count : function(p_log:Plibvlc_log_t):cunsigned; cdecl; 439 libvlc_log_clear : procedure(p_log:Plibvlc_log_t); cdecl; 440 libvlc_log_get_iterator : function(p_log:Plibvlc_log_t):plibvlc_log_iterator_t; cdecl; 441 libvlc_log_iterator_free : procedure(p_iter:Plibvlc_log_iterator_t); cdecl; 442 libvlc_log_iterator_has_next : function(p_iter:Plibvlc_log_iterator_t):cint; cdecl; 443 libvlc_log_iterator_next : function(p_iter:Plibvlc_log_iterator_t; p_buffer:Plibvlc_log_message_t):plibvlc_log_message_t; cdecl; 444 libvlc_audio_output_list_get : function(p_instance:Plibvlc_instance_t):plibvlc_audio_output_t; cdecl; 445 libvlc_audio_output_list_release : procedure(p_list:Plibvlc_audio_output_t); cdecl; 446 libvlc_audio_output_set : function(p_mi:Plibvlc_media_player_t; psz_name:pcchar):cint; cdecl; 447 libvlc_audio_output_device_count : function(p_instance:Plibvlc_instance_t; psz_audio_output:pcchar):cint; cdecl; 448 libvlc_audio_output_device_longname : function(p_instance:Plibvlc_instance_t; psz_audio_output:pcchar; i_device:cint):pcchar; cdecl; 449 libvlc_audio_output_device_id : function(p_instance:Plibvlc_instance_t; psz_audio_output:pcchar; i_device:cint):pcchar; cdecl; 450 libvlc_audio_output_device_set : procedure(p_mi:Plibvlc_media_player_t; psz_audio_output:pcchar; psz_device_id:pcchar); cdecl; 451 libvlc_audio_output_get_device_type : function(p_mi:Plibvlc_media_player_t):cint; cdecl; 452 libvlc_audio_output_set_device_type : procedure(p_mi:Plibvlc_media_player_t; device_type:cint); cdecl; 453 libvlc_audio_toggle_mute : procedure(p_mi:Plibvlc_media_player_t); cdecl; 454 libvlc_audio_get_mute : function(p_mi:Plibvlc_media_player_t):cint; cdecl; 455 libvlc_audio_set_mute : procedure(p_mi:Plibvlc_media_player_t; status:cint); cdecl; 456 libvlc_audio_get_volume : function(p_mi:Plibvlc_media_player_t):cint; cdecl; 457 libvlc_audio_set_volume : function(p_mi:Plibvlc_media_player_t; i_volume:cint):cint; cdecl; 458 libvlc_audio_get_track_count : function(p_mi:Plibvlc_media_player_t):cint; cdecl; 459 libvlc_audio_get_track_description : function(p_mi:Plibvlc_media_player_t):plibvlc_track_description_t; cdecl; 460 libvlc_audio_get_track : function(p_mi:Plibvlc_media_player_t):cint; cdecl; 461 libvlc_audio_set_track : function(p_mi:Plibvlc_media_player_t; i_track:cint):cint; cdecl; 462 libvlc_audio_get_channel : function(p_mi:Plibvlc_media_player_t):cint; cdecl; 463 libvlc_audio_set_channel : function(p_mi:Plibvlc_media_player_t; channel:cint):cint; cdecl; 464 libvlc_audio_get_delay : function(p_mi:Plibvlc_media_player_t):int64_t; cdecl; 465 libvlc_audio_set_delay : function(p_mi:Plibvlc_media_player_t; i_delay:int64_t):cint; cdecl; 466 libvlc_media_list_new : function(p_instance:Plibvlc_instance_t):plibvlc_media_list_t; cdecl; 467 libvlc_media_list_release : procedure(p_ml:Plibvlc_media_list_t); cdecl; 468 libvlc_media_list_retain : procedure(p_ml:Plibvlc_media_list_t); cdecl; 469 470 libvlc_media_list_add_file_content : function(p_ml:Plibvlc_media_list_t; psz_uri:pcchar):cint; cdecl; 471 libvlc_media_list_set_media : procedure(p_ml:Plibvlc_media_list_t; p_md:Plibvlc_media_t); cdecl; 472 libvlc_media_list_media : function(p_ml:Plibvlc_media_list_t):plibvlc_media_t; cdecl; 473 libvlc_media_list_add_media : function(p_ml:Plibvlc_media_list_t; p_md:Plibvlc_media_t):cint; cdecl; 474 libvlc_media_list_insert_media : function(p_ml:Plibvlc_media_list_t; p_md:Plibvlc_media_t; i_pos:cint):cint; cdecl; 475 libvlc_media_list_remove_index : function(p_ml:Plibvlc_media_list_t; i_pos:cint):cint; cdecl; 476 libvlc_media_list_count : function(p_ml:Plibvlc_media_list_t):cint; cdecl; 477 libvlc_media_list_item_at_index : function(p_ml:Plibvlc_media_list_t; i_pos:cint):plibvlc_media_t; cdecl; 478 libvlc_media_list_index_of_item : function(p_ml:Plibvlc_media_list_t; p_md:Plibvlc_media_t):cint; cdecl; 479 libvlc_media_list_is_readonly : function(p_ml:Plibvlc_media_list_t):cint; cdecl; 480 libvlc_media_list_lock : procedure(p_ml:Plibvlc_media_list_t); cdecl; 481 libvlc_media_list_unlock : procedure(p_ml:Plibvlc_media_list_t); cdecl; 482 libvlc_media_list_event_manager : function(p_ml:Plibvlc_media_list_t):plibvlc_event_manager_t; cdecl; 483 libvlc_media_list_player_new : function(p_instance:Plibvlc_instance_t):plibvlc_media_list_player_t; cdecl; 484 libvlc_media_list_player_release : procedure(p_mlp:Plibvlc_media_list_player_t); cdecl; 485 libvlc_media_list_player_retain : procedure(p_mlp:Plibvlc_media_list_player_t); cdecl; 486 libvlc_media_list_player_event_manager : function(p_mlp:Plibvlc_media_list_player_t):plibvlc_event_manager_t; cdecl; 487 libvlc_media_list_player_set_media_player : procedure(p_mlp:Plibvlc_media_list_player_t; p_mi:Plibvlc_media_player_t); cdecl; 488 libvlc_media_list_player_set_media_list : procedure(p_mlp:Plibvlc_media_list_player_t; p_mlist:Plibvlc_media_list_t); cdecl; 489 libvlc_media_list_player_play : procedure(p_mlp:Plibvlc_media_list_player_t); cdecl; 490 libvlc_media_list_player_pause : procedure(p_mlp:Plibvlc_media_list_player_t); cdecl; 491 libvlc_media_list_player_is_playing : function(p_mlp:Plibvlc_media_list_player_t):cint; cdecl; 492 libvlc_media_list_player_get_state : function(p_mlp:Plibvlc_media_list_player_t):libvlc_state_t; cdecl; 493 libvlc_media_list_player_play_item_at_index : function(p_mlp:Plibvlc_media_list_player_t; i_index:cint):cint; cdecl; 494 libvlc_media_list_player_play_item : function(p_mlp:Plibvlc_media_list_player_t; p_md:Plibvlc_media_t):cint; cdecl; 495 libvlc_media_list_player_stop : procedure(p_mlp:Plibvlc_media_list_player_t); cdecl; 496 libvlc_media_list_player_next : function(p_mlp:Plibvlc_media_list_player_t):cint; cdecl; 497 libvlc_media_list_player_previous : function(p_mlp:Plibvlc_media_list_player_t):cint; cdecl; 498 libvlc_media_list_player_set_playback_mode : procedure(p_mlp:Plibvlc_media_list_player_t; e_mode:libvlc_playback_mode_t); cdecl; 499 libvlc_media_library_new : function(p_instance:Plibvlc_instance_t):plibvlc_media_library_t; cdecl; 500 libvlc_media_library_release : procedure(p_mlib:Plibvlc_media_library_t); cdecl; 501 libvlc_media_library_retain : procedure(p_mlib:Plibvlc_media_library_t); cdecl; 502 libvlc_media_library_load : function(p_mlib:Plibvlc_media_library_t):cint; cdecl; 503 libvlc_media_library_media_list : function(p_mlib:Plibvlc_media_library_t):plibvlc_media_list_t; cdecl; 504 libvlc_video_get_adjust_int : function(p_mi:Plibvlc_media_player_t; option:cunsigned):cint; cdecl; 505 libvlc_video_set_adjust_int : procedure(p_mi:Plibvlc_media_player_t; option:cunsigned; value:cint); cdecl; 506 libvlc_video_get_adjust_float : function(p_mi:Plibvlc_media_player_t; option:cunsigned):cfloat; cdecl; 507 libvlc_video_set_adjust_float : procedure(p_mi:Plibvlc_media_player_t; option:cunsigned; value:cfloat); cdecl; 508 libvlc_video_get_logo_int : function(p_mi:Plibvlc_media_player_t; option:cunsigned):cint; cdecl; 509 libvlc_video_set_logo_int : procedure(p_mi:Plibvlc_media_player_t; option:cunsigned; value:cint); cdecl; 510 libvlc_video_set_logo_string : procedure(p_mi:Plibvlc_media_player_t; option:cunsigned; psz_value:pcchar); cdecl; 511 libvlc_audio_set_format_callbacks : procedure(mp:Plibvlc_media_player_t; setup:libvlc_audio_setup_cb; cleanup:libvlc_audio_cleanup_cb); cdecl; 512 libvlc_audio_set_format : procedure(mp:Plibvlc_media_player_t; format:pcchar; rate:cunsigned; channels:cunsigned); cdecl; 513 libvlc_media_player_get_length : function(p_mi:Plibvlc_media_player_t):libvlc_time_t; cdecl; 514 libvlc_media_player_get_time : function(p_mi:Plibvlc_media_player_t):libvlc_time_t; cdecl; 515 libvlc_media_player_set_time : procedure(p_mi:Plibvlc_media_player_t; i_time:libvlc_time_t); cdecl; 516 libvlc_media_player_get_position : function(p_mi:Plibvlc_media_player_t):cfloat; cdecl; 517 libvlc_media_player_set_position : procedure(p_mi:Plibvlc_media_player_t; f_pos:cfloat); cdecl; 518 libvlc_media_player_set_chapter : procedure(p_mi:Plibvlc_media_player_t; i_chapter:cint); cdecl; 519 libvlc_media_player_get_chapter : function(p_mi:Plibvlc_media_player_t):cint; cdecl; 520 libvlc_media_player_get_chapter_count : function(p_mi:Plibvlc_media_player_t):cint; cdecl; 521 libvlc_media_player_will_play : function(p_mi:Plibvlc_media_player_t):cint; cdecl; 522 libvlc_media_player_get_chapter_count_for_title : function(p_mi:Plibvlc_media_player_t; i_title:cint):cint; cdecl; 523 libvlc_media_player_set_title : procedure(p_mi:Plibvlc_media_player_t; i_title:cint); cdecl; 524 libvlc_media_player_get_title : function(p_mi:Plibvlc_media_player_t):cint; cdecl; 525 libvlc_media_player_get_title_count : function(p_mi:Plibvlc_media_player_t):cint; cdecl; 526 libvlc_media_player_previous_chapter : procedure(p_mi:Plibvlc_media_player_t); cdecl; 527 libvlc_media_player_next_chapter : procedure(p_mi:Plibvlc_media_player_t); cdecl; 528 libvlc_media_player_get_rate : function(p_mi:Plibvlc_media_player_t):cfloat; cdecl; 529 libvlc_media_player_set_rate : function(p_mi:Plibvlc_media_player_t; rate:cfloat):cint; cdecl; 530 libvlc_media_player_get_state : function(p_mi:Plibvlc_media_player_t):libvlc_state_t; cdecl; 531 libvlc_media_player_get_fps : function(p_mi:Plibvlc_media_player_t):cfloat; cdecl; 532 libvlc_media_player_has_vout : function(p_mi:Plibvlc_media_player_t):cunsigned; cdecl; 533 libvlc_media_player_is_seekable : function(p_mi:Plibvlc_media_player_t):cint; cdecl; 534 libvlc_media_player_can_pause : function(p_mi:Plibvlc_media_player_t):cint; cdecl; 535 libvlc_media_player_next_frame : procedure(p_mi:Plibvlc_media_player_t); cdecl; 536 libvlc_media_player_navigate : procedure(p_mi:Plibvlc_media_player_t; navigate:cunsigned); cdecl; 537 libvlc_track_description_list_release : procedure(p_track_description:Plibvlc_track_description_t); cdecl; 538 libvlc_track_description_release : procedure(p_track_description:Plibvlc_track_description_t); cdecl; 539 libvlc_toggle_fullscreen : procedure(p_mi:Plibvlc_media_player_t); cdecl; 540 libvlc_set_fullscreen : procedure(p_mi:Plibvlc_media_player_t; b_fullscreen:cint); cdecl; 541 libvlc_get_fullscreen : function(p_mi:Plibvlc_media_player_t):cint; cdecl; 542 libvlc_video_set_key_input : procedure(p_mi:Plibvlc_media_player_t; on:cunsigned); cdecl; 543 libvlc_video_set_mouse_input : procedure(p_mi:Plibvlc_media_player_t; on:cunsigned); cdecl; 544 libvlc_video_get_size : function(p_mi:Plibvlc_media_player_t; num:cunsigned; px:pcunsigned; py:pcunsigned):cint; cdecl; 545 libvlc_video_get_height : function(p_mi:Plibvlc_media_player_t):cint; cdecl; 546 libvlc_video_get_width : function(p_mi:Plibvlc_media_player_t):cint; cdecl; 547 libvlc_video_get_cursor : function(p_mi:Plibvlc_media_player_t; num:cunsigned; px:pcint; py:pcint):cint; cdecl; 548 libvlc_video_get_scale : function(p_mi:Plibvlc_media_player_t):cfloat; cdecl; 549 libvlc_video_set_scale : procedure(p_mi:Plibvlc_media_player_t; f_factor:cfloat); cdecl; 550 libvlc_video_get_aspect_ratio : function(p_mi:Plibvlc_media_player_t):pcchar; cdecl; 551 libvlc_video_set_aspect_ratio : procedure(p_mi:Plibvlc_media_player_t; psz_aspect:pcchar); cdecl; 552 libvlc_video_get_spu : function(p_mi:Plibvlc_media_player_t):cint; cdecl; 553 libvlc_video_get_spu_count : function(p_mi:Plibvlc_media_player_t):cint; cdecl; 554 libvlc_video_get_spu_description : function(p_mi:Plibvlc_media_player_t):plibvlc_track_description_t; cdecl; 555 libvlc_video_set_spu : function(p_mi:Plibvlc_media_player_t; i_spu:cunsigned):cint; cdecl; 556 libvlc_video_set_subtitle_file : function(p_mi:Plibvlc_media_player_t; psz_subtitle:pcchar):cint; cdecl; 557 libvlc_video_get_spu_delay : function(p_mi:Plibvlc_media_player_t):int64_t; cdecl; 558 libvlc_video_set_spu_delay : function(p_mi:Plibvlc_media_player_t; i_delay:int64_t):cint; cdecl; 559 libvlc_video_get_title_description : function(p_mi:Plibvlc_media_player_t):plibvlc_track_description_t; cdecl; 560 libvlc_video_get_chapter_description : function(p_mi:Plibvlc_media_player_t; i_title:cint):plibvlc_track_description_t; cdecl; 561 libvlc_video_get_crop_geometry : function(p_mi:Plibvlc_media_player_t):pcchar; cdecl; 562 libvlc_video_set_crop_geometry : procedure(p_mi:Plibvlc_media_player_t; psz_geometry:pcchar); cdecl; 563 libvlc_video_get_teletext : function(p_mi:Plibvlc_media_player_t):cint; cdecl; 564 libvlc_video_set_teletext : procedure(p_mi:Plibvlc_media_player_t; i_page:cint); cdecl; 565 libvlc_toggle_teletext : procedure(p_mi:Plibvlc_media_player_t); cdecl; 566 libvlc_video_get_track_count : function(p_mi:Plibvlc_media_player_t):cint; cdecl; 567 libvlc_video_get_track_description : function(p_mi:Plibvlc_media_player_t):plibvlc_track_description_t; cdecl; 568 libvlc_video_get_track : function(p_mi:Plibvlc_media_player_t):cint; cdecl; 569 libvlc_video_set_track : function(p_mi:Plibvlc_media_player_t; i_track:cint):cint; cdecl; 570 libvlc_video_take_snapshot : function(p_mi:Plibvlc_media_player_t; num:cunsigned; psz_filepath:pcchar; i_width:cuint; i_height:cuint):cint; cdecl; 571 libvlc_video_set_deinterlace : procedure(p_mi:Plibvlc_media_player_t; psz_mode:pcchar); cdecl; 572 libvlc_video_get_marquee_int : function(p_mi:Plibvlc_media_player_t; option:cunsigned):cint; cdecl; 573 libvlc_video_get_marquee_string : function(p_mi:Plibvlc_media_player_t; option:cunsigned):pcchar; cdecl; 574 libvlc_video_set_marquee_int : procedure(p_mi:Plibvlc_media_player_t; option:cunsigned; i_val:cint); cdecl; 575 libvlc_video_set_marquee_string : procedure(p_mi:Plibvlc_media_player_t; option:cunsigned; psz_text:pcchar); cdecl; 576 libvlc_audio_set_callbacks : procedure(mp:Plibvlc_media_player_t; play:libvlc_audio_play_cb; pause:libvlc_audio_pause_cb; resume:libvlc_audio_resume_cb; flush:libvlc_audio_flush_cb; 577 drain:libvlc_audio_drain_cb; opaque:pointer); cdecl; 578 libvlc_audio_set_volume_callback : procedure(mp:Plibvlc_media_player_t; set_volume:libvlc_audio_set_volume_cb); cdecl; 579 libvlc_video_set_callbacks : procedure(mp:Plibvlc_media_player_t; lock:libvlc_video_lock_cb; unlock:libvlc_video_unlock_cb; display:libvlc_video_display_cb; opaque:pointer); cdecl; 580 libvlc_video_set_format : procedure(mp:Plibvlc_media_player_t; chroma:pcchar; width:cunsigned; height:cunsigned; pitch:cunsigned); cdecl; 581 libvlc_video_set_format_callbacks : procedure(mp:Plibvlc_media_player_t; setup:libvlc_video_format_cb; cleanup:libvlc_video_cleanup_cb); cdecl; 582 libvlc_media_player_set_nsobject : procedure(p_mi:Plibvlc_media_player_t; drawable:pointer); cdecl; 583 libvlc_media_player_get_nsobject : function(p_mi:Plibvlc_media_player_t):pointer; cdecl; 584 libvlc_media_player_set_agl : procedure(p_mi:Plibvlc_media_player_t; drawable:uint32_t); cdecl; 585 libvlc_media_player_get_agl : function(p_mi:Plibvlc_media_player_t):uint32_t; cdecl; 586 libvlc_media_player_set_xwindow : procedure(p_mi:Plibvlc_media_player_t; drawable:uint32_t); cdecl; 587 libvlc_media_player_get_xwindow : function(p_mi:Plibvlc_media_player_t):uint32_t; cdecl; 588 libvlc_media_player_set_hwnd : procedure(p_mi:Plibvlc_media_player_t; drawable:pointer); cdecl; 589 libvlc_media_player_get_hwnd : function(p_mi:Plibvlc_media_player_t):pointer; cdecl; 590 libvlc_media_discoverer_new_from_name : function(p_inst:Plibvlc_instance_t; psz_name:pcchar):plibvlc_media_discoverer_t; cdecl; 591 libvlc_media_discoverer_release : procedure(p_mdis:Plibvlc_media_discoverer_t); cdecl; 592 libvlc_media_discoverer_localized_name : function(p_mdis:Plibvlc_media_discoverer_t):pcchar; cdecl; 593 libvlc_media_discoverer_media_list : function(p_mdis:Plibvlc_media_discoverer_t):plibvlc_media_list_t; cdecl; 594 libvlc_media_discoverer_event_manager : function(p_mdis:Plibvlc_media_discoverer_t):plibvlc_event_manager_t; cdecl; 595 libvlc_media_discoverer_is_running : function(p_mdis:Plibvlc_media_discoverer_t):cint; cdecl; 596 libvlc_vlm_release : procedure(p_instance:Plibvlc_instance_t); cdecl; 597 libvlc_vlm_add_broadcast : function(p_instance:Plibvlc_instance_t; psz_name:pcchar; psz_input:pcchar; psz_output:pcchar; i_options:cint; 598 ppsz_options:Ppcchar; b_enabled:cint; b_loop:cint):cint; cdecl; 599 libvlc_vlm_add_vod : function(p_instance:Plibvlc_instance_t; psz_name:pcchar; psz_input:pcchar; i_options:cint; ppsz_options:Ppcchar; 600 b_enabled:cint; psz_mux:pcchar):cint; cdecl; 601 libvlc_vlm_del_media : function(p_instance:Plibvlc_instance_t; psz_name:pcchar):cint; cdecl; 602 libvlc_vlm_set_enabled : function(p_instance:Plibvlc_instance_t; psz_name:pcchar; b_enabled:cint):cint; cdecl; 603 libvlc_vlm_set_output : function(p_instance:Plibvlc_instance_t; psz_name:pcchar; psz_output:pcchar):cint; cdecl; 604 libvlc_vlm_set_input : function(p_instance:Plibvlc_instance_t; psz_name:pcchar; psz_input:pcchar):cint; cdecl; 605 libvlc_vlm_add_input : function(p_instance:Plibvlc_instance_t; psz_name:pcchar; psz_input:pcchar):cint; cdecl; 606 libvlc_vlm_set_loop : function(p_instance:Plibvlc_instance_t; psz_name:pcchar; b_loop:cint):cint; cdecl; 607 libvlc_vlm_set_mux : function(p_instance:Plibvlc_instance_t; psz_name:pcchar; psz_mux:pcchar):cint; cdecl; 608 libvlc_vlm_change_media : function(p_instance:Plibvlc_instance_t; psz_name:pcchar; psz_input:pcchar; psz_output:pcchar; i_options:cint; 609 ppsz_options:Ppcchar; b_enabled:cint; b_loop:cint):cint; cdecl; 610 libvlc_vlm_play_media : function(p_instance:Plibvlc_instance_t; psz_name:pcchar):cint; cdecl; 611 libvlc_vlm_stop_media : function(p_instance:Plibvlc_instance_t; psz_name:pcchar):cint; cdecl; 612 libvlc_vlm_pause_media : function(p_instance:Plibvlc_instance_t; psz_name:pcchar):cint; cdecl; 613 libvlc_vlm_seek_media : function(p_instance:Plibvlc_instance_t; psz_name:pcchar; f_percentage:cfloat):cint; cdecl; 614 libvlc_vlm_show_media : function(p_instance:Plibvlc_instance_t; psz_name:pcchar):pcchar; cdecl; 615 libvlc_vlm_get_media_instance_position : function(p_instance:Plibvlc_instance_t; psz_name:pcchar; i_instance:cint):cfloat; cdecl; 616 libvlc_vlm_get_media_instance_time : function(p_instance:Plibvlc_instance_t; psz_name:pcchar; i_instance:cint):cint; cdecl; 617 libvlc_vlm_get_media_instance_length : function(p_instance:Plibvlc_instance_t; psz_name:pcchar; i_instance:cint):cint; cdecl; 618 libvlc_vlm_get_media_instance_rate : function(p_instance:Plibvlc_instance_t; psz_name:pcchar; i_instance:cint):cint; cdecl; 619 libvlc_vlm_get_event_manager : function(p_instance:Plibvlc_instance_t):plibvlc_event_manager_t; cdecl; 620 libvlc_playlist_play : procedure(p_instance:Plibvlc_instance_t; i_id:cint; i_options:cint; ppsz_options:Ppcchar); cdecl; 621 622Procedure Freelibvlc; 623Procedure Loadlibvlc(lib : AnsiString; CheckProcNames : Boolean = False); 624{$IFDEF WINDOWS} 625function GetVLCLibPath: String; 626{$ENDIF WINDOWS} 627 628implementation 629 630uses 631 SysUtils, 632 {$IFDEF WINDOWS} 633 windows, 634 {$ENDIF} 635 dynlibs; 636 637var 638 hlib : tlibhandle; 639 {$IFDEF WINDOWS} 640 hclib : tlibhandle; 641 {$ENDIF} 642 LibRefCount : Integer; 643 644procedure Freelibvlc; 645 646begin 647 if (LibRefCount>0) then 648 Dec(LibRefCount); 649 if LibRefCount>0 then 650 exit; 651 FreeLibrary(hlib); 652 hlib:=NilHandle; 653{$IFDEF WINDOWS} 654 FreeLibrary(hclib); 655 hclib:=NilHandle; 656{$ENDIF} 657 libvlc_errmsg:=nil; 658 libvlc_clearerr:=nil; 659 libvlc_printerr:=nil; 660 libvlc_new:=nil; 661 libvlc_release:=nil; 662 libvlc_retain:=nil; 663 libvlc_add_intf:=nil; 664 libvlc_set_exit_handler:=nil; 665 libvlc_wait:=nil; 666 libvlc_set_user_agent:=nil; 667 libvlc_get_version:=nil; 668 libvlc_get_compiler:=nil; 669 libvlc_get_changeset:=nil; 670 libvlc_free:=nil; 671 libvlc_event_attach:=nil; 672 libvlc_event_detach:=nil; 673 libvlc_event_type_name:=nil; 674 libvlc_get_log_verbosity:=nil; 675 libvlc_set_log_verbosity:=nil; 676 libvlc_log_open:=nil; 677 libvlc_log_close:=nil; 678 libvlc_log_count:=nil; 679 libvlc_log_clear:=nil; 680 libvlc_log_get_iterator:=nil; 681 libvlc_log_iterator_free:=nil; 682 libvlc_log_iterator_has_next:=nil; 683 libvlc_log_iterator_next:=nil; 684 libvlc_module_description_list_release:=nil; 685 libvlc_audio_filter_list_get:=nil; 686 libvlc_video_filter_list_get:=nil; 687 libvlc_clock:=nil; 688 libvlc_media_new_location:=nil; 689 libvlc_media_new_path:=nil; 690 libvlc_media_new_fd:=nil; 691 libvlc_media_new_as_node:=nil; 692 libvlc_media_add_option:=nil; 693 libvlc_media_add_option_flag:=nil; 694 libvlc_media_retain:=nil; 695 libvlc_media_release:=nil; 696 libvlc_media_get_mrl:=nil; 697 libvlc_media_duplicate:=nil; 698 libvlc_media_get_meta:=nil; 699 libvlc_media_set_meta:=nil; 700 libvlc_media_save_meta:=nil; 701 libvlc_media_get_state:=nil; 702 libvlc_media_get_stats:=nil; 703 libvlc_media_subitems:=nil; 704 libvlc_media_event_manager:=nil; 705 libvlc_media_get_duration:=nil; 706 libvlc_media_parse:=nil; 707 libvlc_media_parse_async:=nil; 708 libvlc_media_is_parsed:=nil; 709 libvlc_media_set_user_data:=nil; 710 libvlc_media_get_user_data:=nil; 711 libvlc_media_get_tracks_info:=nil; 712 libvlc_media_player_new:=nil; 713 libvlc_media_player_new_from_media:=nil; 714 libvlc_media_player_release:=nil; 715 libvlc_media_player_retain:=nil; 716 libvlc_media_player_set_media:=nil; 717 libvlc_media_player_get_media:=nil; 718 libvlc_media_player_event_manager:=nil; 719 libvlc_media_player_is_playing:=nil; 720 libvlc_media_player_play:=nil; 721 libvlc_media_player_set_pause:=nil; 722 libvlc_media_player_pause:=nil; 723 libvlc_media_player_stop:=nil; 724 libvlc_video_set_callbacks:=nil; 725 libvlc_video_set_format:=nil; 726 libvlc_video_set_format_callbacks:=nil; 727 libvlc_media_player_set_nsobject:=nil; 728 libvlc_media_player_get_nsobject:=nil; 729 libvlc_media_player_set_agl:=nil; 730 libvlc_media_player_get_agl:=nil; 731 libvlc_media_player_set_xwindow:=nil; 732 libvlc_media_player_get_xwindow:=nil; 733 libvlc_media_player_set_hwnd:=nil; 734 libvlc_media_player_get_hwnd:=nil; 735 libvlc_audio_set_callbacks:=nil; 736 libvlc_audio_set_volume_callback:=nil; 737 libvlc_audio_set_format_callbacks:=nil; 738 libvlc_audio_set_format:=nil; 739 libvlc_media_player_get_length:=nil; 740 libvlc_media_player_get_time:=nil; 741 libvlc_media_player_set_time:=nil; 742 libvlc_media_player_get_position:=nil; 743 libvlc_media_player_set_position:=nil; 744 libvlc_media_player_set_chapter:=nil; 745 libvlc_media_player_get_chapter:=nil; 746 libvlc_media_player_get_chapter_count:=nil; 747 libvlc_media_player_will_play:=nil; 748 libvlc_media_player_get_chapter_count_for_title:=nil; 749 libvlc_media_player_set_title:=nil; 750 libvlc_media_player_get_title:=nil; 751 libvlc_media_player_get_title_count:=nil; 752 libvlc_media_player_previous_chapter:=nil; 753 libvlc_media_player_next_chapter:=nil; 754 libvlc_media_player_get_rate:=nil; 755 libvlc_media_player_set_rate:=nil; 756 libvlc_media_player_get_state:=nil; 757 libvlc_media_player_get_fps:=nil; 758 libvlc_media_player_has_vout:=nil; 759 libvlc_media_player_is_seekable:=nil; 760 libvlc_media_player_can_pause:=nil; 761 libvlc_media_player_next_frame:=nil; 762 libvlc_media_player_navigate:=nil; 763 libvlc_track_description_list_release:=nil; 764 libvlc_track_description_release:=nil; 765 libvlc_toggle_fullscreen:=nil; 766 libvlc_set_fullscreen:=nil; 767 libvlc_get_fullscreen:=nil; 768 libvlc_video_set_key_input:=nil; 769 libvlc_video_set_mouse_input:=nil; 770 libvlc_video_get_size:=nil; 771 libvlc_video_get_height:=nil; 772 libvlc_video_get_width:=nil; 773 libvlc_video_get_cursor:=nil; 774 libvlc_video_get_scale:=nil; 775 libvlc_video_set_scale:=nil; 776 libvlc_video_get_aspect_ratio:=nil; 777 libvlc_video_set_aspect_ratio:=nil; 778 libvlc_video_get_spu:=nil; 779 libvlc_video_get_spu_count:=nil; 780 libvlc_video_get_spu_description:=nil; 781 libvlc_video_set_spu:=nil; 782 libvlc_video_set_subtitle_file:=nil; 783 libvlc_video_get_spu_delay:=nil; 784 libvlc_video_set_spu_delay:=nil; 785 libvlc_video_get_title_description:=nil; 786 libvlc_video_get_chapter_description:=nil; 787 libvlc_video_get_crop_geometry:=nil; 788 libvlc_video_set_crop_geometry:=nil; 789 libvlc_video_get_teletext:=nil; 790 libvlc_video_set_teletext:=nil; 791 libvlc_toggle_teletext:=nil; 792 libvlc_video_get_track_count:=nil; 793 libvlc_video_get_track_description:=nil; 794 libvlc_video_get_track:=nil; 795 libvlc_video_set_track:=nil; 796 libvlc_video_take_snapshot:=nil; 797 libvlc_video_set_deinterlace:=nil; 798 libvlc_video_get_marquee_int:=nil; 799 libvlc_video_get_marquee_string:=nil; 800 libvlc_video_set_marquee_int:=nil; 801 libvlc_video_set_marquee_string:=nil; 802 libvlc_video_get_logo_int:=nil; 803 libvlc_video_set_logo_int:=nil; 804 libvlc_video_set_logo_string:=nil; 805 libvlc_video_get_adjust_int:=nil; 806 libvlc_video_set_adjust_int:=nil; 807 libvlc_video_get_adjust_float:=nil; 808 libvlc_video_set_adjust_float:=nil; 809 libvlc_audio_output_list_get:=nil; 810 libvlc_audio_output_list_release:=nil; 811 libvlc_audio_output_set:=nil; 812 libvlc_audio_output_device_count:=nil; 813 libvlc_audio_output_device_longname:=nil; 814 libvlc_audio_output_device_id:=nil; 815 libvlc_audio_output_device_set:=nil; 816 libvlc_audio_output_get_device_type:=nil; 817 libvlc_audio_output_set_device_type:=nil; 818 libvlc_audio_toggle_mute:=nil; 819 libvlc_audio_get_mute:=nil; 820 libvlc_audio_set_mute:=nil; 821 libvlc_audio_get_volume:=nil; 822 libvlc_audio_set_volume:=nil; 823 libvlc_audio_get_track_count:=nil; 824 libvlc_audio_get_track_description:=nil; 825 libvlc_audio_get_track:=nil; 826 libvlc_audio_set_track:=nil; 827 libvlc_audio_get_channel:=nil; 828 libvlc_audio_set_channel:=nil; 829 libvlc_audio_get_delay:=nil; 830 libvlc_audio_set_delay:=nil; 831 libvlc_media_list_new:=nil; 832 libvlc_media_list_release:=nil; 833 libvlc_media_list_retain:=nil; 834 libvlc_media_list_add_file_content:=nil; 835 libvlc_media_list_set_media:=nil; 836 libvlc_media_list_media:=nil; 837 libvlc_media_list_add_media:=nil; 838 libvlc_media_list_insert_media:=nil; 839 libvlc_media_list_remove_index:=nil; 840 libvlc_media_list_count:=nil; 841 libvlc_media_list_item_at_index:=nil; 842 libvlc_media_list_index_of_item:=nil; 843 libvlc_media_list_is_readonly:=nil; 844 libvlc_media_list_lock:=nil; 845 libvlc_media_list_unlock:=nil; 846 libvlc_media_list_event_manager:=nil; 847 libvlc_media_list_player_new:=nil; 848 libvlc_media_list_player_release:=nil; 849 libvlc_media_list_player_retain:=nil; 850 libvlc_media_list_player_event_manager:=nil; 851 libvlc_media_list_player_set_media_player:=nil; 852 libvlc_media_list_player_set_media_list:=nil; 853 libvlc_media_list_player_play:=nil; 854 libvlc_media_list_player_pause:=nil; 855 libvlc_media_list_player_is_playing:=nil; 856 libvlc_media_list_player_get_state:=nil; 857 libvlc_media_list_player_play_item_at_index:=nil; 858 libvlc_media_list_player_play_item:=nil; 859 libvlc_media_list_player_stop:=nil; 860 libvlc_media_list_player_next:=nil; 861 libvlc_media_list_player_previous:=nil; 862 libvlc_media_list_player_set_playback_mode:=nil; 863 libvlc_media_library_new:=nil; 864 libvlc_media_library_release:=nil; 865 libvlc_media_library_retain:=nil; 866 libvlc_media_library_load:=nil; 867 libvlc_media_library_media_list:=nil; 868 libvlc_media_discoverer_new_from_name:=nil; 869 libvlc_media_discoverer_release:=nil; 870 libvlc_media_discoverer_localized_name:=nil; 871 libvlc_media_discoverer_media_list:=nil; 872 libvlc_media_discoverer_event_manager:=nil; 873 libvlc_media_discoverer_is_running:=nil; 874 libvlc_vlm_release:=nil; 875 libvlc_vlm_add_broadcast:=nil; 876 libvlc_vlm_add_vod:=nil; 877 libvlc_vlm_del_media:=nil; 878 libvlc_vlm_set_enabled:=nil; 879 libvlc_vlm_set_output:=nil; 880 libvlc_vlm_set_input:=nil; 881 libvlc_vlm_add_input:=nil; 882 libvlc_vlm_set_loop:=nil; 883 libvlc_vlm_set_mux:=nil; 884 libvlc_vlm_change_media:=nil; 885 libvlc_vlm_play_media:=nil; 886 libvlc_vlm_stop_media:=nil; 887 libvlc_vlm_pause_media:=nil; 888 libvlc_vlm_seek_media:=nil; 889 libvlc_vlm_show_media:=nil; 890 libvlc_vlm_get_media_instance_position:=nil; 891 libvlc_vlm_get_media_instance_time:=nil; 892 libvlc_vlm_get_media_instance_length:=nil; 893 libvlc_vlm_get_media_instance_rate:=nil; 894 libvlc_vlm_get_event_manager:=nil; 895 libvlc_playlist_play:=nil; 896end; 897 898{$IFDEF WINDOWS} 899function GetVLCLibPath: String; 900var 901 Handle: HKEY; 902 RegType: Integer; 903 DataSize: Cardinal; 904 Key: PWideChar; 905 res: WideString; 906begin 907 Result := ''; 908 try 909 Key := 'Software\VideoLAN\VLC'; 910 if RegOpenKeyExW(HKEY_LOCAL_MACHINE, Key, 0, KEY_READ, Handle) = ERROR_SUCCESS then 911 begin 912 if RegQueryValueExW(Handle, 'InstallDir', nil, @RegType, nil, @DataSize) = ERROR_SUCCESS then 913 begin 914 SetLength(res, DataSize div 2); 915 RegQueryValueExW(Handle, 'InstallDir', nil, @RegType, PByte(@res[1]), @DataSize); 916 res[DataSize div 2] := '\'; 917 end; 918 RegCloseKey(Handle); 919 Result := UTF8Encode(res); 920 end; 921 except 922 // Ignore errors. 923 end; 924end; 925{$ENDIF} 926 927Procedure Loadlibvlc(lib : AnsiString; CheckProcNames : Boolean = False); 928 929 Function GetProcAddress(h : TLibHandle; Name : AnsiString) : Pointer; 930 931 begin 932 Result:=dynlibs.GetProcAddress(h,Name); 933 If (Result=Nil) and CheckProcNames then 934 raise Exception.CreateFmt('Could not find procedure address: %s ',[Name]); 935 end; 936 937 Procedure EM(FN : String); 938 939 begin 940 {$ifndef VER2_6} 941 Raise Exception.CreateFmt('Could not load library "%s": %s',[FN,GetLoadErrorStr]); 942 {$else} 943 raise Exception.CreateFmt('Could not load library "%s"',[FN]); 944 {$endif} 945 end; 946 947 Function TryLoadLib(ALib : String) : TLibHandle; 948 // On Windows, the vlccore lib must be loaded first. 949 // If it is not in the PATH then this will fail when specifying an arbitrary path. 950 // So we load it explicitly from the same directory first 951 {$IFDEF WINDOWS} 952 Var 953 ADir : String; 954 {$endif} 955 956 begin 957 {$IFDEF WINDOWS} 958 Result:=NilHandle; 959 ADir:=ExtractFilePath(ALib); 960 if ADir<>'' then 961 ADir:=IncludeTrailingPathDelimiter(ADir); 962 hclib:=LoadLibrary(ADir+corelibname); 963 if (HCLib<>Nilhandle) then 964 {$ENDIF} 965 Result:=LoadLibrary(ALib); 966 end; 967 968 969{$IFDEF WINDOWS} 970Var 971 D : String; 972{$endif} 973 974begin 975 if (hLib<>NilHandle) then 976 begin 977 Inc(LibRefCount); 978 Exit; 979 end; 980 hlib:=TryLoadLib(lib); 981{$IFDEF WINDOWS} 982 // MVC: This automatism is highly questionable; The end user should in fact determine the library. 983 if (hlib=NilHandle) then 984 begin 985 D:=ExtractFilePath(lib); 986 // Try default name in same directiory. 987 hlib:=TryLoadLib(d+libname); 988 if (hLib=NilHandle) and (d='') then 989 begin 990 // No directory specified, try default name in installation directory. 991 if (DefaultlibPath='') then 992 DefaultLibPath:=GetVLCLibPath; 993 if (DefaultLibPath<>'') then 994 hLib:=TryLoadLib(IncludeTrailingPathDelimiter(DefaultlibPath)+libname); 995 end; 996 end; 997{$endif} 998 if (hLib=NilHandle) then 999 EM(Lib); 1000 Inc(LibRefCount); 1001 pointer(libvlc_errmsg):=GetProcAddress(hlib,'libvlc_errmsg'); 1002 pointer(libvlc_clearerr):=GetProcAddress(hlib,'libvlc_clearerr'); 1003 pointer(libvlc_printerr):=GetProcAddress(hlib,'libvlc_printerr'); 1004 pointer(libvlc_new):=GetProcAddress(hlib,'libvlc_new'); 1005 pointer(libvlc_release):=GetProcAddress(hlib,'libvlc_release'); 1006 pointer(libvlc_retain):=GetProcAddress(hlib,'libvlc_retain'); 1007 pointer(libvlc_add_intf):=GetProcAddress(hlib,'libvlc_add_intf'); 1008 pointer(libvlc_set_exit_handler):=GetProcAddress(hlib,'libvlc_set_exit_handler'); 1009 pointer(libvlc_wait):=GetProcAddress(hlib,'libvlc_wait'); 1010 pointer(libvlc_set_user_agent):=GetProcAddress(hlib,'libvlc_set_user_agent'); 1011 pointer(libvlc_get_version):=GetProcAddress(hlib,'libvlc_get_version'); 1012 pointer(libvlc_get_compiler):=GetProcAddress(hlib,'libvlc_get_compiler'); 1013 pointer(libvlc_get_changeset):=GetProcAddress(hlib,'libvlc_get_changeset'); 1014 pointer(libvlc_free):=GetProcAddress(hlib,'libvlc_free'); 1015 pointer(libvlc_event_attach):=GetProcAddress(hlib,'libvlc_event_attach'); 1016 pointer(libvlc_event_detach):=GetProcAddress(hlib,'libvlc_event_detach'); 1017 pointer(libvlc_event_type_name):=GetProcAddress(hlib,'libvlc_event_type_name'); 1018 pointer(libvlc_get_log_verbosity):=GetProcAddress(hlib,'libvlc_get_log_verbosity'); 1019 pointer(libvlc_set_log_verbosity):=GetProcAddress(hlib,'libvlc_set_log_verbosity'); 1020 pointer(libvlc_log_open):=GetProcAddress(hlib,'libvlc_log_open'); 1021 pointer(libvlc_log_close):=GetProcAddress(hlib,'libvlc_log_close'); 1022 pointer(libvlc_log_count):=GetProcAddress(hlib,'libvlc_log_count'); 1023 pointer(libvlc_log_clear):=GetProcAddress(hlib,'libvlc_log_clear'); 1024 pointer(libvlc_log_get_iterator):=GetProcAddress(hlib,'libvlc_log_get_iterator'); 1025 pointer(libvlc_log_iterator_free):=GetProcAddress(hlib,'libvlc_log_iterator_free'); 1026 pointer(libvlc_log_iterator_has_next):=GetProcAddress(hlib,'libvlc_log_iterator_has_next'); 1027 pointer(libvlc_log_iterator_next):=GetProcAddress(hlib,'libvlc_log_iterator_next'); 1028 pointer(libvlc_module_description_list_release):=GetProcAddress(hlib,'libvlc_module_description_list_release'); 1029 pointer(libvlc_audio_filter_list_get):=GetProcAddress(hlib,'libvlc_audio_filter_list_get'); 1030 pointer(libvlc_video_filter_list_get):=GetProcAddress(hlib,'libvlc_video_filter_list_get'); 1031 pointer(libvlc_clock):=GetProcAddress(hlib,'libvlc_clock'); 1032 pointer(libvlc_media_new_location):=GetProcAddress(hlib,'libvlc_media_new_location'); 1033 pointer(libvlc_media_new_path):=GetProcAddress(hlib,'libvlc_media_new_path'); 1034 pointer(libvlc_media_new_fd):=GetProcAddress(hlib,'libvlc_media_new_fd'); 1035 pointer(libvlc_media_new_as_node):=GetProcAddress(hlib,'libvlc_media_new_as_node'); 1036 pointer(libvlc_media_add_option):=GetProcAddress(hlib,'libvlc_media_add_option'); 1037 pointer(libvlc_media_add_option_flag):=GetProcAddress(hlib,'libvlc_media_add_option_flag'); 1038 pointer(libvlc_media_retain):=GetProcAddress(hlib,'libvlc_media_retain'); 1039 pointer(libvlc_media_release):=GetProcAddress(hlib,'libvlc_media_release'); 1040 pointer(libvlc_media_get_mrl):=GetProcAddress(hlib,'libvlc_media_get_mrl'); 1041 pointer(libvlc_media_duplicate):=GetProcAddress(hlib,'libvlc_media_duplicate'); 1042 pointer(libvlc_media_get_meta):=GetProcAddress(hlib,'libvlc_media_get_meta'); 1043 pointer(libvlc_media_set_meta):=GetProcAddress(hlib,'libvlc_media_set_meta'); 1044 pointer(libvlc_media_save_meta):=GetProcAddress(hlib,'libvlc_media_save_meta'); 1045 pointer(libvlc_media_get_state):=GetProcAddress(hlib,'libvlc_media_get_state'); 1046 pointer(libvlc_media_get_stats):=GetProcAddress(hlib,'libvlc_media_get_stats'); 1047 pointer(libvlc_media_subitems):=GetProcAddress(hlib,'libvlc_media_subitems'); 1048 pointer(libvlc_media_event_manager):=GetProcAddress(hlib,'libvlc_media_event_manager'); 1049 pointer(libvlc_media_get_duration):=GetProcAddress(hlib,'libvlc_media_get_duration'); 1050 pointer(libvlc_media_parse):=GetProcAddress(hlib,'libvlc_media_parse'); 1051 pointer(libvlc_media_parse_async):=GetProcAddress(hlib,'libvlc_media_parse_async'); 1052 pointer(libvlc_media_is_parsed):=GetProcAddress(hlib,'libvlc_media_is_parsed'); 1053 pointer(libvlc_media_set_user_data):=GetProcAddress(hlib,'libvlc_media_set_user_data'); 1054 pointer(libvlc_media_get_user_data):=GetProcAddress(hlib,'libvlc_media_get_user_data'); 1055 pointer(libvlc_media_get_tracks_info):=GetProcAddress(hlib,'libvlc_media_get_tracks_info'); 1056 pointer(libvlc_media_player_new):=GetProcAddress(hlib,'libvlc_media_player_new'); 1057 pointer(libvlc_media_player_new_from_media):=GetProcAddress(hlib,'libvlc_media_player_new_from_media'); 1058 pointer(libvlc_media_player_release):=GetProcAddress(hlib,'libvlc_media_player_release'); 1059 pointer(libvlc_media_player_retain):=GetProcAddress(hlib,'libvlc_media_player_retain'); 1060 pointer(libvlc_media_player_set_media):=GetProcAddress(hlib,'libvlc_media_player_set_media'); 1061 pointer(libvlc_media_player_get_media):=GetProcAddress(hlib,'libvlc_media_player_get_media'); 1062 pointer(libvlc_media_player_event_manager):=GetProcAddress(hlib,'libvlc_media_player_event_manager'); 1063 pointer(libvlc_media_player_is_playing):=GetProcAddress(hlib,'libvlc_media_player_is_playing'); 1064 pointer(libvlc_media_player_play):=GetProcAddress(hlib,'libvlc_media_player_play'); 1065 pointer(libvlc_media_player_set_pause):=GetProcAddress(hlib,'libvlc_media_player_set_pause'); 1066 pointer(libvlc_media_player_pause):=GetProcAddress(hlib,'libvlc_media_player_pause'); 1067 pointer(libvlc_media_player_stop):=GetProcAddress(hlib,'libvlc_media_player_stop'); 1068 pointer(libvlc_video_set_callbacks):=GetProcAddress(hlib,'libvlc_video_set_callbacks'); 1069 pointer(libvlc_video_set_format):=GetProcAddress(hlib,'libvlc_video_set_format'); 1070 pointer(libvlc_video_set_format_callbacks):=GetProcAddress(hlib,'libvlc_video_set_format_callbacks'); 1071 pointer(libvlc_media_player_set_nsobject):=GetProcAddress(hlib,'libvlc_media_player_set_nsobject'); 1072 pointer(libvlc_media_player_get_nsobject):=GetProcAddress(hlib,'libvlc_media_player_get_nsobject'); 1073 pointer(libvlc_media_player_set_agl):=GetProcAddress(hlib,'libvlc_media_player_set_agl'); 1074 pointer(libvlc_media_player_get_agl):=GetProcAddress(hlib,'libvlc_media_player_get_agl'); 1075 pointer(libvlc_media_player_set_xwindow):=GetProcAddress(hlib,'libvlc_media_player_set_xwindow'); 1076 pointer(libvlc_media_player_get_xwindow):=GetProcAddress(hlib,'libvlc_media_player_get_xwindow'); 1077 pointer(libvlc_media_player_set_hwnd):=GetProcAddress(hlib,'libvlc_media_player_set_hwnd'); 1078 pointer(libvlc_media_player_get_hwnd):=GetProcAddress(hlib,'libvlc_media_player_get_hwnd'); 1079 pointer(libvlc_audio_set_callbacks):=GetProcAddress(hlib,'libvlc_audio_set_callbacks'); 1080 pointer(libvlc_audio_set_volume_callback):=GetProcAddress(hlib,'libvlc_audio_set_volume_callback'); 1081 pointer(libvlc_audio_set_format_callbacks):=GetProcAddress(hlib,'libvlc_audio_set_format_callbacks'); 1082 pointer(libvlc_audio_set_format):=GetProcAddress(hlib,'libvlc_audio_set_format'); 1083 pointer(libvlc_media_player_get_length):=GetProcAddress(hlib,'libvlc_media_player_get_length'); 1084 pointer(libvlc_media_player_get_time):=GetProcAddress(hlib,'libvlc_media_player_get_time'); 1085 pointer(libvlc_media_player_set_time):=GetProcAddress(hlib,'libvlc_media_player_set_time'); 1086 pointer(libvlc_media_player_get_position):=GetProcAddress(hlib,'libvlc_media_player_get_position'); 1087 pointer(libvlc_media_player_set_position):=GetProcAddress(hlib,'libvlc_media_player_set_position'); 1088 pointer(libvlc_media_player_set_chapter):=GetProcAddress(hlib,'libvlc_media_player_set_chapter'); 1089 pointer(libvlc_media_player_get_chapter):=GetProcAddress(hlib,'libvlc_media_player_get_chapter'); 1090 pointer(libvlc_media_player_get_chapter_count):=GetProcAddress(hlib,'libvlc_media_player_get_chapter_count'); 1091 pointer(libvlc_media_player_will_play):=GetProcAddress(hlib,'libvlc_media_player_will_play'); 1092 pointer(libvlc_media_player_get_chapter_count_for_title):=GetProcAddress(hlib,'libvlc_media_player_get_chapter_count_for_title'); 1093 pointer(libvlc_media_player_set_title):=GetProcAddress(hlib,'libvlc_media_player_set_title'); 1094 pointer(libvlc_media_player_get_title):=GetProcAddress(hlib,'libvlc_media_player_get_title'); 1095 pointer(libvlc_media_player_get_title_count):=GetProcAddress(hlib,'libvlc_media_player_get_title_count'); 1096 pointer(libvlc_media_player_previous_chapter):=GetProcAddress(hlib,'libvlc_media_player_previous_chapter'); 1097 pointer(libvlc_media_player_next_chapter):=GetProcAddress(hlib,'libvlc_media_player_next_chapter'); 1098 pointer(libvlc_media_player_get_rate):=GetProcAddress(hlib,'libvlc_media_player_get_rate'); 1099 pointer(libvlc_media_player_set_rate):=GetProcAddress(hlib,'libvlc_media_player_set_rate'); 1100 pointer(libvlc_media_player_get_state):=GetProcAddress(hlib,'libvlc_media_player_get_state'); 1101 pointer(libvlc_media_player_get_fps):=GetProcAddress(hlib,'libvlc_media_player_get_fps'); 1102 pointer(libvlc_media_player_has_vout):=GetProcAddress(hlib,'libvlc_media_player_has_vout'); 1103 pointer(libvlc_media_player_is_seekable):=GetProcAddress(hlib,'libvlc_media_player_is_seekable'); 1104 pointer(libvlc_media_player_can_pause):=GetProcAddress(hlib,'libvlc_media_player_can_pause'); 1105 pointer(libvlc_media_player_next_frame):=GetProcAddress(hlib,'libvlc_media_player_next_frame'); 1106 pointer(libvlc_media_player_navigate):=GetProcAddress(hlib,'libvlc_media_player_navigate'); 1107 pointer(libvlc_track_description_list_release):=GetProcAddress(hlib,'libvlc_track_description_list_release'); 1108 pointer(libvlc_track_description_release):=GetProcAddress(hlib,'libvlc_track_description_release'); 1109 pointer(libvlc_toggle_fullscreen):=GetProcAddress(hlib,'libvlc_toggle_fullscreen'); 1110 pointer(libvlc_set_fullscreen):=GetProcAddress(hlib,'libvlc_set_fullscreen'); 1111 pointer(libvlc_get_fullscreen):=GetProcAddress(hlib,'libvlc_get_fullscreen'); 1112 pointer(libvlc_video_set_key_input):=GetProcAddress(hlib,'libvlc_video_set_key_input'); 1113 pointer(libvlc_video_set_mouse_input):=GetProcAddress(hlib,'libvlc_video_set_mouse_input'); 1114 pointer(libvlc_video_get_size):=GetProcAddress(hlib,'libvlc_video_get_size'); 1115 pointer(libvlc_video_get_height):=GetProcAddress(hlib,'libvlc_video_get_height'); 1116 pointer(libvlc_video_get_width):=GetProcAddress(hlib,'libvlc_video_get_width'); 1117 pointer(libvlc_video_get_cursor):=GetProcAddress(hlib,'libvlc_video_get_cursor'); 1118 pointer(libvlc_video_get_scale):=GetProcAddress(hlib,'libvlc_video_get_scale'); 1119 pointer(libvlc_video_set_scale):=GetProcAddress(hlib,'libvlc_video_set_scale'); 1120 pointer(libvlc_video_get_aspect_ratio):=GetProcAddress(hlib,'libvlc_video_get_aspect_ratio'); 1121 pointer(libvlc_video_set_aspect_ratio):=GetProcAddress(hlib,'libvlc_video_set_aspect_ratio'); 1122 pointer(libvlc_video_get_spu):=GetProcAddress(hlib,'libvlc_video_get_spu'); 1123 pointer(libvlc_video_get_spu_count):=GetProcAddress(hlib,'libvlc_video_get_spu_count'); 1124 pointer(libvlc_video_get_spu_description):=GetProcAddress(hlib,'libvlc_video_get_spu_description'); 1125 pointer(libvlc_video_set_spu):=GetProcAddress(hlib,'libvlc_video_set_spu'); 1126 pointer(libvlc_video_set_subtitle_file):=GetProcAddress(hlib,'libvlc_video_set_subtitle_file'); 1127 pointer(libvlc_video_get_spu_delay):=GetProcAddress(hlib,'libvlc_video_get_spu_delay'); 1128 pointer(libvlc_video_set_spu_delay):=GetProcAddress(hlib,'libvlc_video_set_spu_delay'); 1129 pointer(libvlc_video_get_title_description):=GetProcAddress(hlib,'libvlc_video_get_title_description'); 1130 pointer(libvlc_video_get_chapter_description):=GetProcAddress(hlib,'libvlc_video_get_chapter_description'); 1131 pointer(libvlc_video_get_crop_geometry):=GetProcAddress(hlib,'libvlc_video_get_crop_geometry'); 1132 pointer(libvlc_video_set_crop_geometry):=GetProcAddress(hlib,'libvlc_video_set_crop_geometry'); 1133 pointer(libvlc_video_get_teletext):=GetProcAddress(hlib,'libvlc_video_get_teletext'); 1134 pointer(libvlc_video_set_teletext):=GetProcAddress(hlib,'libvlc_video_set_teletext'); 1135 pointer(libvlc_toggle_teletext):=GetProcAddress(hlib,'libvlc_toggle_teletext'); 1136 pointer(libvlc_video_get_track_count):=GetProcAddress(hlib,'libvlc_video_get_track_count'); 1137 pointer(libvlc_video_get_track_description):=GetProcAddress(hlib,'libvlc_video_get_track_description'); 1138 pointer(libvlc_video_get_track):=GetProcAddress(hlib,'libvlc_video_get_track'); 1139 pointer(libvlc_video_set_track):=GetProcAddress(hlib,'libvlc_video_set_track'); 1140 pointer(libvlc_video_take_snapshot):=GetProcAddress(hlib,'libvlc_video_take_snapshot'); 1141 pointer(libvlc_video_set_deinterlace):=GetProcAddress(hlib,'libvlc_video_set_deinterlace'); 1142 pointer(libvlc_video_get_marquee_int):=GetProcAddress(hlib,'libvlc_video_get_marquee_int'); 1143 pointer(libvlc_video_get_marquee_string):=GetProcAddress(hlib,'libvlc_video_get_marquee_string'); 1144 pointer(libvlc_video_set_marquee_int):=GetProcAddress(hlib,'libvlc_video_set_marquee_int'); 1145 pointer(libvlc_video_set_marquee_string):=GetProcAddress(hlib,'libvlc_video_set_marquee_string'); 1146 pointer(libvlc_video_get_logo_int):=GetProcAddress(hlib,'libvlc_video_get_logo_int'); 1147 pointer(libvlc_video_set_logo_int):=GetProcAddress(hlib,'libvlc_video_set_logo_int'); 1148 pointer(libvlc_video_set_logo_string):=GetProcAddress(hlib,'libvlc_video_set_logo_string'); 1149 pointer(libvlc_video_get_adjust_int):=GetProcAddress(hlib,'libvlc_video_get_adjust_int'); 1150 pointer(libvlc_video_set_adjust_int):=GetProcAddress(hlib,'libvlc_video_set_adjust_int'); 1151 pointer(libvlc_video_get_adjust_float):=GetProcAddress(hlib,'libvlc_video_get_adjust_float'); 1152 pointer(libvlc_video_set_adjust_float):=GetProcAddress(hlib,'libvlc_video_set_adjust_float'); 1153 pointer(libvlc_audio_output_list_get):=GetProcAddress(hlib,'libvlc_audio_output_list_get'); 1154 pointer(libvlc_audio_output_list_release):=GetProcAddress(hlib,'libvlc_audio_output_list_release'); 1155 pointer(libvlc_audio_output_set):=GetProcAddress(hlib,'libvlc_audio_output_set'); 1156 pointer(libvlc_audio_output_device_count):=GetProcAddress(hlib,'libvlc_audio_output_device_count'); 1157 pointer(libvlc_audio_output_device_longname):=GetProcAddress(hlib,'libvlc_audio_output_device_longname'); 1158 pointer(libvlc_audio_output_device_id):=GetProcAddress(hlib,'libvlc_audio_output_device_id'); 1159 pointer(libvlc_audio_output_device_set):=GetProcAddress(hlib,'libvlc_audio_output_device_set'); 1160 pointer(libvlc_audio_output_get_device_type):=GetProcAddress(hlib,'libvlc_audio_output_get_device_type'); 1161 pointer(libvlc_audio_output_set_device_type):=GetProcAddress(hlib,'libvlc_audio_output_set_device_type'); 1162 pointer(libvlc_audio_toggle_mute):=GetProcAddress(hlib,'libvlc_audio_toggle_mute'); 1163 pointer(libvlc_audio_get_mute):=GetProcAddress(hlib,'libvlc_audio_get_mute'); 1164 pointer(libvlc_audio_set_mute):=GetProcAddress(hlib,'libvlc_audio_set_mute'); 1165 pointer(libvlc_audio_get_volume):=GetProcAddress(hlib,'libvlc_audio_get_volume'); 1166 pointer(libvlc_audio_set_volume):=GetProcAddress(hlib,'libvlc_audio_set_volume'); 1167 pointer(libvlc_audio_get_track_count):=GetProcAddress(hlib,'libvlc_audio_get_track_count'); 1168 pointer(libvlc_audio_get_track_description):=GetProcAddress(hlib,'libvlc_audio_get_track_description'); 1169 pointer(libvlc_audio_get_track):=GetProcAddress(hlib,'libvlc_audio_get_track'); 1170 pointer(libvlc_audio_set_track):=GetProcAddress(hlib,'libvlc_audio_set_track'); 1171 pointer(libvlc_audio_get_channel):=GetProcAddress(hlib,'libvlc_audio_get_channel'); 1172 pointer(libvlc_audio_set_channel):=GetProcAddress(hlib,'libvlc_audio_set_channel'); 1173 pointer(libvlc_audio_get_delay):=GetProcAddress(hlib,'libvlc_audio_get_delay'); 1174 pointer(libvlc_audio_set_delay):=GetProcAddress(hlib,'libvlc_audio_set_delay'); 1175 pointer(libvlc_media_list_new):=GetProcAddress(hlib,'libvlc_media_list_new'); 1176 pointer(libvlc_media_list_release):=GetProcAddress(hlib,'libvlc_media_list_release'); 1177 pointer(libvlc_media_list_retain):=GetProcAddress(hlib,'libvlc_media_list_retain'); 1178 pointer(libvlc_media_list_add_file_content):=GetProcAddress(hlib,'libvlc_media_list_add_file_content'); 1179 pointer(libvlc_media_list_set_media):=GetProcAddress(hlib,'libvlc_media_list_set_media'); 1180 pointer(libvlc_media_list_media):=GetProcAddress(hlib,'libvlc_media_list_media'); 1181 pointer(libvlc_media_list_add_media):=GetProcAddress(hlib,'libvlc_media_list_add_media'); 1182 pointer(libvlc_media_list_insert_media):=GetProcAddress(hlib,'libvlc_media_list_insert_media'); 1183 pointer(libvlc_media_list_remove_index):=GetProcAddress(hlib,'libvlc_media_list_remove_index'); 1184 pointer(libvlc_media_list_count):=GetProcAddress(hlib,'libvlc_media_list_count'); 1185 pointer(libvlc_media_list_item_at_index):=GetProcAddress(hlib,'libvlc_media_list_item_at_index'); 1186 pointer(libvlc_media_list_index_of_item):=GetProcAddress(hlib,'libvlc_media_list_index_of_item'); 1187 pointer(libvlc_media_list_is_readonly):=GetProcAddress(hlib,'libvlc_media_list_is_readonly'); 1188 pointer(libvlc_media_list_lock):=GetProcAddress(hlib,'libvlc_media_list_lock'); 1189 pointer(libvlc_media_list_unlock):=GetProcAddress(hlib,'libvlc_media_list_unlock'); 1190 pointer(libvlc_media_list_event_manager):=GetProcAddress(hlib,'libvlc_media_list_event_manager'); 1191 pointer(libvlc_media_list_player_new):=GetProcAddress(hlib,'libvlc_media_list_player_new'); 1192 pointer(libvlc_media_list_player_release):=GetProcAddress(hlib,'libvlc_media_list_player_release'); 1193 pointer(libvlc_media_list_player_retain):=GetProcAddress(hlib,'libvlc_media_list_player_retain'); 1194 pointer(libvlc_media_list_player_event_manager):=GetProcAddress(hlib,'libvlc_media_list_player_event_manager'); 1195 pointer(libvlc_media_list_player_set_media_player):=GetProcAddress(hlib,'libvlc_media_list_player_set_media_player'); 1196 pointer(libvlc_media_list_player_set_media_list):=GetProcAddress(hlib,'libvlc_media_list_player_set_media_list'); 1197 pointer(libvlc_media_list_player_play):=GetProcAddress(hlib,'libvlc_media_list_player_play'); 1198 pointer(libvlc_media_list_player_pause):=GetProcAddress(hlib,'libvlc_media_list_player_pause'); 1199 pointer(libvlc_media_list_player_is_playing):=GetProcAddress(hlib,'libvlc_media_list_player_is_playing'); 1200 pointer(libvlc_media_list_player_get_state):=GetProcAddress(hlib,'libvlc_media_list_player_get_state'); 1201 pointer(libvlc_media_list_player_play_item_at_index):=GetProcAddress(hlib,'libvlc_media_list_player_play_item_at_index'); 1202 pointer(libvlc_media_list_player_play_item):=GetProcAddress(hlib,'libvlc_media_list_player_play_item'); 1203 pointer(libvlc_media_list_player_stop):=GetProcAddress(hlib,'libvlc_media_list_player_stop'); 1204 pointer(libvlc_media_list_player_next):=GetProcAddress(hlib,'libvlc_media_list_player_next'); 1205 pointer(libvlc_media_list_player_previous):=GetProcAddress(hlib,'libvlc_media_list_player_previous'); 1206 pointer(libvlc_media_list_player_set_playback_mode):=GetProcAddress(hlib,'libvlc_media_list_player_set_playback_mode'); 1207 pointer(libvlc_media_library_new):=GetProcAddress(hlib,'libvlc_media_library_new'); 1208 pointer(libvlc_media_library_release):=GetProcAddress(hlib,'libvlc_media_library_release'); 1209 pointer(libvlc_media_library_retain):=GetProcAddress(hlib,'libvlc_media_library_retain'); 1210 pointer(libvlc_media_library_load):=GetProcAddress(hlib,'libvlc_media_library_load'); 1211 pointer(libvlc_media_library_media_list):=GetProcAddress(hlib,'libvlc_media_library_media_list'); 1212 pointer(libvlc_media_discoverer_new_from_name):=GetProcAddress(hlib,'libvlc_media_discoverer_new_from_name'); 1213 pointer(libvlc_media_discoverer_release):=GetProcAddress(hlib,'libvlc_media_discoverer_release'); 1214 pointer(libvlc_media_discoverer_localized_name):=GetProcAddress(hlib,'libvlc_media_discoverer_localized_name'); 1215 pointer(libvlc_media_discoverer_media_list):=GetProcAddress(hlib,'libvlc_media_discoverer_media_list'); 1216 pointer(libvlc_media_discoverer_event_manager):=GetProcAddress(hlib,'libvlc_media_discoverer_event_manager'); 1217 pointer(libvlc_media_discoverer_is_running):=GetProcAddress(hlib,'libvlc_media_discoverer_is_running'); 1218 pointer(libvlc_vlm_release):=GetProcAddress(hlib,'libvlc_vlm_release'); 1219 pointer(libvlc_vlm_add_broadcast):=GetProcAddress(hlib,'libvlc_vlm_add_broadcast'); 1220 pointer(libvlc_vlm_add_vod):=GetProcAddress(hlib,'libvlc_vlm_add_vod'); 1221 pointer(libvlc_vlm_del_media):=GetProcAddress(hlib,'libvlc_vlm_del_media'); 1222 pointer(libvlc_vlm_set_enabled):=GetProcAddress(hlib,'libvlc_vlm_set_enabled'); 1223 pointer(libvlc_vlm_set_output):=GetProcAddress(hlib,'libvlc_vlm_set_output'); 1224 pointer(libvlc_vlm_set_input):=GetProcAddress(hlib,'libvlc_vlm_set_input'); 1225 pointer(libvlc_vlm_add_input):=GetProcAddress(hlib,'libvlc_vlm_add_input'); 1226 pointer(libvlc_vlm_set_loop):=GetProcAddress(hlib,'libvlc_vlm_set_loop'); 1227 pointer(libvlc_vlm_set_mux):=GetProcAddress(hlib,'libvlc_vlm_set_mux'); 1228 pointer(libvlc_vlm_change_media):=GetProcAddress(hlib,'libvlc_vlm_change_media'); 1229 pointer(libvlc_vlm_play_media):=GetProcAddress(hlib,'libvlc_vlm_play_media'); 1230 pointer(libvlc_vlm_stop_media):=GetProcAddress(hlib,'libvlc_vlm_stop_media'); 1231 pointer(libvlc_vlm_pause_media):=GetProcAddress(hlib,'libvlc_vlm_pause_media'); 1232 pointer(libvlc_vlm_seek_media):=GetProcAddress(hlib,'libvlc_vlm_seek_media'); 1233 pointer(libvlc_vlm_show_media):=GetProcAddress(hlib,'libvlc_vlm_show_media'); 1234 pointer(libvlc_vlm_get_media_instance_position):=GetProcAddress(hlib,'libvlc_vlm_get_media_instance_position'); 1235 pointer(libvlc_vlm_get_media_instance_time):=GetProcAddress(hlib,'libvlc_vlm_get_media_instance_time'); 1236 pointer(libvlc_vlm_get_media_instance_length):=GetProcAddress(hlib,'libvlc_vlm_get_media_instance_length'); 1237 pointer(libvlc_vlm_get_media_instance_rate):=GetProcAddress(hlib,'libvlc_vlm_get_media_instance_rate'); 1238 pointer(libvlc_vlm_get_event_manager):=GetProcAddress(hlib,'libvlc_vlm_get_event_manager'); 1239 pointer(libvlc_playlist_play):=GetProcAddress(hlib,'libvlc_playlist_play'); 1240end; 1241 1242 1243end. 1244