1 package org.videolan.jvlc.internal;
3 import com.sun.jna.Callback;
4 import com.sun.jna.Library;
5 import com.sun.jna.Native;
6 import com.sun.jna.NativeLong;
7 import com.sun.jna.Platform;
8 import com.sun.jna.Pointer;
9 import com.sun.jna.PointerType;
10 import com.sun.jna.Structure;
11 import com.sun.jna.Union;
14 public interface LibVlc extends Library
16 LibVlc INSTANCE = (LibVlc) Native.loadLibrary(Platform.isWindows()? "libvlc" : "vlc", LibVlc.class);
18 LibVlc SYNC_INSTANCE = (LibVlc) Native.synchronizedLibrary(INSTANCE);
20 public static class libvlc_exception_t extends Structure
25 public static class libvlc_log_message_t extends Structure
28 public int sizeof_msg; /* sizeof() of message structure, must be filled in by user */
30 public int i_severity; /* 0=INFO, 1=ERR, 2=WARN, 3=DBG */
32 public String psz_type; /* module type */
34 public String psz_name; /* module name */
36 public String psz_header; /* optional header */
38 public String psz_message; /* message */
41 public static class libvlc_event_t extends Structure
48 public event_type_specific event_type_specific;
52 public class media_meta_changed extends Structure
55 public Pointer meta_type;
58 public class media_subitem_added extends Structure
61 public LibVlcMedia new_child;
64 public class media_duration_changed extends Structure
67 public NativeLong new_duration;
70 public class media_preparsed_changed extends Structure
73 public int new_status;
76 public class media_freed extends Structure
79 public LibVlcMedia md;
82 public class media_state_changed extends Structure
85 // @todo: check this one
91 public class media_player_position_changed extends Structure
94 public float new_position;
97 public class media_player_time_changed extends Structure
100 // @todo: check this one
101 public long new_time;
104 public class media_player_title_changed extends Structure
106 public int new_title;
109 public class media_player_seekable_changed extends Structure
111 public NativeLong new_seekable;
114 public class media_player_pausable_changed extends Structure
116 public NativeLong new_pausable;
120 public class media_list_item_added extends Structure
123 public LibVlcMedia item;
128 public class media_list_will_add_item extends Structure
131 public LibVlcMedia item;
136 public class media_list_item_deleted extends Structure
139 public LibVlcMedia item;
144 public class media_list_will_delete_item extends Structure
147 public LibVlcMedia item;
152 /* media list view */
153 public class media_list_view_item_added extends Structure
156 public LibVlcMedia item;
161 public class media_list_view_will_add_item extends Structure
164 public LibVlcMedia item;
169 public class media_list_view_item_deleted extends Structure
172 public LibVlcMedia item;
177 public class media_list_view_will_delete_item extends Structure
180 public LibVlcMedia item;
185 public class media_list_player_next_item_set extends Structure
187 public LibVlcMedia item;
190 public class media_player_snapshot_taken extends Structure
192 public String psz_filename;
195 public class media_player_length_changed extends Structure
197 // @todo: check the type
198 public long new_length;
201 public class vlm_media_event extends Structure
203 public String psz_media_name;
204 public String psz_instance_name;
207 public class event_type_specific extends Union
210 public media_meta_changed media_meta_changed;
212 public media_subitem_added media_subitem_added;
214 public media_duration_changed media_duration_changed;
216 public media_preparsed_changed media_preparsed_changed;
218 public media_freed media_freed;
220 public media_state_changed media_state_changed;
222 public media_player_position_changed media_player_position_changed;
224 public media_player_time_changed media_player_time_changed;
226 public media_player_title_changed media_player_title_changed;
228 public media_player_seekable_changed media_player_seekable_changed;
230 public media_player_pausable_changed media_player_pausable_changed;
232 public media_list_item_added media_list_item_added;
234 public media_list_will_add_item media_list_will_add_item;
236 public media_list_item_deleted media_list_item_deleted;
238 public media_list_will_delete_item media_list_will_delete_item;
240 public media_list_view_item_added media_list_view_item_added;
242 public media_list_view_will_add_item media_list_view_will_add_item;
244 public media_list_view_item_deleted media_list_view_item_deleted;
246 public media_list_view_will_delete_item media_list_view_will_delete_item;
248 public media_list_player_next_item_set media_list_player_next_item_set;
250 public media_player_snapshot_taken media_player_snapshot_taken;
252 public media_player_length_changed media_player_length_changed;
254 public vlm_media_event vlm_media_event;