1 /*****************************************************************************
2 * VLC Java Bindings JNA Glue
3 *****************************************************************************
4 * Copyright (C) 1998-2009 the VideoLAN team
6 * Authors: Filippo Carone <filippo@carone.org>
7 * VLC bindings generator
12 * This program is free software; you can redistribute it and/or modify
13 * it under the terms of the GNU General Public License as published by
14 * the Free Software Foundation; either version 2 of the License, or
15 * (at your option) any later version.
17 * This program is distributed in the hope that it will be useful,
18 * but WITHOUT ANY WARRANTY; without even the implied warranty of
19 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20 * GNU General Public License for more details.
22 * You should have received a copy of the GNU General Public License
23 * along with this program; if not, write to the Free Software
24 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA.
25 *****************************************************************************/
27 package org.videolan.jvlc.internal;
29 import com.sun.jna.Callback;
30 import com.sun.jna.Library;
31 import com.sun.jna.Native;
32 import com.sun.jna.NativeLong;
33 import com.sun.jna.Platform;
34 import com.sun.jna.Pointer;
35 import com.sun.jna.PointerType;
36 import com.sun.jna.Structure;
37 import com.sun.jna.Union;
40 public interface LibVlc extends Library
43 LibVlc INSTANCE = (LibVlc) Native.loadLibrary(Platform.isWindows() ? "libvlc" : "vlc", LibVlc.class);
45 LibVlc SYNC_INSTANCE = (LibVlc) Native.synchronizedLibrary(INSTANCE);
47 public static class libvlc_exception_t extends Structure
53 public static interface LibVlcCallback extends Callback
56 void callback(libvlc_event_t libvlc_event, Pointer userData);
59 public static class libvlc_log_message_t extends Structure
62 public int sizeof_msg; /* sizeof() of message structure, must be filled in by user */
64 public int i_severity; /* 0=INFO, 1=ERR, 2=WARN, 3=DBG */
66 public String psz_type; /* module type */
68 public String psz_name; /* module name */
70 public String psz_header; /* optional header */
72 public String psz_message; /* message */
75 public static class libvlc_event_t extends Structure
82 public event_type_specific event_type_specific;
86 public class media_meta_changed extends Structure
90 public Pointer meta_type;
93 public class media_subitem_added extends Structure
96 public LibVlcMedia new_child;
99 public class media_duration_changed extends Structure
102 public NativeLong new_duration;
105 public class media_preparsed_changed extends Structure
108 public int new_status;
111 public class media_freed extends Structure
114 public LibVlcMedia md;
117 public class media_state_changed extends Structure
120 // @todo: check this one
121 public int new_state;
126 public class media_player_position_changed extends Structure
129 public float new_position;
132 public class media_player_time_changed extends Structure
135 // @todo: check this one
136 public long new_time;
139 public class media_player_title_changed extends Structure
142 public int new_title;
145 public class media_player_seekable_changed extends Structure
148 public NativeLong new_seekable;
151 public class media_player_pausable_changed extends Structure
154 public NativeLong new_pausable;
158 public class media_list_item_added extends Structure
161 public LibVlcMedia item;
166 public class media_list_will_add_item extends Structure
169 public LibVlcMedia item;
174 public class media_list_item_deleted extends Structure
177 public LibVlcMedia item;
182 public class media_list_will_delete_item extends Structure
185 public LibVlcMedia item;
190 /* media list view */
191 public class media_list_view_item_added extends Structure
194 public LibVlcMedia item;
199 public class media_list_view_will_add_item extends Structure
202 public LibVlcMedia item;
207 public class media_list_view_item_deleted extends Structure
210 public LibVlcMedia item;
215 public class media_list_view_will_delete_item extends Structure
218 public LibVlcMedia item;
223 public class media_list_player_next_item_set extends Structure
226 public LibVlcMedia item;
229 public class media_player_snapshot_taken extends Structure
232 public String psz_filename;
235 public class media_player_length_changed extends Structure
238 // @todo: check the type
239 public long new_length;
242 public class vlm_media_event extends Structure
245 public String psz_media_name;
247 public String psz_instance_name;
250 public class event_type_specific extends Union
253 public media_meta_changed media_meta_changed;
255 public media_subitem_added media_subitem_added;
257 public media_duration_changed media_duration_changed;
259 public media_preparsed_changed media_preparsed_changed;
261 public media_freed media_freed;
263 public media_state_changed media_state_changed;
265 public media_player_position_changed media_player_position_changed;
267 public media_player_time_changed media_player_time_changed;
269 public media_player_title_changed media_player_title_changed;
271 public media_player_seekable_changed media_player_seekable_changed;
273 public media_player_pausable_changed media_player_pausable_changed;
275 public media_list_item_added media_list_item_added;
277 public media_list_will_add_item media_list_will_add_item;
279 public media_list_item_deleted media_list_item_deleted;
281 public media_list_will_delete_item media_list_will_delete_item;
283 public media_list_view_item_added media_list_view_item_added;
285 public media_list_view_will_add_item media_list_view_will_add_item;
287 public media_list_view_item_deleted media_list_view_item_deleted;
289 public media_list_view_will_delete_item media_list_view_will_delete_item;
291 public media_list_player_next_item_set media_list_player_next_item_set;
293 public media_player_snapshot_taken media_player_snapshot_taken;
295 public media_player_length_changed media_player_length_changed;
297 public vlm_media_event vlm_media_event;
300 public class LibVlcLog extends PointerType
304 public class LibVlcMediaListView extends PointerType
308 public class LibVlcTrackDescription extends PointerType
312 public class LibVlcMediaListPlayer extends PointerType
316 public class LibVlcInstance extends PointerType
320 public class LibVlcEventManager extends PointerType
324 public class LibVlcMediaLibrary extends PointerType
328 public class LibVlcMediaList extends PointerType
332 public class LibVlcAudioOutput extends PointerType
336 public class LibVlcMediaPlayer extends PointerType
340 public class LibVlcMedia extends PointerType
344 public class LibVlcMediaDiscoverer extends PointerType
348 public class LibVlcLogIterator extends PointerType
352 void libvlc_exception_init(libvlc_exception_t p_exception);
354 void libvlc_exception_clear(libvlc_exception_t p_exception);
356 int libvlc_exception_raised(final libvlc_exception_t exception);
358 String libvlc_errmsg();
360 void libvlc_clearerr();
362 LibVlcInstance libvlc_new(int argc, String[] argv, libvlc_exception_t p_e);
364 void libvlc_release(LibVlcInstance p_instance);
366 void libvlc_retain(LibVlcInstance p_instance);
368 int libvlc_add_intf(LibVlcInstance p_instance, String name, libvlc_exception_t p_exception);
370 void libvlc_wait(LibVlcInstance p_instance);
372 String libvlc_get_version();
374 String libvlc_get_compiler();
376 String libvlc_get_changeset();
378 void libvlc_free(Pointer ptr);
380 void libvlc_event_attach(LibVlcEventManager p_event_manager, int i_event_type, LibVlcCallback f_callback,
381 Pointer user_data, libvlc_exception_t p_e);
383 void libvlc_event_detach(LibVlcEventManager p_event_manager, int i_event_type, LibVlcCallback f_callback,
384 Pointer p_user_data, libvlc_exception_t p_e);
386 String libvlc_event_type_name(int event_type);
388 int libvlc_get_log_verbosity(LibVlcInstance p_instance);
390 void libvlc_set_log_verbosity(LibVlcInstance p_instance, int level);
392 LibVlcLog libvlc_log_open(LibVlcInstance p_instance, libvlc_exception_t p_e);
394 void libvlc_log_close(LibVlcLog p_log);
396 int libvlc_log_count(LibVlcLog p_log);
398 void libvlc_log_clear(LibVlcLog p_log);
400 LibVlcLogIterator libvlc_log_get_iterator(LibVlcLog p_log, libvlc_exception_t p_e);
402 void libvlc_log_iterator_free(LibVlcLogIterator p_iter);
404 int libvlc_log_iterator_has_next(LibVlcLogIterator p_iter);
406 libvlc_log_message_t libvlc_log_iterator_next(LibVlcLogIterator p_iter, libvlc_log_message_t p_buffer,
407 libvlc_exception_t p_e);
409 LibVlcMediaDiscoverer libvlc_media_discoverer_new_from_name(LibVlcInstance p_inst, String psz_name,
410 libvlc_exception_t p_e);
412 void libvlc_media_discoverer_release(LibVlcMediaDiscoverer p_mdis);
414 String libvlc_media_discoverer_localized_name(LibVlcMediaDiscoverer p_mdis);
416 LibVlcMediaList libvlc_media_discoverer_media_list(LibVlcMediaDiscoverer p_mdis);
418 LibVlcEventManager libvlc_media_discoverer_event_manager(LibVlcMediaDiscoverer p_mdis);
420 int libvlc_media_discoverer_is_running(LibVlcMediaDiscoverer p_mdis);
422 LibVlcMedia libvlc_media_new(LibVlcInstance p_instance, String psz_mrl, libvlc_exception_t p_e);
424 LibVlcMedia libvlc_media_new_as_node(LibVlcInstance p_instance, String psz_name, libvlc_exception_t p_e);
426 void libvlc_media_add_option(LibVlcMedia p_md, String ppsz_options, libvlc_exception_t p_e);
428 void libvlc_media_add_option_flag(LibVlcMedia p_md, String ppsz_options, MediaOption i_flags, libvlc_exception_t p_e);
430 void libvlc_media_retain(LibVlcMedia p_meta_desc);
432 void libvlc_media_release(LibVlcMedia p_meta_desc);
434 String libvlc_media_get_mrl(LibVlcMedia p_md, libvlc_exception_t p_e);
436 LibVlcMedia libvlc_media_duplicate(LibVlcMedia p_meta_desc);
438 String libvlc_media_get_meta(LibVlcMedia p_meta_desc, Meta e_meta, libvlc_exception_t p_e);
440 int libvlc_media_get_state(LibVlcMedia p_meta_desc, libvlc_exception_t p_e);
442 LibVlcMediaList libvlc_media_subitems(LibVlcMedia p_md, libvlc_exception_t p_e);
444 LibVlcEventManager libvlc_media_event_manager(LibVlcMedia p_md, libvlc_exception_t p_e);
446 long libvlc_media_get_duration(LibVlcMedia p_md, libvlc_exception_t p_e);
448 int libvlc_media_is_preparsed(LibVlcMedia p_md, libvlc_exception_t p_e);
450 void libvlc_media_set_user_data(LibVlcMedia p_md, Pointer p_new_user_data, libvlc_exception_t p_e);
452 Pointer libvlc_media_get_user_data(LibVlcMedia p_md, libvlc_exception_t p_e);
454 LibVlcMediaLibrary libvlc_media_library_new(LibVlcInstance p_inst, libvlc_exception_t p_e);
456 void libvlc_media_library_release(LibVlcMediaLibrary p_mlib);
458 void libvlc_media_library_retain(LibVlcMediaLibrary p_mlib);
460 void libvlc_media_library_load(LibVlcMediaLibrary p_mlib, libvlc_exception_t p_e);
462 void libvlc_media_library_save(LibVlcMediaLibrary p_mlib, libvlc_exception_t p_e);
464 LibVlcMediaList libvlc_media_library_media_list(LibVlcMediaLibrary p_mlib, libvlc_exception_t p_e);
466 LibVlcMediaList libvlc_media_list_new(LibVlcInstance p_libvlc, libvlc_exception_t p_e);
468 void libvlc_media_list_release(LibVlcMediaList p_ml);
470 void libvlc_media_list_retain(LibVlcMediaList p_ml);
472 void libvlc_media_list_set_media(LibVlcMediaList p_ml, LibVlcMedia p_mi, libvlc_exception_t p_e);
474 LibVlcMedia libvlc_media_list_media(LibVlcMediaList p_ml, libvlc_exception_t p_e);
476 void libvlc_media_list_add_media(LibVlcMediaList p_ml, LibVlcMedia p_mi, libvlc_exception_t p_e);
478 void libvlc_media_list_insert_media(LibVlcMediaList p_ml, LibVlcMedia p_mi, int i_pos, libvlc_exception_t p_e);
480 void libvlc_media_list_remove_index(LibVlcMediaList p_ml, int i_pos, libvlc_exception_t p_e);
482 int libvlc_media_list_count(LibVlcMediaList p_mlist, libvlc_exception_t p_e);
484 LibVlcMedia libvlc_media_list_item_at_index(LibVlcMediaList p_ml, int i_pos, libvlc_exception_t p_e);
486 int libvlc_media_list_index_of_item(LibVlcMediaList p_ml, LibVlcMedia p_mi, libvlc_exception_t p_e);
488 int libvlc_media_list_is_readonly(LibVlcMediaList p_mlist);
490 void libvlc_media_list_lock(LibVlcMediaList p_ml);
492 void libvlc_media_list_unlock(LibVlcMediaList p_ml);
494 LibVlcMediaListView libvlc_media_list_flat_view(LibVlcMediaList p_ml, libvlc_exception_t p_ex);
496 LibVlcMediaListView libvlc_media_list_hierarchical_view(LibVlcMediaList p_ml, libvlc_exception_t p_ex);
498 LibVlcMediaListView libvlc_media_list_hierarchical_node_view(LibVlcMediaList p_ml, libvlc_exception_t p_ex);
500 LibVlcEventManager libvlc_media_list_event_manager(LibVlcMediaList p_ml, libvlc_exception_t p_ex);
502 LibVlcMediaListPlayer libvlc_media_list_player_new(LibVlcInstance p_instance, libvlc_exception_t p_e);
504 void libvlc_media_list_player_release(LibVlcMediaListPlayer p_mlp);
506 LibVlcEventManager libvlc_media_list_player_event_manager(LibVlcMediaListPlayer p_mlp);
508 void libvlc_media_list_player_set_media_player(LibVlcMediaListPlayer p_mlp, LibVlcMediaPlayer p_mi,
509 libvlc_exception_t p_e);
511 void libvlc_media_list_player_set_media_list(LibVlcMediaListPlayer p_mlp, LibVlcMediaList p_mlist,
512 libvlc_exception_t p_e);
514 void libvlc_media_list_player_play(LibVlcMediaListPlayer p_mlp, libvlc_exception_t p_e);
516 void libvlc_media_list_player_pause(LibVlcMediaListPlayer p_mlp, libvlc_exception_t p_e);
518 int libvlc_media_list_player_is_playing(LibVlcMediaListPlayer p_mlp, libvlc_exception_t p_e);
520 int libvlc_media_list_player_get_state(LibVlcMediaListPlayer p_mlp, libvlc_exception_t p_e);
522 void libvlc_media_list_player_play_item_at_index(LibVlcMediaListPlayer p_mlp, int i_index, libvlc_exception_t p_e);
524 void libvlc_media_list_player_play_item(LibVlcMediaListPlayer p_mlp, LibVlcMedia p_md, libvlc_exception_t p_e);
526 void libvlc_media_list_player_stop(LibVlcMediaListPlayer p_mlp, libvlc_exception_t p_e);
528 void libvlc_media_list_player_next(LibVlcMediaListPlayer p_mlp, libvlc_exception_t p_e);
530 void libvlc_media_list_player_previous(LibVlcMediaListPlayer p_mlp, libvlc_exception_t p_e);
532 void libvlc_media_list_player_set_playback_mode(LibVlcMediaListPlayer p_mlp, PlaybackMode e_mode,
533 libvlc_exception_t p_e);
535 void libvlc_media_list_view_retain(LibVlcMediaListView p_mlv);
537 void libvlc_media_list_view_release(LibVlcMediaListView p_mlv);
539 LibVlcEventManager libvlc_media_list_view_event_manager(LibVlcMediaListView p_mlv);
541 int libvlc_media_list_view_count(LibVlcMediaListView p_mlv, libvlc_exception_t p_e);
543 LibVlcMedia libvlc_media_list_view_item_at_index(LibVlcMediaListView p_mlv, int i_index, libvlc_exception_t p_e);
545 LibVlcMediaListView libvlc_media_list_view_children_at_index(LibVlcMediaListView p_mlv, int index,
546 libvlc_exception_t p_e);
548 LibVlcMediaListView libvlc_media_list_view_children_for_item(LibVlcMediaListView p_mlv, LibVlcMedia p_md,
549 libvlc_exception_t p_e);
551 LibVlcMediaList libvlc_media_list_view_parent_media_list(LibVlcMediaListView p_mlv, libvlc_exception_t p_e);
553 LibVlcMediaPlayer libvlc_media_player_new(LibVlcInstance p_libvlc_instance, libvlc_exception_t p_e);
555 LibVlcMediaPlayer libvlc_media_player_new_from_media(LibVlcMedia p_md, libvlc_exception_t p_e);
557 void libvlc_media_player_release(LibVlcMediaPlayer p_mi);
559 void libvlc_media_player_retain(LibVlcMediaPlayer p_mi);
561 void libvlc_media_player_set_media(LibVlcMediaPlayer p_mi, LibVlcMedia p_md, libvlc_exception_t p_e);
563 LibVlcMedia libvlc_media_player_get_media(LibVlcMediaPlayer p_mi, libvlc_exception_t p_e);
565 LibVlcEventManager libvlc_media_player_event_manager(LibVlcMediaPlayer p_mi, libvlc_exception_t p_e);
567 int libvlc_media_player_is_playing(LibVlcMediaPlayer p_mi, libvlc_exception_t p_e);
569 void libvlc_media_player_play(LibVlcMediaPlayer p_mi, libvlc_exception_t p_e);
571 void libvlc_media_player_pause(LibVlcMediaPlayer p_mi, libvlc_exception_t p_e);
573 void libvlc_media_player_stop(LibVlcMediaPlayer p_mi, libvlc_exception_t p_e);
575 void libvlc_media_player_set_nsobject(LibVlcMediaPlayer p_mi, Pointer drawable, libvlc_exception_t p_e);
577 Pointer libvlc_media_player_get_nsobject(LibVlcMediaPlayer p_mi);
579 void libvlc_media_player_set_agl(LibVlcMediaPlayer p_mi, long drawable, libvlc_exception_t p_e);
581 long libvlc_media_player_get_agl(LibVlcMediaPlayer p_mi);
583 void libvlc_media_player_set_xwindow(LibVlcMediaPlayer p_mi, long drawable, libvlc_exception_t p_e);
585 long libvlc_media_player_get_xwindow(LibVlcMediaPlayer p_mi);
587 void libvlc_media_player_set_hwnd(LibVlcMediaPlayer p_mi, long drawable, libvlc_exception_t p_e);
589 Pointer libvlc_media_player_get_hwnd(LibVlcMediaPlayer p_mi);
591 long libvlc_media_player_get_length(LibVlcMediaPlayer p_mi, libvlc_exception_t p_e);
593 long libvlc_media_player_get_time(LibVlcMediaPlayer p_mi, libvlc_exception_t p_e);
595 void libvlc_media_player_set_time(LibVlcMediaPlayer p_mi, long the, libvlc_exception_t p_e);
597 float libvlc_media_player_get_position(LibVlcMediaPlayer p_mi, libvlc_exception_t p_e);
599 void libvlc_media_player_set_position(LibVlcMediaPlayer p_mi, float f_pos, libvlc_exception_t p_e);
601 void libvlc_media_player_set_chapter(LibVlcMediaPlayer p_mi, int i_chapter, libvlc_exception_t p_e);
603 int libvlc_media_player_get_chapter(LibVlcMediaPlayer p_mi, libvlc_exception_t p_e);
605 int libvlc_media_player_get_chapter_count(LibVlcMediaPlayer p_mi, libvlc_exception_t p_e);
607 int libvlc_media_player_will_play(LibVlcMediaPlayer p_mi, libvlc_exception_t p_e);
609 int libvlc_media_player_get_chapter_count_for_title(LibVlcMediaPlayer p_mi, int i_title, libvlc_exception_t p_e);
611 void libvlc_media_player_set_title(LibVlcMediaPlayer p_mi, int i_title, libvlc_exception_t p_e);
613 int libvlc_media_player_get_title(LibVlcMediaPlayer p_mi, libvlc_exception_t p_e);
615 int libvlc_media_player_get_title_count(LibVlcMediaPlayer p_mi, libvlc_exception_t p_e);
617 void libvlc_media_player_previous_chapter(LibVlcMediaPlayer p_mi, libvlc_exception_t p_e);
619 void libvlc_media_player_next_chapter(LibVlcMediaPlayer p_mi, libvlc_exception_t p_e);
621 float libvlc_media_player_get_rate(LibVlcMediaPlayer p_mi, libvlc_exception_t p_e);
623 void libvlc_media_player_set_rate(LibVlcMediaPlayer p_mi, float movie, libvlc_exception_t p_e);
625 int libvlc_media_player_get_state(LibVlcMediaPlayer p_mi, libvlc_exception_t p_e);
627 float libvlc_media_player_get_fps(LibVlcMediaPlayer p_mi, libvlc_exception_t p_e);
629 int libvlc_media_player_has_vout(LibVlcMediaPlayer p_md, libvlc_exception_t p_e);
631 int libvlc_media_player_is_seekable(LibVlcMediaPlayer p_mi, libvlc_exception_t p_e);
633 int libvlc_media_player_can_pause(LibVlcMediaPlayer p_mi, libvlc_exception_t p_e);
635 void libvlc_media_player_next_frame(LibVlcMediaPlayer p_input, libvlc_exception_t p_e);
637 void libvlc_track_description_release(LibVlcTrackDescription p_track_description);
639 void libvlc_toggle_fullscreen(LibVlcMediaPlayer p_mediaplayer, libvlc_exception_t p_e);
641 void libvlc_set_fullscreen(LibVlcMediaPlayer p_mediaplayer, int b_fullscreen, libvlc_exception_t p_e);
643 int libvlc_get_fullscreen(LibVlcMediaPlayer p_mediaplayer, libvlc_exception_t p_e);
645 int libvlc_video_get_height(LibVlcMediaPlayer p_mediaplayer, libvlc_exception_t p_e);
647 int libvlc_video_get_width(LibVlcMediaPlayer p_mediaplayer, libvlc_exception_t p_e);
649 float libvlc_video_get_scale(LibVlcMediaPlayer p_mediaplayer, libvlc_exception_t p_e);
651 void libvlc_video_set_scale(LibVlcMediaPlayer p_mediaplayer, float i_factor, libvlc_exception_t p_e);
653 String libvlc_video_get_aspect_ratio(LibVlcMediaPlayer p_mediaplayer, libvlc_exception_t p_e);
655 void libvlc_video_set_aspect_ratio(LibVlcMediaPlayer p_mediaplayer, String psz_aspect, libvlc_exception_t p_e);
657 int libvlc_video_get_spu(LibVlcMediaPlayer p_mediaplayer, libvlc_exception_t p_e);
659 int libvlc_video_get_spu_count(LibVlcMediaPlayer p_mediaplayer, libvlc_exception_t p_e);
661 LibVlcTrackDescription libvlc_video_get_spu_description(LibVlcMediaPlayer p_mediaplayer, libvlc_exception_t p_e);
663 void libvlc_video_set_spu(LibVlcMediaPlayer p_mediaplayer, int i_spu, libvlc_exception_t p_e);
665 int libvlc_video_set_subtitle_file(LibVlcMediaPlayer p_mediaplayer, String psz_subtitle, libvlc_exception_t p_e);
667 LibVlcTrackDescription libvlc_video_get_title_description(LibVlcMediaPlayer p_mediaplayer, libvlc_exception_t p_e);
669 LibVlcTrackDescription libvlc_video_get_chapter_description(LibVlcMediaPlayer p_mediaplayer, int i_title,
670 libvlc_exception_t p_e);
672 String libvlc_video_get_crop_geometry(LibVlcMediaPlayer p_mediaplayer, libvlc_exception_t p_e);
674 void libvlc_video_set_crop_geometry(LibVlcMediaPlayer p_mediaplayer, String psz_geometry, libvlc_exception_t p_e);
676 void libvlc_toggle_teletext(LibVlcMediaPlayer p_mediaplayer, libvlc_exception_t p_e);
678 int libvlc_video_get_teletext(LibVlcMediaPlayer p_mediaplayer, libvlc_exception_t p_e);
680 void libvlc_video_set_teletext(LibVlcMediaPlayer p_mediaplayer, int i_page, libvlc_exception_t p_e);
682 int libvlc_video_get_track_count(LibVlcMediaPlayer p_mi, libvlc_exception_t p_e);
684 LibVlcTrackDescription libvlc_video_get_track_description(LibVlcMediaPlayer p_mi, libvlc_exception_t p_e);
686 int libvlc_video_get_track(LibVlcMediaPlayer p_mi, libvlc_exception_t p_e);
688 void libvlc_video_set_track(LibVlcMediaPlayer p_mi, int i_track, libvlc_exception_t p_e);
690 void libvlc_video_take_snapshot(LibVlcMediaPlayer p_mi, String psz_filepath, int i_width, int i_height,
691 libvlc_exception_t p_e);
693 void libvlc_video_set_deinterlace(LibVlcMediaPlayer p_mi, int b_enable, String psz_mode, libvlc_exception_t p_e);
695 int libvlc_video_get_marquee_option_as_int(LibVlcMediaPlayer p_mi, VideoMarqueeIntOption option,
696 libvlc_exception_t p_e);
698 String libvlc_video_get_marquee_option_as_string(LibVlcMediaPlayer p_mi, VideoMarqueeStringOption option,
699 libvlc_exception_t p_e);
701 void libvlc_video_set_marquee_option_as_int(LibVlcMediaPlayer p_mi, VideoMarqueeIntOption option, int i_val,
702 libvlc_exception_t p_e);
704 void libvlc_video_set_marquee_option_as_string(LibVlcMediaPlayer p_mi, VideoMarqueeStringOption option,
705 String psz_text, libvlc_exception_t p_e);
707 LibVlcAudioOutput libvlc_audio_output_list_get(LibVlcInstance p_instance, libvlc_exception_t p_e);
709 void libvlc_audio_output_list_release(LibVlcAudioOutput p_list);
711 int libvlc_audio_output_set(LibVlcInstance p_instance, String psz_name);
713 int libvlc_audio_output_device_count(LibVlcInstance p_instance, String psz_audio_output);
715 String libvlc_audio_output_device_longname(LibVlcInstance p_instance, String psz_audio_output, int i_device);
717 String libvlc_audio_output_device_id(LibVlcInstance p_instance, String psz_audio_output, int i_device);
719 void libvlc_audio_output_device_set(LibVlcInstance p_instance, String psz_audio_output, String psz_device_id);
721 int libvlc_audio_output_get_device_type(LibVlcInstance p_instance, libvlc_exception_t p_e);
723 void libvlc_audio_output_set_device_type(LibVlcInstance p_instance, int device_type, libvlc_exception_t p_e);
725 void libvlc_audio_toggle_mute(LibVlcInstance p_instance, libvlc_exception_t p_e);
727 int libvlc_audio_get_mute(LibVlcInstance p_instance, libvlc_exception_t p_e);
729 void libvlc_audio_set_mute(LibVlcInstance p_instance, int status, libvlc_exception_t p_e);
731 int libvlc_audio_get_volume(LibVlcInstance p_instance, libvlc_exception_t p_e);
733 void libvlc_audio_set_volume(LibVlcInstance p_instance, int i_volume, libvlc_exception_t p_e);
735 int libvlc_audio_get_track_count(LibVlcMediaPlayer p_mi, libvlc_exception_t p_e);
737 LibVlcTrackDescription libvlc_audio_get_track_description(LibVlcMediaPlayer p_mi, libvlc_exception_t p_e);
739 int libvlc_audio_get_track(LibVlcMediaPlayer p_mi, libvlc_exception_t p_e);
741 void libvlc_audio_set_track(LibVlcMediaPlayer p_mi, int i_track, libvlc_exception_t p_e);
743 int libvlc_audio_get_channel(LibVlcInstance p_instance, libvlc_exception_t p_e);
745 void libvlc_audio_set_channel(LibVlcInstance p_instance, int channel, libvlc_exception_t p_e);
747 void libvlc_vlm_release(LibVlcInstance p_instance, libvlc_exception_t p_e);
749 void libvlc_vlm_add_broadcast(LibVlcInstance p_instance, String psz_name, String psz_input, String psz_output,
750 int i_options, String[] ppsz_options, int b_enabled, int b_loop, libvlc_exception_t p_e);
752 void libvlc_vlm_add_vod(LibVlcInstance p_instance, String psz_name, String psz_input, int i_options,
753 String[] ppsz_options, int b_enabled, String psz_mux, libvlc_exception_t p_e);
755 void libvlc_vlm_del_media(LibVlcInstance p_instance, String psz_name, libvlc_exception_t p_e);
757 void libvlc_vlm_set_enabled(LibVlcInstance p_instance, String psz_name, int b_enabled, libvlc_exception_t p_e);
759 void libvlc_vlm_set_output(LibVlcInstance p_instance, String psz_name, String psz_output, libvlc_exception_t p_e);
761 void libvlc_vlm_set_input(LibVlcInstance p_instance, String psz_name, String psz_input, libvlc_exception_t p_e);
763 void libvlc_vlm_add_input(LibVlcInstance p_instance, String psz_name, String psz_input, libvlc_exception_t p_e);
765 void libvlc_vlm_set_loop(LibVlcInstance p_instance, String psz_name, int b_loop, libvlc_exception_t p_e);
767 void libvlc_vlm_set_mux(LibVlcInstance p_instance, String psz_name, String psz_mux, libvlc_exception_t p_e);
769 void libvlc_vlm_change_media(LibVlcInstance p_instance, String psz_name, String psz_input, String psz_output,
770 int i_options, String[] ppsz_options, int b_enabled, int b_loop, libvlc_exception_t p_e);
772 void libvlc_vlm_play_media(LibVlcInstance p_instance, String psz_name, libvlc_exception_t p_e);
774 void libvlc_vlm_stop_media(LibVlcInstance p_instance, String psz_name, libvlc_exception_t p_e);
776 void libvlc_vlm_pause_media(LibVlcInstance p_instance, String psz_name, libvlc_exception_t p_e);
778 void libvlc_vlm_seek_media(LibVlcInstance p_instance, String psz_name, float f_percentage, libvlc_exception_t p_e);
780 String libvlc_vlm_show_media(LibVlcInstance p_instance, String psz_name, libvlc_exception_t p_e);
782 float libvlc_vlm_get_media_instance_position(LibVlcInstance p_instance, String psz_name, int i_instance,
783 libvlc_exception_t p_e);
785 int libvlc_vlm_get_media_instance_time(LibVlcInstance p_instance, String psz_name, int i_instance,
786 libvlc_exception_t p_e);
788 int libvlc_vlm_get_media_instance_length(LibVlcInstance p_instance, String psz_name, int i_instance,
789 libvlc_exception_t p_e);
791 int libvlc_vlm_get_media_instance_rate(LibVlcInstance p_instance, String psz_name, int i_instance,
792 libvlc_exception_t p_e);
794 int libvlc_vlm_get_media_instance_title(LibVlcInstance p_instance, String psz_name, int i_instance,
795 libvlc_exception_t p_e);
797 int libvlc_vlm_get_media_instance_chapter(LibVlcInstance p_instance, String psz_name, int i_instance,
798 libvlc_exception_t p_e);
800 int libvlc_vlm_get_media_instance_seekable(LibVlcInstance p_instance, String psz_name, int i_instance,
801 libvlc_exception_t p_e);
803 LibVlcEventManager libvlc_vlm_get_event_manager(LibVlcInstance p_instance, libvlc_exception_t p_exception);