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

Side by Side Diff: chrome/renderer/media/ipc_video_renderer.h

Issue 4399003: Deleted code associated with --enable-gpu-rendering and... (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: '' Created 10 years, 1 month 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « chrome/gpu/gpu_view_x.cc ('k') | chrome/renderer/media/ipc_video_renderer.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 // This video renderer implementation uses IPC to signal the browser process to
6 // composite the video as a separate layer underneath the backing store.
7 //
8 // Extremely experimental. Use at own risk!
9
10 #ifndef CHROME_RENDERER_MEDIA_IPC_VIDEO_RENDERER_H_
11 #define CHROME_RENDERER_MEDIA_IPC_VIDEO_RENDERER_H_
12 #pragma once
13
14 #include "app/surface/transport_dib.h"
15 #include "base/waitable_event.h"
16 #include "gfx/rect.h"
17 #include "gfx/size.h"
18 #include "ipc/ipc_message.h"
19 #include "media/filters/video_renderer_base.h"
20 #include "webkit/glue/media/web_video_renderer.h"
21 #include "webkit/glue/webmediaplayer_impl.h"
22
23 class IPCVideoRenderer : public webkit_glue::WebVideoRenderer {
24 public:
25 explicit IPCVideoRenderer(int routing_id);
26 virtual ~IPCVideoRenderer();
27
28 // WebVideoRenderer implementation.
29 virtual void SetWebMediaPlayerImplProxy(
30 webkit_glue::WebMediaPlayerImpl::Proxy* proxy);
31 virtual void SetRect(const gfx::Rect& rect);
32 virtual void Paint(skia::PlatformCanvas* canvas, const gfx::Rect& dest_rect);
33
34 void OnUpdateVideo();
35 void OnUpdateVideoAck();
36 void OnDestroyVideo();
37
38 protected:
39 // VideoRendererBase implementation.
40 virtual bool OnInitialize(media::VideoDecoder* decoder);
41 virtual void OnStop(media::FilterCallback* callback);
42 virtual void OnFrameAvailable();
43
44 private:
45 // Send an IPC message to the browser process. The routing ID of the message
46 // is assumed to match |routing_id_|.
47 void Send(IPC::Message* msg);
48
49 // Handles updating the video on the render thread.
50 void DoUpdateVideo();
51
52 // Handles destroying the video on the render thread.
53 void DoDestroyVideo(media::FilterCallback* callback);
54
55 // Pointer to our parent object that is called to request repaints.
56 scoped_refptr<webkit_glue::WebMediaPlayerImpl::Proxy> proxy_;
57
58 // The size of the video.
59 gfx::Size video_size_;
60
61 // The rect of the video.
62 gfx::Rect video_rect_;
63
64 // Whether we've created the video layer on the browser.
65 bool created_;
66
67 // Used to transporting YUV to the browser process.
68 int routing_id_;
69 scoped_ptr<TransportDIB> transport_dib_;
70
71 // Used to determine whether we've been instructed to stop.
72 // TODO(scherkus): work around because we don't have asynchronous stopping.
73 // Refer to http://crbug.com/16059
74 base::WaitableEvent stopped_;
75
76 DISALLOW_COPY_AND_ASSIGN(IPCVideoRenderer);
77 };
78
79 #endif // CHROME_RENDERER_MEDIA_IPC_VIDEO_RENDERER_H_
OLDNEW
« no previous file with comments | « chrome/gpu/gpu_view_x.cc ('k') | chrome/renderer/media/ipc_video_renderer.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698