Pause methods in Mobile Player SDK

In general, the internal pipeline of the player is following:
SOURCE -> {buffer1} -> DECODER A/V -> {buffer2} -> RENDERER A/V

There are 3 pause methods that stop the pipeline in different ways:

  • (void) Pause;

  • (void) PauseWithFlush;

  • (void) PauseWithBuffering;

Pause - normal pause
The entire pipeline stops;
All internal buffers remain untouched;
The Play method will simply resume the work of the pipeline.

PauseWithFlush - pause with flushing internal buffers on Play
The entire pipeline stops;
All internal buffers remain untouched;
The Play method will flush all internal buffers (buffer1, buffer2) and the pipeline will start re-acquiring data.

PauseWithBuffering - pause with a working SOURCE
The pipeline stops except for the SOURCE. It still gets data until the internal buffer (buffer1) is full. Then it waits for the available space;
Internal buffers remain untouched, except the buffer1
The Play method will simply resume the work of the pipeline.