PJMEDIA Core

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

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

SDP

RTP and RTCP

Compile Time Settings

Basic Types and Functions

Endpoint

The endpoint is a singleton runtime “manager” for PJMEDIA framework.

Formats

Media Flow

Events