Index: chromecast/media/cma/backend/media_pipeline_device_params.h |
diff --git a/chromecast/media/cma/backend/media_pipeline_device_params.h b/chromecast/media/cma/backend/media_pipeline_device_params.h |
index 9bf9c044f165e39674ee7b106e6561f31ded5236..d13e4e3a188b948829e4886b96f1e0d7c2baba6c 100644 |
--- a/chromecast/media/cma/backend/media_pipeline_device_params.h |
+++ b/chromecast/media/cma/backend/media_pipeline_device_params.h |
@@ -12,17 +12,25 @@ namespace media { |
class MediaPipelineDeviceParams { |
public: |
+ enum MediaSyncType { |
+ // Default operation, synchronize playback using PTS with higher latency. |
+ kModeSyncPts = 0, |
+ // With this mode, synchronization is disabled and audio/video frames are |
+ // rendered "right away": |
+ // - for audio, frames are still rendered based on the sampling frequency |
+ // - for video, frames are rendered as soon as available at the output of |
+ // the video decoder. |
+ // The assumption is that no B frames are used when synchronization is |
+ // disabled, otherwise B frames would always be skipped. |
+ kModeIgnorePts = 1, |
+ // In addition to the constraints above, also do not wait for vsync. |
+ kModeIgnorePtsAndVSync = 2, |
+ }; |
+ |
MediaPipelineDeviceParams(); |
~MediaPipelineDeviceParams(); |
- // When set to true, synchronization is disabled and audio/video frames are |
- // rendered "right away": |
- // - for audio, frames are still rendered based on the sampling frequency |
- // - for video, frames are rendered as soon as available at the output of |
- // the video decoder. |
- // The assumption is that no B frames are used when synchronization is |
- // disabled, otherwise B frames would always be skipped. |
- bool disable_synchronization; |
+ MediaSyncType sync_type; |
}; |
} // namespace media |