Core
PJMEDIA was designed to be applicable in broad range of systems, from desktop to mobile, embedded, and maybe even DSP. These are the core considerations for such design:
any clockrates
N-channels support
zero thread capable
Audio Features
Some audio processing algorithms implemented in PJMEDIA.
Video Features
Tip
See also Video User's Guide
Transports
Media transport is responsible for packing/unpacking media frames to/from the network, as well as getting involved in negotiation of suitable transport in SDP. Media transports can also be chained in a pipeline (for example, SRTP+ICE).
Media transports implemented by community:
Media components (Ports)
Port is PJMEDIA component for processing media frames. Media ports can be linked in a pipeline to process audio/video frames end-to-end from audio device to the network/transport.
Clock provider
Because PJMEDIA has no thread, a “clock” must be provided to make the media frames flow inside the media pipeline in a timely manner.
Codec Framework
-
Note
For list of supported codecs, see Supported codecs.
SDP
RTP and RTCP
Compile Time Settings
Basic Types and Functions
Endpoint
The endpoint is a singleton runtime “manager” for PJMEDIA framework.