PJMEDIA video device abstraction API.
PJMEDIA Video Device API is a cross-platform video API appropriate for use with VoIP applications and many other types of video streaming applications.
The API abstracts many different video API's on various platforms, such as:
- native Direct Show video for Win32 and Windows Mobile devices
- null-video implementation
- and more to be implemented in the future
The Video Device API/library is an evolution from PJMEDIA Portable Sound Hardware Abstraction and contains many enhancements:
- Forward compatibility:
The new API has been designed to be extensible, it will support new API's as well as new features that may be introduced in the future without breaking compatibility with applications that use this API as well as compatibility with existing device implementations.
- Device capabilities:
At the heart of the API is device capabilities management, where all possible video capabilities of video devices should be able to be handled in a generic manner. With this framework, new capabilities that may be discovered in the future can be handled in manner without breaking existing applications.
- Built-in features:
The device capabilities framework enables applications to use and control video features built-in in the device, such as:
- Codec support:
Some video devices support built-in hardware video codecs, and application can use the video device in encoded mode to make use of these hardware codecs.
- Multiple backends:
The new API supports multiple video backends (called factories or drivers in the code) to be active simultaneously, and video backends may be added or removed during run-time.