libvlc.pp 69 KB

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