Various types of classes that provide timing.
The media clock/timing extends the media port concept that is explained in Media Ports Framework. When clock is present in the ports interconnection, media will flow automatically (and with correct timing too!) from one media port to another.
There are few objects in PJMEDIA that are able to provide clock/timing to media ports interconnection:
The sound device makes a good candidate as the clock source, and PJMEDIA Portable Sound Hardware Abstraction is designed so that it is able to invoke operations according to timing driven by the sound hardware clock (this may sound complicated, but actually it just means that the sound device abstraction provides callbacks to be called when it has/wants media frames).
See Sound Device Port for more details.
The master port uses Clock Generator as the clock source. By using Master Port, it is possible to interconnect passive media ports and let the frames flow automatically in timely manner.
Please see Master Port for more details.