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

Side by Side Diff: webrtc/modules/video_capture/linux/video_capture_linux.h

Issue 1738863002: Replace scoped_ptr with unique_ptr in webrtc/modules/video_*/ (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@up4
Patch Set: rebase Created 4 years, 9 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
« no previous file with comments | « no previous file | webrtc/modules/video_capture/test/video_capture_unittest.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 /* 1 /*
2 * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved. 2 * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved.
3 * 3 *
4 * Use of this source code is governed by a BSD-style license 4 * Use of this source code is governed by a BSD-style license
5 * that can be found in the LICENSE file in the root of the source 5 * that can be found in the LICENSE file in the root of the source
6 * tree. An additional intellectual property rights grant can be found 6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may 7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree. 8 * be found in the AUTHORS file in the root of the source tree.
9 */ 9 */
10 10
11 #ifndef WEBRTC_MODULES_VIDEO_CAPTURE_MAIN_SOURCE_LINUX_VIDEO_CAPTURE_LINUX_H_ 11 #ifndef WEBRTC_MODULES_VIDEO_CAPTURE_MAIN_SOURCE_LINUX_VIDEO_CAPTURE_LINUX_H_
12 #define WEBRTC_MODULES_VIDEO_CAPTURE_MAIN_SOURCE_LINUX_VIDEO_CAPTURE_LINUX_H_ 12 #define WEBRTC_MODULES_VIDEO_CAPTURE_MAIN_SOURCE_LINUX_VIDEO_CAPTURE_LINUX_H_
13 13
14 #include <memory>
15
14 #include "webrtc/base/platform_thread.h" 16 #include "webrtc/base/platform_thread.h"
15 #include "webrtc/common_types.h" 17 #include "webrtc/common_types.h"
16 #include "webrtc/modules/video_capture/video_capture_impl.h" 18 #include "webrtc/modules/video_capture/video_capture_impl.h"
17 19
18 namespace webrtc 20 namespace webrtc
19 { 21 {
20 class CriticalSectionWrapper; 22 class CriticalSectionWrapper;
21 namespace videocapturemodule 23 namespace videocapturemodule
22 { 24 {
23 class VideoCaptureModuleV4L2: public VideoCaptureImpl 25 class VideoCaptureModuleV4L2: public VideoCaptureImpl
24 { 26 {
25 public: 27 public:
26 VideoCaptureModuleV4L2(int32_t id); 28 VideoCaptureModuleV4L2(int32_t id);
27 virtual ~VideoCaptureModuleV4L2(); 29 virtual ~VideoCaptureModuleV4L2();
28 virtual int32_t Init(const char* deviceUniqueId); 30 virtual int32_t Init(const char* deviceUniqueId);
29 virtual int32_t StartCapture(const VideoCaptureCapability& capability); 31 virtual int32_t StartCapture(const VideoCaptureCapability& capability);
30 virtual int32_t StopCapture(); 32 virtual int32_t StopCapture();
31 virtual bool CaptureStarted(); 33 virtual bool CaptureStarted();
32 virtual int32_t CaptureSettings(VideoCaptureCapability& settings); 34 virtual int32_t CaptureSettings(VideoCaptureCapability& settings);
33 35
34 private: 36 private:
35 enum {kNoOfV4L2Bufffers=4}; 37 enum {kNoOfV4L2Bufffers=4};
36 38
37 static bool CaptureThread(void*); 39 static bool CaptureThread(void*);
38 bool CaptureProcess(); 40 bool CaptureProcess();
39 bool AllocateVideoBuffers(); 41 bool AllocateVideoBuffers();
40 bool DeAllocateVideoBuffers(); 42 bool DeAllocateVideoBuffers();
41 43
42 // TODO(pbos): Stop using scoped_ptr and resetting the thread. 44 // TODO(pbos): Stop using unique_ptr and resetting the thread.
43 rtc::scoped_ptr<rtc::PlatformThread> _captureThread; 45 std::unique_ptr<rtc::PlatformThread> _captureThread;
44 CriticalSectionWrapper* _captureCritSect; 46 CriticalSectionWrapper* _captureCritSect;
45 47
46 int32_t _deviceId; 48 int32_t _deviceId;
47 int32_t _deviceFd; 49 int32_t _deviceFd;
48 50
49 int32_t _buffersAllocatedByDevice; 51 int32_t _buffersAllocatedByDevice;
50 int32_t _currentWidth; 52 int32_t _currentWidth;
51 int32_t _currentHeight; 53 int32_t _currentHeight;
52 int32_t _currentFrameRate; 54 int32_t _currentFrameRate;
53 bool _captureStarted; 55 bool _captureStarted;
54 RawVideoType _captureVideoType; 56 RawVideoType _captureVideoType;
55 struct Buffer 57 struct Buffer
56 { 58 {
57 void *start; 59 void *start;
58 size_t length; 60 size_t length;
59 }; 61 };
60 Buffer *_pool; 62 Buffer *_pool;
61 }; 63 };
62 } // namespace videocapturemodule 64 } // namespace videocapturemodule
63 } // namespace webrtc 65 } // namespace webrtc
64 66
65 #endif // WEBRTC_MODULES_VIDEO_CAPTURE_MAIN_SOURCE_LINUX_VIDEO_CAPTURE_LINUX_H_ 67 #endif // WEBRTC_MODULES_VIDEO_CAPTURE_MAIN_SOURCE_LINUX_VIDEO_CAPTURE_LINUX_H_
OLDNEW
« no previous file with comments | « no previous file | webrtc/modules/video_capture/test/video_capture_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698