Difference between revisions of "MediaControlAPI"
Jump to navigation
Jump to search
Line 31: | Line 31: | ||
The following evolutions should be integrated in the API, but discussion is necessary to ensure that they are sufficiently flexible to match various needs : | 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] | * sound_[sg]et_volume: normalize volume in [0..100] | ||
− | * implement set_visual() (for embedding the vout) | + | * implement set_visual() (for embedding the vout) -- for the moment, you can use the vlc.Object layer of the python module to define the "drawable" parameter. |
* implement get_aspect_ratio (or get_dimensions ?) | * 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_api_version() or get_capabilities() (which would return the list of capabilities supported by the player: ("core", "svg", "snapshot", etc) |
Revision as of 15:30, 4 July 2005
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:
- Playback
- Basic features (play/pause/stop)
- Seeking
- Basic playlist interaction
- Stream information
- Audio/Video
- Snapshot control
- OSD display
- Volume setting
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) -- for the moment, you can use the vlc.Object layer of the python module to define the "drawable" parameter.
- 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