00001
00002
00003
00004 module VLC {
00005
00006 const float VERSION = 0.1;
00007
00008 enum PositionOrigin {
00009 AbsolutePosition, RelativePosition, ModuloPosition
00010 };
00011
00012 enum PositionKey {
00013 ByteCount, SampleCount, MediaTime
00014 };
00015
00016 struct Position {
00017 PositionOrigin origin;
00018 PositionKey key;
00019 long long value;
00020 };
00021
00022 exception PositionKeyNotSupported { string message; };
00023 exception PositionOriginNotSupported { string message; };
00024 exception InvalidPosition { string message; };
00025 exception PlaylistException { string message; };
00026 exception InternalException { string message; };
00027
00028 typedef sequence<string> PlaylistSeq;
00029 typedef sequence<octet> ByteSeq;
00030
00031 struct RGBPicture {
00032 short width;
00033 short height;
00034 long type;
00035 ByteSeq data;
00036 long long date;
00037 };
00038
00039 typedef sequence<RGBPicture> RGBPictureSeq;
00040
00041
00042 enum PlayerStatus { PlayingStatus, PauseStatus, ForwardStatus, BackwardStatus, InitStatus, EndStatus, UndefinedStatus };
00043
00044 struct StreamInformation {
00045 PlayerStatus streamstatus;
00046 string url;
00047 long long position;
00048 long long length;
00049 };
00050
00051
00052
00053
00054
00055 interface MediaControl
00056 {
00057 Position get_media_position(in PositionOrigin an_origin,
00058 in PositionKey a_key)
00059 raises (InternalException, PositionKeyNotSupported);
00060
00061 void set_media_position(in Position a_position)
00062 raises (InternalException, PositionKeyNotSupported, InvalidPosition);
00063
00064 void start(in Position a_position)
00065 raises (InternalException, InvalidPosition, PlaylistException);
00066 void pause(in Position a_position)
00067 raises (InternalException, InvalidPosition);
00068 void resume(in Position a_position)
00069 raises (InternalException, InvalidPosition);
00070 void stop(in Position a_position)
00071 raises (InternalException, InvalidPosition);
00072
00073 oneway void exit ();
00074
00075 void playlist_add_item (in string a_file)
00076 raises (PlaylistException);
00077 void playlist_clear ()
00078 raises (PlaylistException);
00079
00080 PlaylistSeq playlist_get_list ()
00081 raises (PlaylistException);
00082
00083
00084 RGBPicture snapshot (in Position a_position)
00085 raises (InternalException);
00086
00087 RGBPictureSeq all_snapshots ()
00088 raises (InternalException);
00089
00090
00091 void display_text (in string message, in Position begin, in Position end)
00092 raises (InternalException);
00093
00094 StreamInformation get_stream_information ()
00095 raises (InternalException);
00096
00097 unsigned short sound_get_volume()
00098 raises (InternalException);
00099
00100 void sound_set_volume(in unsigned short volume)
00101 raises (InternalException);
00102
00103 };
00104 };