Files
2026-04-07 18:20:16 +08:00

36 lines
1.2 KiB
Objective-C

//
// AVSettingsView.h
// AVDemo
//
#import <UIKit/UIKit.h>
#import "AVVideoConfiguration.h"
NS_ASSUME_NONNULL_BEGIN
typedef void(^AVSettingsViewCallback)(AVVideoConfiguration *config);
typedef NS_OPTIONS(NSUInteger, AVSettingsFieldMask) {
AVSettingsFieldNone = 0,
AVSettingsFieldStreamId = 1 << 0, // Show Stream ID field
AVSettingsFieldNickname = 1 << 1, // Show Nickname field
AVSettingsFieldVideoParams = 1 << 2, // Show video params (codec, resolution, fps, bitrate)
AVSettingsFieldXorKey = 1 << 3, // Show XOR encryption key field
// Convenient combinations
AVSettingsFieldBasicPull = AVSettingsFieldStreamId | AVSettingsFieldNickname, // For pull page
AVSettingsFieldAll = AVSettingsFieldStreamId | AVSettingsFieldNickname | AVSettingsFieldVideoParams | AVSettingsFieldXorKey // For push page
};
@interface AVSettingsView : UIView
- (void)showInViewController:(UIViewController *)viewController
withConfig:(AVVideoConfiguration *)config
fieldsMask:(AVSettingsFieldMask)fieldsMask
callback:(AVSettingsViewCallback)callback;
- (void)dismiss;
@end
NS_ASSUME_NONNULL_END