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 |