blob: 311a260dbac377a029f7dddb4ce1714d34ba90a0 [file] [log] [blame]
// 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 "media/mojo/services/renderer_config.h"
namespace media {
namespace internal {
extern scoped_ptr<PlatformRendererConfig> CreatePlatformRendererConfig();
} // namespace internal
static base::LazyInstance<RendererConfig>::Leaky g_platform_config =
LAZY_INSTANCE_INITIALIZER;
// static
RendererConfig* RendererConfig::Get() {
return g_platform_config.Pointer();
}
ScopedVector<AudioDecoder> RendererConfig::GetAudioDecoders(
const scoped_refptr<base::SingleThreadTaskRunner>& media_task_runner,
const LogCB& media_log_cb) {
return renderer_config_->GetAudioDecoders(media_task_runner, media_log_cb);
}
ScopedVector<VideoDecoder> RendererConfig::GetVideoDecoders(
const scoped_refptr<base::SingleThreadTaskRunner>& media_task_runner,
const LogCB& media_log_cb) {
return renderer_config_->GetVideoDecoders(media_task_runner, media_log_cb);
}
scoped_refptr<AudioRendererSink> RendererConfig::GetAudioRendererSink() {
return renderer_config_->GetAudioRendererSink();
}
const AudioHardwareConfig& RendererConfig::GetAudioHardwareConfig() {
return renderer_config_->GetAudioHardwareConfig();
}
RendererConfig::RendererConfig()
: renderer_config_(internal::CreatePlatformRendererConfig().Pass()) {
}
RendererConfig::~RendererConfig() {
}
} // namespace media