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

Unified Diff: content/common/gpu/media/gpu_video_service.cc

Issue 7292010: Delete GpuVideoService and move GpuVideoDecodeAccelerator ownership to stubs (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase ToT Created 9 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
« no previous file with comments | « content/common/gpu/media/gpu_video_service.h ('k') | content/content_common.gypi » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: content/common/gpu/media/gpu_video_service.cc
diff --git a/content/common/gpu/media/gpu_video_service.cc b/content/common/gpu/media/gpu_video_service.cc
deleted file mode 100644
index d101d9d11ebb9f99f118b349c024b0fa6baff77e..0000000000000000000000000000000000000000
--- a/content/common/gpu/media/gpu_video_service.cc
+++ /dev/null
@@ -1,135 +0,0 @@
-// Copyright (c) 2011 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 "content/common/gpu/media/gpu_video_service.h"
-
-#include "content/common/gpu/gpu_channel.h"
-#include "content/common/gpu/gpu_messages.h"
-#include "content/common/gpu/media/gpu_video_decode_accelerator.h"
-
-#if defined(OS_CHROMEOS) && defined(ARCH_CPU_ARMEL)
-#include "content/common/gpu/media/omx_video_decode_accelerator.h"
-#include "ui/gfx/gl/gl_surface_egl.h"
-#endif // defined(OS_CHROMEOS) && defined(ARCH_CPU_ARMEL)
-
-GpuVideoService::GpuVideoService() {
- // TODO(jiesun): move this time consuming stuff out of here.
- IntializeGpuVideoService();
-}
-
-GpuVideoService::~GpuVideoService() {
- // TODO(jiesun): move this time consuming stuff out of here.
- UnintializeGpuVideoService();
-}
-
-// static
-GpuVideoService* GpuVideoService::GetInstance() {
- return Singleton<GpuVideoService>::get();
-}
-
-void GpuVideoService::OnChannelConnected(int32 peer_pid) {
- LOG(ERROR) << "GpuVideoService::OnChannelConnected";
-}
-
-void GpuVideoService::OnChannelError() {
- LOG(ERROR) << "GpuVideoService::OnChannelError";
-}
-
-bool GpuVideoService::OnMessageReceived(const IPC::Message& msg) {
-#if 0
- IPC_BEGIN_MESSAGE_MAP(GpuVideoService, msg)
- IPC_MESSAGE_UNHANDLED_ERROR()
- IPC_END_MESSAGE_MAP()
-#endif
- return false;
-}
-
-bool GpuVideoService::IntializeGpuVideoService() {
- return true;
-}
-
-bool GpuVideoService::UnintializeGpuVideoService() {
- return true;
-}
-
-bool GpuVideoService::CreateVideoDecoder(
- GpuChannel* channel,
- MessageRouter* router,
- int32 decoder_host_id,
- int32 decoder_id,
- GpuCommandBufferStub* stub,
- const std::vector<uint32>& configs) {
- // Create GpuVideoDecodeAccelerator and add to map.
- scoped_refptr<GpuVideoDecodeAccelerator> decoder =
- new GpuVideoDecodeAccelerator(channel, decoder_host_id, decoder_id, stub);
-
- bool result = decoder_map_.insert(std::make_pair(
- decoder_id, VideoDecoderInfo(decoder, stub))).second;
-
- // Decoder ID is a unique ID determined by GpuVideoServiceHost.
- // We should always be adding entries here.
- DCHECK(result);
-
- router->AddRoute(decoder_id, decoder);
-
- // Tell client that initialization is complete.
- channel->Send(
- new AcceleratedVideoDecoderHostMsg_CreateDone(
- decoder_host_id, decoder_id));
-
- return true;
-}
-
-void GpuVideoService::InitializeVideoDecoder(int32 decoder_id) {
-#if defined(OS_CHROMEOS) && defined(ARCH_CPU_ARMEL)
- DecoderMap::iterator it = decoder_map_.find(decoder_id);
- DCHECK(it != decoder_map_.end());
- GpuVideoDecodeAccelerator* decoder = it->second.video_decoder.get();
- GpuCommandBufferStub* stub = it->second.stub;
- DCHECK(stub->scheduler());
- OmxVideoDecodeAccelerator* omx_decoder =
- new OmxVideoDecodeAccelerator(decoder);
- omx_decoder->SetEglState(
- gfx::GLSurfaceEGL::GetDisplay(),
- stub->scheduler()->decoder()->GetGLContext()->GetHandle());
- decoder->set_video_decode_accelerator(omx_decoder);
-#else
- NOTIMPLEMENTED() << "HW video decode acceleration not available.";
-#endif // defined(OS_CHROMEOS) && defined(ARCH_CPU_ARMEL)
-}
-
-void GpuVideoService::DestroyVideoDecoder(
- MessageRouter* router,
- int32 decoder_id) {
- router->RemoveRoute(decoder_id);
- decoder_map_.erase(decoder_id);
-}
-
-void GpuVideoService::AssignTexturesToDecoder(
- int32 decoder_id,
- const std::vector<int32>& buffer_ids,
- const std::vector<uint32>& texture_ids,
- const std::vector<gfx::Size>& sizes) {
- DecoderMap::iterator it = decoder_map_.find(decoder_id);
- DCHECK(it != decoder_map_.end());
- DCHECK_EQ(it->first, decoder_id);
- GpuVideoDecodeAccelerator* video_decoder = it->second.video_decoder;
- DCHECK(it->second.stub->scheduler()); // Ensure already Initialize()'d.
- gpu::gles2::GLES2Decoder* command_decoder =
- it->second.stub->scheduler()->decoder();
-
- std::vector<media::GLESBuffer> buffers;
- for (uint32 i = 0; i < buffer_ids.size(); ++i) {
- uint32 service_texture_id;
- if (!command_decoder->GetServiceTextureId(
- texture_ids[i], &service_texture_id)) {
- // TODO(vrk): Send an error for invalid GLES buffers.
- LOG(DFATAL) << "Failed to translate texture!";
- return;
- }
- buffers.push_back(media::GLESBuffer(
- buffer_ids[i], sizes[i], service_texture_id));
- }
- video_decoder->AssignGLESBuffers(buffers);
-}
« no previous file with comments | « content/common/gpu/media/gpu_video_service.h ('k') | content/content_common.gypi » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698