Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(184)

Unified Diff: chromecast/browser/media/media_pipeline_host.h

Issue 1257013003: Load CMA backend from shared library (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: DCHECK on posted task Created 5 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chromecast/browser/media/media_pipeline_host.h
diff --git a/chromecast/browser/media/media_pipeline_host.h b/chromecast/browser/media/media_pipeline_host.h
index d53ba3f9c695787029f6b9ff0dba0c48731ccf86..f626dba702829f582c8dddd8e984e5b9a06c5802 100644
--- a/chromecast/browser/media/media_pipeline_host.h
+++ b/chromecast/browser/media/media_pipeline_host.h
@@ -14,13 +14,11 @@
#include "base/threading/thread_checker.h"
#include "base/time/time.h"
#include "chromecast/common/media/cma_ipc_common.h"
-#include "chromecast/media/cma/backend/media_pipeline_device.h"
#include "chromecast/media/cma/pipeline/load_type.h"
#include "media/base/pipeline_status.h"
namespace base {
class SharedMemory;
-class SingleThreadTaskRunner;
}
namespace media {
@@ -29,22 +27,29 @@ class VideoDecoderConfig;
}
namespace chromecast {
+class TaskRunnerImpl;
+
namespace media {
struct AvPipelineClient;
class BrowserCdmCast;
+class MediaPipelineBackend;
struct MediaPipelineClient;
+struct MediaPipelineDeviceParams;
class MediaPipelineImpl;
struct VideoPipelineClient;
class MediaPipelineHost {
public:
+ // Factory method to create a MediaPipelineBackend
+ typedef base::Callback<scoped_ptr<media::MediaPipelineBackend>(
+ const MediaPipelineDeviceParams&)> CreateDeviceComponentsCB;
+
MediaPipelineHost();
~MediaPipelineHost();
- void Initialize(
- LoadType load_type,
- const MediaPipelineClient& client,
- const media::CreatePipelineDeviceCB& create_pipeline_device_cb);
+ void Initialize(LoadType load_type,
+ const MediaPipelineClient& client,
+ const CreateDeviceComponentsCB& create_device_components_cb);
void SetAvPipe(TrackId track_id,
scoped_ptr<base::SharedMemory> shared_mem,
@@ -71,6 +76,7 @@ class MediaPipelineHost {
private:
base::ThreadChecker thread_checker_;
+ scoped_ptr<TaskRunnerImpl> task_runner_;
scoped_ptr<MediaPipelineImpl> media_pipeline_;
// The shared memory for a track id must be valid until Stop is invoked on

Powered by Google App Engine
This is Rietveld 408576698