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

Side by Side Diff: webkit/plugins/ppapi/ppb_video_capture_impl.cc

Issue 8036005: Add a flag in StopCapture to allow event handler to choose event notification. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: add missing file Created 9 years, 2 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/video/capture/video_capture.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) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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 "webkit/plugins/ppapi/ppb_video_capture_impl.h" 5 #include "webkit/plugins/ppapi/ppb_video_capture_impl.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <string> 8 #include <string>
9 9
10 #include "base/logging.h" 10 #include "base/logging.h"
(...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after
100 case PP_VIDEO_CAPTURE_STATUS_STOPPING: 100 case PP_VIDEO_CAPTURE_STATUS_STOPPING:
101 default: 101 default:
102 return PP_ERROR_FAILED; 102 return PP_ERROR_FAILED;
103 case PP_VIDEO_CAPTURE_STATUS_STARTING: 103 case PP_VIDEO_CAPTURE_STATUS_STARTING:
104 case PP_VIDEO_CAPTURE_STATUS_STARTED: 104 case PP_VIDEO_CAPTURE_STATUS_STARTED:
105 case PP_VIDEO_CAPTURE_STATUS_PAUSED: 105 case PP_VIDEO_CAPTURE_STATUS_PAUSED:
106 break; 106 break;
107 } 107 }
108 ReleaseBuffers(); 108 ReleaseBuffers();
109 status_ = PP_VIDEO_CAPTURE_STATUS_STOPPING; 109 status_ = PP_VIDEO_CAPTURE_STATUS_STOPPING;
110 platform_video_capture_->StopCapture(this); 110 platform_video_capture_->StopCapture(this, false);
111 return PP_OK; 111 return PP_OK;
112 } 112 }
113 113
114 void PPB_VideoCapture_Impl::OnStarted(media::VideoCapture* capture) { 114 void PPB_VideoCapture_Impl::OnStarted(media::VideoCapture* capture) {
115 switch (status_) { 115 switch (status_) {
116 case PP_VIDEO_CAPTURE_STATUS_STARTING: 116 case PP_VIDEO_CAPTURE_STATUS_STARTING:
117 case PP_VIDEO_CAPTURE_STATUS_PAUSED: 117 case PP_VIDEO_CAPTURE_STATUS_PAUSED:
118 break; 118 break;
119 case PP_VIDEO_CAPTURE_STATUS_STOPPED: 119 case PP_VIDEO_CAPTURE_STATUS_STOPPED:
120 case PP_VIDEO_CAPTURE_STATUS_STOPPING: 120 case PP_VIDEO_CAPTURE_STATUS_STOPPING:
(...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after
222 break; 222 break;
223 } 223 }
224 buffers_.push_back(info); 224 buffers_.push_back(info);
225 } 225 }
226 226
227 if (buffers_.empty()) { 227 if (buffers_.empty()) {
228 // We couldn't allocate/map buffers at all. Send an error and stop the 228 // We couldn't allocate/map buffers at all. Send an error and stop the
229 // capture. 229 // capture.
230 ppp_videocapture_->OnError(pp_instance(), pp_resource(), PP_ERROR_NOMEMORY); 230 ppp_videocapture_->OnError(pp_instance(), pp_resource(), PP_ERROR_NOMEMORY);
231 status_ = PP_VIDEO_CAPTURE_STATUS_STOPPING; 231 status_ = PP_VIDEO_CAPTURE_STATUS_STOPPING;
232 platform_video_capture_->StopCapture(this); 232 platform_video_capture_->StopCapture(this, false);
233 return; 233 return;
234 } 234 }
235 235
236 ppp_videocapture_->OnDeviceInfo(pp_instance(), pp_resource(), &info, 236 ppp_videocapture_->OnDeviceInfo(pp_instance(), pp_resource(), &info,
237 buffers_.size(), resources.get()); 237 buffers_.size(), resources.get());
238 } 238 }
239 239
240 void PPB_VideoCapture_Impl::ReleaseBuffers() { 240 void PPB_VideoCapture_Impl::ReleaseBuffers() {
241 ResourceTracker *tracker = ResourceTracker::Get(); 241 ResourceTracker *tracker = ResourceTracker::Get();
242 for (size_t i = 0; i < buffers_.size(); ++i) { 242 for (size_t i = 0; i < buffers_.size(); ++i) {
(...skipping 11 matching lines...) Expand all
254 : in_use(false), 254 : in_use(false),
255 data(NULL), 255 data(NULL),
256 buffer() { 256 buffer() {
257 } 257 }
258 258
259 PPB_VideoCapture_Impl::BufferInfo::~BufferInfo() { 259 PPB_VideoCapture_Impl::BufferInfo::~BufferInfo() {
260 } 260 }
261 261
262 } // namespace ppapi 262 } // namespace ppapi
263 } // namespace webkit 263 } // namespace webkit
OLDNEW
« no previous file with comments | « media/video/capture/video_capture.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698