webrtc_m130/sdk/objc/helpers/UIDevice+RTCDevice.h
Yury Yarashevich ea7f3d7230 Update iOS H264 profile+level table.
Added H264 profile level information for new devices.
Use machine name to form table to simplify later updates.
Implemented workaround for unknown devices.

Previous update was done as part of:
https://webrtc-review.googlesource.com/c/src/+/256976

Device machine names obtained from:
https://gist.github.com/adamawolf/3048717

Machine name to device model matching was done with:
https://everymac.com/ultimate-mac-lookup/


Bug: webrtc:15094
Change-Id: I85b7faa51b9f239d0b7783b9926449e02f5482d3
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/303760
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Commit-Queue: Kári Helgason <kthelgason@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39962}
2023-04-28 08:45:25 +00:00

113 lines
3.0 KiB
Objective-C

/*
* Copyright 2016 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 <UIKit/UIKit.h>
typedef NS_ENUM(NSInteger, RTCDeviceType) {
RTCDeviceTypeUnknown,
RTCDeviceTypeIPhone1G,
RTCDeviceTypeIPhone3G,
RTCDeviceTypeIPhone3GS,
RTCDeviceTypeIPhone4,
RTCDeviceTypeIPhone4Verizon,
RTCDeviceTypeIPhone4S,
RTCDeviceTypeIPhone5GSM,
RTCDeviceTypeIPhone5GSM_CDMA,
RTCDeviceTypeIPhone5CGSM,
RTCDeviceTypeIPhone5CGSM_CDMA,
RTCDeviceTypeIPhone5SGSM,
RTCDeviceTypeIPhone5SGSM_CDMA,
RTCDeviceTypeIPhone6Plus,
RTCDeviceTypeIPhone6,
RTCDeviceTypeIPhone6S,
RTCDeviceTypeIPhone6SPlus,
RTCDeviceTypeIPhone7,
RTCDeviceTypeIPhone7Plus,
RTCDeviceTypeIPhoneSE,
RTCDeviceTypeIPhone8,
RTCDeviceTypeIPhone8Plus,
RTCDeviceTypeIPhoneX,
RTCDeviceTypeIPhoneXS,
RTCDeviceTypeIPhoneXSMax,
RTCDeviceTypeIPhoneXR,
RTCDeviceTypeIPhone11,
RTCDeviceTypeIPhone11Pro,
RTCDeviceTypeIPhone11ProMax,
RTCDeviceTypeIPhone12Mini,
RTCDeviceTypeIPhone12,
RTCDeviceTypeIPhone12Pro,
RTCDeviceTypeIPhone12ProMax,
RTCDeviceTypeIPhoneSE2Gen,
RTCDeviceTypeIPhone13,
RTCDeviceTypeIPhone13Mini,
RTCDeviceTypeIPhone13Pro,
RTCDeviceTypeIPhone13ProMax,
RTCDeviceTypeIPodTouch1G,
RTCDeviceTypeIPodTouch2G,
RTCDeviceTypeIPodTouch3G,
RTCDeviceTypeIPodTouch4G,
RTCDeviceTypeIPodTouch5G,
RTCDeviceTypeIPodTouch6G,
RTCDeviceTypeIPodTouch7G,
RTCDeviceTypeIPad,
RTCDeviceTypeIPad2Wifi,
RTCDeviceTypeIPad2GSM,
RTCDeviceTypeIPad2CDMA,
RTCDeviceTypeIPad2Wifi2,
RTCDeviceTypeIPadMiniWifi,
RTCDeviceTypeIPadMiniGSM,
RTCDeviceTypeIPadMiniGSM_CDMA,
RTCDeviceTypeIPad3Wifi,
RTCDeviceTypeIPad3GSM_CDMA,
RTCDeviceTypeIPad3GSM,
RTCDeviceTypeIPad4Wifi,
RTCDeviceTypeIPad4GSM,
RTCDeviceTypeIPad4GSM_CDMA,
RTCDeviceTypeIPad5,
RTCDeviceTypeIPad6,
RTCDeviceTypeIPadAirWifi,
RTCDeviceTypeIPadAirCellular,
RTCDeviceTypeIPadAirWifiCellular,
RTCDeviceTypeIPadAir2,
RTCDeviceTypeIPadMini2GWifi,
RTCDeviceTypeIPadMini2GCellular,
RTCDeviceTypeIPadMini2GWifiCellular,
RTCDeviceTypeIPadMini3,
RTCDeviceTypeIPadMini4,
RTCDeviceTypeIPadPro9Inch,
RTCDeviceTypeIPadPro12Inch,
RTCDeviceTypeIPadPro12Inch2,
RTCDeviceTypeIPadPro10Inch,
RTCDeviceTypeIPad7Gen10Inch,
RTCDeviceTypeIPadPro3Gen11Inch,
RTCDeviceTypeIPadPro3Gen12Inch,
RTCDeviceTypeIPadPro4Gen11Inch,
RTCDeviceTypeIPadPro4Gen12Inch,
RTCDeviceTypeIPadMini5Gen,
RTCDeviceTypeIPadAir3Gen,
RTCDeviceTypeIPad8,
RTCDeviceTypeIPad9,
RTCDeviceTypeIPadMini6,
RTCDeviceTypeIPadAir4Gen,
RTCDeviceTypeIPadPro5Gen11Inch,
RTCDeviceTypeIPadPro5Gen12Inch,
RTCDeviceTypeSimulatori386,
RTCDeviceTypeSimulatorx86_64,
};
@interface UIDevice (RTCDevice)
+ (NSString *)machineName;
+ (RTCDeviceType)deviceType;
+ (BOOL)isIOS11OrLater;
@end