Attachment 'libvlc.vapi'
Download 1 [CCode(cheader_filename = "vlc/vlc.h")]
2 namespace Vlc
3 {
4 //due to many temporary variables created by Vala, this section generates invalid pointers
5 [CCode(cname = "libvlc_errmsg")]
6 public static string errmsg();
7 [CCode(cname = "libvlc_clearerr")]
8 public static void clearerr();
9 [CCode(cname = "libvlc_vprinterr")]
10 public static string vprinterr(string format, va_list args);
11 [CCode(cname = "libvlc_printerr")]
12 public static string printerr(string format, ...);
13 [CCode(cname = "libvlc_get_version")]
14 public static string get_version();
15 [CCode(cname = "libvlc_get_compiler")]
16 public static string get_compiler();
17 [CCode(cname = "libvlc_get_changeset")]
18 public static string get_changeset();
19 //end of section
20
21 public delegate void vlc_callback(Event evt, void *ptr);
22 public delegate void log_callback(void *data, int level, string format, va_list args);
23
24 [CCode(cname = "struct libvlc_log_subscriber", cprefix = "libvlc_log_", unref_function = "libvlc_log_unsubscribe")]
25 public class LogSubscriber{
26 [CCode (has_construct_function = false)]
27 public LogSubscriber();
28 public void subscribe(log_callback cb, void *data);
29 }
30
31 [CCode(cprefix = "libvlc_event_", cname = "struct libvlc_event_manager_t")]
32 public class EventManager{
33 public int attach(EventType type, vlc_callback cb, void *data);
34 public void detach(EventType type, vlc_callback cb, void *data);
35 [CCode(cname = "libvlc_event_type_name")]
36 public static string type_name(EventType type);
37 }
38
39 [CCode(cname = "enum libvlc_event_e",cprefix = "libvlc_")]
40 public enum EventType{
41 MediaMetaChanged=0,
42 MediaSubItemAdded,
43 MediaDurationChanged,
44 MediaParsedChanged,
45 MediaFreed,
46 MediaStateChanged,
47
48 MediaPlayerMediaChanged=0x100,
49 MediaPlayerNothingSpecial,
50 MediaPlayerOpening,
51 MediaPlayerBuffering,
52 MediaPlayerPlaying,
53 MediaPlayerPaused,
54 MediaPlayerStopped,
55 MediaPlayerForward,
56 MediaPlayerBackward,
57 MediaPlayerEndReached,
58 MediaPlayerEncounteredError,
59 MediaPlayerTimeChanged,
60 MediaPlayerPositionChanged,
61 MediaPlayerSeekableChanged,
62 MediaPlayerPausableChanged,
63 MediaPlayerTitleChanged,
64 MediaPlayerSnapshotTaken,
65 MediaPlayerLengthChanged,
66 MediaPlayerVout,
67
68 MediaListItemAdded=0x200,
69 MediaListWillAddItem,
70 MediaListItemDeleted,
71 MediaListWillDeleteItem,
72
73 MediaListViewItemAdded=0x300,
74 MediaListViewWillAddItem,
75 MediaListViewItemDeleted,
76 MediaListViewWillDeleteItem,
77
78 MediaListPlayerPlayed=0x400,
79 MediaListPlayerNextItemSet,
80 MediaListPlayerStopped,
81
82 MediaDiscovererStarted=0x500,
83 MediaDiscovererEnded,
84
85 VlmMediaAdded=0x600,
86 VlmMediaRemoved,
87 VlmMediaChanged,
88 VlmMediaInstanceStarted,
89 VlmMediaInstanceStopped,
90 VlmMediaInstanceStatusInit,
91 VlmMediaInstanceStatusOpening,
92 VlmMediaInstanceStatusPlaying,
93 VlmMediaInstanceStatusPause,
94 VlmMediaInstanceStatusEnd,
95 VlmMediaInstanceStatusError
96 }
97
98 public struct Event
99 {
100 public EventType type;
101 public void *sender;
102 public _union union;
103 }
104
105 public struct _union{
106 public _MediaMetaChanged MediaMetaChanged;
107 public _MediaSubitemAdded MediaSubitemAdded;
108 public _MediaDurationChanged MediaDurationChanged;
109 public _MediaParsedChanged MediaParsedChanged;
110 public _MediaFreed MediaFreed;
111 public _MediaStateChanged MediaStateChanged;
112 public _MediaPlayerBuffering MediaPlayerBuffering;
113 public _MediaPlayerPositionChanged MediaPlayerPositionChanged;
114 public _MediaPlayerTimeChanged MediaPlayerTimeChanged;
115 public _MediaPlayerTitleChanged MediaPlayerTitleChanged;
116 public _MediaPlayerSeekableChanged MediaPlayerSeekableChanged;
117 public _MediaPlayerPausableChanged MediaPlayerPausableChanged;
118 public _MediaPlayerVout MediaPlayerVout;
119 public _MediaListItemDeleted MediaListItemDeleted;
120 public _MediaListItemAdded MediaListItemAdded;
121 public _MediaListAddItem MediaListAddItem;
122 public _MediaListWillDeleteItem MediaListWillDeleteItem;
123 public _MediaListPlayerNextItemSet MediaListPlayerNextItemSet;
124 public _MediaPlayerSnapshotTaken MediaPlayerSnapshotTaken;
125 public _MediaPlayerLengthChanged MediaPlayerLengthChanged;
126 public _VlmMediaEvent VlmMediaEvent;
127 public _MediaPlayerMediaChanged MediaPlayerMediaChanged;
128 }
129
130 public struct _MediaMetaChanged{public TagType type;}
131 public struct _MediaSubitemAdded{public Media child;}
132 public struct _MediaDurationChanged{public long duration;}
133 public struct _MediaParsedChanged{public int status;}
134 public struct _MediaFreed{public Media media;}
135 public struct _MediaStateChanged{public State new_state;}
136 public struct _MediaPlayerBuffering{public float cache;}
137 public struct _MediaPlayerPositionChanged{public float position;}
138 public struct _MediaPlayerTimeChanged{public long time;}
139 public struct _MediaPlayerTitleChanged{public int title;}
140 public struct _MediaPlayerSeekableChanged{public int seekable;}
141 public struct _MediaPlayerPausableChanged{public int pausable;}
142 public struct _MediaPlayerVout{public int count;}
143 public struct _MediaListItemDeleted{
144 public Media media;
145 public int index;
146 }
147 public struct _MediaListItemAdded{
148 public Media item;
149 public int index;
150 }
151 public struct _MediaListAddItem{
152 public Media item;
153 public int index;
154 }
155 public struct _MediaListWillDeleteItem{
156 public Media item;
157 public int index;
158 }
159 public struct _MediaListPlayerNextItemSet{
160 public Media media;}
161 public struct _MediaPlayerSnapshotTaken{
162 string filename;
163 }
164 public struct _MediaPlayerLengthChanged{
165 public long length;
166 }
167 public struct _VlmMediaEvent{
168 public string media_name;
169 public string instance_name;
170 }
171 public struct _MediaPlayerMediaChanged{
172 public Media new_media;
173 }
174
175 [CCode(cname = "enum libvlc_state_t",cprefix = "libvlc_")]
176 public enum State{
177 NothingSpecial=0,
178 Opening,
179 Buffering,
180 Playing,
181 Paused,
182 Stopped,
183 Ended,
184 Error
185 }
186
187 [CCode(cname = "enum libvlc_meta_t", cprefix = "libvlc_meta_")]
188 public enum TagType{
189 Title,
190 Artist,
191 Genre,
192 Copyright,
193 Album,
194 TrackNumber,
195 Description,
196 Rating,
197 Date,
198 Setting,
199 URL,
200 Language,
201 NowPlaying,
202 Publisher,
203 EncodedBy,
204 ArtworkURL,
205 TrackID
206 }
207
208 [CCode(cname = "libvlc_instance_t", ref_function = "libvlc_retain", unref_function = "libvlc_release", cprefix = "libvlc_")]
209 public class Instance{
210 public static long clock();
211
212 [CCode(cname = "libvlc_new")]
213 public Instance(int argc, char **argv);
214 public int add_intf(string name);
215 public void wait();
216 public void set_user_agent(string name, string http);
217 public ModuleDescription audio_filter_list_get();
218 public ModuleDescription video_filter_list_get();
219 public AudioOutput audio_output_list_get();
220 public AudioOutputDevice audio_output_device_list_get(string name);
221 }
222
223 [CCode(cname = "struct libvlc_media_t",ref_function = "libvlc_media_retain", unref_function = "libvlc_media_release", cprefix = "libvlc_media_")]
224 public class Media{
225 [CCode(cname = "libvlc_media_new_location")]
226 public Media.location(Instance i, string location);
227 [CCode(cname = "libvlc_media_new_path")]
228 public Media.path(Instance i, string path);
229 public string get_mrl();
230 public Media duplicate();
231 public string get_meta(TagType type);
232 public void set_meta(TagType type, string value);
233 public int save_meta();
234 public int get_stats(out MediaStats stats);
235 public long get_duration();
236 public void parse();
237 public void parse_async();
238 public int is_parsed();
239 public EventManager event_manager();
240 public void set_user_data(void *user_data);
241 public void *get_user_data();
242 public void *user_data{get; set;}
243 public string meta{get; set;}
244 }
245
246 [CCode(cname = "libvlc_media_player_t", ref_function = "libvlc_media_player_retain", unref_function = "libvlc_media_player_release", cprefix = "libvlc_media_player_")]
247 public class MediaPlayer{
248 [CCode(cname = "libvlc_media_player_new")]
249 public MediaPlayer(Instance i);
250 [CCode(cname = "libvlc_media_player_new_from_media")]
251 public MediaPlayer.from_media(Media m);
252 public void set_media(Media m);
253 public Media get_media();
254 public int is_playing();
255 public int play();
256 public void set_pause(int do_pause);
257 public void pause();
258 public void stop();
259 [CCode(cname = "libvlc_video_set_callbacks")]
260 public void set_callbacks(VideoLockFunc l, VideoUnlockFunc u, VideoDisplayFunc d, void *opaque);
261 [CCode(cname = "libvlc_video_set_format")]
262 public void set_videoformat(string chroma, uint width, uint height, uint pitch);
263 [CCode(cname = "libvlc_video_set_format_callbacks")]
264 public void set_format_callbacks(VideoFormatFunc format, VideoCleanupFunc cleanup);
265 public void set_xwindow(uint drawable);
266 public uint get_xwindow();
267 public long get_length();
268 public long get_time();
269 public void set_time(long time);
270 public float get_position();
271 public void set_position(float pos);
272 public void set_chapter(int chapter);
273 public int get_chapter();
274 public int get_chapter_count();
275 public int will_play();
276 public int get_chapter_count_for_title();
277 public int get_title();
278 public void set_title(int title);
279 public int get_title_count();
280 public void previous_chapter();
281 public void next_chapter();
282 public float get_rate();
283 public void set_rate(float rate);
284 public State get_state();
285 public float get_fps();
286 public uint has_vout();
287 public int is_seekable();
288 public int can_pause();
289 public void next_frame();
290 [CCode(cname = "libvlc_set_fullscreen")]
291 public void set_fullscreen(int f);
292 [CCode(cname = "libvlc_get_fullscreen")]
293 public int get_fullscreen();
294 [CCode(cname = "libvlc_video_get_size")]
295 public int get_video_size(uint index, out uint x, out uint y);
296 [CCode(cname = "libvlc_video_get_cursor")]
297 public int get_cursor_position(uint index, out uint px, out uint py);
298 [CCode(cname = "libvlc_video_get_scale")]
299 public float get_videoscale();
300 [CCode(cname = "libvlc_video_set_scale")]
301 public void set_videoscale(float scale);
302 public void navigate(NavigateMode mode);
303 [CCode(cname = "libvlc_video_get_aspect_ratio")]
304 public string get_aspect_ratio();
305 [CCode(cname = "libvlc_video_set_aspect_ratio")]
306 public void set_aspect_ratio(string ratio);
307 [CCode(cname = "libvlc_video_get_spu")]
308 public int get_current_subtitle();
309 [CCode(cname = "libvlc_video_get_spu_count")]
310 public int get_subtitles_count();
311 [CCode(cname = "libvlc_video_get_spu_description")]
312 public TrackDescription get_subtitles_description();
313 [CCode(cname = "libvlc_video_set_spu")]
314 public int set_current_subtitle(uint sub);
315 [CCode(cname = "libvlc_video_set_subtitle_file")]
316 public int set_subtitles_file(string file);
317 [CCode(cname = "libvlc_video_get_spu_delay")]
318 public long get_subtitle_delay();
319 [CCode(cname = "libvlc_video_set_spu_delay")]
320 public int set_subtitle_delay(long delay);
321 [CCode(cname = "libvlc_video_get_title_description")]
322 public TrackDescription get_title_description();
323 [CCode(cname = "libvlc_video_get_chapter_description")]
324 public TrackDescription get_chapter_description();
325 [CCode(cname = "libvlc_video_get_crop_geometry")]
326 public string get_crop_geometry();
327 [CCode(cname = "libvlc_video_set_crop_geometry")]
328 public void set_crop_geometry(string crop);
329 [CCode(cname = "libvlc_video_get_track_count")]
330 public int get_videotrack_count();
331 [CCode(cname = "libvlc_video_get_track_description")]
332 public TrackDescription get_track_description();
333 [CCode(cname = "libvlc_video_get_track")]
334 public int get_videotrack();
335 [CCode(cname = "libvlc_video_set_track")]
336 public int set_videotrack(int track);
337 [CCode(cname = "libvlc_video_take_snapshot")]
338 public int snapshot(uint video_index,string filepath,uint width, uint height);
339 public EventManager event_manager();
340 public int videotrack {get; set;}
341 public string crop_geometry {get; set;}
342 public long subtitle_delay {get; set;}
343 public string aspect_ratio {get; set;}
344 public float videoscale {get; set;}
345 public float rate {get; set;}
346 public int title {get; set;}
347 public int chapter {get; set;}
348 public float position {get; set;}
349 public long time {get; set;}
350 public uint xwindow {get; set;}
351 public Media media {get; set;}
352 }
353
354 [CCode(cname = "struct libvlc_track_description_t",ref_function = "", unref_function = "")]
355 public class TrackDescription{
356 public int i_id;
357 public string psz_name;
358 public TrackDescription p_next;
359 [CCode(cname = "libvlc_track_description_list_release")]
360 public void release();
361 }
362
363 [CCode(cname = "struct libvlc_audio_output_t",ref_function = "", unref_function = "")]
364 public class AudioOutput
365 {
366 public string psz_name;
367 public string psz_description;
368 public AudioOutput p_next;
369 [CCode(cname = "libvlc_audio_output_list_release")]
370 public void release();
371 }
372
373 public class AudioOutputDevice{
374 public AudioOutputDevice p_next;
375 public string psz_device;
376 public string psz_description;
377 [CCode(cname = "libvlc_audio_output_device_list_release")]
378 public void release();
379 }
380
381 [CCode(cname = "struct libvlc_module_description_t", ref_function = "", unref_function = "")]
382 public class ModuleDescription{
383
384 public string psz_name;
385 public string psz_shortname;
386 public string psz_longname;
387 public string psz_help;
388 public ModuleDescription p_next;
389 [CCode(cname = "libvlc_module_description_list_release")]
390 public void release();
391 }
392
393 [CCode(cprefix = "libvlc_media_list_", cname = "struct libvlc_media_list_t", unref_function = "libvlc_media_list_release", ref_function = "libvlc_media_list_retain")]
394 public class MediaList{
395 [CCode(cname = "libvlc_media_list_new")]
396 public MediaList(Instance i);
397 public void set_media(Media m);
398 [CCode(cname = "libvlc_media_list_media")]
399 public Media get_media();
400 public int add_media(Media m);
401 public int insert_media(Media m, int position);
402 public int remove_index(int index);
403 public int count();
404 public Media item_at_index(int index);
405 public int index_of_item(Media m);
406 public int is_readonly();
407 public void lock();
408 public void unlock();
409 public Media media {get; set;}
410 public EventManager event_manager();
411 }
412
413 [CCode(cprefix = "libvlc_media_library_", cname = "struct libvlc_media_library_t", ref_function = "libvlc_media_library_retain", unref_function = "libvlc_media_library_release")]
414 public class MediaLibrary{
415 [CCode(cname = "libvlc_media_library_new")]
416 public MediaLibrary(Instance i){}
417 public int load();
418 public MediaList list();
419 }
420
421 [CCode(cprefix = "libvlc_media_discoverer_", cname = "struct libvlc_media_discoverer_t", unref_function = "libvlc_media_discoverer_release")]
422 public class MediaDiscoverer{
423 [CCode(cname = "libvlc_media_discoverer_new_from_name")]
424 public MediaDiscoverer(Instance i, string name);
425 public string localized_name();
426 public MediaList media_list();
427 public int is_running();
428 public EventManager event_manager();
429 }
430
431 [CCode(cprefix = "libvlc_media_list_player_", cname = "struct libvlc_media_list_player_t", unref_function = "libvlc_media_list_player_release", ref_function = "libvlc_media_list_player_retain")]
432 public class MediaListPlayer{
433 [CCode(cname = "libvlc_media_list_player_new")]
434 public MediaListPlayer(Instance i);
435 public void set_media_player(MediaPlayer player);
436 public void set_media_list(MediaList list);
437 public void play();
438 public void pause();
439 public int is_playing();
440 public State get_state();
441 public int play_item_at_index(int index);
442 public int play_item(Media media);
443 public void stop();
444 public void next();
445 public void previous();
446 public void set_playback_mode(PlaybackMode mode);
447 public EventManager event_manager();
448 }
449
450 [CCode(cname = "int")]
451 public enum PlaybackMode{
452 Default,
453 Loop,
454 Repeat
455 }
456
457 [CCode(cname = "uint")]
458 public enum NavigateMode{
459 Activate,
460 Up,
461 Down,
462 Left,
463 Right
464 }
465
466 public delegate void VideoLockFunc(void *opaque, void **planes);
467 public delegate void VideoUnlockFunc(void *opaque, void *picture, void **planes);
468 public delegate void VideoDisplayFunc(void *opaque, void *picture);
469 public delegate uint VideoFormatFunc(void **opaque, string chroma,
470 uint *width, uint *height,
471 uint *pitches,
472 uint *lines);
473 public delegate void VideoCleanupFunc(void *opaque);
474 public delegate void AudioPlayFunc(void *data, void *samples, uint count, long pts);
475 public delegate void AudioPauseFunc(void *data, long pts);
476
477 public struct MediaStats{
478 public int i_read_bytes;
479 public float f_input_bitrate;
480 public int i_demux_read_bytes;
481 public float f_demux_bitrate;
482 public int i_demux_corrupted;
483 public int i_demux_discontinuity;
484 public int i_decoded_video;
485 public int i_decoded_audio;
486 public int i_displayed_pictures;
487 public int i_lost_pictures;
488 public int i_played_abuffers;
489 public int i_lost_abuffers;
490 public int i_sent_packets;
491 public int i_sent_bytes;
492 public float f_send_bitrate;
493 }
494
495 [CCode(cprefix = "libvlc_vlm_", unref_function = "libvlc_vlm_release")]
496 public class Vlm
497 {
498 public static int add_broadcast(Instance instance, string name, string input, string output,
499 int number_options, string options, int enabled, int loop);
500 public static int add_vod(Instance instance, string name, string input,
501 int number_options, string options,int enabled, string muxer);
502 public static int del_media(Instance instance, string media_name);
503 public static int set_enabled(Instance instance, string media_name, int enabled);
504 public static int set_input(Instance instance, string name, string input);
505 public static int set_output(Instance instance, string name, string output);
506 public static int add_input(Instance instance, string name, string input);
507 public static int set_loop(Instance instance, string name, int loop);
508 public static int set_mux(Instance instance, string name, string muxer);
509 public static int change_media(Instance instance, string name, string input, string output,
510 int number_options, string options, int enabled, int loop);
511 public static int play_media(Instance instance, string name);
512 public static int stop_media(Instance instance, string name);
513 public static int pause_media(Instance instance, string name);
514 public static int seek_media(Instance instance, string name, float percentage);
515 public static string show_media(Instance instance, string name);
516 public static float get_media_instance_position(Instance instance, string name, int instance_id);
517 public static int get_media_instance_time(Instance instance, string name, int instance_id);
518 public static int get_media_instance_length(Instance instance, string name, int instance_id);
519 public static int get_media_instance_rate(Instance instance, string name, int instance_id);
520 public static int get_media_instance_title(Instance instance, string name, int instance_id);
521 public static int get_media_instance_chapter(Instance instance, string name, int instance_id);
522 public static int get_media_instance_seekable(Instance instance, string name, int instance_id);
523 public static EventManager event_manager(Instance instance);
524 }
525 }
Attached Files
To refer to attachments on a page, use attachment:filename, as shown below in the list of files. Do NOT use the URL of the [get] link, since this is subject to change and can break easily.You are not allowed to attach a file to this page.