Difference between revisions of "MediaControlIDL"
Jump to navigation
Jump to search
m |
m (syntaxhighlight) |
||
Line 1: | Line 1: | ||
{{Historical|The MediaControl IDL API was removed in 2010. Use the modern [[Python bindings|LibVLC Python API]] instead.}} | {{Historical|The MediaControl IDL API was removed in 2010. Use the modern [[Python bindings|LibVLC Python API]] instead.}} | ||
:''This page formerly contained example code for Python bindings.'' | :''This page formerly contained example code for Python bindings.'' | ||
− | < | + | <syntaxhighlight lang="c"> |
module VLC { | module VLC { | ||
Line 192: | Line 192: | ||
}; | }; | ||
}; | }; | ||
− | </ | + | </syntaxhighlight> |
[[Category:Example code]] | [[Category:Example code]] |
Revision as of 09:34, 29 January 2019
This page is obsolete and kept only for historical interest. It may document features that are obsolete, superseded, or irrelevant. Do not rely on the information here being up-to-date. Additional information: The MediaControl IDL API was removed in 2010. Use the modern LibVLC Python API instead. |
- This page formerly contained example code for Python bindings.
module VLC {
const float VERSION = 1.0;
enum PositionOrigin {
AbsolutePosition,
RelativePosition,
// Like relative, but wraps at the end of a file for instance:
ModuloPosition
};
enum PositionKey {
// For raw access
ByteCount,
// Frame number
SampleCount,
// In milliseconds
MediaTime
};
struct Position {
PositionOrigin origin;
PositionKey key;
long long value;
};
exception PositionKeyNotSupported { string message; };
exception PositionOriginNotSupported { string message; };
exception InvalidPosition { string message; };
exception PlaylistException { string message; };
exception InternalException { string message; };
typedef sequence<string> PlaylistSeq;
typedef sequence<octet> ByteSeq;
struct RGBPicture {
short width;
short height;
long type;
ByteSeq data;
// Timestamp (absolute position in the movie) in ms
long long date;
};
struct StreamInformation {
short width;
short height;
float aspect_ratio;
long bitrate;
string codec;
string author;
};
typedef sequence<RGBPicture> RGBPictureSeq;
enum PlayerStatus { PlayingStatus, PauseStatus, ForwardStatus, BackwardStatus, InitStatus, EndStatus, UndefinedStatus };
struct StatusInformation {
PlayerStatus streamstatus;
string url; /* The URL of the current media stream */
long long position; /* actual location in the stream (in ms) */
long long length; /* total length of the stream (in ms) */
};
interface Playlist
{
// Return a playlist item id
int add(in string a_file)
raises (PlaylistException);
void next(in string a_file)
raises (PlaylistException);
void prev(in string a_file)
raises (PlaylistException);
// Set the new current item
void set(int item_id)
raises (PlaylistException);
void remove(int item_id)
raises (PlaylistException);
// Clear the whole playlist
void clear ()
raises (PlaylistException);
// Return the list of files in playlist
PlaylistSeq get_list ()
raises (PlaylistException);
}
// MediaControl interface is similar to
// ControlledStream interface in MSS.
// It can be inherited by flow endpoints or
// FlowConnection interfaces.
interface MediaControl
{
// *** Initialization
// Exit the player
oneway void exit ();
// Return the IDL API version
string get_api_version();
// Return the player version (player name version)
string get_player_version();
// *** Playback control
// The a_position parameters are facultative.
void start(in Position a_position)
raises (InternalException, InvalidPosition, PlaylistException);
void pause(in Position a_position)
raises (InternalException, InvalidPosition);
void resume(in Position a_position)
raises (InternalException, InvalidPosition);
void stop(in Position a_position)
raises (InternalException, InvalidPosition);
Position get_media_position(in PositionOrigin an_origin,
in PositionKey a_key)
raises (InternalException, PositionKeyNotSupported);
void set_media_position(in Position a_position)
raises (InternalException, PositionKeyNotSupported, InvalidPosition);
// Rate control. The rate is a signed value, corresponding to
// the percentage of the speed ( 100 = normal, -100 = reverse...)
int get_rate()
raises (InternalException);
void set_rate(int rate)
raises (InternalException);
// *** Media information
StatusInformation get_status_information ()
raises (InternalException);
// Return information about the current stream
StreamInformation get_stream_information ()
raises (InternalException);
// *** Playlist handling
Playlist playlist()
raises (InternalException);
// *** Video
// Return a snapshot of the currently displayed picture
RGBPicture snapshot (in Position a_position)
raises (InternalException);
// Return the whole snapshot cache contents
RGBPictureSeq all_snapshots ()
raises (InternalException);
// Display the message string as caption,
// between "begin" and "end" positions
void render_text (in string message, in Position begin, in Position end)
raises (InternalException);
// Set the visual ID (XID in X-Window, HWIN on Win32, ??? on MacOS
// X) for the player window
void set_visual(long xid)
raises (InternalException);
boolean get_fullscreen()
raises (InternalException);
void set_fullscreen(boolean full)
raises (InternalException);
// *** Audio
// Volume is normalized in [0..100]
unsigned short sound_get_volume()
raises (InternalException);
void sound_set_volume(in unsigned short volume)
raises (InternalException);
void sound_mute()
raises (InternalException);
};
};