Commit 2380710e authored by alokp's avatar alokp Committed by Commit bot

[chromecast] Delete MediaMessageLoop.

BUG=594234

Review URL: https://codereview.chromium.org/1916973004

Cr-Commit-Position: refs/heads/master@{#389890}
parent 39b8a004
......@@ -17,6 +17,7 @@
#include "base/path_service.h"
#include "base/run_loop.h"
#include "base/thread_task_runner_handle.h"
#include "base/threading/thread.h"
#include "build/build_config.h"
#include "cc/base/switches.h"
#include "chromecast/base/cast_constants.h"
......@@ -38,7 +39,6 @@
#include "chromecast/chromecast_features.h"
#include "chromecast/common/platform_client_auth.h"
#include "chromecast/media/base/key_systems_common.h"
#include "chromecast/media/base/media_message_loop.h"
#include "chromecast/media/base/media_resource_tracker.h"
#include "chromecast/media/base/video_plane_controller.h"
#include "chromecast/media/cma/backend/media_pipeline_backend_manager.h"
......@@ -260,9 +260,16 @@ CastBrowserMainParts::~CastBrowserMainParts() {
}
scoped_refptr<base::SingleThreadTaskRunner>
CastBrowserMainParts::GetMediaTaskRunner() const {
// TODO(alokp): Obtain task runner from a local thread or mojo media app.
return media::MediaMessageLoop::GetTaskRunner();
CastBrowserMainParts::GetMediaTaskRunner() {
#if defined(OS_ANDROID)
return nullptr;
#else
if (!media_thread_) {
media_thread_.reset(new base::Thread("CastMediaThread"));
CHECK(media_thread_->Start());
}
return media_thread_->task_runner();
#endif
}
#if !defined(OS_ANDROID)
......
......@@ -14,6 +14,7 @@
namespace base {
class SingleThreadTaskRunner;
class Thread;
} // namespace base
namespace net {
......@@ -40,7 +41,7 @@ class CastBrowserMainParts : public content::BrowserMainParts {
URLRequestContextFactory* url_request_context_factory);
~CastBrowserMainParts() override;
scoped_refptr<base::SingleThreadTaskRunner> GetMediaTaskRunner() const;
scoped_refptr<base::SingleThreadTaskRunner> GetMediaTaskRunner();
#if !defined(OS_ANDROID)
media::MediaResourceTracker* media_resource_tracker();
......@@ -65,6 +66,9 @@ class CastBrowserMainParts : public content::BrowserMainParts {
std::unique_ptr<media::VideoPlaneController> video_plane_controller_;
#if !defined(OS_ANDROID)
// CMA thread used by AudioManager, MojoRenderer, and MediaPipelineBackend.
std::unique_ptr<base::Thread> media_thread_;
// Tracks usage of media resource by e.g. CMA pipeline, CDM.
media::MediaResourceTracker* media_resource_tracker_;
......
......@@ -49,7 +49,6 @@ test("cast_media_unittests") {
"//chromecast/base",
"//chromecast/base/metrics:test_support",
"//chromecast/media/audio",
"//chromecast/media/base:message_loop",
"//chromecast/media/cma/backend",
"//chromecast/media/cma/base",
"//chromecast/media/cma/ipc",
......
......@@ -4,25 +4,6 @@
import("//chromecast/chromecast.gni")
source_set("message_loop") {
sources = [
"media_message_loop.cc",
"media_message_loop.h",
"video_plane_controller.cc",
"video_plane_controller.h",
]
public_deps = [
"//chromecast/public/media",
]
deps = [
"//base",
"//chromecast/media/base:libcast_media_1.0",
"//chromecast/public",
]
}
source_set("key_systems") {
sources = [
"key_systems_common.cc",
......@@ -53,11 +34,12 @@ source_set("base") {
"media_codec_support.h",
"media_resource_tracker.cc",
"media_resource_tracker.h",
"video_plane_controller.cc",
"video_plane_controller.h",
]
public_deps = [
":key_systems",
":message_loop",
"//chromecast/public/media",
]
......
// Copyright 2014 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "chromecast/media/base/media_message_loop.h"
#include "base/threading/thread.h"
namespace chromecast {
namespace media {
// static
scoped_refptr<base::SingleThreadTaskRunner> MediaMessageLoop::GetTaskRunner() {
return GetInstance()->thread_->task_runner();
}
// static
MediaMessageLoop* MediaMessageLoop::GetInstance() {
return base::Singleton<MediaMessageLoop>::get();
}
MediaMessageLoop::MediaMessageLoop()
: thread_(new base::Thread("CmaThread")) {
thread_->Start();
}
MediaMessageLoop::~MediaMessageLoop() {
// This will automatically shutdown the thread.
}
} // namespace media
} // namespace chromecast
// Copyright 2014 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef CHROMECAST_MEDIA_BASE_MEDIA_MESSAGE_LOOP_H_
#define CHROMECAST_MEDIA_BASE_MEDIA_MESSAGE_LOOP_H_
#include <memory>
#include "base/macros.h"
#include "base/memory/ref_counted.h"
#include "base/memory/singleton.h"
namespace base {
class SingleThreadTaskRunner;
class Thread;
}
namespace chromecast {
namespace media {
// DEPRECATED: This is being deprecated.
// Get the media task runner from CastContentBrowserClient::GetMediaTaskRunner.
class MediaMessageLoop {
public:
static scoped_refptr<base::SingleThreadTaskRunner> GetTaskRunner();
static MediaMessageLoop* GetInstance();
private:
friend struct base::DefaultSingletonTraits<MediaMessageLoop>;
MediaMessageLoop();
~MediaMessageLoop();
std::unique_ptr<base::Thread> thread_;
DISALLOW_COPY_AND_ASSIGN(MediaMessageLoop);
};
} // namespace media
} // namespace chromecast
#endif // CHROMECAST_MEDIA_BASE_MEDIA_MESSAGE_LOOP_H_
......@@ -25,6 +25,5 @@ source_set("backend") {
deps = [
"//base",
"//chromecast/media/base:message_loop",
]
}
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment