| Index: webrtc/modules/video_capture/mac/video_capture_mac.mm
 | 
| diff --git a/webrtc/modules/video_capture/mac/video_capture_mac.mm b/webrtc/modules/video_capture/mac/video_capture_mac.mm
 | 
| deleted file mode 100644
 | 
| index 08b2aeb39a40cc62b62cb9afcee8995f4dd86452..0000000000000000000000000000000000000000
 | 
| --- a/webrtc/modules/video_capture/mac/video_capture_mac.mm
 | 
| +++ /dev/null
 | 
| @@ -1,252 +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.
 | 
| - */
 | 
| -
 | 
| -/*
 | 
| - *  video_capture_mac.cc
 | 
| - *
 | 
| - */
 | 
| -
 | 
| -#include <QuickTime/QuickTime.h>
 | 
| -
 | 
| -#include "webrtc/base/refcount.h"
 | 
| -#include "webrtc/base/scoped_ref_ptr.h"
 | 
| -#include "webrtc/modules/video_capture/device_info_impl.h"
 | 
| -#include "webrtc/modules/video_capture/video_capture_config.h"
 | 
| -#include "webrtc/modules/video_capture/video_capture_impl.h"
 | 
| -#include "webrtc/system_wrappers/include/trace.h"
 | 
| -
 | 
| -// 10.4 support must be decided runtime. We will just decide which framework to
 | 
| -// use at compile time "work" classes. One for QTKit, one for QuickTime
 | 
| -#if __MAC_OS_X_VERSION_MIN_REQUIRED == __MAC_10_4 // QuickTime version
 | 
| -#include <QuickTime/video_capture_quick_time.h>
 | 
| -#include <QuickTime/video_capture_quick_time_info.h>
 | 
| -#else
 | 
| -#include "webrtc/modules/video_capture/mac/qtkit/video_capture_qtkit.h"
 | 
| -#include "webrtc/modules/video_capture/mac/qtkit/video_capture_qtkit_info.h"
 | 
| -#endif
 | 
| -
 | 
| -namespace webrtc
 | 
| -{
 | 
| -namespace videocapturemodule
 | 
| -{
 | 
| -
 | 
| -// static
 | 
| -bool CheckOSVersion()
 | 
| -{
 | 
| -    // Check OSX version
 | 
| -    OSErr err = noErr;
 | 
| -
 | 
| -    SInt32 version;
 | 
| -
 | 
| -    err = Gestalt(gestaltSystemVersion, &version);
 | 
| -    if (err != noErr)
 | 
| -    {
 | 
| -        WEBRTC_TRACE(webrtc::kTraceError, webrtc::kTraceVideoCapture, 0,
 | 
| -                     "Could not get OS version");
 | 
| -        return false;
 | 
| -    }
 | 
| -
 | 
| -    if (version < 0x00001040) // Older version than Mac OSX 10.4
 | 
| -    {
 | 
| -        WEBRTC_TRACE(webrtc::kTraceError, webrtc::kTraceVideoCapture, 0,
 | 
| -                     "OS version too old: 0x%x", version);
 | 
| -        return false;
 | 
| -    }
 | 
| -
 | 
| -    WEBRTC_TRACE(webrtc::kTraceDebug, webrtc::kTraceVideoCapture, 0,
 | 
| -                 "OS version compatible: 0x%x", version);
 | 
| -
 | 
| -    return true;
 | 
| -}
 | 
| -
 | 
| -// static
 | 
| -bool CheckQTVersion()
 | 
| -{
 | 
| -    // Check OSX version
 | 
| -    OSErr err = noErr;
 | 
| -
 | 
| -    SInt32 version;
 | 
| -
 | 
| -    err = Gestalt(gestaltQuickTime, &version);
 | 
| -    if (err != noErr)
 | 
| -    {
 | 
| -        WEBRTC_TRACE(webrtc::kTraceError, webrtc::kTraceVideoCapture, 0,
 | 
| -                     "Could not get QuickTime version");
 | 
| -        return false;
 | 
| -    }
 | 
| -
 | 
| -    if (version < 0x07000000) // QT v. 7.x or newer (QT 5.0.2 0x05020000)
 | 
| -    {
 | 
| -        WEBRTC_TRACE(webrtc::kTraceError, webrtc::kTraceVideoCapture, 0,
 | 
| -                     "QuickTime version too old: 0x%x", version);
 | 
| -        return false;
 | 
| -    }
 | 
| -
 | 
| -    WEBRTC_TRACE(webrtc::kTraceDebug, webrtc::kTraceVideoCapture, 0,
 | 
| -                 "QuickTime version compatible: 0x%x", version);
 | 
| -    return true;
 | 
| -}
 | 
| -
 | 
| -/**************************************************************************
 | 
| - *
 | 
| - *    Create/Destroy a VideoCaptureModule
 | 
| - *
 | 
| - ***************************************************************************/
 | 
| -
 | 
| -/*
 | 
| - *   Returns version of the module and its components
 | 
| - *
 | 
| - *   version                 - buffer to which the version will be written
 | 
| - *   remainingBufferInBytes  - remaining number of int8_t in the version
 | 
| - *                             buffer
 | 
| - *   position                - position of the next empty int8_t in the
 | 
| - *                             version buffer
 | 
| - */
 | 
| -
 | 
| -rtc::scoped_refptr<VideoCaptureModule> VideoCaptureImpl::Create(
 | 
| -    const int32_t id,
 | 
| -    const char* deviceUniqueIdUTF8) {
 | 
| -    if (!CheckOSVersion()) {
 | 
| -        WEBRTC_TRACE(webrtc::kTraceError, webrtc::kTraceVideoCapture, id,
 | 
| -                     "OS version is too old. Could not create video capture "
 | 
| -                     "module. Returning NULL");
 | 
| -        return nullptr;
 | 
| -    }
 | 
| -
 | 
| -#if __MAC_OS_X_VERSION_MIN_REQUIRED == __MAC_10_4 // QuickTime version
 | 
| -    if (!CheckQTVersion())
 | 
| -    {
 | 
| -        WEBRTC_TRACE(webrtc::kTraceError, webrtc::kTraceVideoCapture, id,
 | 
| -                     "QuickTime version is too old. Could not create video "
 | 
| -                     "capture module. Returning NULL");
 | 
| -        return nullptr;
 | 
| -    }
 | 
| -
 | 
| -    WEBRTC_TRACE(webrtc::kTraceInfo, webrtc::kTraceVideoCapture, id,
 | 
| -                 "%s line %d. QTKit is not supported on this machine. Using "
 | 
| -                 "QuickTime framework to capture video",
 | 
| -                 __FILE__, __LINE__);
 | 
| -
 | 
| -    rtc::scoped_refptr<VideoCaptureMacQuickTime> newCaptureModule(
 | 
| -        new rtc::RefCountedObject<VideoCaptureMacQuickTime>(id));
 | 
| -
 | 
| -    if (newCaptureModule->Init(id, deviceUniqueIdUTF8) != 0)
 | 
| -    {
 | 
| -        WEBRTC_TRACE(webrtc::kTraceDebug, webrtc::kTraceVideoCapture, id,
 | 
| -                     "could not Create for unique device %s, "
 | 
| -                     "newCaptureModule->Init()!=0",
 | 
| -                     deviceUniqueIdUTF8);
 | 
| -        return nullptr;
 | 
| -    }
 | 
| -
 | 
| -    // Successfully created VideoCaptureMacQuicktime. Return it
 | 
| -    WEBRTC_TRACE(webrtc::kTraceInfo, webrtc::kTraceVideoCapture, id,
 | 
| -                 "Module created for unique device %s. Will use QuickTime "
 | 
| -                 "framework to capture",
 | 
| -                 deviceUniqueIdUTF8);
 | 
| -    return newCaptureModule;
 | 
| -
 | 
| -#else // QTKit version
 | 
| -
 | 
| -    WEBRTC_TRACE(webrtc::kTraceInfo, webrtc::kTraceVideoCapture, id,
 | 
| -                 "Using QTKit framework to capture video", id);
 | 
| -
 | 
| -    rtc::scoped_refptr<VideoCaptureMacQTKit> newCaptureModule(
 | 
| -        new rtc::RefCountedObject<VideoCaptureMacQTKit>(id));
 | 
| -
 | 
| -    if(newCaptureModule->Init(id, deviceUniqueIdUTF8) != 0)
 | 
| -    {
 | 
| -        WEBRTC_TRACE(webrtc::kTraceDebug, webrtc::kTraceVideoCapture, id,
 | 
| -                     "could not Create for unique device %s, "
 | 
| -                     "newCaptureModule->Init()!=0", deviceUniqueIdUTF8);
 | 
| -        return nullptr;
 | 
| -    }
 | 
| -
 | 
| -    // Successfully created VideoCaptureMacQuicktime. Return it
 | 
| -    WEBRTC_TRACE(webrtc::kTraceInfo, webrtc::kTraceVideoCapture, id,
 | 
| -                 "Module created for unique device %s, will use QTKit "
 | 
| -                 "framework",deviceUniqueIdUTF8);
 | 
| -    return newCaptureModule;
 | 
| -#endif
 | 
| -}
 | 
| -
 | 
| -/**************************************************************************
 | 
| - *
 | 
| - *    Create/Destroy a DeviceInfo
 | 
| - *
 | 
| - ***************************************************************************/
 | 
| -
 | 
| -VideoCaptureModule::DeviceInfo*
 | 
| -VideoCaptureImpl::CreateDeviceInfo(const int32_t id)
 | 
| -{
 | 
| -
 | 
| -
 | 
| -    if (webrtc::videocapturemodule::CheckOSVersion() == false)
 | 
| -    {
 | 
| -        WEBRTC_TRACE(webrtc::kTraceError, webrtc::kTraceVideoCapture, id,
 | 
| -                     "OS version is too old. Could not create video capture "
 | 
| -                     "module. Returning NULL");
 | 
| -        return NULL;
 | 
| -    }
 | 
| -
 | 
| -#if __MAC_OS_X_VERSION_MIN_REQUIRED == __MAC_10_4 // QuickTime version
 | 
| -    if (webrtc::videocapturemodule::CheckQTVersion() == false)
 | 
| -    {
 | 
| -        WEBRTC_TRACE(webrtc::kTraceError, webrtc::kTraceVideoCapture, id,
 | 
| -                     "QuickTime version is too old. Could not create video "
 | 
| -                     "capture module. Returning NULL");
 | 
| -        return NULL;
 | 
| -    }
 | 
| -
 | 
| -    webrtc::videocapturemodule::VideoCaptureMacQuickTimeInfo* newCaptureInfoModule =
 | 
| -        new webrtc::videocapturemodule::VideoCaptureMacQuickTimeInfo(id);
 | 
| -
 | 
| -    if (!newCaptureInfoModule || newCaptureInfoModule->Init() != 0)
 | 
| -    {
 | 
| -        Destroy(newCaptureInfoModule);
 | 
| -        newCaptureInfoModule = NULL;
 | 
| -        WEBRTC_TRACE(webrtc::kTraceInfo, webrtc::kTraceVideoCapture, id,
 | 
| -                     "Failed to Init newCaptureInfoModule created with id %d "
 | 
| -                     "and device \"\" ", id);
 | 
| -        return NULL;
 | 
| -    }
 | 
| -    WEBRTC_TRACE(webrtc::kTraceInfo, webrtc::kTraceVideoCapture, id,
 | 
| -                 "VideoCaptureModule created for id", id);
 | 
| -    return newCaptureInfoModule;
 | 
| -
 | 
| -#else // QTKit version
 | 
| -    webrtc::videocapturemodule::VideoCaptureMacQTKitInfo* newCaptureInfoModule =
 | 
| -        new webrtc::videocapturemodule::VideoCaptureMacQTKitInfo(id);
 | 
| -
 | 
| -    if(!newCaptureInfoModule || newCaptureInfoModule->Init() != 0)
 | 
| -    {
 | 
| -        //Destroy(newCaptureInfoModule);
 | 
| -        delete newCaptureInfoModule;
 | 
| -        newCaptureInfoModule = NULL;
 | 
| -        WEBRTC_TRACE(webrtc::kTraceInfo, webrtc::kTraceVideoCapture, id,
 | 
| -                     "Failed to Init newCaptureInfoModule created with id %d "
 | 
| -                     "and device \"\" ", id);
 | 
| -        return NULL;
 | 
| -    }
 | 
| -    WEBRTC_TRACE(webrtc::kTraceInfo, webrtc::kTraceVideoCapture, id,
 | 
| -                 "VideoCaptureModule created for id", id);
 | 
| -    return newCaptureInfoModule;
 | 
| -
 | 
| -#endif
 | 
| -
 | 
| -}
 | 
| -
 | 
| -/**************************************************************************
 | 
| - *
 | 
| - *    End Create/Destroy VideoCaptureModule
 | 
| - *
 | 
| - ***************************************************************************/
 | 
| -}  // namespace videocapturemodule
 | 
| -}  // namespace webrtc
 | 
| 
 |