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

Unified Diff: webrtc/modules/video_capture/mac/qtkit/video_capture_qtkit.mm

Issue 2375273004: Reland of Unify the macOS and iOS capturer implementations (Closed)
Patch Set: fix gyp build Created 4 years, 3 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 side-by-side diff with in-line comments
Download patch
Index: webrtc/modules/video_capture/mac/qtkit/video_capture_qtkit.mm
diff --git a/webrtc/modules/video_capture/mac/qtkit/video_capture_qtkit.mm b/webrtc/modules/video_capture/mac/qtkit/video_capture_qtkit.mm
deleted file mode 100644
index ad057b49dbf2efa1d1c4195019900e6d77b82db2..0000000000000000000000000000000000000000
--- a/webrtc/modules/video_capture/mac/qtkit/video_capture_qtkit.mm
+++ /dev/null
@@ -1,211 +0,0 @@
-/*
- * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved.
- *
- * Use of this source code is governed by a BSD-style license
- * that can be found in the LICENSE file in the root of the source
- * tree. An additional intellectual property rights grant can be found
- * in the file PATENTS. All contributing project authors may
- * be found in the AUTHORS file in the root of the source tree.
- */
-
-#include "webrtc/modules/video_capture/mac/qtkit/video_capture_qtkit.h"
-#import "webrtc/modules/video_capture/mac/qtkit/video_capture_qtkit_info_objc.h"
-#import "webrtc/modules/video_capture/mac/qtkit/video_capture_qtkit_objc.h"
-#include "webrtc/modules/video_capture/video_capture_config.h"
-#include "webrtc/system_wrappers/include/critical_section_wrapper.h"
-#include "webrtc/system_wrappers/include/trace.h"
-
-namespace webrtc
-{
-
-namespace videocapturemodule
-{
-
-VideoCaptureMacQTKit::VideoCaptureMacQTKit(const int32_t id) :
- VideoCaptureImpl(id),
- _captureDevice(NULL),
- _captureInfo(NULL),
- _isCapturing(false),
- _id(id),
- _captureWidth(QTKIT_DEFAULT_WIDTH),
- _captureHeight(QTKIT_DEFAULT_HEIGHT),
- _captureFrameRate(QTKIT_DEFAULT_FRAME_RATE),
- _frameCount(0)
-{
-
- memset(_currentDeviceNameUTF8, 0, MAX_NAME_LENGTH);
- memset(_currentDeviceUniqueIdUTF8, 0, MAX_NAME_LENGTH);
- memset(_currentDeviceProductUniqueIDUTF8, 0, MAX_NAME_LENGTH);
-}
-
-VideoCaptureMacQTKit::~VideoCaptureMacQTKit()
-{
-
- WEBRTC_TRACE(webrtc::kTraceDebug, webrtc::kTraceVideoCapture, _id,
- "~VideoCaptureMacQTKit() called");
- if(_captureDevice)
- {
- [_captureDevice registerOwner:nil];
- [_captureDevice stopCapture];
- [_captureDevice release];
- }
-
- if(_captureInfo)
- {
- [_captureInfo release];
- }
-}
-
-int32_t VideoCaptureMacQTKit::Init(
- const int32_t id, const char* iDeviceUniqueIdUTF8)
-{
- CriticalSectionScoped cs(&_apiCs);
-
-
- const int32_t nameLength =
- (int32_t) strlen((char*)iDeviceUniqueIdUTF8);
- if(nameLength>kVideoCaptureUniqueNameLength)
- return -1;
-
- // Store the device name
- _deviceUniqueId = new char[nameLength+1];
- memcpy(_deviceUniqueId, iDeviceUniqueIdUTF8,nameLength+1);
-
- _captureDevice = [[VideoCaptureMacQTKitObjC alloc] init];
- if(NULL == _captureDevice)
- {
- WEBRTC_TRACE(webrtc::kTraceError, webrtc::kTraceVideoCapture, id,
- "Failed to create an instance of "
- "VideoCaptureMacQTKitObjC");
- return -1;
- }
-
- [_captureDevice registerOwner:this];
-
- if(0 == strcmp((char*)iDeviceUniqueIdUTF8, ""))
- {
- // the user doesn't want to set a capture device at this time
- return 0;
- }
-
- _captureInfo = [[VideoCaptureMacQTKitInfoObjC alloc]init];
- if(nil == _captureInfo)
- {
- WEBRTC_TRACE(webrtc::kTraceError, webrtc::kTraceVideoCapture, id,
- "Failed to create an instance of VideoCaptureMacQTKitInfoObjC");
- return -1;
- }
-
- int captureDeviceCount = [[_captureInfo getCaptureDeviceCount]intValue];
- if(captureDeviceCount < 0)
- {
- WEBRTC_TRACE(webrtc::kTraceError, webrtc::kTraceVideoCapture, id,
- "No Capture Devices Present");
- return -1;
- }
-
- const int NAME_LENGTH = 1024;
- char deviceNameUTF8[1024] = "";
- char deviceUniqueIdUTF8[1024] = "";
- char deviceProductUniqueIDUTF8[1024] = "";
-
- bool captureDeviceFound = false;
- for(int index = 0; index < captureDeviceCount; index++){
-
- memset(deviceNameUTF8, 0, NAME_LENGTH);
- memset(deviceUniqueIdUTF8, 0, NAME_LENGTH);
- memset(deviceProductUniqueIDUTF8, 0, NAME_LENGTH);
- if(-1 == [[_captureInfo getDeviceNamesFromIndex:index
- DefaultName:deviceNameUTF8 WithLength:NAME_LENGTH
- AndUniqueID:deviceUniqueIdUTF8 WithLength:NAME_LENGTH
- AndProductID:deviceProductUniqueIDUTF8
- WithLength:NAME_LENGTH]intValue])
- {
- WEBRTC_TRACE(webrtc::kTraceError, webrtc::kTraceVideoCapture, _id,
- "GetDeviceName returned -1 for index %d", index);
- return -1;
- }
- if(0 == strcmp((const char*)iDeviceUniqueIdUTF8,
- (char*)deviceUniqueIdUTF8))
- {
- // we have a match
- captureDeviceFound = true;
- break;
- }
- }
-
- if(false == captureDeviceFound)
- {
- WEBRTC_TRACE(webrtc::kTraceInfo, webrtc::kTraceVideoCapture, _id,
- "Failed to find capture device unique ID %s",
- iDeviceUniqueIdUTF8);
- return -1;
- }
-
- // at this point we know that the user has passed in a valid camera. Let's
- // set it as the current.
- if(![_captureDevice setCaptureDeviceById:(char*)deviceUniqueIdUTF8])
- {
- strcpy((char*)_deviceUniqueId, (char*)deviceUniqueIdUTF8);
- WEBRTC_TRACE(webrtc::kTraceError, webrtc::kTraceVideoCapture, _id,
- "Failed to set capture device %s (unique ID %s) even "
- "though it was a valid return from "
- "VideoCaptureMacQTKitInfo", deviceNameUTF8,
- iDeviceUniqueIdUTF8);
- return -1;
- }
-
- WEBRTC_TRACE(webrtc::kTraceInfo, webrtc::kTraceVideoCapture, _id,
- "successfully Init VideoCaptureMacQTKit" );
- return 0;
-}
-
-int32_t VideoCaptureMacQTKit::StartCapture(
- const VideoCaptureCapability& capability)
-{
-
- _captureWidth = capability.width;
- _captureHeight = capability.height;
- _captureFrameRate = capability.maxFPS;
- _captureDelay = 120;
-
- [_captureDevice setCaptureHeight:_captureHeight
- width:_captureWidth
- frameRate:_captureFrameRate];
-
- [_captureDevice startCapture];
- _isCapturing = true;
- return 0;
-}
-
-int32_t VideoCaptureMacQTKit::StopCapture()
-{
- [_captureDevice stopCapture];
- _isCapturing = false;
- return 0;
-}
-
-bool VideoCaptureMacQTKit::CaptureStarted()
-{
- return _isCapturing;
-}
-
-int32_t VideoCaptureMacQTKit::CaptureSettings(VideoCaptureCapability& settings)
-{
- settings.width = _captureWidth;
- settings.height = _captureHeight;
- settings.maxFPS = _captureFrameRate;
- return 0;
-}
-
-
-// ********** begin functions inherited from DeviceInfoImpl **********
-
-struct VideoCaptureCapabilityMacQTKit:public VideoCaptureCapability
-{
- VideoCaptureCapabilityMacQTKit()
- {
- }
-};
-} // namespace videocapturemodule
-} // namespace webrtc

Powered by Google App Engine
This is Rietveld 408576698