// // AVSettingsView.h // AVDemo // #import #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) // Convenient combinations AVSettingsFieldBasicPull = AVSettingsFieldStreamId | AVSettingsFieldNickname, // For pull page AVSettingsFieldAll = AVSettingsFieldStreamId | AVSettingsFieldNickname | AVSettingsFieldVideoParams // 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