| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 // Implementation of VideoCaptureDevice class for Blackmagic video capture | 5 // Implementation of VideoCaptureDevice class for Blackmagic video capture |
| 6 // devices by using the DeckLink SDK. | 6 // devices by using the DeckLink SDK. |
| 7 | 7 |
| 8 #ifndef MEDIA_CAPTURE_VIDEO_MAC_VIDEO_CAPTURE_DEVICE_DECKLINK_MAC_H_ | 8 #ifndef DEVICE_CAPTURE_VIDEO_MAC_VIDEO_CAPTURE_DEVICE_DECKLINK_MAC_H_ |
| 9 #define MEDIA_CAPTURE_VIDEO_MAC_VIDEO_CAPTURE_DEVICE_DECKLINK_MAC_H_ | 9 #define DEVICE_CAPTURE_VIDEO_MAC_VIDEO_CAPTURE_DEVICE_DECKLINK_MAC_H_ |
| 10 | 10 |
| 11 #include "media/capture/video/video_capture_device.h" | 11 #include "device/capture/video/video_capture_device.h" |
| 12 | 12 |
| 13 #import <Foundation/Foundation.h> | 13 #import <Foundation/Foundation.h> |
| 14 #include <stddef.h> | 14 #include <stddef.h> |
| 15 #include <stdint.h> | 15 #include <stdint.h> |
| 16 | 16 |
| 17 #include "base/macros.h" | 17 #include "base/macros.h" |
| 18 #include "base/synchronization/lock.h" | 18 #include "base/synchronization/lock.h" |
| 19 #include "base/threading/thread_checker.h" | 19 #include "base/threading/thread_checker.h" |
| 20 | 20 |
| 21 namespace { | 21 namespace { |
| 22 class DeckLinkCaptureDelegate; | 22 class DeckLinkCaptureDelegate; |
| 23 } // namespace | 23 } // namespace |
| 24 | 24 |
| 25 namespace tracked_objects { | 25 namespace tracked_objects { |
| 26 class Location; | 26 class Location; |
| 27 } // namespace tracked_objects | 27 } // namespace tracked_objects |
| 28 | 28 |
| 29 namespace media { | 29 namespace device { |
| 30 | 30 |
| 31 // Extension of VideoCaptureDevice to create and manipulate Blackmagic devices. | 31 // Extension of VideoCaptureDevice to create and manipulate Blackmagic devices. |
| 32 // Creates a reference counted |decklink_capture_delegate_| that does all the | 32 // Creates a reference counted |decklink_capture_delegate_| that does all the |
| 33 // DeckLink SDK configuration and capture work while holding a weak reference to | 33 // DeckLink SDK configuration and capture work while holding a weak reference to |
| 34 // us for sending back frames, logs and error messages. | 34 // us for sending back frames, logs and error messages. |
| 35 class CAPTURE_EXPORT VideoCaptureDeviceDeckLinkMac : public VideoCaptureDevice { | 35 class CAPTURE_EXPORT VideoCaptureDeviceDeckLinkMac : public VideoCaptureDevice { |
| 36 public: | 36 public: |
| 37 // Gets descriptors for all DeckLink video capture devices connected to this | 37 // Gets descriptors for all DeckLink video capture devices connected to this |
| 38 // computer, as enumerated by the DeckLink SDK. To allow the user to choose | 38 // computer, as enumerated by the DeckLink SDK. To allow the user to choose |
| 39 // exactly which capture format she wants, we enumerate as many cameras as | 39 // exactly which capture format she wants, we enumerate as many cameras as |
| (...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 82 // Reference counted handle to the DeckLink capture delegate, ref counted by | 82 // Reference counted handle to the DeckLink capture delegate, ref counted by |
| 83 // the DeckLink SDK as well. | 83 // the DeckLink SDK as well. |
| 84 scoped_refptr<DeckLinkCaptureDelegate> decklink_capture_delegate_; | 84 scoped_refptr<DeckLinkCaptureDelegate> decklink_capture_delegate_; |
| 85 | 85 |
| 86 // Checks for Device (a.k.a. Audio) thread. | 86 // Checks for Device (a.k.a. Audio) thread. |
| 87 base::ThreadChecker thread_checker_; | 87 base::ThreadChecker thread_checker_; |
| 88 | 88 |
| 89 DISALLOW_COPY_AND_ASSIGN(VideoCaptureDeviceDeckLinkMac); | 89 DISALLOW_COPY_AND_ASSIGN(VideoCaptureDeviceDeckLinkMac); |
| 90 }; | 90 }; |
| 91 | 91 |
| 92 } // namespace media | 92 } // namespace device |
| 93 | 93 |
| 94 #endif // MEDIA_CAPTURE_VIDEO_MAC_VIDEO_CAPTURE_DEVICE_DECKLINK_MAC_H_ | 94 #endif // DEVICE_CAPTURE_VIDEO_MAC_VIDEO_CAPTURE_DEVICE_DECKLINK_MAC_H_ |
| OLD | NEW |