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

Side by Side Diff: webkit/media/webvideoframe_impl.h

Issue 11274017: Added support for YUV videos to the software compositor. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Some nits. Created 8 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 | « webkit/compositor_bindings/web_video_layer_impl.cc ('k') | webkit/media/webvideoframe_impl.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef WEBKIT_MEDIA_WEBVIDEOFRAME_IMPL_H_ 5 #ifndef WEBKIT_MEDIA_WEBVIDEOFRAME_IMPL_H_
6 #define WEBKIT_MEDIA_WEBVIDEOFRAME_IMPL_H_ 6 #define WEBKIT_MEDIA_WEBVIDEOFRAME_IMPL_H_
7 7
8 #include "base/compiler_specific.h" 8 #include "base/compiler_specific.h"
9 #include "media/base/video_frame.h" 9 #include "media/base/video_frame.h"
10 #include "third_party/WebKit/Source/WebKit/chromium/public/WebVideoFrame.h" 10 #include "third_party/WebKit/Source/WebKit/chromium/public/WebVideoFrame.h"
11 11
12 namespace webkit_media { 12 namespace webkit_media {
13 13
14 class WebVideoFrameImpl : public WebKit::WebVideoFrame { 14 class WebVideoFrameImpl : public WebKit::WebVideoFrame {
15 public: 15 public:
16 // This converts a WebKit::WebVideoFrame to a media::VideoFrame. 16 // This converts a WebKit::WebVideoFrame to a media::VideoFrame.
17 static media::VideoFrame* toVideoFrame( 17 static media::VideoFrame* toVideoFrame(
18 WebKit::WebVideoFrame* web_video_frame); 18 WebVideoFrame* web_video_frame);
Ami GONE FROM CHROMIUM 2012/10/26 22:45:09 optional: Personally I find the previous version m
slavi 2012/10/26 23:46:23 Done.
19 19
20 WebVideoFrameImpl(scoped_refptr<media::VideoFrame> video_frame); 20 WebVideoFrameImpl(scoped_refptr<media::VideoFrame> video_frame);
21 virtual ~WebVideoFrameImpl(); 21 virtual ~WebVideoFrameImpl();
22 virtual WebVideoFrame::Format format() const; 22 virtual WebVideoFrame::Format format() const;
23 virtual unsigned width() const; 23 virtual unsigned width() const;
24 virtual unsigned height() const; 24 virtual unsigned height() const;
25 virtual unsigned planes() const; 25 virtual unsigned planes() const;
26 virtual int stride(unsigned plane) const; 26 virtual int stride(unsigned plane) const;
27 virtual const void* data(unsigned plane) const; 27 virtual const void* data(unsigned plane) const;
28 virtual unsigned textureId() const; 28 virtual unsigned textureId() const;
29 virtual unsigned textureTarget() const; 29 virtual unsigned textureTarget() const;
30 30
31 private: 31 private:
32 scoped_refptr<media::VideoFrame> video_frame_; 32 scoped_refptr<media::VideoFrame> video_frame_;
33 DISALLOW_COPY_AND_ASSIGN(WebVideoFrameImpl); 33 DISALLOW_COPY_AND_ASSIGN(WebVideoFrameImpl);
34 }; 34 };
35 35
36 inline media::VideoFrame* WebVideoFrameImpl::toVideoFrame(
Ami GONE FROM CHROMIUM 2012/10/26 22:45:09 Why this thunk?
slavi 2012/10/26 23:46:23 Ok, this is subtle. The problem is that I want to
37 WebVideoFrame* web_video_frame) {
38 WebVideoFrameImpl* wrapped_frame =
39 static_cast<WebVideoFrameImpl*>(web_video_frame);
40 if (wrapped_frame)
41 return wrapped_frame->video_frame_.get();
42 return NULL;
43 }
44
36 } // namespace webkit_media 45 } // namespace webkit_media
37 46
38 #endif // WEBKIT_MEDIA_WEBVIDEOFRAME_IMPL_H_ 47 #endif // WEBKIT_MEDIA_WEBVIDEOFRAME_IMPL_H_
OLDNEW
« no previous file with comments | « webkit/compositor_bindings/web_video_layer_impl.cc ('k') | webkit/media/webvideoframe_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698