Limitations and behavior at various rates of playback

Using different rates of playback has an effect on what features are enabled and what actions are allowed.

The following apply during trick-play mode (fast forward and fast rewind):
  • The master playlist must contain I-frame-only segments.
  • Only the key frames from the I-frame track are displayed on the screen.
  • Play and pause are enabled.
  • Seek is disallowed. If you need to seek, call pause to get out of trick play mode and then call seek.
  • The adaptive bit rate (ABR) logic is disabled. A single bit rate is chosen and used during the entire trick-play session. The chosen bit rate is between the lowest provided one and 800 kbps.
  • The audio track and closed captions are disabled.
  • When ads are incorporated into the stream:
    • Ad breaks are ignored and no ad events are fired.
    • The MediaPlayerEvent.AD_BREAK_SKIPPED event is raised right before an ad break is about to be skipped. The reason property indicates that trick-play has caused the skip operation (seek can also cause skips). Your player application can use this event to implement custom logic related to the skipped ad breaks.
    • When returning from trick play, a seek operation is performed internally on the return position. This means that the selected ad playback policy related to seek over ads applies also when returning from trick play. The default behavior would be that the last skipped ad break is played each time the player returns from trick-play mode, forcing the playback to resume to the selected return position only after the last skipped ad break plays. This behavior depends on your application's selected ad policy and can change when the policy changes.
    • The timeline exposed by PSDK to your player app is not modified even if ad breaks are skipped. The PSDK informs your application with the AD_BREAK_SKIPPED event that an ad break is about to be skipped, even it is present on the timeline.
    • The current time value jumps forward (on fast forward) or backward (on fast rewind) with the duration of the skipped ad break. This jump behavior for the current time allows the stream duration to remain unmodified during trick play. Your player application can get the local time value to track the time relative only to the main content. No time jumps are performed on the values returned for the local time when skipping an ad.
    • Your player application can transition to trick play only while playing the main content. An error is dispatched if the application tries to switch to trick play while playing an ad break.
    • You cannot change the rate to trick play mode when you are in the allowed playback rate range and within an ad break.
    • You can drop out of trick play mode into play, pause, or slow motion (that is, the allowed playback rates) and all the removed ads are restored.
    • You can enter trick play mode from any of the allowed playback rates, and only at that point ads are removed from the timeline.
The following apply during slow-motion playback:
  • All HLS streams support slow-motion playback (the I-frame playlist is not used in this case).
  • The audio track is disabled; closed captions continue to render.
  • ABR logic continues to work.
  • Ad-related workflows are the same as for normal playback.
  • Play, pause, and seek behavior is the same as for trick play.
  • When ads are incorporated into the stream:
    • Ads are not removed from the timeline and ad breaks are not skipped.