| Index: chromecast/public/media/media_pipeline_device_params.h
|
| diff --git a/chromecast/media/cma/backend/media_pipeline_device_params.h b/chromecast/public/media/media_pipeline_device_params.h
|
| similarity index 64%
|
| rename from chromecast/media/cma/backend/media_pipeline_device_params.h
|
| rename to chromecast/public/media/media_pipeline_device_params.h
|
| index d13e4e3a188b948829e4886b96f1e0d7c2baba6c..62a6be7955634731d7de0fc43a32945308cbe758 100644
|
| --- a/chromecast/media/cma/backend/media_pipeline_device_params.h
|
| +++ b/chromecast/public/media/media_pipeline_device_params.h
|
| @@ -2,16 +2,15 @@
|
| // Use of this source code is governed by a BSD-style license that can be
|
| // found in the LICENSE file.
|
|
|
| -#ifndef CHROMECAST_MEDIA_CMA_BACKEND_MEDIA_PIPELINE_DEVICE_PARAMS_H_
|
| -#define CHROMECAST_MEDIA_CMA_BACKEND_MEDIA_PIPELINE_DEVICE_PARAMS_H_
|
| +#ifndef CHROMECAST_PUBLIC_MEDIA_MEDIA_PIPELINE_DEVICE_PARAMS_H_
|
| +#define CHROMECAST_PUBLIC_MEDIA_MEDIA_PIPELINE_DEVICE_PARAMS_H_
|
|
|
| -#include "base/macros.h"
|
| +#include "task_runner.h"
|
|
|
| namespace chromecast {
|
| namespace media {
|
|
|
| -class MediaPipelineDeviceParams {
|
| - public:
|
| +struct MediaPipelineDeviceParams {
|
| enum MediaSyncType {
|
| // Default operation, synchronize playback using PTS with higher latency.
|
| kModeSyncPts = 0,
|
| @@ -27,10 +26,16 @@ class MediaPipelineDeviceParams {
|
| kModeIgnorePtsAndVSync = 2,
|
| };
|
|
|
| - MediaPipelineDeviceParams();
|
| - ~MediaPipelineDeviceParams();
|
| + MediaPipelineDeviceParams(TaskRunner* task_runner_in)
|
| + : sync_type(kModeSyncPts), task_runner(task_runner_in) {}
|
|
|
| MediaSyncType sync_type;
|
| +
|
| + // task_runner allows backend implementations to post tasks to the media
|
| + // thread. Since all calls from cast_shell into the backend are made on
|
| + // the media thread, this may simplify thread management and safety for
|
| + // some backends.
|
| + TaskRunner* const task_runner;
|
| };
|
|
|
| } // namespace media
|
|
|