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

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

Issue 2790533002: Remove ALL usage of CriticalSectionWrapper. (Closed)
Patch Set: remove winXP rw_lock include Created 3 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
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> 14 #include <memory>
15 15
16 #include "webrtc/base/criticalsection.h"
16 #include "webrtc/base/platform_thread.h" 17 #include "webrtc/base/platform_thread.h"
17 #include "webrtc/common_types.h" 18 #include "webrtc/common_types.h"
18 #include "webrtc/modules/video_capture/video_capture_impl.h" 19 #include "webrtc/modules/video_capture/video_capture_impl.h"
19 20
20 namespace webrtc 21 namespace webrtc
21 { 22 {
22 class CriticalSectionWrapper;
23 namespace videocapturemodule 23 namespace videocapturemodule
24 { 24 {
25 class VideoCaptureModuleV4L2: public VideoCaptureImpl 25 class VideoCaptureModuleV4L2: public VideoCaptureImpl
26 { 26 {
27 public: 27 public:
28 VideoCaptureModuleV4L2(); 28 VideoCaptureModuleV4L2();
29 virtual ~VideoCaptureModuleV4L2(); 29 virtual ~VideoCaptureModuleV4L2();
30 virtual int32_t Init(const char* deviceUniqueId); 30 virtual int32_t Init(const char* deviceUniqueId);
31 virtual int32_t StartCapture(const VideoCaptureCapability& capability); 31 virtual int32_t StartCapture(const VideoCaptureCapability& capability);
32 virtual int32_t StopCapture(); 32 virtual int32_t StopCapture();
33 virtual bool CaptureStarted(); 33 virtual bool CaptureStarted();
34 virtual int32_t CaptureSettings(VideoCaptureCapability& settings); 34 virtual int32_t CaptureSettings(VideoCaptureCapability& settings);
35 35
36 private: 36 private:
37 enum {kNoOfV4L2Bufffers=4}; 37 enum {kNoOfV4L2Bufffers=4};
38 38
39 static bool CaptureThread(void*); 39 static bool CaptureThread(void*);
40 bool CaptureProcess(); 40 bool CaptureProcess();
41 bool AllocateVideoBuffers(); 41 bool AllocateVideoBuffers();
42 bool DeAllocateVideoBuffers(); 42 bool DeAllocateVideoBuffers();
43 43
44 // TODO(pbos): Stop using unique_ptr and resetting the thread. 44 // TODO(pbos): Stop using unique_ptr and resetting the thread.
45 std::unique_ptr<rtc::PlatformThread> _captureThread; 45 std::unique_ptr<rtc::PlatformThread> _captureThread;
46 CriticalSectionWrapper* _captureCritSect; 46 rtc::CriticalSection _captureCritSect;
47 47
48 int32_t _deviceId; 48 int32_t _deviceId;
49 int32_t _deviceFd; 49 int32_t _deviceFd;
50 50
51 int32_t _buffersAllocatedByDevice; 51 int32_t _buffersAllocatedByDevice;
52 int32_t _currentWidth; 52 int32_t _currentWidth;
53 int32_t _currentHeight; 53 int32_t _currentHeight;
54 int32_t _currentFrameRate; 54 int32_t _currentFrameRate;
55 bool _captureStarted; 55 bool _captureStarted;
56 RawVideoType _captureVideoType; 56 RawVideoType _captureVideoType;
57 struct Buffer 57 struct Buffer
58 { 58 {
59 void *start; 59 void *start;
60 size_t length; 60 size_t length;
61 }; 61 };
62 Buffer *_pool; 62 Buffer *_pool;
63 }; 63 };
64 } // namespace videocapturemodule 64 } // namespace videocapturemodule
65 } // namespace webrtc 65 } // namespace webrtc
66 66
67 #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

Powered by Google App Engine
This is Rietveld 408576698