mirror of
https://github.com/wpilibsuite/allwpilib
synced 2026-06-19 00:41:43 +00:00
[cscore] Add support for USB cameras on macOS (#4846)
The main restriction is there must be an event loop running on the main thread. No special action is required for GUI applications, but for non-GUI applications, a RunOsxRunLoop() function is provided that needs to be called from the main thread.
This commit is contained in:
22
cscore/src/main/native/objcpp/UsbCameraDelegate.h
Normal file
22
cscore/src/main/native/objcpp/UsbCameraDelegate.h
Normal file
@@ -0,0 +1,22 @@
|
||||
// Copyright (c) FIRST and other WPILib contributors.
|
||||
// Open Source Software; you can modify and/or share it under the terms of
|
||||
// the WPILib BSD license file in the root directory of this project.
|
||||
|
||||
#pragma once
|
||||
|
||||
#import <AVFoundation/AVFoundation.h>
|
||||
#include <memory>
|
||||
|
||||
namespace cs {
|
||||
class UsbCameraImpl;
|
||||
}
|
||||
|
||||
@interface UsbCameraDelegate
|
||||
: NSObject <AVCaptureVideoDataOutputSampleBufferDelegate>
|
||||
|
||||
@property(nonatomic) std::weak_ptr<cs::UsbCameraImpl> cppImpl;
|
||||
|
||||
- (void)captureOutput:(AVCaptureOutput*)captureOutput
|
||||
didOutputSampleBuffer:(CMSampleBufferRef)sampleBuffer
|
||||
fromConnection:(AVCaptureConnection*)connection;
|
||||
@end
|
||||
Reference in New Issue
Block a user