MediaControlAPI
Revision as of 12:37, 16 June 2005 by OlivierAubert (talk | contribs)
Description
The MediaControl API is the extended API to control VLC from external applications (extension of LibVLC). Its core part (playback control) has been taken from the OMG Audio/Video Stream specification, and extended with additional functionalities.
The API is defined in "include/vlc/control.h" and implemented in "src/control".
The Doxygen documentation can be found at [1].
Current status
The API currently includes functions for the following things:
- Audio/Video
- Snapshot control
- OSD display
- Volume setting
- Playback
- Basic features (play/pause/stop)
- Seeking
- Basic playlist interaction
- Stream information
Current uses
The MediaControl API is used by the following modules :
- the python binding
- the CORBA interface module
Foreseen evolutions
The following evolutions should be integrated in the API, but discussion is necessary to ensure that they are sufficiently flexible to match various needs :
- sound_[sg]et_volume: normalize volume in [0..100]
- implement set_visual() (for embedding the vout)
- implement get_aspect_ratio (or get_dimensions ?)
- implement get_api_version() or get_capabilities() (which would return the list of capabilities supported by the player: ("core", "svg", "snapshot", etc)
- implement get/set_rate()
- Complete the implementation. For instance, the frame-by-frame unit (mediacontrol_SampleCount) is not implemented, and the stop/pause do not take the Position parameter into account (they are applied immediately).
Todo
- General cleanup of the functions to adapt to VLC coding style
- Write Doxygen documentation
- Add VLM control
- Bind the new API to Java and .NET