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 61% |
rename from chromecast/media/cma/backend/media_pipeline_device_params.h |
rename to chromecast/public/media/media_pipeline_device_params.h |
index d13e4e3a188b948829e4886b96f1e0d7c2baba6c..d0165b76e106adbe32968ebe855b0b0e1b7287b8 100644 |
--- a/chromecast/media/cma/backend/media_pipeline_device_params.h |
+++ b/chromecast/public/media/media_pipeline_device_params.h |
@@ -2,16 +2,16 @@ |
// 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: |
+// Supplies creation parameters to platform-specific pipeline backend. |
+struct MediaPipelineDeviceParams { |
enum MediaSyncType { |
// Default operation, synchronize playback using PTS with higher latency. |
kModeSyncPts = 0, |
@@ -27,10 +27,16 @@ class MediaPipelineDeviceParams { |
kModeIgnorePtsAndVSync = 2, |
}; |
- MediaPipelineDeviceParams(); |
- ~MediaPipelineDeviceParams(); |
+ MediaPipelineDeviceParams(TaskRunner* task_runner_in) |
+ : sync_type(kModeSyncPts), task_runner(task_runner_in) {} |
MediaSyncType sync_type; |
byungchul
2015/07/29 20:32:23
const?
halliwell
2015/07/29 22:39:27
Done (and added another constructor).
|
+ |
+ // 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 |