mirror of
https://github.com/obsproject/obs-studio.git
synced 2026-10-02 10:25:51 -04:00
This change updates the virtual camera implementation on macOS to utilize IOSurface to share the output feed with the virtual cameras. By using IOSurface, we remove the need for copying the frames across multiple buffers, since they can be shared across Mach connections using zero-copy.
34 lines
592 B
Objective-C
34 lines
592 B
Objective-C
//
|
|
// MachClient.h
|
|
// dal-plugin
|
|
//
|
|
// Created by John Boiles on 5/5/20.
|
|
//
|
|
|
|
#import <Foundation/Foundation.h>
|
|
#import <CoreVideo/CoreVideo.h>
|
|
|
|
NS_ASSUME_NONNULL_BEGIN
|
|
|
|
@protocol MachClientDelegate
|
|
|
|
- (void)receivedPixelBuffer:(CVPixelBufferRef)frame
|
|
timestamp:(uint64_t)timestamp
|
|
fpsNumerator:(uint32_t)fpsNumerator
|
|
fpsDenominator:(uint32_t)fpsDenominator;
|
|
- (void)receivedStop;
|
|
|
|
@end
|
|
|
|
@interface OBSDALMachClient : NSObject
|
|
|
|
@property (nullable, weak) id<MachClientDelegate> delegate;
|
|
|
|
- (BOOL)isServerAvailable;
|
|
|
|
- (BOOL)connectToServer;
|
|
|
|
@end
|
|
|
|
NS_ASSUME_NONNULL_END
|