Table of Contents
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:
zero thread capable
Some audio processing algorithms implemented in PJMEDIA.
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:
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.
Because PJMEDIA has no thread, a “clock” must be provided to make the media frames flow inside the media pipeline in a timely manner.
The endpoint is a singleton runtime “manager” for PJMEDIA framework.