libvlc.pp 68 KB

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