webrtc_m130/sdk/objc/Framework/Headers/WebRTC/RTCCameraVideoCapturer.h

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

48 lines
1.9 KiB
C
Raw Normal View History

/*
* Copyright 2017 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.
*/
#import <Foundation/Foundation.h>
#import <AVFoundation/AVFoundation.h>
#import <WebRTC/RTCMacros.h>
#import <WebRTC/RTCVideoCapturer.h>
NS_ASSUME_NONNULL_BEGIN
RTC_EXPORT
// Camera capture that implements RTCVideoCapturer. Delivers frames to a RTCVideoCapturerDelegate
// (usually RTCVideoSource).
@interface RTCCameraVideoCapturer : RTCVideoCapturer
// Capture session that is used for capturing. Valid from initialization to dealloc.
@property(readonly, nonatomic) AVCaptureSession *captureSession;
// Returns list of available capture devices that support video capture.
+ (NSArray<AVCaptureDevice *> *)captureDevices;
// Returns list of formats that are supported by this class for this device.
+ (NSArray<AVCaptureDeviceFormat *> *)supportedFormatsForDevice:(AVCaptureDevice *)device;
// Returns the most efficient supported output pixel format for this capturer.
- (FourCharCode)preferredOutputPixelFormat;
Revert "Reland "Add completion callbacks to RTCCameraVideoCapturer start/stop operations"" This reverts commit 24e7a593d576d6eea8512f42f08d6c9c7003e76e. Reason for revert: Speculative revert, to see if it causes obscure down-stream issues. Original change's description: > Reland "Add completion callbacks to RTCCameraVideoCapturer start/stop operations" > > This is a reland of e23a9e8f418ad758bc1be5b53184b69ad1dab1c2 > Original change's description: > > Add completion callbacks to RTCCameraVideoCapturer start/stop operations > > > > Bug: webrtc:8696 > > Change-Id: I327ce11632fd0c71e28411d260094e87ede6b6b6 > > Reviewed-on: https://webrtc-review.googlesource.com/37021 > > Reviewed-by: Kári Helgason <kthelgason@webrtc.org> > > Reviewed-by: Anders Carlsson <andersc@webrtc.org> > > Commit-Queue: Anders Carlsson <andersc@webrtc.org> > > Cr-Commit-Position: refs/heads/master@{#21546} > > Bug: webrtc:8696 > Change-Id: I48b4d140d870c9924ef0d76f4d282ff13951e083 > Reviewed-on: https://webrtc-review.googlesource.com/38800 > Reviewed-by: Kári Helgason <kthelgason@webrtc.org> > Commit-Queue: Anders Carlsson <andersc@webrtc.org> > Cr-Commit-Position: refs/heads/master@{#21592} TBR=magjed@webrtc.org,andersc@webrtc.org,kthelgason@webrtc.org,gustavo@lifeonair.com Change-Id: I11731b1ed7142175fc5b483f313f627556635ede No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: webrtc:8696 Reviewed-on: https://webrtc-review.googlesource.com/39280 Reviewed-by: Erik Språng <sprang@webrtc.org> Commit-Queue: Erik Språng <sprang@webrtc.org> Cr-Commit-Position: refs/heads/master@{#21597}
2018-01-12 11:53:55 +00:00
// Starts and stops the capture session asynchronously.
// The device will capture video in the format given in the `format` parameter. If the pixel format
// in `format` is supported by the WebRTC pipeline, the same pixel format will be used for the
// output. Otherwise, the format returned by `preferredOutputPixelFormat` will be used.
- (void)startCaptureWithDevice:(AVCaptureDevice *)device
format:(AVCaptureDeviceFormat *)format
fps:(NSInteger)fps;
// Stops the capture session asynchronously.
- (void)stopCapture;
@end
NS_ASSUME_NONNULL_END