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

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