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

Side by Side Diff: media/tools/player_x11/x11_video_renderer.cc

Issue 252703006: Clean up paint callbacks in player_x11 to use media::BindToCurrentLoop(). (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 8 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « media/tools/player_x11/x11_video_renderer.h ('k') | no next file » | 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 #include "media/tools/player_x11/x11_video_renderer.h" 5 #include "media/tools/player_x11/x11_video_renderer.h"
6 6
7 #include <dlfcn.h> 7 #include <dlfcn.h>
8 #include <X11/Xutil.h> 8 #include <X11/Xutil.h>
9 #include <X11/extensions/Xrender.h> 9 #include <X11/extensions/Xrender.h>
10 #include <X11/extensions/Xcomposite.h> 10 #include <X11/extensions/Xcomposite.h>
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after
76 use_render_(false) { 76 use_render_(false) {
77 } 77 }
78 78
79 X11VideoRenderer::~X11VideoRenderer() { 79 X11VideoRenderer::~X11VideoRenderer() {
80 if (image_) 80 if (image_)
81 XDestroyImage(image_); 81 XDestroyImage(image_);
82 if (use_render_) 82 if (use_render_)
83 XRenderFreePicture(display_, picture_); 83 XRenderFreePicture(display_, picture_);
84 } 84 }
85 85
86 void X11VideoRenderer::Paint(media::VideoFrame* video_frame) { 86 void X11VideoRenderer::Paint(
87 const scoped_refptr<media::VideoFrame>& video_frame) {
87 if (!image_) 88 if (!image_)
88 Initialize(video_frame->coded_size(), video_frame->visible_rect()); 89 Initialize(video_frame->coded_size(), video_frame->visible_rect());
89 90
90 const int coded_width = video_frame->coded_size().width(); 91 const int coded_width = video_frame->coded_size().width();
91 const int coded_height = video_frame->coded_size().height(); 92 const int coded_height = video_frame->coded_size().height();
92 const int visible_width = video_frame->visible_rect().width(); 93 const int visible_width = video_frame->visible_rect().width();
93 const int visible_height = video_frame->visible_rect().height(); 94 const int visible_height = video_frame->visible_rect().height();
94 95
95 // Check if we need to reallocate our XImage. 96 // Check if we need to reallocate our XImage.
96 if (image_->width != coded_width || image_->height != coded_height) { 97 if (image_->width != coded_width || image_->height != coded_height) {
(...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after
205 206
206 XRenderPictFormat* pictformat = XRenderFindVisualFormat( 207 XRenderPictFormat* pictformat = XRenderFindVisualFormat(
207 display_, 208 display_,
208 attr.visual); 209 attr.visual);
209 CHECK(pictformat) << "XRender does not support default visual"; 210 CHECK(pictformat) << "XRender does not support default visual";
210 211
211 picture_ = XRenderCreatePicture(display_, window_, pictformat, 0, NULL); 212 picture_ = XRenderCreatePicture(display_, window_, pictformat, 0, NULL);
212 CHECK(picture_) << "Backing picture not created"; 213 CHECK(picture_) << "Backing picture not created";
213 } 214 }
214 } 215 }
OLDNEW
« no previous file with comments | « media/tools/player_x11/x11_video_renderer.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698