diff --git a/WebRTC.xcframework/Info.plist b/AntMedia_WebRTC.xcframework/Info.plist similarity index 78% rename from WebRTC.xcframework/Info.plist rename to AntMedia_WebRTC.xcframework/Info.plist index 6294a8a4..fbe44fe2 100644 --- a/WebRTC.xcframework/Info.plist +++ b/AntMedia_WebRTC.xcframework/Info.plist @@ -5,31 +5,35 @@ AvailableLibraries + BinaryPath + AntMedia_WebRTC.Framework/AntMedia_WebRTC LibraryIdentifier - ios-arm64 + ios-arm64_x86_64-simulator LibraryPath - WebRTC.framework + AntMedia_WebRTC.framework SupportedArchitectures arm64 + x86_64 SupportedPlatform ios + SupportedPlatformVariant + simulator + BinaryPath + AntMedia_WebRTC.framework/AntMedia_WebRTC LibraryIdentifier - ios-arm64_x86_64-simulator + ios-arm64 LibraryPath - WebRTC.framework + AntMedia_WebRTC.framework SupportedArchitectures arm64 - x86_64 SupportedPlatform ios - SupportedPlatformVariant - simulator CFBundlePackageType diff --git a/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/AntMedia_WebRTC b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/AntMedia_WebRTC new file mode 100755 index 00000000..3576846d Binary files /dev/null and b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/AntMedia_WebRTC differ diff --git a/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/AntMedia_WebRTC.h b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/AntMedia_WebRTC.h new file mode 100644 index 00000000..10ab34e5 --- /dev/null +++ b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/AntMedia_WebRTC.h @@ -0,0 +1,103 @@ +/* + * Copyright 2025 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 +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import diff --git a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCAudioDevice.h b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCAudioDevice.h similarity index 69% rename from WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCAudioDevice.h rename to AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCAudioDevice.h index 09d79c8a..1e486f67 100644 --- a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCAudioDevice.h +++ b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCAudioDevice.h @@ -11,7 +11,7 @@ #import #import -#import +#import NS_ASSUME_NONNULL_BEGIN @@ -37,7 +37,8 @@ typedef OSStatus (^RTC_OBJC_TYPE(RTCAudioDeviceDeliverRecordedDataBlock))( UInt32 frameCount, const AudioBufferList *_Nullable inputData, void *_Nullable renderContext, - NS_NOESCAPE RTC_OBJC_TYPE(RTCAudioDeviceRenderRecordedDataBlock) _Nullable renderBlock); + NS_NOESCAPE RTC_OBJC_TYPE( + RTCAudioDeviceRenderRecordedDataBlock) _Nullable renderBlock); /** * Delegate object provided by native ADM during RTCAudioDevice initialization. @@ -47,18 +48,21 @@ typedef OSStatus (^RTC_OBJC_TYPE(RTCAudioDeviceDeliverRecordedDataBlock))( RTC_OBJC_EXPORT @protocol RTC_OBJC_TYPE (RTCAudioDeviceDelegate) /** - * Implementation of RTCAudioSource should call this block to feed recorded PCM (16-bit integer) - * into native ADM. Stereo data is expected to be interleaved starting with the left channel. - * Either `inputData` with pre-filled audio data must be provided during block - * call or `renderBlock` must be provided which must fill provided audio buffer with recorded + * Implementation of RTCAudioSource should call this block to feed recorded + * PCM (16-bit integer) into native ADM. Stereo data is expected to be + * interleaved starting with the left channel. Either `inputData` with + * pre-filled audio data must be provided during block call or `renderBlock` + * must be provided which must fill provided audio buffer with recorded * samples. * - * NOTE: Implementation of RTCAudioDevice is expected to call the block on the same thread until - * `notifyAudioInterrupted` is called. When `notifyAudioInterrupted` is called implementation - * can call the block on a different thread. + * NOTE: Implementation of RTCAudioDevice is expected to call the block on + * the same thread until `notifyAudioInterrupted` is called. When + * `notifyAudioInterrupted` is called implementation can call the block on a + * different thread. */ @property(readonly, nonnull) - RTC_OBJC_TYPE(RTCAudioDeviceDeliverRecordedDataBlock) deliverRecordedData; + RTC_OBJC_TYPE(RTCAudioDeviceDeliverRecordedDataBlock) + deliverRecordedData; /** * Provides input sample rate preference as it preferred by native ADM. @@ -81,30 +85,37 @@ RTC_OBJC_EXPORT @protocol RTC_OBJC_TYPE @property(readonly) NSTimeInterval preferredOutputIOBufferDuration; /** - * Implementation of RTCAudioDevice should call this block to request PCM (16-bit integer) - * from native ADM to play. Stereo data is interleaved starting with the left channel. + * Implementation of RTCAudioDevice should call this block to request PCM + * (16-bit integer) from native ADM to play. Stereo data is interleaved starting + * with the left channel. * - * NOTE: Implementation of RTCAudioDevice is expected to invoke of this block on the - * same thread until `notifyAudioInterrupted` is called. When `notifyAudioInterrupted` is called - * implementation can call the block from a different thread. + * NOTE: Implementation of RTCAudioDevice is expected to invoke of this block on + * the same thread until `notifyAudioInterrupted` is called. When + * `notifyAudioInterrupted` is called implementation can call the block from a + * different thread. */ -@property(readonly, nonnull) RTC_OBJC_TYPE(RTCAudioDeviceGetPlayoutDataBlock) getPlayoutData; +@property(readonly, nonnull) RTC_OBJC_TYPE(RTCAudioDeviceGetPlayoutDataBlock) + getPlayoutData; /** - * Notifies native ADM that some of the audio input parameters of RTCAudioDevice like - * samle rate and/or IO buffer duration and/or IO latency had possibly changed. - * Native ADM will adjust its audio input buffer to match current parameters of audio device. + * Notifies native ADM that some of the audio input parameters of RTCAudioDevice + * like samle rate and/or IO buffer duration and/or IO latency had possibly + * changed. Native ADM will adjust its audio input buffer to match current + * parameters of audio device. * - * NOTE: Must be called within block executed via `dispatchAsync` or `dispatchSync`. + * NOTE: Must be called within block executed via `dispatchAsync` or + * `dispatchSync`. */ - (void)notifyAudioInputParametersChange; /** - * Notifies native ADM that some of the audio output parameters of RTCAudioDevice like - * samle rate and/or IO buffer duration and/or IO latency had possibly changed. - * Native ADM will adjust its audio output buffer to match current parameters of audio device. + * Notifies native ADM that some of the audio output parameters of + * RTCAudioDevice like samle rate and/or IO buffer duration and/or IO latency + * had possibly changed. Native ADM will adjust its audio output buffer to match + * current parameters of audio device. * - * NOTE: Must be called within block executed via `dispatchAsync` or `dispatchSync`. + * NOTE: Must be called within block executed via `dispatchAsync` or + * `dispatchSync`. */ - (void)notifyAudioOutputParametersChange; @@ -112,15 +123,17 @@ RTC_OBJC_EXPORT @protocol RTC_OBJC_TYPE * Notifies native ADM that audio input is interrupted and further audio playout * and recording might happen on a different thread. * - * NOTE: Must be called within block executed via `dispatchAsync` or `dispatchSync`. + * NOTE: Must be called within block executed via `dispatchAsync` or + * `dispatchSync`. */ - (void)notifyAudioInputInterrupted; /** - * Notifies native ADM that audio output is interrupted and further audio playout - * and recording might happen on a different thread. + * Notifies native ADM that audio output is interrupted and further audio + * playout and recording might happen on a different thread. * - * NOTE: Must be called within block executed via `dispatchAsync` or `dispatchSync`. + * NOTE: Must be called within block executed via `dispatchAsync` or + * `dispatchSync`. */ - (void)notifyAudioOutputInterrupted; @@ -133,8 +146,8 @@ RTC_OBJC_EXPORT @protocol RTC_OBJC_TYPE * `notifyAudioOutputInterrupted` on native ADM thread. * Also could be used by `RTCAudioDevice` implementation to tie * mutations of underlying audio objects (AVAudioEngine, AudioUnit, etc) - * to the native ADM thread. Could be useful to handle events like audio route change, which - * could lead to audio parameters change. + * to the native ADM thread. Could be useful to handle events like audio route + * change, which could lead to audio parameters change. */ - (void)dispatchAsync:(dispatch_block_t)block; @@ -146,42 +159,48 @@ RTC_OBJC_EXPORT @protocol RTC_OBJC_TYPE * `notifyAudioOutputParametersChange`, `notifyAudioInputInterrupted`, * `notifyAudioOutputInterrupted` on native ADM thread and make sure * aforementioned is completed before `dispatchSync` returns. Could be useful - * when implementation of `RTCAudioDevice` tie mutation to underlying audio objects (AVAudioEngine, - * AudioUnit, etc) to own thread to satisfy requirement that native ADM audio parameters - * must be kept in sync with current audio parameters before audio is actually played or recorded. + * when implementation of `RTCAudioDevice` tie mutation to underlying audio + * objects (AVAudioEngine, AudioUnit, etc) to own thread to satisfy requirement + * that native ADM audio parameters must be kept in sync with current audio + * parameters before audio is actually played or recorded. */ - (void)dispatchSync:(dispatch_block_t)block; @end /** - * Protocol to abstract platform specific ways to implement playback and recording. + * Protocol to abstract platform specific ways to implement playback and + * recording. * - * NOTE: All the members of protocol are called by native ADM from the same thread - * between calls to `initializeWithDelegate` and `terminate`. - * NOTE: Implementation is fully responsible for configuring application's AVAudioSession. - * An example implementation of RTCAudioDevice: https://github.com/mstyura/RTCAudioDevice - * TODO(yura.yaroshevich): Implement custom RTCAudioDevice for AppRTCMobile demo app. + * NOTE: All the members of protocol are called by native ADM from the same + * thread between calls to `initializeWithDelegate` and `terminate`. NOTE: + * Implementation is fully responsible for configuring application's + * AVAudioSession. An example implementation of RTCAudioDevice: + * https://github.com/mstyura/RTCAudioDevice + * TODO(yura.yaroshevich): Implement custom RTCAudioDevice for AppRTCMobile demo + * app. */ RTC_OBJC_EXPORT @protocol RTC_OBJC_TYPE (RTCAudioDevice) /** - * Indicates current sample rate of audio recording. Changes to this property - * must be notified back to native ADM via `-[RTCAudioDeviceDelegate - * notifyAudioParametersChange]`. + * Indicates current sample rate of audio recording. Changes to this + * property must be notified back to native ADM via + * `-[RTCAudioDeviceDelegate notifyAudioParametersChange]`. */ @property(readonly) double deviceInputSampleRate; /** * Indicates current size of record buffer. Changes to this property - * must be notified back to native ADM via `-[RTCAudioDeviceDelegate notifyAudioParametersChange]`. + * must be notified back to native ADM via `-[RTCAudioDeviceDelegate + * notifyAudioParametersChange]`. */ @property(readonly) NSTimeInterval inputIOBufferDuration; /** * Indicates current number of recorded audio channels. Changes to this property - * must be notified back to native ADM via `-[RTCAudioDeviceDelegate notifyAudioParametersChange]`. + * must be notified back to native ADM via `-[RTCAudioDeviceDelegate + * notifyAudioParametersChange]`. */ @property(readonly) NSInteger inputNumberOfChannels; @@ -192,19 +211,22 @@ RTC_OBJC_EXPORT @protocol RTC_OBJC_TYPE /** * Indicates current sample rate of audio playback. Changes to this property - * must be notified back to native ADM via `-[RTCAudioDeviceDelegate notifyAudioParametersChange]`. + * must be notified back to native ADM via `-[RTCAudioDeviceDelegate + * notifyAudioParametersChange]`. */ @property(readonly) double deviceOutputSampleRate; /** * Indicates current size of playback buffer. Changes to this property - * must be notified back to native ADM via `-[RTCAudioDeviceDelegate notifyAudioParametersChange]`. + * must be notified back to native ADM via `-[RTCAudioDeviceDelegate + * notifyAudioParametersChange]`. */ @property(readonly) NSTimeInterval outputIOBufferDuration; /** * Indicates current number of playback audio channels. Changes to this property - * must be notified back to WebRTC via `[RTCAudioDeviceDelegate notifyAudioParametersChange]`. + * must be notified back to WebRTC via `[RTCAudioDeviceDelegate + * notifyAudioParametersChange]`. */ @property(readonly) NSInteger outputNumberOfChannels; @@ -214,36 +236,40 @@ RTC_OBJC_EXPORT @protocol RTC_OBJC_TYPE @property(readonly) NSTimeInterval outputLatency; /** - * Indicates if invocation of `initializeWithDelegate` required before usage of RTCAudioDevice. - * YES indicates that `initializeWithDelegate` was called earlier without subsequent call to - * `terminate`. NO indicates that either `initializeWithDelegate` not called or `terminate` called. + * Indicates if invocation of `initializeWithDelegate` required before usage of + * RTCAudioDevice. YES indicates that `initializeWithDelegate` was called + * earlier without subsequent call to `terminate`. NO indicates that either + * `initializeWithDelegate` not called or `terminate` called. */ @property(readonly) BOOL isInitialized; /** * Initializes RTCAudioDevice with RTCAudioDeviceDelegate. - * Implementation must return YES if RTCAudioDevice initialized successfully and NO otherwise. + * Implementation must return YES if RTCAudioDevice initialized successfully and + * NO otherwise. */ -- (BOOL)initializeWithDelegate:(id)delegate; +- (BOOL)initializeWithDelegate: + (id)delegate; /** - * De-initializes RTCAudioDevice. Implementation should forget about `delegate` provided in - * `initializeWithDelegate`. + * De-initializes RTCAudioDevice. Implementation should forget about `delegate` + * provided in `initializeWithDelegate`. */ - (BOOL)terminateDevice; /** - * Property to indicate if `initializePlayout` call required before invocation of `startPlayout`. - * YES indicates that `initializePlayout` was successfully invoked earlier or not necessary, - * NO indicates that `initializePlayout` invocation required. + * Property to indicate if `initializePlayout` call required before invocation + * of `startPlayout`. YES indicates that `initializePlayout` was successfully + * invoked earlier or not necessary, NO indicates that `initializePlayout` + * invocation required. */ @property(readonly) BOOL isPlayoutInitialized; /** * Prepares RTCAudioDevice to play audio. * Called by native ADM before invocation of `startPlayout`. - * Implementation is expected to return YES in case of successful playout initialization and NO - * otherwise. + * Implementation is expected to return YES in case of successful playout + * initialization and NO otherwise. */ - (BOOL)initializePlayout; @@ -268,18 +294,19 @@ RTC_OBJC_EXPORT @protocol RTC_OBJC_TYPE - (BOOL)stopPlayout; /** - * Property to indicate if `initializeRecording` call required before usage of `startRecording`. - * YES indicates that `initializeRecording` was successfully invoked earlier or not necessary, - * NO indicates that `initializeRecording` invocation required. + * Property to indicate if `initializeRecording` call required before usage of + * `startRecording`. YES indicates that `initializeRecording` was successfully + * invoked earlier or not necessary, NO indicates that `initializeRecording` + * invocation required. */ @property(readonly) BOOL isRecordingInitialized; /** * Prepares RTCAudioDevice to record audio. * Called by native ADM before invocation of `startRecording`. - * Implementation may use this method to prepare resources required to record audio. - * Implementation is expected to return YES in case of successful record initialization and NO - * otherwise. + * Implementation may use this method to prepare resources required to record + * audio. Implementation is expected to return YES in case of successful record + * initialization and NO otherwise. */ - (BOOL)initializeRecording; diff --git a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCAudioDeviceModule.h b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCAudioDeviceModule.h similarity index 89% rename from WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCAudioDeviceModule.h rename to AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCAudioDeviceModule.h index 97b37213..83efc43a 100644 --- a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCAudioDeviceModule.h +++ b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCAudioDeviceModule.h @@ -2,7 +2,7 @@ #import #import -#import +#import NS_ASSUME_NONNULL_BEGIN diff --git a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCAudioSession.h b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCAudioSession.h similarity index 80% rename from WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCAudioSession.h rename to AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCAudioSession.h index 0ca137d2..45f59a2a 100644 --- a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCAudioSession.h +++ b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCAudioSession.h @@ -11,7 +11,7 @@ #import #import -#import +#import NS_ASSUME_NONNULL_BEGIN @@ -35,7 +35,8 @@ RTC_OBJC_EXPORT /** Called on a system notification thread when AVAudioSession starts an * interruption event. */ -- (void)audioSessionDidBeginInterruption:(RTC_OBJC_TYPE(RTCAudioSession) *)session; +- (void)audioSessionDidBeginInterruption: + (RTC_OBJC_TYPE(RTCAudioSession) *)session; /** Called on a system notification thread when AVAudioSession ends an * interruption event. @@ -48,12 +49,14 @@ RTC_OBJC_EXPORT */ - (void)audioSessionDidChangeRoute:(RTC_OBJC_TYPE(RTCAudioSession) *)session reason:(AVAudioSessionRouteChangeReason)reason - previousRoute:(AVAudioSessionRouteDescription *)previousRoute; + previousRoute: + (AVAudioSessionRouteDescription *)previousRoute; /** Called on a system notification thread when AVAudioSession media server * terminates. */ -- (void)audioSessionMediaServerTerminated:(RTC_OBJC_TYPE(RTCAudioSession) *)session; +- (void)audioSessionMediaServerTerminated: + (RTC_OBJC_TYPE(RTCAudioSession) *)session; /** Called on a system notification thread when AVAudioSession media server * restarts. @@ -68,12 +71,14 @@ RTC_OBJC_EXPORT /** Called on a WebRTC thread when the audio device is notified to begin * playback or recording. */ -- (void)audioSessionDidStartPlayOrRecord:(RTC_OBJC_TYPE(RTCAudioSession) *)session; +- (void)audioSessionDidStartPlayOrRecord: + (RTC_OBJC_TYPE(RTCAudioSession) *)session; /** Called on a WebRTC thread when the audio device is notified to stop * playback or recording. */ -- (void)audioSessionDidStopPlayOrRecord:(RTC_OBJC_TYPE(RTCAudioSession) *)session; +- (void)audioSessionDidStopPlayOrRecord: + (RTC_OBJC_TYPE(RTCAudioSession) *)session; /** Called when the AVAudioSession output volume value changes. */ - (void)audioSession:(RTC_OBJC_TYPE(RTCAudioSession) *)audioSession @@ -87,11 +92,13 @@ RTC_OBJC_EXPORT /** Called when the audio session is about to change the active state. */ -- (void)audioSession:(RTC_OBJC_TYPE(RTCAudioSession) *)audioSession willSetActive:(BOOL)active; +- (void)audioSession:(RTC_OBJC_TYPE(RTCAudioSession) *)audioSession + willSetActive:(BOOL)active; /** Called after the audio session sucessfully changed the active state. */ -- (void)audioSession:(RTC_OBJC_TYPE(RTCAudioSession) *)audioSession didSetActive:(BOOL)active; +- (void)audioSession:(RTC_OBJC_TYPE(RTCAudioSession) *)audioSession + didSetActive:(BOOL)active; /** Called after the audio session failed to change the active state. */ @@ -105,8 +112,9 @@ RTC_OBJC_EXPORT @end /** This is a protocol used to inform RTCAudioSession when the audio session - * activation state has changed outside of RTCAudioSession. The current known use - * case of this is when CallKit activates the audio session for the application + * activation state has changed outside of RTCAudioSession. The current known + * use case of this is when CallKit activates the audio session for the + * application */ RTC_OBJC_EXPORT @protocol RTC_OBJC_TYPE @@ -173,10 +181,14 @@ RTC_OBJC_EXPORT @property(readonly) float inputGain; @property(readonly) BOOL inputGainSettable; @property(readonly) BOOL inputAvailable; -@property(readonly, nullable) NSArray *inputDataSources; -@property(readonly, nullable) AVAudioSessionDataSourceDescription *inputDataSource; -@property(readonly, nullable) NSArray *outputDataSources; -@property(readonly, nullable) AVAudioSessionDataSourceDescription *outputDataSource; +@property(readonly, nullable) + NSArray *inputDataSources; +@property(readonly, nullable) + AVAudioSessionDataSourceDescription *inputDataSource; +@property(readonly, nullable) + NSArray *outputDataSources; +@property(readonly, nullable) + AVAudioSessionDataSourceDescription *outputDataSource; @property(readonly) double sampleRate; @property(readonly) double preferredSampleRate; @property(readonly) NSInteger inputNumberOfChannels; @@ -188,10 +200,11 @@ RTC_OBJC_EXPORT @property(readonly) NSTimeInterval preferredIOBufferDuration; /** - When YES, calls to -setConfiguration:error: and -setConfiguration:active:error: ignore errors in - configuring the audio session's "preferred" attributes (e.g. preferredInputNumberOfChannels). - Typically, configurations to preferred attributes are optimizations, and ignoring this type of - configuration error allows code flow to continue along the happy path when these optimization are + When YES, calls to -setConfiguration:error: and -setConfiguration:active:error: + ignore errors in configuring the audio session's "preferred" attributes (e.g. + preferredInputNumberOfChannels). Typically, configurations to preferred + attributes are optimizations, and ignoring this type of configuration error + allows code flow to continue along the happy path when these optimization are not available. The default value of this property is NO. */ @property(nonatomic) BOOL ignoresPreferredAttributeConfigurationErrors; @@ -225,17 +238,26 @@ RTC_OBJC_EXPORT // AVAudioSession. `lockForConfiguration` must be called before using them // otherwise they will fail with kRTCAudioSessionErrorLockRequired. -- (BOOL)setCategory:(NSString *)category +- (BOOL)setCategory:(AVAudioSessionCategory)category + mode:(AVAudioSessionMode)mode + options:(AVAudioSessionCategoryOptions)options + error:(NSError **)outError; +- (BOOL)setCategory:(AVAudioSessionCategory)category withOptions:(AVAudioSessionCategoryOptions)options error:(NSError **)outError; -- (BOOL)setMode:(NSString *)mode error:(NSError **)outError; +- (BOOL)setMode:(AVAudioSessionMode)mode error:(NSError **)outError; - (BOOL)setInputGain:(float)gain error:(NSError **)outError; - (BOOL)setPreferredSampleRate:(double)sampleRate error:(NSError **)outError; -- (BOOL)setPreferredIOBufferDuration:(NSTimeInterval)duration error:(NSError **)outError; -- (BOOL)setPreferredInputNumberOfChannels:(NSInteger)count error:(NSError **)outError; -- (BOOL)setPreferredOutputNumberOfChannels:(NSInteger)count error:(NSError **)outError; -- (BOOL)overrideOutputAudioPort:(AVAudioSessionPortOverride)portOverride error:(NSError **)outError; -- (BOOL)setPreferredInput:(AVAudioSessionPortDescription *)inPort error:(NSError **)outError; +- (BOOL)setPreferredIOBufferDuration:(NSTimeInterval)duration + error:(NSError **)outError; +- (BOOL)setPreferredInputNumberOfChannels:(NSInteger)count + error:(NSError **)outError; +- (BOOL)setPreferredOutputNumberOfChannels:(NSInteger)count + error:(NSError **)outError; +- (BOOL)overrideOutputAudioPort:(AVAudioSessionPortOverride)portOverride + error:(NSError **)outError; +- (BOOL)setPreferredInput:(AVAudioSessionPortDescription *)inPort + error:(NSError **)outError; - (BOOL)setInputDataSource:(AVAudioSessionDataSourceDescription *)dataSource error:(NSError **)outError; - (BOOL)setOutputDataSource:(AVAudioSessionDataSourceDescription *)dataSource @@ -250,13 +272,15 @@ RTC_OBJC_EXPORT * returned. * `lockForConfiguration` must be called first. */ - - (BOOL)setConfiguration : (RTC_OBJC_TYPE(RTCAudioSessionConfiguration) *)configuration error + - (BOOL)setConfiguration + : (RTC_OBJC_TYPE(RTCAudioSessionConfiguration) *)configuration error : (NSError **)outError; /** Convenience method that calls both setConfiguration and setActive. * `lockForConfiguration` must be called first. */ -- (BOOL)setConfiguration:(RTC_OBJC_TYPE(RTCAudioSessionConfiguration) *)configuration +- (BOOL)setConfiguration: + (RTC_OBJC_TYPE(RTCAudioSessionConfiguration) *)configuration active:(BOOL)active error:(NSError **)outError; diff --git a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCAudioSessionConfiguration.h b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCAudioSessionConfiguration.h similarity index 86% rename from WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCAudioSessionConfiguration.h rename to AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCAudioSessionConfiguration.h index be799203..96ddfa9e 100644 --- a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCAudioSessionConfiguration.h +++ b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCAudioSessionConfiguration.h @@ -11,15 +11,13 @@ #import #import -#import +#import NS_ASSUME_NONNULL_BEGIN RTC_EXTERN const int kRTCAudioSessionPreferredNumberOfChannels; RTC_EXTERN const double kRTCAudioSessionHighPerformanceSampleRate; -RTC_EXTERN const double kRTCAudioSessionLowComplexitySampleRate; RTC_EXTERN const double kRTCAudioSessionHighPerformanceIOBufferDuration; -RTC_EXTERN const double kRTCAudioSessionLowComplexityIOBufferDuration; // Struct to hold configuration values. RTC_OBJC_EXPORT @@ -41,7 +39,8 @@ RTC_OBJC_EXPORT /** Returns the configuration that WebRTC needs. */ + (instancetype)webRTCConfiguration; /** Provide a way to override the default configuration. */ -+ (void)setWebRTCConfiguration:(RTC_OBJC_TYPE(RTCAudioSessionConfiguration) *)configuration; ++ (void)setWebRTCConfiguration: + (RTC_OBJC_TYPE(RTCAudioSessionConfiguration) *)configuration; @end diff --git a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCAudioSource.h b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCAudioSource.h similarity index 92% rename from WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCAudioSource.h rename to AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCAudioSource.h index f0c469f8..4c38bc09 100644 --- a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCAudioSource.h +++ b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCAudioSource.h @@ -10,8 +10,8 @@ #import -#import -#import +#import +#import NS_ASSUME_NONNULL_BEGIN diff --git a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCAudioTrack.h b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCAudioTrack.h similarity index 89% rename from WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCAudioTrack.h rename to AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCAudioTrack.h index 0c73d7d8..7625dfad 100644 --- a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCAudioTrack.h +++ b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCAudioTrack.h @@ -8,8 +8,8 @@ * be found in the AUTHORS file in the root of the source tree. */ -#import -#import +#import +#import NS_ASSUME_NONNULL_BEGIN diff --git a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCCVPixelBuffer.h b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCCVPixelBuffer.h similarity index 88% rename from WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCCVPixelBuffer.h rename to AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCCVPixelBuffer.h index b9cd6991..10b19f33 100644 --- a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCCVPixelBuffer.h +++ b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCCVPixelBuffer.h @@ -10,8 +10,8 @@ #import -#import -#import +#import +#import NS_ASSUME_NONNULL_BEGIN @@ -40,9 +40,9 @@ RTC_OBJC_EXPORT - (BOOL)requiresScalingToWidth:(int)width height:(int)height; - (int)bufferSizeForCroppingAndScalingToWidth:(int)width height:(int)height; -/** The minimum size of the `tmpBuffer` must be the number of bytes returned from the - * bufferSizeForCroppingAndScalingToWidth:height: method. - * If that size is 0, the `tmpBuffer` may be nil. +/** The minimum size of the `tmpBuffer` must be the number of bytes returned + * from the bufferSizeForCroppingAndScalingToWidth:height: method. If that size + * is 0, the `tmpBuffer` may be nil. */ - (BOOL)cropAndScaleTo:(CVPixelBufferRef)outputPixelBuffer withTempBuffer:(nullable uint8_t *)tmpBuffer; diff --git a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCCallbackLogger.h b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCCallbackLogger.h similarity index 80% rename from WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCCallbackLogger.h rename to AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCCallbackLogger.h index 8def162e..57e2d375 100644 --- a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCCallbackLogger.h +++ b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCCallbackLogger.h @@ -10,14 +10,14 @@ #import -#import -#import +#import +#import NS_ASSUME_NONNULL_BEGIN typedef void (^RTCCallbackLoggerMessageHandler)(NSString *message); -typedef void (^RTCCallbackLoggerMessageAndSeverityHandler)(NSString *message, - RTCLoggingSeverity severity); +typedef void (^RTCCallbackLoggerMessageAndSeverityHandler)( + NSString *message, RTCLoggingSeverity severity); // This class intercepts WebRTC logs and forwards them to a registered block. // This class is not threadsafe. @@ -32,7 +32,7 @@ RTC_OBJC_EXPORT // to implement dispatching to some other queue. - (void)start:(nullable RTCCallbackLoggerMessageHandler)handler; - (void)startWithMessageAndSeverityHandler: - (nullable RTCCallbackLoggerMessageAndSeverityHandler)handler; + (nullable RTCCallbackLoggerMessageAndSeverityHandler)handler; - (void)stop; diff --git a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCCameraPreviewView.h b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCCameraPreviewView.h similarity index 96% rename from WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCCameraPreviewView.h rename to AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCCameraPreviewView.h index 710f2e79..e78cbdd3 100644 --- a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCCameraPreviewView.h +++ b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCCameraPreviewView.h @@ -11,7 +11,7 @@ #import #import -#import +#import @class AVCaptureSession; diff --git a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCCameraVideoCapturer.h b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCCameraVideoCapturer.h similarity index 76% rename from WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCCameraVideoCapturer.h rename to AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCCameraVideoCapturer.h index 5edc75d0..08b5c92c 100644 --- a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCCameraVideoCapturer.h +++ b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCCameraVideoCapturer.h @@ -11,15 +11,15 @@ #import #import -#import -#import +#import +#import NS_ASSUME_NONNULL_BEGIN -RTC_OBJC_EXPORT // Camera capture that implements RTCVideoCapturer. Delivers frames to a // RTCVideoCapturerDelegate (usually RTCVideoSource). NS_EXTENSION_UNAVAILABLE_IOS("Camera not available in app extensions.") +RTC_OBJC_EXPORT @interface RTC_OBJC_TYPE (RTCCameraVideoCapturer) : RTC_OBJC_TYPE(RTCVideoCapturer) // Capture session that is used for capturing. Valid from initialization to dealloc. @@ -28,21 +28,25 @@ NS_EXTENSION_UNAVAILABLE_IOS("Camera not available in app extensions.") // Returns list of available capture devices that support video capture. + (NSArray *)captureDevices; // Returns list of formats that are supported by this class for this device. -+ (NSArray *)supportedFormatsForDevice:(AVCaptureDevice *)device; ++ (NSArray *)supportedFormatsForDevice: + (AVCaptureDevice *)device; // Returns the most efficient supported output pixel format for this capturer. - (FourCharCode)preferredOutputPixelFormat; -// Starts the capture session asynchronously and notifies callback on completion. -// 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. +// Starts the capture session asynchronously and notifies callback on +// completion. 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 - completionHandler:(nullable void (^)(NSError *_Nullable))completionHandler; + completionHandler: + (nullable void (^)(NSError *_Nullable))completionHandler; // Stops the capture session asynchronously and notifies callback on completion. -- (void)stopCaptureWithCompletionHandler:(nullable void (^)(void))completionHandler; +- (void)stopCaptureWithCompletionHandler: + (nullable void (^)(void))completionHandler; // Starts the capture session asynchronously. - (void)startCaptureWithDevice:(AVCaptureDevice *)device diff --git a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCCertificate.h b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCCertificate.h similarity index 86% rename from WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCCertificate.h rename to AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCCertificate.h index 31047e4a..8cec8c71 100644 --- a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCCertificate.h +++ b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCCertificate.h @@ -10,7 +10,7 @@ #import -#import +#import NS_ASSUME_NONNULL_BEGIN @@ -24,10 +24,12 @@ RTC_OBJC_EXPORT @property(nonatomic, readonly, copy) NSString *certificate; /** - * Initialize an RTCCertificate with PEM strings for private_key and certificate. + * Initialize an RTCCertificate with PEM strings for private_key and + * certificate. */ - (instancetype)initWithPrivateKey:(NSString *)private_key - certificate:(NSString *)certificate NS_DESIGNATED_INITIALIZER; + certificate:(NSString *)certificate + NS_DESIGNATED_INITIALIZER; - (instancetype)init NS_UNAVAILABLE; @@ -37,7 +39,8 @@ RTC_OBJC_EXPORT * provided. * - name: "ECDSA" or "RSASSA-PKCS1-v1_5" */ -+ (nullable RTC_OBJC_TYPE(RTCCertificate) *)generateCertificateWithParams:(NSDictionary *)params; ++ (nullable RTC_OBJC_TYPE(RTCCertificate) *)generateCertificateWithParams: + (NSDictionary *)params; @end diff --git a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCCodecSpecificInfo.h b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCCodecSpecificInfo.h similarity index 94% rename from WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCCodecSpecificInfo.h rename to AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCCodecSpecificInfo.h index 39f7c183..83266b43 100644 --- a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCCodecSpecificInfo.h +++ b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCCodecSpecificInfo.h @@ -10,7 +10,7 @@ #import -#import +#import NS_ASSUME_NONNULL_BEGIN diff --git a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCCodecSpecificInfoH264.h b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCCodecSpecificInfoH264.h similarity index 72% rename from WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCCodecSpecificInfoH264.h rename to AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCCodecSpecificInfoH264.h index 25d309c0..5c890253 100644 --- a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCCodecSpecificInfoH264.h +++ b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCCodecSpecificInfoH264.h @@ -10,13 +10,14 @@ #import -#import -#import +#import +#import /** Class for H264 specific config. */ typedef NS_ENUM(NSUInteger, RTCH264PacketizationMode) { - RTCH264PacketizationModeNonInterleaved = 0, // Mode 1 - STAP-A, FU-A is allowed - RTCH264PacketizationModeSingleNalUnit // Mode 0 - only single NALU allowed + RTCH264PacketizationModeNonInterleaved = + 0, // Mode 1 - STAP-A, FU-A is allowed + RTCH264PacketizationModeSingleNalUnit // Mode 0 - only single NALU allowed }; RTC_OBJC_EXPORT diff --git a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCConfiguration.h b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCConfiguration.h similarity index 92% rename from WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCConfiguration.h rename to AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCConfiguration.h index fb82f830..08aabc43 100644 --- a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCConfiguration.h +++ b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCConfiguration.h @@ -10,9 +10,9 @@ #import -#import -#import -#import +#import +#import +#import @class RTC_OBJC_TYPE(RTCIceServer); @@ -35,7 +35,10 @@ typedef NS_ENUM(NSInteger, RTCBundlePolicy) { }; /** Represents the rtcp mux policy. */ -typedef NS_ENUM(NSInteger, RTCRtcpMuxPolicy) { RTCRtcpMuxPolicyNegotiate, RTCRtcpMuxPolicyRequire }; +typedef NS_ENUM(NSInteger, RTCRtcpMuxPolicy) { + RTCRtcpMuxPolicyNegotiate, + RTCRtcpMuxPolicyRequire +}; /** Represents the tcp candidate policy. */ typedef NS_ENUM(NSInteger, RTCTcpCandidatePolicy) { @@ -95,12 +98,8 @@ RTC_OBJC_EXPORT @property(nonatomic, assign) RTCRtcpMuxPolicy rtcpMuxPolicy; @property(nonatomic, assign) RTCTcpCandidatePolicy tcpCandidatePolicy; @property(nonatomic, assign) RTCCandidateNetworkPolicy candidateNetworkPolicy; -@property(nonatomic, assign) RTCContinualGatheringPolicy continualGatheringPolicy; - -/** If set to YES, don't gather IPv6 ICE candidates. - * Default is NO. - */ -@property(nonatomic, assign) BOOL disableIPV6; +@property(nonatomic, assign) + RTCContinualGatheringPolicy continualGatheringPolicy; /** If set to YES, don't gather IPv6 ICE candidates on Wi-Fi. * Only intended to be used on specific devices. Certain phones disable IPv6 @@ -155,7 +154,8 @@ RTC_OBJC_EXPORT * transport type and as a result not observed by PeerConnectionDelegateAdapter, * will be surfaced to the delegate. */ -@property(nonatomic, assign) BOOL shouldSurfaceIceCandidatesOnIceTransportTypeChanged; +@property(nonatomic, assign) + BOOL shouldSurfaceIceCandidatesOnIceTransportTypeChanged; /** If set to non-nil, controls the minimal interval between consecutive ICE * check packets. @@ -189,12 +189,6 @@ RTC_OBJC_EXPORT */ @property(nonatomic, assign) BOOL activeResetSrtpParams; -/** If the remote side support mid-stream codec switches then allow encoder - * switching to be performed. - */ - -@property(nonatomic, assign) BOOL allowCodecSwitching; - /** * Defines advanced optional cryptographic settings related to SRTP and * frame encryption for native WebRTC. Setting this will overwrite any @@ -236,7 +230,8 @@ RTC_OBJC_EXPORT * when ICE is strongly connected, and it overrides the * default value of this interval in the ICE implementation; */ -@property(nonatomic, copy, nullable) NSNumber *iceCheckIntervalStrongConnectivity; +@property(nonatomic, copy, nullable) + NSNumber *iceCheckIntervalStrongConnectivity; /** * Defines the counterpart for ALL pairs when ICE is diff --git a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCCryptoOptions.h b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCCryptoOptions.h similarity index 82% rename from WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCCryptoOptions.h rename to AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCCryptoOptions.h index 6e2e7972..558732bf 100644 --- a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCCryptoOptions.h +++ b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCCryptoOptions.h @@ -10,7 +10,7 @@ #import -#import +#import NS_ASSUME_NONNULL_BEGIN @@ -50,10 +50,13 @@ RTC_OBJC_EXPORT * Initializes CryptoOptions with all possible options set explicitly. This * is done when converting from a native RTCConfiguration.crypto_options. */ -- (instancetype)initWithSrtpEnableGcmCryptoSuites:(BOOL)srtpEnableGcmCryptoSuites - srtpEnableAes128Sha1_32CryptoCipher:(BOOL)srtpEnableAes128Sha1_32CryptoCipher - srtpEnableEncryptedRtpHeaderExtensions:(BOOL)srtpEnableEncryptedRtpHeaderExtensions - sframeRequireFrameEncryption:(BOOL)sframeRequireFrameEncryption +- (instancetype) + initWithSrtpEnableGcmCryptoSuites:(BOOL)srtpEnableGcmCryptoSuites + srtpEnableAes128Sha1_32CryptoCipher: + (BOOL)srtpEnableAes128Sha1_32CryptoCipher + srtpEnableEncryptedRtpHeaderExtensions: + (BOOL)srtpEnableEncryptedRtpHeaderExtensions + sframeRequireFrameEncryption:(BOOL)sframeRequireFrameEncryption NS_DESIGNATED_INITIALIZER; - (instancetype)init NS_UNAVAILABLE; diff --git a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCDataChannel.h b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCDataChannel.h similarity index 94% rename from WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCDataChannel.h rename to AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCDataChannel.h index 80b8ad81..3218121d 100644 --- a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCDataChannel.h +++ b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCDataChannel.h @@ -11,7 +11,7 @@ #import #import -#import +#import NS_ASSUME_NONNULL_BEGIN @@ -40,7 +40,8 @@ RTC_OBJC_EXPORT (RTCDataChannelDelegate) /** The data channel state changed. */ - - (void)dataChannelDidChangeState : (RTC_OBJC_TYPE(RTCDataChannel) *)dataChannel; + - (void)dataChannelDidChangeState + : (RTC_OBJC_TYPE(RTCDataChannel) *)dataChannel; /** The data channel successfully received a data buffer. */ - (void)dataChannel:(RTC_OBJC_TYPE(RTCDataChannel) *)dataChannel @@ -77,7 +78,8 @@ RTC_OBJC_EXPORT @property(nonatomic, readonly) BOOL isOrdered; /** Deprecated. Use maxPacketLifeTime. */ -@property(nonatomic, readonly) NSUInteger maxRetransmitTime DEPRECATED_ATTRIBUTE; +@property(nonatomic, readonly) + NSUInteger maxRetransmitTime DEPRECATED_ATTRIBUTE; /** * The length of the time window (in milliseconds) during which transmissions diff --git a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCDataChannelConfiguration.h b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCDataChannelConfiguration.h similarity index 97% rename from WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCDataChannelConfiguration.h rename to AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCDataChannelConfiguration.h index b1d8d770..bb8e597f 100644 --- a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCDataChannelConfiguration.h +++ b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCDataChannelConfiguration.h @@ -11,7 +11,7 @@ #import #import -#import +#import NS_ASSUME_NONNULL_BEGIN diff --git a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCDefaultVideoDecoderFactory.h b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCDefaultVideoDecoderFactory.h similarity index 76% rename from WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCDefaultVideoDecoderFactory.h rename to AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCDefaultVideoDecoderFactory.h index 5d10e47b..6be40af8 100644 --- a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCDefaultVideoDecoderFactory.h +++ b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCDefaultVideoDecoderFactory.h @@ -10,14 +10,14 @@ #import -#import -#import +#import +#import NS_ASSUME_NONNULL_BEGIN -/** This decoder factory include support for all codecs bundled with WebRTC. If using custom - * codecs, create custom implementations of RTCVideoEncoderFactory and - * RTCVideoDecoderFactory. +/** This decoder factory include support for all codecs bundled with WebRTC. If + * using custom codecs, create custom implementations of RTCVideoEncoderFactory + * and RTCVideoDecoderFactory. */ RTC_OBJC_EXPORT @interface RTC_OBJC_TYPE (RTCDefaultVideoDecoderFactory) : NSObject diff --git a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCDefaultVideoEncoderFactory.h b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCDefaultVideoEncoderFactory.h similarity index 79% rename from WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCDefaultVideoEncoderFactory.h rename to AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCDefaultVideoEncoderFactory.h index cef7adc4..5e966c8f 100644 --- a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCDefaultVideoEncoderFactory.h +++ b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCDefaultVideoEncoderFactory.h @@ -10,14 +10,14 @@ #import -#import -#import +#import +#import NS_ASSUME_NONNULL_BEGIN -/** This encoder factory include support for all codecs bundled with WebRTC. If using custom - * codecs, create custom implementations of RTCVideoEncoderFactory and - * RTCVideoDecoderFactory. +/** This encoder factory include support for all codecs bundled with WebRTC. If + * using custom codecs, create custom implementations of RTCVideoEncoderFactory + * and RTCVideoDecoderFactory. */ RTC_OBJC_EXPORT @interface RTC_OBJC_TYPE (RTCDefaultVideoEncoderFactory) : NSObject diff --git a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCDispatcher.h b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCDispatcher.h similarity index 94% rename from WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCDispatcher.h rename to AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCDispatcher.h index 9a14c39a..d969b469 100644 --- a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCDispatcher.h +++ b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCDispatcher.h @@ -10,7 +10,7 @@ #import -#import +#import typedef NS_ENUM(NSInteger, RTCDispatcherQueueType) { // Main dispatcher queue. @@ -36,7 +36,8 @@ RTC_OBJC_EXPORT * @param dispatchType The queue type to dispatch on. * @param block The block to dispatch asynchronously. */ -+ (void)dispatchAsyncOnType:(RTCDispatcherQueueType)dispatchType block:(dispatch_block_t)block; ++ (void)dispatchAsyncOnType:(RTCDispatcherQueueType)dispatchType + block:(dispatch_block_t)block; /** Returns YES if run on queue for the dispatchType otherwise NO. * Useful for asserting that a method is run on a correct queue. diff --git a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCDtmfSender.h b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCDtmfSender.h similarity index 85% rename from WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCDtmfSender.h rename to AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCDtmfSender.h index 8c8b1d3f..ebae48d6 100644 --- a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCDtmfSender.h +++ b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCDtmfSender.h @@ -10,7 +10,7 @@ #import -#import +#import NS_ASSUME_NONNULL_BEGIN @@ -20,8 +20,9 @@ RTC_OBJC_EXPORT /** * Returns true if this RTCDtmfSender is capable of sending DTMF. Otherwise - * returns false. To be able to send DTMF, the associated RTCRtpSender must be - * able to send packets, and a "telephone-event" codec must be negotiated. + * returns false. To be able to send DTMF, the associated RTCRtpSender must + * be able to send packets, and a "telephone-event" codec must be + * negotiated. */ @property(nonatomic, readonly) BOOL canInsertDtmf; @@ -54,15 +55,16 @@ RTC_OBJC_EXPORT - (nonnull NSString *)remainingTones; /** - * The current tone duration value. This value will be the value last set via the - * insertDtmf method, or the default value of 100 ms if insertDtmf was never called. + * The current tone duration value. This value will be the value last set via + * the insertDtmf method, or the default value of 100 ms if insertDtmf was never + * called. */ - (NSTimeInterval)duration; /** - * The current value of the between-tone gap. This value will be the value last set - * via the insertDtmf() method, or the default value of 50 ms if insertDtmf() was never - * called. + * The current value of the between-tone gap. This value will be the value last + * set via the insertDtmf() method, or the default value of 50 ms if + * insertDtmf() was never called. */ - (NSTimeInterval)interToneGap; diff --git a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCEAGLVideoView.h b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCEAGLVideoView.h similarity index 91% rename from WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCEAGLVideoView.h rename to AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCEAGLVideoView.h index 4e720d37..38019b49 100644 --- a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCEAGLVideoView.h +++ b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCEAGLVideoView.h @@ -11,9 +11,9 @@ #import #import -#import -#import -#import +#import +#import +#import NS_ASSUME_NONNULL_BEGIN @@ -23,8 +23,8 @@ NS_ASSUME_NONNULL_BEGIN * RTCEAGLVideoView is an RTCVideoRenderer which renders video frames * in its bounds using OpenGLES 2.0 or OpenGLES 3.0. */ -RTC_OBJC_EXPORT NS_EXTENSION_UNAVAILABLE_IOS("Rendering not available in app extensions.") +RTC_OBJC_EXPORT @interface RTC_OBJC_TYPE (RTCEAGLVideoView) : UIView @property(nonatomic, weak) id delegate; diff --git a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCEncodedImage.h b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCEncodedImage.h similarity index 95% rename from WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCEncodedImage.h rename to AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCEncodedImage.h index a025b584..1cc3aad9 100644 --- a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCEncodedImage.h +++ b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCEncodedImage.h @@ -10,8 +10,8 @@ #import -#import -#import +#import +#import NS_ASSUME_NONNULL_BEGIN diff --git a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCFieldTrials.h b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCFieldTrials.h similarity index 56% rename from WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCFieldTrials.h rename to AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCFieldTrials.h index 0ddce0fd..5d675bc8 100644 --- a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCFieldTrials.h +++ b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCFieldTrials.h @@ -10,23 +10,23 @@ #import -#import +#import -/** The only valid value for the following if set is kRTCFieldTrialEnabledValue. */ -RTC_EXTERN NSString * const kRTCFieldTrialAudioForceNoTWCCKey; -RTC_EXTERN NSString * const kRTCFieldTrialAudioForceABWENoTWCCKey; -RTC_EXTERN NSString * const kRTCFieldTrialSendSideBweWithOverheadKey; -RTC_EXTERN NSString * const kRTCFieldTrialFlexFec03AdvertisedKey; -RTC_EXTERN NSString * const kRTCFieldTrialFlexFec03Key; -RTC_EXTERN NSString * const kRTCFieldTrialH264HighProfileKey; -RTC_EXTERN NSString * const kRTCFieldTrialMinimizeResamplingOnMobileKey; +/** The only valid value for the following if set is kRTCFieldTrialEnabledValue. + */ +RTC_EXTERN NSString *const kRTCFieldTrialAudioForceABWENoTWCCKey; +RTC_EXTERN NSString *const kRTCFieldTrialFlexFec03AdvertisedKey; +RTC_EXTERN NSString *const kRTCFieldTrialFlexFec03Key; +RTC_EXTERN NSString *const kRTCFieldTrialH264HighProfileKey; +RTC_EXTERN NSString *const kRTCFieldTrialMinimizeResamplingOnMobileKey; RTC_EXTERN NSString *const kRTCFieldTrialUseNWPathMonitor; /** The valid value for field trials above. */ -RTC_EXTERN NSString * const kRTCFieldTrialEnabledValue; +RTC_EXTERN NSString *const kRTCFieldTrialEnabledValue; /** Initialize field trials using a dictionary mapping field trial keys to their * values. See above for valid keys and values. Must be called before any other * call into WebRTC. See: webrtc/system_wrappers/include/field_trial.h */ -RTC_EXTERN void RTCInitFieldTrialDictionary(NSDictionary *fieldTrials); +RTC_EXTERN void RTCInitFieldTrialDictionary( + NSDictionary *fieldTrials); diff --git a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCFileLogger.h b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCFileLogger.h similarity index 92% rename from WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCFileLogger.h rename to AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCFileLogger.h index 84924c58..47345b17 100644 --- a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCFileLogger.h +++ b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCFileLogger.h @@ -10,7 +10,7 @@ #import -#import +#import typedef NS_ENUM(NSUInteger, RTCFileLoggerSeverity) { RTCFileLoggerSeverityVerbose, @@ -52,11 +52,13 @@ RTC_OBJC_EXPORT - (instancetype)init; // Create file logger with default rotation type. -- (instancetype)initWithDirPath:(NSString *)dirPath maxFileSize:(NSUInteger)maxFileSize; +- (instancetype)initWithDirPath:(NSString *)dirPath + maxFileSize:(NSUInteger)maxFileSize; - (instancetype)initWithDirPath:(NSString *)dirPath maxFileSize:(NSUInteger)maxFileSize - rotationType:(RTCFileLoggerRotationType)rotationType NS_DESIGNATED_INITIALIZER; + rotationType:(RTCFileLoggerRotationType)rotationType + NS_DESIGNATED_INITIALIZER; // Starts writing WebRTC logs to disk if not already started. Overwrites any // existing file(s). diff --git a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCFileVideoCapturer.h b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCFileVideoCapturer.h similarity index 96% rename from WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCFileVideoCapturer.h rename to AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCFileVideoCapturer.h index 38f65f81..b5a97f80 100644 --- a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCFileVideoCapturer.h +++ b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCFileVideoCapturer.h @@ -10,7 +10,7 @@ #import -#import +#import NS_ASSUME_NONNULL_BEGIN diff --git a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCH264ProfileLevelId.h b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCH264ProfileLevelId.h similarity index 74% rename from WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCH264ProfileLevelId.h rename to AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCH264ProfileLevelId.h index 92ce6f26..25232d73 100644 --- a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCH264ProfileLevelId.h +++ b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCH264ProfileLevelId.h @@ -10,13 +10,13 @@ #import -#import +#import -RTC_OBJC_EXPORT extern NSString *const kRTCVideoCodecH264Name; -RTC_OBJC_EXPORT extern NSString *const kRTCLevel31ConstrainedHigh; -RTC_OBJC_EXPORT extern NSString *const kRTCLevel31ConstrainedBaseline; -RTC_OBJC_EXPORT extern NSString *const kRTCMaxSupportedH264ProfileLevelConstrainedHigh; -RTC_OBJC_EXPORT extern NSString *const kRTCMaxSupportedH264ProfileLevelConstrainedBaseline; +RTC_EXTERN NSString *const kRTCVideoCodecH264Name; +RTC_EXTERN NSString *const kRTCLevel31ConstrainedHigh; +RTC_EXTERN NSString *const kRTCLevel31ConstrainedBaseline; +RTC_EXTERN NSString *const kRTCMaxSupportedH264ProfileLevelConstrainedHigh; +RTC_EXTERN NSString *const kRTCMaxSupportedH264ProfileLevelConstrainedBaseline; /** H264 Profiles and levels. */ typedef NS_ENUM(NSUInteger, RTCH264Profile) { @@ -55,6 +55,7 @@ RTC_OBJC_EXPORT @property(nonatomic, readonly) NSString *hexString; - (instancetype)initWithHexString:(NSString *)hexString; -- (instancetype)initWithProfile:(RTCH264Profile)profile level:(RTCH264Level)level; +- (instancetype)initWithProfile:(RTCH264Profile)profile + level:(RTCH264Level)level; @end diff --git a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCI420Buffer.h b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCI420Buffer.h similarity index 93% rename from WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCI420Buffer.h rename to AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCI420Buffer.h index 54c32408..8d81466f 100644 --- a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCI420Buffer.h +++ b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCI420Buffer.h @@ -10,7 +10,7 @@ #import -#import +#import NS_ASSUME_NONNULL_BEGIN diff --git a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCIceCandidate.h b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCIceCandidate.h similarity index 91% rename from WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCIceCandidate.h rename to AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCIceCandidate.h index 7ac87b28..7f77a921 100644 --- a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCIceCandidate.h +++ b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCIceCandidate.h @@ -10,7 +10,7 @@ #import -#import +#import NS_ASSUME_NONNULL_BEGIN @@ -42,7 +42,8 @@ RTC_OBJC_EXPORT */ - (instancetype)initWithSdp:(NSString *)sdp sdpMLineIndex:(int)sdpMLineIndex - sdpMid:(nullable NSString *)sdpMid NS_DESIGNATED_INITIALIZER; + sdpMid:(nullable NSString *)sdpMid + NS_DESIGNATED_INITIALIZER; @end diff --git a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCIceCandidateErrorEvent.h b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCIceCandidateErrorEvent.h similarity index 72% rename from WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCIceCandidateErrorEvent.h rename to AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCIceCandidateErrorEvent.h index 80fd1db2..844a2458 100644 --- a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCIceCandidateErrorEvent.h +++ b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCIceCandidateErrorEvent.h @@ -10,7 +10,7 @@ #import -#import +#import NS_ASSUME_NONNULL_BEGIN @@ -23,16 +23,19 @@ RTC_OBJC_EXPORT /** The port used to communicate with the STUN or TURN server. */ @property(nonatomic, readonly) int port; -/** The STUN or TURN URL that identifies the STUN or TURN server for which the failure occurred. */ +/** The STUN or TURN URL that identifies the STUN or TURN server for which the + * failure occurred. */ @property(nonatomic, readonly) NSString *url; -/** The numeric STUN error code returned by the STUN or TURN server. If no host candidate can reach - * the server, errorCode will be set to the value 701 which is outside the STUN error code range. - * This error is only fired once per server URL while in the RTCIceGatheringState of "gathering". */ +/** The numeric STUN error code returned by the STUN or TURN server. If no host + * candidate can reach the server, errorCode will be set to the value 701 which + * is outside the STUN error code range. This error is only fired once per + * server URL while in the RTCIceGatheringState of "gathering". */ @property(nonatomic, readonly) int errorCode; -/** The STUN reason text returned by the STUN or TURN server. If the server could not be reached, - * errorText will be set to an implementation-specific value providing details about the error. */ +/** The STUN reason text returned by the STUN or TURN server. If the server + * could not be reached, errorText will be set to an implementation-specific + * value providing details about the error. */ @property(nonatomic, readonly) NSString *errorText; - (instancetype)init NS_DESIGNATED_INITIALIZER; diff --git a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCIceServer.h b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCIceServer.h similarity index 88% rename from WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCIceServer.h rename to AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCIceServer.h index e5fbfe8b..3544bc74 100644 --- a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCIceServer.h +++ b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCIceServer.h @@ -10,7 +10,7 @@ #import -#import +#import typedef NS_ENUM(NSUInteger, RTCTlsCertPolicy) { RTCTlsCertPolicySecure, @@ -100,13 +100,14 @@ RTC_OBJC_EXPORT * optional credential, TLS cert policy, hostname, ALPN protocols and * elliptic curves. */ -- (instancetype)initWithURLStrings:(NSArray *)urlStrings - username:(nullable NSString *)username - credential:(nullable NSString *)credential - tlsCertPolicy:(RTCTlsCertPolicy)tlsCertPolicy - hostname:(nullable NSString *)hostname - tlsAlpnProtocols:(nullable NSArray *)tlsAlpnProtocols - tlsEllipticCurves:(nullable NSArray *)tlsEllipticCurves +- (instancetype) + initWithURLStrings:(NSArray *)urlStrings + username:(nullable NSString *)username + credential:(nullable NSString *)credential + tlsCertPolicy:(RTCTlsCertPolicy)tlsCertPolicy + hostname:(nullable NSString *)hostname + tlsAlpnProtocols:(nullable NSArray *)tlsAlpnProtocols + tlsEllipticCurves:(nullable NSArray *)tlsEllipticCurves NS_DESIGNATED_INITIALIZER; @end diff --git a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCLegacyStatsReport.h b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCLegacyStatsReport.h similarity index 96% rename from WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCLegacyStatsReport.h rename to AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCLegacyStatsReport.h index c9ce8e38..241dacba 100644 --- a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCLegacyStatsReport.h +++ b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCLegacyStatsReport.h @@ -10,7 +10,7 @@ #import -#import +#import NS_ASSUME_NONNULL_BEGIN diff --git a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCLogging.h b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCLogging.h similarity index 85% rename from WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCLogging.h rename to AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCLogging.h index 36f53d83..514e5f6a 100644 --- a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCLogging.h +++ b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCLogging.h @@ -10,7 +10,7 @@ #import -#import +#import // Subset of rtc::LoggingSeverity. typedef NS_ENUM(NSInteger, RTCLoggingSeverity) { @@ -34,9 +34,12 @@ RTC_EXTERN NSString* RTCFileName(const char* filePath); // Some convenience macros. -#define RTCLogString(format, ...) \ - [NSString stringWithFormat:@"(%@:%d %s): " format, RTCFileName(__FILE__), \ - __LINE__, __FUNCTION__, ##__VA_ARGS__] +#define RTCLogString(format, ...) \ + [NSString stringWithFormat:@"(%@:%d %s): " format, \ + RTCFileName(__FILE__), \ + __LINE__, \ + __FUNCTION__, \ + ##__VA_ARGS__] #define RTCLogFormat(severity, format, ...) \ do { \ diff --git a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCMTLVideoView.h b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCMTLVideoView.h similarity index 90% rename from WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCMTLVideoView.h rename to AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCMTLVideoView.h index 66789d50..be50ee2d 100644 --- a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCMTLVideoView.h +++ b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCMTLVideoView.h @@ -10,9 +10,9 @@ #import -#import -#import -#import +#import +#import +#import NS_ASSUME_NONNULL_BEGIN diff --git a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCMacros.h b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCMacros.h similarity index 84% rename from WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCMacros.h rename to AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCMacros.h index 469e3c93..cb943b4b 100644 --- a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCMacros.h +++ b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCMacros.h @@ -23,6 +23,9 @@ #define RTC_OBJC_EXPORT #endif +// Macro used to mark a function as deprecated. +#define RTC_OBJC_DEPRECATED(msg) __attribute__((deprecated(msg))) + // Internal macros used to correctly concatenate symbols. #define RTC_SYMBOL_CONCAT_HELPER(a, b) a##b #define RTC_SYMBOL_CONCAT(a, b) RTC_SYMBOL_CONCAT_HELPER(a, b) @@ -36,16 +39,18 @@ // WebRTC.framework with their own prefix in case symbol clashing is a // problem. // -// This macro must only be defined here and not on via compiler flag to -// ensure it has a unique value. +// This macro must be defined uniformily across all the translation units. +#ifndef RTC_OBJC_TYPE_PREFIX #define RTC_OBJC_TYPE_PREFIX +#endif // RCT_OBJC_TYPE // // Macro used internally to declare API types. Declaring an API type without // using this macro will not include the declared type in the set of types // that will be affected by the configurable RTC_OBJC_TYPE_PREFIX. -#define RTC_OBJC_TYPE(type_name) RTC_SYMBOL_CONCAT(RTC_OBJC_TYPE_PREFIX, type_name) +#define RTC_OBJC_TYPE(type_name) \ + RTC_SYMBOL_CONCAT(RTC_OBJC_TYPE_PREFIX, type_name) #if defined(__cplusplus) #define RTC_EXTERN extern "C" RTC_OBJC_EXPORT diff --git a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCMediaConstraints.h b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCMediaConstraints.h similarity index 79% rename from WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCMediaConstraints.h rename to AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCMediaConstraints.h index f5794a24..00225094 100644 --- a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCMediaConstraints.h +++ b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCMediaConstraints.h @@ -10,7 +10,7 @@ #import -#import +#import NS_ASSUME_NONNULL_BEGIN @@ -36,10 +36,11 @@ RTC_OBJC_EXPORT - (instancetype)init NS_UNAVAILABLE; /** Initialize with mandatory and/or optional constraints. */ -- (instancetype) - initWithMandatoryConstraints:(nullable NSDictionary *)mandatory - optionalConstraints:(nullable NSDictionary *)optional - NS_DESIGNATED_INITIALIZER; +- (instancetype)initWithMandatoryConstraints: + (nullable NSDictionary *)mandatory + optionalConstraints: + (nullable NSDictionary *) + optional NS_DESIGNATED_INITIALIZER; @end diff --git a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCMediaSource.h b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCMediaSource.h similarity index 95% rename from WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCMediaSource.h rename to AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCMediaSource.h index 51ceb605..b6a62c97 100644 --- a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCMediaSource.h +++ b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCMediaSource.h @@ -10,7 +10,7 @@ #import -#import +#import typedef NS_ENUM(NSInteger, RTCSourceState) { RTCSourceStateInitializing, diff --git a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCMediaStream.h b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCMediaStream.h similarity index 91% rename from WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCMediaStream.h rename to AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCMediaStream.h index cc922429..9f570b5a 100644 --- a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCMediaStream.h +++ b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCMediaStream.h @@ -10,7 +10,7 @@ #import -#import +#import NS_ASSUME_NONNULL_BEGIN @@ -25,7 +25,8 @@ RTC_OBJC_EXPORT @property(nonatomic, strong, readonly) NSArray *audioTracks; /** The video tracks in this stream. */ -@property(nonatomic, strong, readonly) NSArray *videoTracks; +@property(nonatomic, strong, readonly) + NSArray *videoTracks; /** An identifier for this media stream. */ @property(nonatomic, readonly) NSString *streamId; diff --git a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCMediaStreamTrack.h b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCMediaStreamTrack.h similarity index 97% rename from WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCMediaStreamTrack.h rename to AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCMediaStreamTrack.h index 52658794..eae5c984 100644 --- a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCMediaStreamTrack.h +++ b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCMediaStreamTrack.h @@ -10,7 +10,7 @@ #import -#import +#import /** * Represents the state of the track. This exposes the same states in C++. diff --git a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCMetrics.h b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCMetrics.h similarity index 78% rename from WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCMetrics.h rename to AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCMetrics.h index e184b4a3..6ab309c5 100644 --- a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCMetrics.h +++ b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCMetrics.h @@ -10,8 +10,8 @@ #import -#import -#import +#import +#import /** * Enables gathering of metrics (which can be fetched with @@ -20,4 +20,5 @@ RTC_EXTERN void RTCEnableMetrics(void); /** Gets and clears native histograms. */ -RTC_EXTERN NSArray* RTCGetAndResetMetrics(void); +RTC_EXTERN NSArray* + RTCGetAndResetMetrics(void); diff --git a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCMetricsSampleInfo.h b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCMetricsSampleInfo.h similarity index 96% rename from WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCMetricsSampleInfo.h rename to AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCMetricsSampleInfo.h index 18afdc0b..a74200b0 100644 --- a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCMetricsSampleInfo.h +++ b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCMetricsSampleInfo.h @@ -10,7 +10,7 @@ #import -#import +#import NS_ASSUME_NONNULL_BEGIN diff --git a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCMutableI420Buffer.h b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCMutableI420Buffer.h similarity index 73% rename from WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCMutableI420Buffer.h rename to AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCMutableI420Buffer.h index 3dab3ead..0fdd54fb 100644 --- a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCMutableI420Buffer.h +++ b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCMutableI420Buffer.h @@ -10,14 +10,15 @@ #import -#import -#import +#import +#import NS_ASSUME_NONNULL_BEGIN /** Extension of the I420 buffer with mutable data access */ RTC_OBJC_EXPORT @protocol RTC_OBJC_TYPE -(RTCMutableI420Buffer) @end +(RTCMutableI420Buffer) @end NS_ASSUME_NONNULL_END diff --git a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCMutableYUVPlanarBuffer.h b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCMutableYUVPlanarBuffer.h similarity index 94% rename from WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCMutableYUVPlanarBuffer.h rename to AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCMutableYUVPlanarBuffer.h index feb7417b..84c1ea61 100644 --- a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCMutableYUVPlanarBuffer.h +++ b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCMutableYUVPlanarBuffer.h @@ -10,7 +10,7 @@ #import -#import +#import NS_ASSUME_NONNULL_BEGIN diff --git a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCNativeI420Buffer.h b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCNativeI420Buffer.h similarity index 89% rename from WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCNativeI420Buffer.h rename to AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCNativeI420Buffer.h index c5a0ddf7..3d8a4992 100644 --- a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCNativeI420Buffer.h +++ b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCNativeI420Buffer.h @@ -10,8 +10,8 @@ #import -#import -#import +#import +#import NS_ASSUME_NONNULL_BEGIN diff --git a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCNativeMutableI420Buffer.h b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCNativeMutableI420Buffer.h similarity index 83% rename from WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCNativeMutableI420Buffer.h rename to AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCNativeMutableI420Buffer.h index c1bf3f1d..4df28af3 100644 --- a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCNativeMutableI420Buffer.h +++ b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCNativeMutableI420Buffer.h @@ -10,9 +10,9 @@ #import -#import -#import -#import +#import +#import +#import NS_ASSUME_NONNULL_BEGIN diff --git a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCNetworkMonitor.h b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCNetworkMonitor.h similarity index 100% rename from WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCNetworkMonitor.h rename to AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCNetworkMonitor.h diff --git a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCPeerConnection.h b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCPeerConnection.h similarity index 84% rename from WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCPeerConnection.h rename to AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCPeerConnection.h index 5b06df82..ad3de1cc 100644 --- a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCPeerConnection.h +++ b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCPeerConnection.h @@ -10,7 +10,7 @@ #import -#import +#import @class RTC_OBJC_TYPE(RTCConfiguration); @class RTC_OBJC_TYPE(RTCDataChannel); @@ -82,11 +82,12 @@ typedef NS_ENUM(NSInteger, RTCStatsOutputLevel) { RTCStatsOutputLevelDebug, }; -typedef void (^RTCCreateSessionDescriptionCompletionHandler)(RTC_OBJC_TYPE(RTCSessionDescription) * - _Nullable sdp, - NSError *_Nullable error); +typedef void (^RTCCreateSessionDescriptionCompletionHandler)( + RTC_OBJC_TYPE(RTCSessionDescription) *_Nullable sdp, + NSError *_Nullable error); -typedef void (^RTCSetSessionDescriptionCompletionHandler)(NSError *_Nullable error); +typedef void (^RTCSetSessionDescriptionCompletionHandler)( + NSError *_Nullable error); @class RTC_OBJC_TYPE(RTCPeerConnection); @@ -110,7 +111,8 @@ RTC_OBJC_EXPORT didRemoveStream:(RTC_OBJC_TYPE(RTCMediaStream) *)stream; /** Called when negotiation is needed, for example ICE has restarted. */ -- (void)peerConnectionShouldNegotiate:(RTC_OBJC_TYPE(RTCPeerConnection) *)peerConnection; +- (void)peerConnectionShouldNegotiate: + (RTC_OBJC_TYPE(RTCPeerConnection) *)peerConnection; /** Called any time the IceConnectionState changes. */ - (void)peerConnection:(RTC_OBJC_TYPE(RTCPeerConnection) *)peerConnection @@ -126,7 +128,8 @@ RTC_OBJC_EXPORT /** Called when a group of local Ice candidates have been removed. */ - (void)peerConnection:(RTC_OBJC_TYPE(RTCPeerConnection) *)peerConnection - didRemoveIceCandidates:(NSArray *)candidates; + didRemoveIceCandidates: + (NSArray *)candidates; /** New data channel has been opened. */ - (void)peerConnection:(RTC_OBJC_TYPE(RTCPeerConnection) *)peerConnection @@ -147,7 +150,8 @@ RTC_OBJC_EXPORT didChangeConnectionState:(RTCPeerConnectionState)newState; - (void)peerConnection:(RTC_OBJC_TYPE(RTCPeerConnection) *)peerConnection - didStartReceivingOnTransceiver:(RTC_OBJC_TYPE(RTCRtpTransceiver) *)transceiver; + didStartReceivingOnTransceiver: + (RTC_OBJC_TYPE(RTCRtpTransceiver) *)transceiver; /** Called when a receiver and its track are created. */ - (void)peerConnection:(RTC_OBJC_TYPE(RTCPeerConnection) *)peerConnection @@ -167,7 +171,8 @@ RTC_OBJC_EXPORT /** Called when gathering of an ICE candidate failed. */ - (void)peerConnection:(RTC_OBJC_TYPE(RTCPeerConnection) *)peerConnection - didFailToGatherIceCandidate:(RTC_OBJC_TYPE(RTCIceCandidateErrorEvent) *)event; + didFailToGatherIceCandidate: + (RTC_OBJC_TYPE(RTCIceCandidateErrorEvent) *)event; @end @@ -181,14 +186,18 @@ RTC_OBJC_EXPORT /** This property is not available with RTCSdpSemanticsUnifiedPlan. Please use * `senders` instead. */ -@property(nonatomic, readonly) NSArray *localStreams; -@property(nonatomic, readonly, nullable) RTC_OBJC_TYPE(RTCSessionDescription) * localDescription; -@property(nonatomic, readonly, nullable) RTC_OBJC_TYPE(RTCSessionDescription) * remoteDescription; +@property(nonatomic, readonly) + NSArray *localStreams; +@property(nonatomic, readonly, nullable) RTC_OBJC_TYPE(RTCSessionDescription) * + localDescription; +@property(nonatomic, readonly, nullable) RTC_OBJC_TYPE(RTCSessionDescription) * + remoteDescription; @property(nonatomic, readonly) RTCSignalingState signalingState; @property(nonatomic, readonly) RTCIceConnectionState iceConnectionState; @property(nonatomic, readonly) RTCPeerConnectionState connectionState; @property(nonatomic, readonly) RTCIceGatheringState iceGatheringState; -@property(nonatomic, readonly, copy) RTC_OBJC_TYPE(RTCConfiguration) * configuration; +@property(nonatomic, readonly, copy) RTC_OBJC_TYPE(RTCConfiguration) * + configuration; /** Gets all RTCRtpSenders associated with this peer connection. * Note: reading this property returns different instances of RTCRtpSender. @@ -200,7 +209,8 @@ RTC_OBJC_EXPORT * Note: reading this property returns different instances of RTCRtpReceiver. * Use isEqual: instead of == to compare RTCRtpReceiver instances. */ -@property(nonatomic, readonly) NSArray *receivers; +@property(nonatomic, readonly) + NSArray *receivers; /** Gets all RTCRtpTransceivers associated with this peer connection. * Note: reading this property returns different instances of @@ -208,7 +218,8 @@ RTC_OBJC_EXPORT * RTCRtpTransceiver instances. This is only available with * RTCSdpSemanticsUnifiedPlan specified. */ -@property(nonatomic, readonly) NSArray *transceivers; +@property(nonatomic, readonly) + NSArray *transceivers; - (instancetype)init NS_UNAVAILABLE; @@ -225,14 +236,16 @@ RTC_OBJC_EXPORT /** Provide a remote candidate to the ICE Agent. */ - (void)addIceCandidate:(RTC_OBJC_TYPE(RTCIceCandidate) *)candidate - DEPRECATED_MSG_ATTRIBUTE("Please use addIceCandidate:completionHandler: instead"); + DEPRECATED_MSG_ATTRIBUTE( + "Please use addIceCandidate:completionHandler: instead"); /** Provide a remote candidate to the ICE Agent. */ - (void)addIceCandidate:(RTC_OBJC_TYPE(RTCIceCandidate) *)candidate completionHandler:(void (^)(NSError *_Nullable error))completionHandler; /** Remove a group of remote candidates from the ICE Agent. */ -- (void)removeIceCandidates:(NSArray *)candidates; +- (void)removeIceCandidates: + (NSArray *)candidates; /** Add a new media stream to be sent on this peer connection. * This method is not supported with RTCSdpSemanticsUnifiedPlan. Please use @@ -254,8 +267,9 @@ RTC_OBJC_EXPORT * - A sender already exists for the track. * - The peer connection is closed. */ -- (nullable RTC_OBJC_TYPE(RTCRtpSender) *)addTrack:(RTC_OBJC_TYPE(RTCMediaStreamTrack) *)track - streamIds:(NSArray *)streamIds; +- (nullable RTC_OBJC_TYPE(RTCRtpSender) *) + addTrack:(RTC_OBJC_TYPE(RTCMediaStreamTrack) *)track + streamIds:(NSArray *)streamIds; /** With PlanB semantics, removes an RTCRtpSender from this peer connection. * @@ -296,28 +310,32 @@ RTC_OBJC_EXPORT /** Adds a transceiver with the given kind. Can either be RTCRtpMediaTypeAudio * or RTCRtpMediaTypeVideo. */ -- (nullable RTC_OBJC_TYPE(RTCRtpTransceiver) *)addTransceiverOfType:(RTCRtpMediaType)mediaType; +- (nullable RTC_OBJC_TYPE(RTCRtpTransceiver) *)addTransceiverOfType: + (RTCRtpMediaType)mediaType; - (nullable RTC_OBJC_TYPE(RTCRtpTransceiver) *) addTransceiverOfType:(RTCRtpMediaType)mediaType init:(RTC_OBJC_TYPE(RTCRtpTransceiverInit) *)init; /** Tells the PeerConnection that ICE should be restarted. This triggers a need - * for negotiation and subsequent offerForConstraints:completionHandler call will act as if - * RTCOfferAnswerOptions::ice_restart is true. + * for negotiation and subsequent offerForConstraints:completionHandler call + * will act as if RTCOfferAnswerOptions::ice_restart is true. */ - (void)restartIce; /** Generate an SDP offer. */ - (void)offerForConstraints:(RTC_OBJC_TYPE(RTCMediaConstraints) *)constraints - completionHandler:(RTCCreateSessionDescriptionCompletionHandler)completionHandler; + completionHandler: + (RTCCreateSessionDescriptionCompletionHandler)completionHandler; /** Generate an SDP answer. */ - (void)answerForConstraints:(RTC_OBJC_TYPE(RTCMediaConstraints) *)constraints - completionHandler:(RTCCreateSessionDescriptionCompletionHandler)completionHandler; + completionHandler: + (RTCCreateSessionDescriptionCompletionHandler)completionHandler; /** Apply the supplied RTCSessionDescription as the local description. */ - (void)setLocalDescription:(RTC_OBJC_TYPE(RTCSessionDescription) *)sdp - completionHandler:(RTCSetSessionDescriptionCompletionHandler)completionHandler; + completionHandler: + (RTCSetSessionDescriptionCompletionHandler)completionHandler; /** Creates an offer or answer (depending on current signaling state) and sets * it as the local session description. */ @@ -326,7 +344,8 @@ RTC_OBJC_EXPORT /** Apply the supplied RTCSessionDescription as the remote description. */ - (void)setRemoteDescription:(RTC_OBJC_TYPE(RTCSessionDescription) *)sdp - completionHandler:(RTCSetSessionDescriptionCompletionHandler)completionHandler; + completionHandler: + (RTCSetSessionDescriptionCompletionHandler)completionHandler; /** Limits the bandwidth allocated for all RTP streams sent by this * PeerConnection. Nil parameters will be unchanged. Setting @@ -338,7 +357,8 @@ RTC_OBJC_EXPORT maxBitrateBps:(nullable NSNumber *)maxBitrateBps; /** Start or stop recording an Rtc EventLog. */ -- (BOOL)startRtcEventLogWithFilePath:(NSString *)filePath maxSizeInBytes:(int64_t)maxSizeInBytes; +- (BOOL)startRtcEventLogWithFilePath:(NSString *)filePath + maxSizeInBytes:(int64_t)maxSizeInBytes; - (void)stopRtcEventLog; @end @@ -361,25 +381,29 @@ RTC_OBJC_EXPORT /** Create a new data channel with the given label and configuration. */ - (nullable RTC_OBJC_TYPE(RTCDataChannel) *)dataChannelForLabel - : (NSString *)label configuration : (RTC_OBJC_TYPE(RTCDataChannelConfiguration) *)configuration; + : (NSString *)label configuration + : (RTC_OBJC_TYPE(RTCDataChannelConfiguration) *)configuration; @end -typedef void (^RTCStatisticsCompletionHandler)(RTC_OBJC_TYPE(RTCStatisticsReport) *); +typedef void (^RTCStatisticsCompletionHandler)( + RTC_OBJC_TYPE(RTCStatisticsReport) *); @interface RTC_OBJC_TYPE (RTCPeerConnection) (Stats) - /** Gather stats for the given RTCMediaStreamTrack. If `mediaStreamTrack` is nil - * statistics are gathered for all tracks. + /** Gather stats for the given RTCMediaStreamTrack. If `mediaStreamTrack` is + * nil statistics are gathered for all tracks. */ - - (void)statsForTrack - : (nullable RTC_OBJC_TYPE(RTCMediaStreamTrack) *)mediaStreamTrack statsOutputLevel + - (void)statsForTrack : (nullable RTC_OBJC_TYPE(RTCMediaStreamTrack) *) + mediaStreamTrack statsOutputLevel : (RTCStatsOutputLevel)statsOutputLevel completionHandler - : (nullable void (^)(NSArray *stats))completionHandler; + : (nullable void (^)(NSArray *stats)) + completionHandler; /** Gather statistic through the v2 statistics API. */ -- (void)statisticsWithCompletionHandler:(RTCStatisticsCompletionHandler)completionHandler; +- (void)statisticsWithCompletionHandler: + (RTCStatisticsCompletionHandler)completionHandler; /** Spec-compliant getStats() performing the stats selection algorithm with the * sender. diff --git a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCPeerConnectionFactory.h b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCPeerConnectionFactory.h similarity index 62% rename from WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCPeerConnectionFactory.h rename to AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCPeerConnectionFactory.h index 1b5749cf..c78a9fc2 100644 --- a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCPeerConnectionFactory.h +++ b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCPeerConnectionFactory.h @@ -10,11 +10,13 @@ #import -#import -#import +#import +#import + NS_ASSUME_NONNULL_BEGIN +@class RTC_OBJC_TYPE(RTCRtpCapabilities); @class RTC_OBJC_TYPE(RTCAudioSource); @class RTC_OBJC_TYPE(RTCAudioTrack); @class RTC_OBJC_TYPE(RTCConfiguration); @@ -41,32 +43,54 @@ RTC_OBJC_EXPORT /* Initialize object with default H264 video encoder/decoder factories and default ADM */ - (instancetype)init; -/* Initialize object with injectable video encoder/decoder factories and default ADM */ +/* Initialize object with injectable video encoder/decoder factories and default + * ADM */ - (instancetype) - initWithEncoderFactory:(nullable id)encoderFactory - decoderFactory:(nullable id)decoderFactory; + initWithEncoderFactory: + (nullable id)encoderFactory + decoderFactory:(nullable id) + decoderFactory; -/* Initialize object with injectable video encoder/decoder factories and injectable ADM */ +/* Initialize object with injectable video encoder/decoder factories and + * injectable ADM */ - (instancetype) - initWithEncoderFactory:(nullable id)encoderFactory - decoderFactory:(nullable id)decoderFactory - audioDevice:(nullable id)audioDevice; + initWithEncoderFactory: + (nullable id)encoderFactory + decoderFactory:(nullable id) + decoderFactory + audioDevice: + (nullable id)audioDevice; - (instancetype)initWithEncoderFactory:(nullable id)encoderFactory decoderFactory:(nullable id)decoderFactory audioDeviceModule:(RTCAudioDeviceModule *)audioDeviceModule NS_AVAILABLE_IOS(2_0); +/** + * Valid kind values are kRTCMediaStreamTrackKindAudio and + * kRTCMediaStreamTrackKindVideo. + */ +- (RTC_OBJC_TYPE(RTCRtpCapabilities) *)rtpSenderCapabilitiesForKind: + (NSString *)kind; + +/** + * Valid kind values are kRTCMediaStreamTrackKindAudio and + * kRTCMediaStreamTrackKindVideo. + */ +- (RTC_OBJC_TYPE(RTCRtpCapabilities) *)rtpReceiverCapabilitiesForKind: + (NSString *)kind; + /** Initialize an RTCAudioSource with constraints. */ - (RTC_OBJC_TYPE(RTCAudioSource) *)audioSourceWithConstraints: (nullable RTC_OBJC_TYPE(RTCMediaConstraints) *)constraints; -/** Initialize an RTCAudioTrack with an id. Convenience ctor to use an audio source - * with no constraints. +/** Initialize an RTCAudioTrack with an id. Convenience ctor to use an audio + * source with no constraints. */ - (RTC_OBJC_TYPE(RTCAudioTrack) *)audioTrackWithTrackId:(NSString *)trackId; /** Initialize an RTCAudioTrack with a source and an id. */ -- (RTC_OBJC_TYPE(RTCAudioTrack) *)audioTrackWithSource:(RTC_OBJC_TYPE(RTCAudioSource) *)source +- (RTC_OBJC_TYPE(RTCAudioTrack) *)audioTrackWithSource: + (RTC_OBJC_TYPE(RTCAudioSource) *)source trackId:(NSString *)trackId; /** Initialize a generic RTCVideoSource. The RTCVideoSource should be @@ -83,7 +107,8 @@ RTC_OBJC_EXPORT - (RTC_OBJC_TYPE(RTCVideoSource) *)videoSourceForScreenCast:(BOOL)forScreenCast; /** Initialize an RTCVideoTrack with a source and an id. */ -- (RTC_OBJC_TYPE(RTCVideoTrack) *)videoTrackWithSource:(RTC_OBJC_TYPE(RTCVideoSource) *)source +- (RTC_OBJC_TYPE(RTCVideoTrack) *)videoTrackWithSource: + (RTC_OBJC_TYPE(RTCVideoSource) *)source trackId:(NSString *)trackId; /** Initialize an RTCMediaStream with an id. */ @@ -93,22 +118,32 @@ RTC_OBJC_EXPORT * delegate. */ - (nullable RTC_OBJC_TYPE(RTCPeerConnection) *) - peerConnectionWithConfiguration:(RTC_OBJC_TYPE(RTCConfiguration) *)configuration - constraints:(RTC_OBJC_TYPE(RTCMediaConstraints) *)constraints - delegate:(nullable id)delegate; + peerConnectionWithConfiguration: + (RTC_OBJC_TYPE(RTCConfiguration) *)configuration + constraints: + (RTC_OBJC_TYPE(RTCMediaConstraints) *)constraints + delegate:(nullable id)delegate; - (nullable RTC_OBJC_TYPE(RTCPeerConnection) *) - peerConnectionWithConfiguration:(RTC_OBJC_TYPE(RTCConfiguration) *)configuration - constraints:(RTC_OBJC_TYPE(RTCMediaConstraints) *)constraints + peerConnectionWithConfiguration: + (RTC_OBJC_TYPE(RTCConfiguration) *)configuration + constraints: + (RTC_OBJC_TYPE(RTCMediaConstraints) *)constraints certificateVerifier: - (id)certificateVerifier - delegate:(nullable id)delegate; + (id) + certificateVerifier + delegate:(nullable id)delegate; /** Set the options to be used for subsequently created RTCPeerConnections */ -- (void)setOptions:(nonnull RTC_OBJC_TYPE(RTCPeerConnectionFactoryOptions) *)options; +- (void)setOptions: + (nonnull RTC_OBJC_TYPE(RTCPeerConnectionFactoryOptions) *)options; -/** Start an AecDump recording. This API call will likely change in the future. */ -- (BOOL)startAecDumpWithFilePath:(NSString *)filePath maxSizeInBytes:(int64_t)maxSizeInBytes; +/** Start an AecDump recording. This API call will likely change in the future. + */ +- (BOOL)startAecDumpWithFilePath:(NSString *)filePath + maxSizeInBytes:(int64_t)maxSizeInBytes; /* Stop an active AecDump recording */ - (void)stopAecDump; diff --git a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCPeerConnectionFactoryOptions.h b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCPeerConnectionFactoryOptions.h similarity index 96% rename from WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCPeerConnectionFactoryOptions.h rename to AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCPeerConnectionFactoryOptions.h index 1c7a10d1..6d419b1d 100644 --- a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCPeerConnectionFactoryOptions.h +++ b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCPeerConnectionFactoryOptions.h @@ -10,7 +10,7 @@ #import -#import +#import NS_ASSUME_NONNULL_BEGIN diff --git a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCRtcpParameters.h b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCRtcpParameters.h similarity index 95% rename from WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCRtcpParameters.h rename to AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCRtcpParameters.h index 8449500f..fc57981c 100644 --- a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCRtcpParameters.h +++ b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCRtcpParameters.h @@ -10,7 +10,7 @@ #import -#import +#import NS_ASSUME_NONNULL_BEGIN diff --git a/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCRtpCapabilities.h b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCRtpCapabilities.h new file mode 100644 index 00000000..047ed266 --- /dev/null +++ b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCRtpCapabilities.h @@ -0,0 +1,31 @@ +/* + * Copyright 2024 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 + +#import + +NS_ASSUME_NONNULL_BEGIN + +@class RTC_OBJC_TYPE(RTCRtpCodecCapability); +@class RTC_OBJC_TYPE(RTCRtpHeaderExtensionCapability); + +RTC_OBJC_EXPORT +@interface RTC_OBJC_TYPE (RTCRtpCapabilities) : NSObject + +@property(nonatomic, copy) NSArray *codecs; +@property(nonatomic, copy) + NSArray *headerExtensions; + +- (instancetype)init; + +@end + +NS_ASSUME_NONNULL_END diff --git a/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCRtpCodecCapability.h b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCRtpCodecCapability.h new file mode 100644 index 00000000..6fcae12f --- /dev/null +++ b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCRtpCodecCapability.h @@ -0,0 +1,58 @@ +/* + * Copyright 2024 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 + +#import + +NS_ASSUME_NONNULL_BEGIN + +RTC_OBJC_EXPORT +@interface RTC_OBJC_TYPE (RTCRtpCodecCapability) : NSObject + +/** The preferred RTP payload type. */ +@property(nonatomic, readonly, nullable) NSNumber *preferredPayloadType; + +/** + * The codec MIME subtype. Valid types are listed in: + * http://www.iana.org/assignments/rtp-parameters/rtp-parameters.xhtml#rtp-parameters-2 + * + * Several supported types are represented by the constants above. + */ +@property(nonatomic, readonly) NSString *name; + +/** + * The media type of this codec. Equivalent to MIME top-level type. + * + * Valid values are kRTCMediaStreamTrackKindAudio and + * kRTCMediaStreamTrackKindVideo. + */ +@property(nonatomic, readonly) NSString *kind; + +/** The codec clock rate expressed in Hertz. */ +@property(nonatomic, readonly, nullable) NSNumber *clockRate; + +/** + * The number of audio channels (mono=1, stereo=2). + * Set to null for video codecs. + **/ +@property(nonatomic, readonly, nullable) NSNumber *numChannels; + +/** The "format specific parameters" field from the "a=fmtp" line in the SDP */ +@property(nonatomic, readonly) NSDictionary *parameters; + +/** The MIME type of the codec. */ +@property(nonatomic, readonly) NSString *mimeType; + +- (instancetype)init NS_UNAVAILABLE; + +@end + +NS_ASSUME_NONNULL_END diff --git a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCRtpCodecParameters.h b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCRtpCodecParameters.h similarity index 98% rename from WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCRtpCodecParameters.h rename to AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCRtpCodecParameters.h index 4af6bb2f..647437e1 100644 --- a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCRtpCodecParameters.h +++ b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCRtpCodecParameters.h @@ -10,7 +10,7 @@ #import -#import +#import NS_ASSUME_NONNULL_BEGIN diff --git a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCRtpEncodingParameters.h b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCRtpEncodingParameters.h similarity index 97% rename from WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCRtpEncodingParameters.h rename to AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCRtpEncodingParameters.h index 7bd43943..23c241ba 100644 --- a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCRtpEncodingParameters.h +++ b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCRtpEncodingParameters.h @@ -10,7 +10,7 @@ #import -#import +#import NS_ASSUME_NONNULL_BEGIN @@ -66,7 +66,8 @@ RTC_OBJC_EXPORT @property(nonatomic, assign) RTCPriority networkPriority; /** Allow dynamic frame length changes for audio: - https://w3c.github.io/webrtc-extensions/#dom-rtcrtpencodingparameters-adaptiveptime */ + https://w3c.github.io/webrtc-extensions/#dom-rtcrtpencodingparameters-adaptiveptime + */ @property(nonatomic, assign) BOOL adaptiveAudioPacketTime; - (instancetype)init; diff --git a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCRtpHeaderExtension.h b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCRtpHeaderExtension.h similarity index 96% rename from WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCRtpHeaderExtension.h rename to AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCRtpHeaderExtension.h index d3f1fda8..a513fbaf 100644 --- a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCRtpHeaderExtension.h +++ b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCRtpHeaderExtension.h @@ -10,7 +10,7 @@ #import -#import +#import NS_ASSUME_NONNULL_BEGIN diff --git a/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCRtpHeaderExtensionCapability.h b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCRtpHeaderExtensionCapability.h new file mode 100644 index 00000000..e72ab604 --- /dev/null +++ b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCRtpHeaderExtensionCapability.h @@ -0,0 +1,39 @@ +/* + * Copyright 2024 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 + +#import + +typedef NS_ENUM(NSInteger, RTCRtpTransceiverDirection); + +NS_ASSUME_NONNULL_BEGIN + +RTC_OBJC_EXPORT +@interface RTC_OBJC_TYPE (RTCRtpHeaderExtensionCapability) : NSObject + +/** The URI of the RTP header extension, as defined in RFC5285. */ +@property(nonatomic, readonly, copy) NSString *uri; + +/** The value put in the RTP packet to identify the header extension. */ +@property(nonatomic, readonly, nullable) NSNumber* preferredId; + +/** Whether the header extension is encrypted or not. */ +@property(nonatomic, readonly, getter=isPreferredEncrypted) + BOOL preferredEncrypted; + +/** Direction of the header extension. */ +@property(nonatomic) RTCRtpTransceiverDirection direction; + +- (instancetype)init NS_UNAVAILABLE; + +@end + +NS_ASSUME_NONNULL_END diff --git a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCRtpParameters.h b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCRtpParameters.h similarity index 79% rename from WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCRtpParameters.h rename to AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCRtpParameters.h index 54fdbae4..837e355e 100644 --- a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCRtpParameters.h +++ b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCRtpParameters.h @@ -10,11 +10,11 @@ #import -#import -#import -#import -#import -#import +#import +#import +#import +#import +#import NS_ASSUME_NONNULL_BEGIN @@ -40,10 +40,12 @@ RTC_OBJC_EXPORT NSArray *headerExtensions; /** The currently active encodings in the order of preference. */ -@property(nonatomic, copy) NSArray *encodings; +@property(nonatomic, copy) + NSArray *encodings; /** The negotiated set of send codecs in order of preference. */ -@property(nonatomic, copy) NSArray *codecs; +@property(nonatomic, copy) + NSArray *codecs; /** * Degradation preference in case of CPU adaptation or constrained bandwidth. diff --git a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCRtpReceiver.h b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCRtpReceiver.h similarity index 69% rename from WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCRtpReceiver.h rename to AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCRtpReceiver.h index 30f204a5..5d9d106a 100644 --- a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCRtpReceiver.h +++ b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCRtpReceiver.h @@ -10,9 +10,9 @@ #import -#import -#import -#import +#import +#import +#import NS_ASSUME_NONNULL_BEGIN @@ -25,6 +25,7 @@ typedef NS_ENUM(NSInteger, RTCRtpMediaType) { }; @class RTC_OBJC_TYPE(RTCRtpReceiver); +@class RTC_OBJC_TYPE(RTCRtpSource); RTC_OBJC_EXPORT @protocol RTC_OBJC_TYPE @@ -32,18 +33,19 @@ RTC_OBJC_EXPORT /** Called when the first RTP packet is received. * - * Note: Currently if there are multiple RtpReceivers of the same media type, - * they will all call OnFirstPacketReceived at once. + * Note: Currently if there are multiple RtpReceivers of the same media + * type, they will all call OnFirstPacketReceived at once. * - * For example, if we create three audio receivers, A/B/C, they will listen to - * the same signal from the underneath network layer. Whenever the first audio packet - * is received, the underneath signal will be fired. All the receivers A/B/C will be - * notified and the callback of the receiver's delegate will be called. + * For example, if we create three audio receivers, A/B/C, they will listen + * to the same signal from the underneath network layer. Whenever the first + * audio packet is received, the underneath signal will be fired. All the + * receivers A/B/C will be notified and the callback of the receiver's + * delegate will be called. * * The process is the same for video receivers. */ - - (void)rtpReceiver - : (RTC_OBJC_TYPE(RTCRtpReceiver) *)rtpReceiver didReceiveFirstPacketForMediaType + - (void)rtpReceiver : (RTC_OBJC_TYPE(RTCRtpReceiver) *) + rtpReceiver didReceiveFirstPacketForMediaType : (RTCRtpMediaType)mediaType; @end @@ -69,7 +71,15 @@ RTC_OBJC_EXPORT * RTCMediaStreamTrack. Use isEqual: instead of == to compare * RTCMediaStreamTrack instances. */ -@property(nonatomic, readonly, nullable) RTC_OBJC_TYPE(RTCMediaStreamTrack) * track; +@property(nonatomic, readonly, nullable) RTC_OBJC_TYPE(RTCMediaStreamTrack) * + track; + +/** +Returns an array that contains an object for each unique SSRC (synchronization +source) identifier and for each unique CSRC (contributing source) received by +the current RTCRtpReceiver in the last ten seconds. +*/ +@property(nonatomic, readonly) NSArray *sources; /** The delegate for this RtpReceiver. */ @property(nonatomic, weak) id delegate; diff --git a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCRtpSender.h b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCRtpSender.h similarity index 82% rename from WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCRtpSender.h rename to AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCRtpSender.h index edea5d83..fa240986 100644 --- a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCRtpSender.h +++ b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCRtpSender.h @@ -10,10 +10,10 @@ #import -#import -#import -#import -#import +#import +#import +#import +#import NS_ASSUME_NONNULL_BEGIN @@ -21,8 +21,8 @@ RTC_OBJC_EXPORT @protocol RTC_OBJC_TYPE (RTCRtpSender) -/** A unique identifier for this sender. */ -@property(nonatomic, readonly) NSString *senderId; + /** A unique identifier for this sender. */ + @property(nonatomic, readonly) NSString *senderId; /** The currently active RTCRtpParameters, as defined in * https://www.w3.org/TR/webrtc/#idl-def-RTCRtpParameters. @@ -40,7 +40,8 @@ RTC_OBJC_EXPORT @property(nonatomic, copy) NSArray *streamIds; /** The RTCDtmfSender accociated with the RTP sender. */ -@property(nonatomic, readonly, nullable) id dtmfSender; +@property(nonatomic, readonly, nullable) id + dtmfSender; @end diff --git a/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCRtpSource.h b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCRtpSource.h new file mode 100644 index 00000000..83652a3b --- /dev/null +++ b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCRtpSource.h @@ -0,0 +1,66 @@ +/* + * Copyright 2024 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 + +#import + +NS_ASSUME_NONNULL_BEGIN + +/** Represents the source type of received media. */ +typedef NS_ENUM(NSInteger, RTCRtpSourceType) { + RTCRtpSourceTypeSSRC, + RTCRtpSourceTypeCSRC, +}; + +@class RTC_OBJC_TYPE(RTCRtpSource); + +RTC_OBJC_EXPORT +@protocol RTC_OBJC_TYPE +(RTCRtpSource) + + /** + A positive integer value specifying the CSRC identifier of the contributing + source or SSRC identifier of the synchronization source. This uniquely + identifies the source of the particular stream RTP packets. */ + @property(nonatomic, readonly) uint32_t sourceId; + +@property(nonatomic, readonly) RTCRtpSourceType sourceType; + +/** +A floating-point value between 0.0 and 1.0 specifying the audio level contained +in the last RTP packet played from the contributing source. +*/ +@property(nonatomic, readonly, nullable) NSNumber *audioLevel; + +/** +A timestamp indicating the most recent time at which a frame originating from +this source was delivered to the receiver's track +*/ +@property(nonatomic, readonly) CFTimeInterval timestampUs; + +/** +The RTP timestamp of the media. This source-generated timestamp indicates the +time at which the media in this packet, scheduled for play out at the time +indicated by timestamp, was initially sampled or generated. It may be useful for +sequencing and synchronization purposes. +*/ +@property(nonatomic, readonly) uint32_t rtpTimestamp; + +@end + +RTC_OBJC_EXPORT +@interface RTC_OBJC_TYPE (RTCRtpSource) : NSObject + +- (instancetype)init NS_UNAVAILABLE; + +@end + +NS_ASSUME_NONNULL_END diff --git a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCRtpTransceiver.h b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCRtpTransceiver.h similarity index 67% rename from WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCRtpTransceiver.h rename to AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCRtpTransceiver.h index 9d8cfe12..d769f8bd 100644 --- a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCRtpTransceiver.h +++ b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCRtpTransceiver.h @@ -10,9 +10,9 @@ #import -#import -#import -#import +#import +#import +#import NS_ASSUME_NONNULL_BEGIN @@ -41,17 +41,20 @@ RTC_OBJC_EXPORT @property(nonatomic) NSArray *streamIds; /** TODO(bugs.webrtc.org/7600): Not implemented. */ -@property(nonatomic) NSArray *sendEncodings; +@property(nonatomic) + NSArray *sendEncodings; @end @class RTC_OBJC_TYPE(RTCRtpTransceiver); +@class RTC_OBJC_TYPE(RTCRtpCodecCapability); +@class RTC_OBJC_TYPE(RTCRtpHeaderExtensionCapability); /** The RTCRtpTransceiver maps to the RTCRtpTransceiver defined by the - * WebRTC specification. A transceiver represents a combination of an RTCRtpSender - * and an RTCRtpReceiver that share a common mid. As defined in JSEP, an - * RTCRtpTransceiver is said to be associated with a media description if its - * mid property is non-nil; otherwise, it is said to be disassociated. + * WebRTC specification. A transceiver represents a combination of an + * RTCRtpSender and an RTCRtpReceiver that share a common mid. As defined in + * JSEP, an RTCRtpTransceiver is said to be associated with a media description + * if its mid property is non-nil; otherwise, it is said to be disassociated. * JSEP: https://tools.ietf.org/html/draft-ietf-rtcweb-jsep-24 * * Note that RTCRtpTransceivers are only supported when using @@ -64,8 +67,8 @@ RTC_OBJC_EXPORT @protocol RTC_OBJC_TYPE (RTCRtpTransceiver) - /** Media type of the transceiver. The sender and receiver will also have this - * type. + /** Media type of the transceiver. The sender and receiver will also have + * this type. */ @property(nonatomic, readonly) RTCRtpMediaType mediaType; @@ -104,6 +107,20 @@ RTC_OBJC_EXPORT */ @property(nonatomic, readonly) RTCRtpTransceiverDirection direction; +/** It will contain all the RTP header extensions that are supported. + * The direction attribute for all extensions that are mandatory to use MUST be + * initialized to an appropriate value other than + * RTCRtpTransceiverDirectionStopped. The direction attribute for extensions + * that will not be offered by default in an initial offer MUST be initialized + * to RTCRtpTransceiverDirectionStopped. + */ +@property(nonatomic, readonly, copy) + NSArray + *headerExtensionsToNegotiate; +@property(nonatomic, readonly, copy) + NSArray + *negotiatedHeaderExtensions; + /** The currentDirection attribute indicates the current direction negotiated * for this transceiver. If this transceiver has never been represented in an * offer/answer exchange, or if the transceiver is stopped, the value is not @@ -118,12 +135,35 @@ RTC_OBJC_EXPORT */ - (void)stopInternal; +/** The setCodecPreferences method overrides the default codec preferences used + * by WebRTC for this transceiver. + * https://w3c.github.io/webrtc-pc/#dom-rtcrtptransceiver-setcodecpreferences + */ +- (BOOL)setCodecPreferences: + (NSArray *_Nullable)codecs + error:(NSError **_Nullable)error; + +/** Deprecated version of [RTCRtpTransceiver setCodecPreferences:error:] */ +- (void)setCodecPreferences: + (NSArray *_Nullable)codecs + RTC_OBJC_DEPRECATED("Use setCodecPreferences:error: instead."); + +/** The setHeaderExtensionsToNegotiate method overrides the default header + * extensions used by WebRTC for this transceiver. + * https://w3c.github.io/webrtc-extensions/#ref-for-dom-rtcrtptransceiver-setheaderextensionstonegotiate + */ +- (BOOL)setHeaderExtensionsToNegotiate: + (NSArray *) + extensions + error:(NSError **)error; + /** An update of directionality does not take effect immediately. Instead, * future calls to createOffer and createAnswer mark the corresponding media * descriptions as sendrecv, sendonly, recvonly, or inactive. * https://w3c.github.io/webrtc-pc/#dom-rtcrtptransceiver-direction */ -- (void)setDirection:(RTCRtpTransceiverDirection)direction error:(NSError **)error; +- (void)setDirection:(RTCRtpTransceiverDirection)direction + error:(NSError **)error; @end diff --git a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCSSLAdapter.h b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCSSLAdapter.h similarity index 94% rename from WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCSSLAdapter.h rename to AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCSSLAdapter.h index a0da827c..e0113f82 100644 --- a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCSSLAdapter.h +++ b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCSSLAdapter.h @@ -10,7 +10,7 @@ #import -#import +#import /** * Initialize and clean up the SSL library. Failure is fatal. These call the diff --git a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCSSLCertificateVerifier.h b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCSSLCertificateVerifier.h similarity index 94% rename from WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCSSLCertificateVerifier.h rename to AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCSSLCertificateVerifier.h index d5acafad..33c2a84b 100644 --- a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCSSLCertificateVerifier.h +++ b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCSSLCertificateVerifier.h @@ -10,7 +10,7 @@ #import -#import +#import NS_ASSUME_NONNULL_BEGIN diff --git a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCSessionDescription.h b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCSessionDescription.h similarity index 89% rename from WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCSessionDescription.h rename to AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCSessionDescription.h index 250dea54..02754694 100644 --- a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCSessionDescription.h +++ b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCSessionDescription.h @@ -10,7 +10,7 @@ #import -#import +#import /** * Represents the session description type. This exposes the same types that are @@ -37,7 +37,8 @@ RTC_OBJC_EXPORT - (instancetype)init NS_UNAVAILABLE; /** Initialize a session description with a type and SDP string. */ -- (instancetype)initWithType:(RTCSdpType)type sdp:(NSString *)sdp NS_DESIGNATED_INITIALIZER; +- (instancetype)initWithType:(RTCSdpType)type + sdp:(NSString *)sdp NS_DESIGNATED_INITIALIZER; + (NSString *)stringForType:(RTCSdpType)type; diff --git a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCStatisticsReport.h b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCStatisticsReport.h similarity index 86% rename from WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCStatisticsReport.h rename to AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCStatisticsReport.h index f8453cab..c2d57e8d 100644 --- a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCStatisticsReport.h +++ b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCStatisticsReport.h @@ -10,7 +10,7 @@ #import -#import +#import @class RTC_OBJC_TYPE(RTCStatistics); @@ -24,7 +24,8 @@ RTC_OBJC_EXPORT @property(nonatomic, readonly) CFTimeInterval timestamp_us; /** RTCStatistics objects by id. */ -@property(nonatomic, readonly) NSDictionary *statistics; +@property(nonatomic, readonly) + NSDictionary *statistics; - (instancetype)init NS_UNAVAILABLE; @@ -37,15 +38,17 @@ RTC_OBJC_EXPORT /** The id of this subreport, e.g. "RTCMediaStreamTrack_receiver_2". */ @property(nonatomic, readonly) NSString *id; -/** The timestamp of the subreport in microseconds since 1970-01-01T00:00:00Z. */ +/** The timestamp of the subreport in microseconds since 1970-01-01T00:00:00Z. + */ @property(nonatomic, readonly) CFTimeInterval timestamp_us; /** The type of the subreport, e.g. "track", "codec". */ @property(nonatomic, readonly) NSString *type; /** The keys and values of the subreport, e.g. "totalFramesDuration = 5.551". - The values are either NSNumbers or NSStrings or NSArrays encapsulating NSNumbers - or NSStrings, or NSDictionary of NSString keys to NSNumber values. */ + The values are either NSNumbers or NSStrings or NSArrays encapsulating + NSNumbers or NSStrings, or NSDictionary of NSString keys to NSNumber values. + */ @property(nonatomic, readonly) NSDictionary *values; - (instancetype)init NS_UNAVAILABLE; diff --git a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCTracing.h b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCTracing.h similarity index 95% rename from WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCTracing.h rename to AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCTracing.h index 899a5700..718f0348 100644 --- a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCTracing.h +++ b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCTracing.h @@ -10,7 +10,7 @@ #import -#import +#import RTC_EXTERN void RTCSetupInternalTracer(void); /** Starts capture to specified file. Must be a valid writable path. diff --git a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCVideoCapturer.h b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCVideoCapturer.h similarity index 75% rename from WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCVideoCapturer.h rename to AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCVideoCapturer.h index c307a714..26b64dca 100644 --- a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCVideoCapturer.h +++ b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCVideoCapturer.h @@ -8,9 +8,9 @@ * be found in the AUTHORS file in the root of the source tree. */ -#import +#import -#import +#import NS_ASSUME_NONNULL_BEGIN @@ -19,7 +19,8 @@ NS_ASSUME_NONNULL_BEGIN RTC_OBJC_EXPORT @protocol RTC_OBJC_TYPE (RTCVideoCapturerDelegate) - - (void)capturer : (RTC_OBJC_TYPE(RTCVideoCapturer) *)capturer didCaptureVideoFrame + (void)capturer + : (RTC_OBJC_TYPE(RTCVideoCapturer) *)capturer didCaptureVideoFrame : (RTC_OBJC_TYPE(RTCVideoFrame) *)frame; @end @@ -28,7 +29,8 @@ RTC_OBJC_EXPORT @property(nonatomic, weak) id delegate; -- (instancetype)initWithDelegate:(id)delegate; +- (instancetype)initWithDelegate: + (id)delegate; @end diff --git a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCVideoCodecConstants.h b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCVideoCodecConstants.h similarity index 94% rename from WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCVideoCodecConstants.h rename to AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCVideoCodecConstants.h index 0277bfc4..5a458de5 100644 --- a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCVideoCodecConstants.h +++ b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCVideoCodecConstants.h @@ -10,7 +10,7 @@ #import -#import +#import RTC_EXTERN NSString* const kRTCVideoCodecVp8Name; RTC_EXTERN NSString* const kRTCVideoCodecVp9Name; diff --git a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCVideoCodecInfo.h b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCVideoCodecInfo.h similarity index 69% rename from WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCVideoCodecInfo.h rename to AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCVideoCodecInfo.h index f32c8618..05adc1b2 100644 --- a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCVideoCodecInfo.h +++ b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCVideoCodecInfo.h @@ -10,11 +10,12 @@ #import -#import +#import NS_ASSUME_NONNULL_BEGIN -/** Holds information to identify a codec. Corresponds to webrtc::SdpVideoFormat. */ +/** Holds information to identify a codec. Corresponds to + * webrtc::SdpVideoFormat. */ RTC_OBJC_EXPORT @interface RTC_OBJC_TYPE (RTCVideoCodecInfo) : NSObject @@ -23,13 +24,19 @@ RTC_OBJC_EXPORT - (instancetype)initWithName:(NSString *)name; - (instancetype)initWithName:(NSString *)name - parameters:(nullable NSDictionary *)parameters + parameters:(nullable NSDictionary *) + parameters; + +- (instancetype)initWithName:(NSString *)name + parameters:(NSDictionary *)parameters + scalabilityModes:(NSArray *)scalabilityModes NS_DESIGNATED_INITIALIZER; - (BOOL)isEqualToCodecInfo:(RTC_OBJC_TYPE(RTCVideoCodecInfo) *)info; @property(nonatomic, readonly) NSString *name; @property(nonatomic, readonly) NSDictionary *parameters; +@property(nonatomic, readonly) NSArray *scalabilityModes; @end diff --git a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCVideoDecoder.h b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCVideoDecoder.h similarity index 79% rename from WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCVideoDecoder.h rename to AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCVideoDecoder.h index 9ffde998..212a44af 100644 --- a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCVideoDecoder.h +++ b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCVideoDecoder.h @@ -10,11 +10,11 @@ #import -#import -#import -#import -#import -#import +#import +#import +#import +#import +#import NS_ASSUME_NONNULL_BEGIN @@ -29,6 +29,7 @@ RTC_OBJC_EXPORT - (void)setCallback : (RTCVideoDecoderCallback)callback; - (NSInteger)startDecodeWithNumberOfCores:(int)numberOfCores; - (NSInteger)releaseDecoder; +// TODO(bugs.webrtc.org/15444): Remove obsolete missingFrames param. - (NSInteger)decode:(RTC_OBJC_TYPE(RTCEncodedImage) *)encodedImage missingFrames:(BOOL)missingFrames codecSpecificInfo:(nullable id)info diff --git a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCVideoDecoderAV1.h b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCVideoDecoderAV1.h similarity index 91% rename from WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCVideoDecoderAV1.h rename to AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCVideoDecoderAV1.h index a71cce5c..d45dca7c 100644 --- a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCVideoDecoderAV1.h +++ b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCVideoDecoderAV1.h @@ -10,8 +10,8 @@ #import -#import -#import +#import +#import RTC_OBJC_EXPORT @interface RTC_OBJC_TYPE (RTCVideoDecoderAV1) : NSObject diff --git a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCVideoDecoderFactory.h b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCVideoDecoderFactory.h similarity index 78% rename from WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCVideoDecoderFactory.h rename to AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCVideoDecoderFactory.h index d06188f2..667559da 100644 --- a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCVideoDecoderFactory.h +++ b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCVideoDecoderFactory.h @@ -10,13 +10,14 @@ #import -#import -#import -#import +#import +#import +#import NS_ASSUME_NONNULL_BEGIN -/** RTCVideoDecoderFactory is an Objective-C version of webrtc::VideoDecoderFactory. +/** RTCVideoDecoderFactory is an Objective-C version of + * webrtc::VideoDecoderFactory. */ RTC_OBJC_EXPORT @protocol RTC_OBJC_TYPE diff --git a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCVideoDecoderFactoryH264.h b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCVideoDecoderFactoryH264.h similarity index 86% rename from WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCVideoDecoderFactoryH264.h rename to AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCVideoDecoderFactoryH264.h index cbdfc850..698129ce 100644 --- a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCVideoDecoderFactoryH264.h +++ b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCVideoDecoderFactoryH264.h @@ -10,8 +10,8 @@ #import -#import -#import +#import +#import RTC_OBJC_EXPORT @interface RTC_OBJC_TYPE (RTCVideoDecoderFactoryH264) : NSObject diff --git a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCVideoDecoderH264.h b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCVideoDecoderH264.h similarity index 87% rename from WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCVideoDecoderH264.h rename to AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCVideoDecoderH264.h index 79c337a2..1ad675d6 100644 --- a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCVideoDecoderH264.h +++ b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCVideoDecoderH264.h @@ -10,8 +10,8 @@ #import -#import -#import +#import +#import RTC_OBJC_EXPORT @interface RTC_OBJC_TYPE (RTCVideoDecoderH264) : NSObject diff --git a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCVideoDecoderVP8.h b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCVideoDecoderVP8.h similarity index 91% rename from WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCVideoDecoderVP8.h rename to AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCVideoDecoderVP8.h index 97b19b2c..bad6b66e 100644 --- a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCVideoDecoderVP8.h +++ b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCVideoDecoderVP8.h @@ -10,8 +10,8 @@ #import -#import -#import +#import +#import RTC_OBJC_EXPORT @interface RTC_OBJC_TYPE (RTCVideoDecoderVP8) : NSObject diff --git a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCVideoDecoderVP9.h b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCVideoDecoderVP9.h similarity index 91% rename from WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCVideoDecoderVP9.h rename to AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCVideoDecoderVP9.h index b8782a5c..e7617dcb 100644 --- a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCVideoDecoderVP9.h +++ b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCVideoDecoderVP9.h @@ -10,8 +10,8 @@ #import -#import -#import +#import +#import RTC_OBJC_EXPORT @interface RTC_OBJC_TYPE (RTCVideoDecoderVP9) : NSObject diff --git a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCVideoEncoder.h b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCVideoEncoder.h similarity index 63% rename from WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCVideoEncoder.h rename to AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCVideoEncoder.h index 2e921540..a34cfbe1 100644 --- a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCVideoEncoder.h +++ b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCVideoEncoder.h @@ -10,26 +10,28 @@ #import -#import -#import -#import -#import -#import -#import +#import +#import +#import +#import +#import +#import NS_ASSUME_NONNULL_BEGIN /** Callback block for encoder. */ -typedef BOOL (^RTCVideoEncoderCallback)(RTC_OBJC_TYPE(RTCEncodedImage) * frame, - id info); +typedef BOOL (^RTCVideoEncoderCallback)( + RTC_OBJC_TYPE(RTCEncodedImage) * frame, + id info); /** Protocol for encoder implementations. */ RTC_OBJC_EXPORT @protocol RTC_OBJC_TYPE (RTCVideoEncoder) -- (void)setCallback:(nullable RTCVideoEncoderCallback)callback; -- (NSInteger)startEncodeWithSettings:(RTC_OBJC_TYPE(RTCVideoEncoderSettings) *)settings + - (void)setCallback : (nullable RTCVideoEncoderCallback)callback; +- (NSInteger)startEncodeWithSettings: + (RTC_OBJC_TYPE(RTCVideoEncoderSettings) *)settings numberOfCores:(int)numberOfCores; - (NSInteger)releaseEncoder; - (NSInteger)encode:(RTC_OBJC_TYPE(RTCVideoFrame) *)frame @@ -38,20 +40,21 @@ RTC_OBJC_EXPORT - (int)setBitrate:(uint32_t)bitrateKbit framerate:(uint32_t)framerate; - (NSString *)implementationName; -/** Returns QP scaling settings for encoder. The quality scaler adjusts the resolution in order to - * keep the QP from the encoded images within the given range. Returning nil from this function - * disables quality scaling. */ +/** Returns QP scaling settings for encoder. The quality scaler adjusts the + * resolution in order to keep the QP from the encoded images within the given + * range. Returning nil from this function disables quality scaling. */ - (nullable RTC_OBJC_TYPE(RTCVideoEncoderQpThresholds) *)scalingSettings; /** Resolutions should be aligned to this value. */ @property(nonatomic, readonly) NSInteger resolutionAlignment; -/** If enabled, resolution alignment is applied to all simulcast layers simultaneously so that when - scaled, all resolutions comply with 'resolutionAlignment'. */ +/** If enabled, resolution alignment is applied to all simulcast layers + simultaneously so that when scaled, all resolutions comply with + 'resolutionAlignment'. */ @property(nonatomic, readonly) BOOL applyAlignmentToAllSimulcastLayers; -/** If YES, the receiver is expected to resample/scale the source texture to the expected output - size. */ +/** If YES, the receiver is expected to resample/scale the source texture to the + expected output size. */ @property(nonatomic, readonly) BOOL supportsNativeHandle; @end diff --git a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCVideoEncoderAV1.h b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCVideoEncoderAV1.h similarity index 71% rename from WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCVideoEncoderAV1.h rename to AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCVideoEncoderAV1.h index 34db9a5e..ca7d3fd6 100644 --- a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCVideoEncoderAV1.h +++ b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCVideoEncoderAV1.h @@ -10,8 +10,8 @@ #import -#import -#import +#import +#import RTC_OBJC_EXPORT @interface RTC_OBJC_TYPE (RTCVideoEncoderAV1) : NSObject @@ -20,7 +20,12 @@ RTC_OBJC_EXPORT * RTCPeerConnectionFactory. Even though it implements the RTCVideoEncoder protocol, it can not be * used independently from the RTCPeerConnectionFactory. */ -+ (id)av1Encoder; ++ (nonnull id)av1Encoder; + +/* Returns list of scalability modes supported by the encoder that can be + * created with `av1Encoder` method above. + */ ++ (nonnull NSArray*)supportedScalabilityModes; + (bool)isSupported; diff --git a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCVideoEncoderFactory.h b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCVideoEncoderFactory.h similarity index 53% rename from WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCVideoEncoderFactory.h rename to AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCVideoEncoderFactory.h index 579a04ad..8e2c553c 100644 --- a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCVideoEncoderFactory.h +++ b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCVideoEncoderFactory.h @@ -10,9 +10,9 @@ #import -#import -#import -#import +#import +#import +#import NS_ASSUME_NONNULL_BEGIN @@ -23,16 +23,37 @@ RTC_OBJC_EXPORT @protocol RTC_OBJC_TYPE (RTCVideoEncoderSelector) - - (void)registerCurrentEncoderInfo : (RTC_OBJC_TYPE(RTCVideoCodecInfo) *)info; -- (nullable RTC_OBJC_TYPE(RTCVideoCodecInfo) *)encoderForBitrate:(NSInteger)bitrate; + - (void)registerCurrentEncoderInfo + : (RTC_OBJC_TYPE(RTCVideoCodecInfo) *)info; +- (nullable RTC_OBJC_TYPE(RTCVideoCodecInfo) *)encoderForBitrate: + (NSInteger)bitrate; - (nullable RTC_OBJC_TYPE(RTCVideoCodecInfo) *)encoderForBrokenEncoder; @optional -- (nullable RTC_OBJC_TYPE(RTCVideoCodecInfo) *)encoderForResolutionChangeBySize:(CGSize)size; +- (nullable RTC_OBJC_TYPE(RTCVideoCodecInfo) *)encoderForResolutionChangeBySize: + (CGSize)size; @end -/** RTCVideoEncoderFactory is an Objective-C version of webrtc::VideoEncoderFactory. +/** RTCVideoEncoderCodecSupport is an Objective-C version of + * webrtc::VideoEncoderFactory::CodecSupport. */ +RTC_OBJC_EXPORT +@interface RTC_OBJC_TYPE (RTCVideoEncoderCodecSupport) : NSObject + +- (instancetype)init NS_UNAVAILABLE; + +- (instancetype)initWithSupported:(bool)isSupported; +- (instancetype)initWithSupported:(bool)isSupported + isPowerEfficient:(bool)isPowerEfficient + NS_DESIGNATED_INITIALIZER; + +@property(nonatomic, readonly) bool isSupported; +@property(nonatomic, readonly) bool isPowerEfficient; + +@end + +/** RTCVideoEncoderFactory is an Objective-C version of + * webrtc::VideoEncoderFactory. */ RTC_OBJC_EXPORT @protocol RTC_OBJC_TYPE @@ -46,6 +67,11 @@ RTC_OBJC_EXPORT @optional - (NSArray *)implementations; - (nullable id)encoderSelector; +/* TODO: b/299588022 - move to non-optional section when implemented by all + * derived classes. */ +- (RTC_OBJC_TYPE(RTCVideoEncoderCodecSupport) *) + queryCodecSupport:(RTC_OBJC_TYPE(RTCVideoCodecInfo) *)info + scalabilityMode:(nullable NSString *)scalabilityMode; @end diff --git a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCVideoEncoderFactoryH264.h b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCVideoEncoderFactoryH264.h similarity index 86% rename from WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCVideoEncoderFactoryH264.h rename to AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCVideoEncoderFactoryH264.h index c699def1..8205b552 100644 --- a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCVideoEncoderFactoryH264.h +++ b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCVideoEncoderFactoryH264.h @@ -10,8 +10,8 @@ #import -#import -#import +#import +#import RTC_OBJC_EXPORT @interface RTC_OBJC_TYPE (RTCVideoEncoderFactoryH264) : NSObject diff --git a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCVideoEncoderH264.h b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCVideoEncoderH264.h similarity index 83% rename from WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCVideoEncoderH264.h rename to AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCVideoEncoderH264.h index dc9f619f..11b69512 100644 --- a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCVideoEncoderH264.h +++ b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCVideoEncoderH264.h @@ -10,9 +10,9 @@ #import -#import -#import -#import +#import +#import +#import RTC_OBJC_EXPORT @interface RTC_OBJC_TYPE (RTCVideoEncoderH264) : NSObject diff --git a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCVideoEncoderQpThresholds.h b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCVideoEncoderQpThresholds.h similarity index 85% rename from WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCVideoEncoderQpThresholds.h rename to AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCVideoEncoderQpThresholds.h index f422c342..89633cdb 100644 --- a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCVideoEncoderQpThresholds.h +++ b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCVideoEncoderQpThresholds.h @@ -10,11 +10,12 @@ #import -#import +#import NS_ASSUME_NONNULL_BEGIN -/** QP thresholds for encoder. Corresponds to webrtc::VideoEncoder::QpThresholds. */ +/** QP thresholds for encoder. Corresponds to + * webrtc::VideoEncoder::QpThresholds. */ RTC_OBJC_EXPORT @interface RTC_OBJC_TYPE (RTCVideoEncoderQpThresholds) : NSObject diff --git a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCVideoEncoderSettings.h b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCVideoEncoderSettings.h similarity index 97% rename from WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCVideoEncoderSettings.h rename to AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCVideoEncoderSettings.h index efbdb5ee..2ae6a190 100644 --- a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCVideoEncoderSettings.h +++ b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCVideoEncoderSettings.h @@ -10,7 +10,7 @@ #import -#import +#import NS_ASSUME_NONNULL_BEGIN diff --git a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCVideoEncoderVP8.h b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCVideoEncoderVP8.h similarity index 70% rename from WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCVideoEncoderVP8.h rename to AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCVideoEncoderVP8.h index 84ad197a..da46041c 100644 --- a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCVideoEncoderVP8.h +++ b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCVideoEncoderVP8.h @@ -10,8 +10,8 @@ #import -#import -#import +#import +#import RTC_OBJC_EXPORT @interface RTC_OBJC_TYPE (RTCVideoEncoderVP8) : NSObject @@ -20,6 +20,11 @@ RTC_OBJC_EXPORT * RTCPeerConnectionFactory. Even though it implements the RTCVideoEncoder protocol, it can not be * used independently from the RTCPeerConnectionFactory. */ -+ (id)vp8Encoder; ++ (nonnull id)vp8Encoder; + +/* Returns list of scalability modes supported by the encoder that can be + * created with `vp8Encoder` method above. + */ ++ (nonnull NSArray*)supportedScalabilityModes; @end diff --git a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCVideoEncoderVP9.h b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCVideoEncoderVP9.h similarity index 71% rename from WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCVideoEncoderVP9.h rename to AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCVideoEncoderVP9.h index 3559dbd3..b32f1904 100644 --- a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCVideoEncoderVP9.h +++ b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCVideoEncoderVP9.h @@ -10,8 +10,8 @@ #import -#import -#import +#import +#import RTC_OBJC_EXPORT @interface RTC_OBJC_TYPE (RTCVideoEncoderVP9) : NSObject @@ -20,7 +20,12 @@ RTC_OBJC_EXPORT * RTCPeerConnectionFactory. Even though it implements the RTCVideoEncoder protocol, it can not be * used independently from the RTCPeerConnectionFactory. */ -+ (id)vp9Encoder; ++ (nullable id)vp9Encoder; + +/* Returns list of scalability modes supported by the encoder that can be + * created with `vp9Encoder` method above. + */ ++ (nonnull NSArray*)supportedScalabilityModes; + (bool)isSupported; diff --git a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCVideoFrame.h b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCVideoFrame.h similarity index 56% rename from WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCVideoFrame.h rename to AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCVideoFrame.h index 01294f57..635339cb 100644 --- a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCVideoFrame.h +++ b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCVideoFrame.h @@ -11,7 +11,7 @@ #import #import -#import +#import NS_ASSUME_NONNULL_BEGIN @@ -45,34 +45,12 @@ RTC_OBJC_EXPORT @property(nonatomic, readonly) id buffer; - (instancetype)init NS_UNAVAILABLE; -- (instancetype) new NS_UNAVAILABLE; - -/** Initialize an RTCVideoFrame from a pixel buffer, rotation, and timestamp. - * Deprecated - initialize with a RTCCVPixelBuffer instead - */ -- (instancetype)initWithPixelBuffer:(CVPixelBufferRef)pixelBuffer - rotation:(RTCVideoRotation)rotation - timeStampNs:(int64_t)timeStampNs - DEPRECATED_MSG_ATTRIBUTE("use initWithBuffer instead"); - -/** Initialize an RTCVideoFrame from a pixel buffer combined with cropping and - * scaling. Cropping will be applied first on the pixel buffer, followed by - * scaling to the final resolution of scaledWidth x scaledHeight. - */ -- (instancetype)initWithPixelBuffer:(CVPixelBufferRef)pixelBuffer - scaledWidth:(int)scaledWidth - scaledHeight:(int)scaledHeight - cropWidth:(int)cropWidth - cropHeight:(int)cropHeight - cropX:(int)cropX - cropY:(int)cropY - rotation:(RTCVideoRotation)rotation - timeStampNs:(int64_t)timeStampNs - DEPRECATED_MSG_ATTRIBUTE("use initWithBuffer instead"); +- (instancetype)new NS_UNAVAILABLE; /** Initialize an RTCVideoFrame from a frame buffer, rotation, and timestamp. */ -- (instancetype)initWithBuffer:(id)frameBuffer +- (instancetype)initWithBuffer: + (id)frameBuffer rotation:(RTCVideoRotation)rotation timeStampNs:(int64_t)timeStampNs; diff --git a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCVideoFrameBuffer.h b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCVideoFrameBuffer.h similarity index 97% rename from WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCVideoFrameBuffer.h rename to AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCVideoFrameBuffer.h index 7efbd2b7..5681d82f 100644 --- a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCVideoFrameBuffer.h +++ b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCVideoFrameBuffer.h @@ -10,7 +10,7 @@ #import -#import +#import NS_ASSUME_NONNULL_BEGIN diff --git a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCVideoRenderer.h b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCVideoRenderer.h similarity index 87% rename from WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCVideoRenderer.h rename to AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCVideoRenderer.h index 3a5b77b4..ed23607c 100644 --- a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCVideoRenderer.h +++ b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCVideoRenderer.h @@ -13,7 +13,7 @@ #import #endif -#import +#import NS_ASSUME_NONNULL_BEGIN @@ -35,7 +35,8 @@ RTC_OBJC_EXPORT @protocol RTC_OBJC_TYPE (RTCVideoViewDelegate) - - (void)videoView : (id)videoView didChangeVideoSize + - (void)videoView + : (id)videoView didChangeVideoSize : (CGSize)size; @end diff --git a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCVideoSource.h b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCVideoSource.h similarity index 90% rename from WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCVideoSource.h rename to AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCVideoSource.h index c7dea6e0..0d79d16e 100644 --- a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCVideoSource.h +++ b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCVideoSource.h @@ -10,9 +10,9 @@ #import -#import -#import -#import +#import +#import +#import NS_ASSUME_NONNULL_BEGIN diff --git a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCVideoTrack.h b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCVideoTrack.h similarity index 92% rename from WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCVideoTrack.h rename to AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCVideoTrack.h index 18368168..0bfa3fb7 100644 --- a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCVideoTrack.h +++ b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCVideoTrack.h @@ -8,9 +8,9 @@ * be found in the AUTHORS file in the root of the source tree. */ -#import +#import -#import +#import NS_ASSUME_NONNULL_BEGIN diff --git a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCVideoViewShading.h b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCVideoViewShading.h similarity index 76% rename from WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCVideoViewShading.h rename to AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCVideoViewShading.h index aeb49e27..a2c15975 100644 --- a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCVideoViewShading.h +++ b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCVideoViewShading.h @@ -10,22 +10,22 @@ #import -#import +#import NS_ASSUME_NONNULL_BEGIN /** - * RTCVideoViewShading provides a way for apps to customize the OpenGL(ES shaders - * used in rendering for the RTCEAGLVideoView/RTCNSGLVideoView. + * RTCVideoViewShading provides a way for apps to customize the OpenGL(ES + * shaders used in rendering for the RTCEAGLVideoView/RTCNSGLVideoView. */ RTC_OBJC_EXPORT @protocol RTC_OBJC_TYPE (RTCVideoViewShading) /** Callback for I420 frames. Each plane is given as a texture. */ - - (void)applyShadingForFrameWithWidth : (int)width height : (int)height rotation - : (RTCVideoRotation)rotation yPlane : (GLuint)yPlane uPlane : (GLuint)uPlane vPlane - : (GLuint)vPlane; + - (void)applyShadingForFrameWithWidth : (int)width height + : (int)height rotation : (RTCVideoRotation)rotation yPlane + : (GLuint)yPlane uPlane : (GLuint)uPlane vPlane : (GLuint)vPlane; /** Callback for NV12 frames. Each plane is given as a texture. */ - (void)applyShadingForFrameWithWidth:(int)width diff --git a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCYUVPlanarBuffer.h b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCYUVPlanarBuffer.h similarity index 94% rename from WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCYUVPlanarBuffer.h rename to AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCYUVPlanarBuffer.h index f7377022..7c6743be 100644 --- a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCYUVPlanarBuffer.h +++ b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/RTCYUVPlanarBuffer.h @@ -10,8 +10,8 @@ #import -#import -#import +#import +#import NS_ASSUME_NONNULL_BEGIN diff --git a/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/UIDevice+RTCDevice.h b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/UIDevice+RTCDevice.h new file mode 100644 index 00000000..4d04f38f --- /dev/null +++ b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Headers/UIDevice+RTCDevice.h @@ -0,0 +1,17 @@ +/* + * 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 + +@interface UIDevice (RTCDevice) + ++ (NSString *)machineName; + +@end diff --git a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Info.plist b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Info.plist similarity index 60% rename from WebRTC.xcframework/ios-arm64/WebRTC.framework/Info.plist rename to AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Info.plist index 940c5472..36ab19f0 100644 Binary files a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Info.plist and b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Info.plist differ diff --git a/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Modules/module.modulemap b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Modules/module.modulemap new file mode 100644 index 00000000..465ba4df --- /dev/null +++ b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/Modules/module.modulemap @@ -0,0 +1,6 @@ +framework module AntMedia_WebRTC { + umbrella header "AntMedia_WebRTC.h" + + export * + module * { export * } +} diff --git a/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/PrivacyInfo.xcprivacy b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/PrivacyInfo.xcprivacy new file mode 100644 index 00000000..a1f67253 --- /dev/null +++ b/AntMedia_WebRTC.xcframework/ios-arm64/AntMedia_WebRTC.framework/PrivacyInfo.xcprivacy @@ -0,0 +1,32 @@ + + + + + NSPrivacyAccessedAPITypes + + + NSPrivacyAccessedAPIType + NSPrivacyAccessedAPICategorySystemBootTime + NSPrivacyAccessedAPITypeReasons + + 35F9.1 + 8FFB.1 + + + + NSPrivacyAccessedAPIType + NSPrivacyAccessedAPICategoryFileTimestamp + NSPrivacyAccessedAPITypeReasons + + C617.1 + + + + NSPrivacyCollectedDataTypes + + NSPrivacyTracking + + NSPrivacyTrackingDomains + + + diff --git a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/WebRTC b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/AntMedia_WebRTC similarity index 60% rename from WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/WebRTC rename to AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/AntMedia_WebRTC index a48abc50..5fe8ae70 100755 Binary files a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/WebRTC and b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/AntMedia_WebRTC differ diff --git a/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/AntMedia_WebRTC.h b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/AntMedia_WebRTC.h new file mode 100644 index 00000000..10ab34e5 --- /dev/null +++ b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/AntMedia_WebRTC.h @@ -0,0 +1,103 @@ +/* + * Copyright 2025 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 +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import diff --git a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCAudioDevice.h b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCAudioDevice.h similarity index 69% rename from WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCAudioDevice.h rename to AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCAudioDevice.h index 09d79c8a..1e486f67 100644 --- a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCAudioDevice.h +++ b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCAudioDevice.h @@ -11,7 +11,7 @@ #import #import -#import +#import NS_ASSUME_NONNULL_BEGIN @@ -37,7 +37,8 @@ typedef OSStatus (^RTC_OBJC_TYPE(RTCAudioDeviceDeliverRecordedDataBlock))( UInt32 frameCount, const AudioBufferList *_Nullable inputData, void *_Nullable renderContext, - NS_NOESCAPE RTC_OBJC_TYPE(RTCAudioDeviceRenderRecordedDataBlock) _Nullable renderBlock); + NS_NOESCAPE RTC_OBJC_TYPE( + RTCAudioDeviceRenderRecordedDataBlock) _Nullable renderBlock); /** * Delegate object provided by native ADM during RTCAudioDevice initialization. @@ -47,18 +48,21 @@ typedef OSStatus (^RTC_OBJC_TYPE(RTCAudioDeviceDeliverRecordedDataBlock))( RTC_OBJC_EXPORT @protocol RTC_OBJC_TYPE (RTCAudioDeviceDelegate) /** - * Implementation of RTCAudioSource should call this block to feed recorded PCM (16-bit integer) - * into native ADM. Stereo data is expected to be interleaved starting with the left channel. - * Either `inputData` with pre-filled audio data must be provided during block - * call or `renderBlock` must be provided which must fill provided audio buffer with recorded + * Implementation of RTCAudioSource should call this block to feed recorded + * PCM (16-bit integer) into native ADM. Stereo data is expected to be + * interleaved starting with the left channel. Either `inputData` with + * pre-filled audio data must be provided during block call or `renderBlock` + * must be provided which must fill provided audio buffer with recorded * samples. * - * NOTE: Implementation of RTCAudioDevice is expected to call the block on the same thread until - * `notifyAudioInterrupted` is called. When `notifyAudioInterrupted` is called implementation - * can call the block on a different thread. + * NOTE: Implementation of RTCAudioDevice is expected to call the block on + * the same thread until `notifyAudioInterrupted` is called. When + * `notifyAudioInterrupted` is called implementation can call the block on a + * different thread. */ @property(readonly, nonnull) - RTC_OBJC_TYPE(RTCAudioDeviceDeliverRecordedDataBlock) deliverRecordedData; + RTC_OBJC_TYPE(RTCAudioDeviceDeliverRecordedDataBlock) + deliverRecordedData; /** * Provides input sample rate preference as it preferred by native ADM. @@ -81,30 +85,37 @@ RTC_OBJC_EXPORT @protocol RTC_OBJC_TYPE @property(readonly) NSTimeInterval preferredOutputIOBufferDuration; /** - * Implementation of RTCAudioDevice should call this block to request PCM (16-bit integer) - * from native ADM to play. Stereo data is interleaved starting with the left channel. + * Implementation of RTCAudioDevice should call this block to request PCM + * (16-bit integer) from native ADM to play. Stereo data is interleaved starting + * with the left channel. * - * NOTE: Implementation of RTCAudioDevice is expected to invoke of this block on the - * same thread until `notifyAudioInterrupted` is called. When `notifyAudioInterrupted` is called - * implementation can call the block from a different thread. + * NOTE: Implementation of RTCAudioDevice is expected to invoke of this block on + * the same thread until `notifyAudioInterrupted` is called. When + * `notifyAudioInterrupted` is called implementation can call the block from a + * different thread. */ -@property(readonly, nonnull) RTC_OBJC_TYPE(RTCAudioDeviceGetPlayoutDataBlock) getPlayoutData; +@property(readonly, nonnull) RTC_OBJC_TYPE(RTCAudioDeviceGetPlayoutDataBlock) + getPlayoutData; /** - * Notifies native ADM that some of the audio input parameters of RTCAudioDevice like - * samle rate and/or IO buffer duration and/or IO latency had possibly changed. - * Native ADM will adjust its audio input buffer to match current parameters of audio device. + * Notifies native ADM that some of the audio input parameters of RTCAudioDevice + * like samle rate and/or IO buffer duration and/or IO latency had possibly + * changed. Native ADM will adjust its audio input buffer to match current + * parameters of audio device. * - * NOTE: Must be called within block executed via `dispatchAsync` or `dispatchSync`. + * NOTE: Must be called within block executed via `dispatchAsync` or + * `dispatchSync`. */ - (void)notifyAudioInputParametersChange; /** - * Notifies native ADM that some of the audio output parameters of RTCAudioDevice like - * samle rate and/or IO buffer duration and/or IO latency had possibly changed. - * Native ADM will adjust its audio output buffer to match current parameters of audio device. + * Notifies native ADM that some of the audio output parameters of + * RTCAudioDevice like samle rate and/or IO buffer duration and/or IO latency + * had possibly changed. Native ADM will adjust its audio output buffer to match + * current parameters of audio device. * - * NOTE: Must be called within block executed via `dispatchAsync` or `dispatchSync`. + * NOTE: Must be called within block executed via `dispatchAsync` or + * `dispatchSync`. */ - (void)notifyAudioOutputParametersChange; @@ -112,15 +123,17 @@ RTC_OBJC_EXPORT @protocol RTC_OBJC_TYPE * Notifies native ADM that audio input is interrupted and further audio playout * and recording might happen on a different thread. * - * NOTE: Must be called within block executed via `dispatchAsync` or `dispatchSync`. + * NOTE: Must be called within block executed via `dispatchAsync` or + * `dispatchSync`. */ - (void)notifyAudioInputInterrupted; /** - * Notifies native ADM that audio output is interrupted and further audio playout - * and recording might happen on a different thread. + * Notifies native ADM that audio output is interrupted and further audio + * playout and recording might happen on a different thread. * - * NOTE: Must be called within block executed via `dispatchAsync` or `dispatchSync`. + * NOTE: Must be called within block executed via `dispatchAsync` or + * `dispatchSync`. */ - (void)notifyAudioOutputInterrupted; @@ -133,8 +146,8 @@ RTC_OBJC_EXPORT @protocol RTC_OBJC_TYPE * `notifyAudioOutputInterrupted` on native ADM thread. * Also could be used by `RTCAudioDevice` implementation to tie * mutations of underlying audio objects (AVAudioEngine, AudioUnit, etc) - * to the native ADM thread. Could be useful to handle events like audio route change, which - * could lead to audio parameters change. + * to the native ADM thread. Could be useful to handle events like audio route + * change, which could lead to audio parameters change. */ - (void)dispatchAsync:(dispatch_block_t)block; @@ -146,42 +159,48 @@ RTC_OBJC_EXPORT @protocol RTC_OBJC_TYPE * `notifyAudioOutputParametersChange`, `notifyAudioInputInterrupted`, * `notifyAudioOutputInterrupted` on native ADM thread and make sure * aforementioned is completed before `dispatchSync` returns. Could be useful - * when implementation of `RTCAudioDevice` tie mutation to underlying audio objects (AVAudioEngine, - * AudioUnit, etc) to own thread to satisfy requirement that native ADM audio parameters - * must be kept in sync with current audio parameters before audio is actually played or recorded. + * when implementation of `RTCAudioDevice` tie mutation to underlying audio + * objects (AVAudioEngine, AudioUnit, etc) to own thread to satisfy requirement + * that native ADM audio parameters must be kept in sync with current audio + * parameters before audio is actually played or recorded. */ - (void)dispatchSync:(dispatch_block_t)block; @end /** - * Protocol to abstract platform specific ways to implement playback and recording. + * Protocol to abstract platform specific ways to implement playback and + * recording. * - * NOTE: All the members of protocol are called by native ADM from the same thread - * between calls to `initializeWithDelegate` and `terminate`. - * NOTE: Implementation is fully responsible for configuring application's AVAudioSession. - * An example implementation of RTCAudioDevice: https://github.com/mstyura/RTCAudioDevice - * TODO(yura.yaroshevich): Implement custom RTCAudioDevice for AppRTCMobile demo app. + * NOTE: All the members of protocol are called by native ADM from the same + * thread between calls to `initializeWithDelegate` and `terminate`. NOTE: + * Implementation is fully responsible for configuring application's + * AVAudioSession. An example implementation of RTCAudioDevice: + * https://github.com/mstyura/RTCAudioDevice + * TODO(yura.yaroshevich): Implement custom RTCAudioDevice for AppRTCMobile demo + * app. */ RTC_OBJC_EXPORT @protocol RTC_OBJC_TYPE (RTCAudioDevice) /** - * Indicates current sample rate of audio recording. Changes to this property - * must be notified back to native ADM via `-[RTCAudioDeviceDelegate - * notifyAudioParametersChange]`. + * Indicates current sample rate of audio recording. Changes to this + * property must be notified back to native ADM via + * `-[RTCAudioDeviceDelegate notifyAudioParametersChange]`. */ @property(readonly) double deviceInputSampleRate; /** * Indicates current size of record buffer. Changes to this property - * must be notified back to native ADM via `-[RTCAudioDeviceDelegate notifyAudioParametersChange]`. + * must be notified back to native ADM via `-[RTCAudioDeviceDelegate + * notifyAudioParametersChange]`. */ @property(readonly) NSTimeInterval inputIOBufferDuration; /** * Indicates current number of recorded audio channels. Changes to this property - * must be notified back to native ADM via `-[RTCAudioDeviceDelegate notifyAudioParametersChange]`. + * must be notified back to native ADM via `-[RTCAudioDeviceDelegate + * notifyAudioParametersChange]`. */ @property(readonly) NSInteger inputNumberOfChannels; @@ -192,19 +211,22 @@ RTC_OBJC_EXPORT @protocol RTC_OBJC_TYPE /** * Indicates current sample rate of audio playback. Changes to this property - * must be notified back to native ADM via `-[RTCAudioDeviceDelegate notifyAudioParametersChange]`. + * must be notified back to native ADM via `-[RTCAudioDeviceDelegate + * notifyAudioParametersChange]`. */ @property(readonly) double deviceOutputSampleRate; /** * Indicates current size of playback buffer. Changes to this property - * must be notified back to native ADM via `-[RTCAudioDeviceDelegate notifyAudioParametersChange]`. + * must be notified back to native ADM via `-[RTCAudioDeviceDelegate + * notifyAudioParametersChange]`. */ @property(readonly) NSTimeInterval outputIOBufferDuration; /** * Indicates current number of playback audio channels. Changes to this property - * must be notified back to WebRTC via `[RTCAudioDeviceDelegate notifyAudioParametersChange]`. + * must be notified back to WebRTC via `[RTCAudioDeviceDelegate + * notifyAudioParametersChange]`. */ @property(readonly) NSInteger outputNumberOfChannels; @@ -214,36 +236,40 @@ RTC_OBJC_EXPORT @protocol RTC_OBJC_TYPE @property(readonly) NSTimeInterval outputLatency; /** - * Indicates if invocation of `initializeWithDelegate` required before usage of RTCAudioDevice. - * YES indicates that `initializeWithDelegate` was called earlier without subsequent call to - * `terminate`. NO indicates that either `initializeWithDelegate` not called or `terminate` called. + * Indicates if invocation of `initializeWithDelegate` required before usage of + * RTCAudioDevice. YES indicates that `initializeWithDelegate` was called + * earlier without subsequent call to `terminate`. NO indicates that either + * `initializeWithDelegate` not called or `terminate` called. */ @property(readonly) BOOL isInitialized; /** * Initializes RTCAudioDevice with RTCAudioDeviceDelegate. - * Implementation must return YES if RTCAudioDevice initialized successfully and NO otherwise. + * Implementation must return YES if RTCAudioDevice initialized successfully and + * NO otherwise. */ -- (BOOL)initializeWithDelegate:(id)delegate; +- (BOOL)initializeWithDelegate: + (id)delegate; /** - * De-initializes RTCAudioDevice. Implementation should forget about `delegate` provided in - * `initializeWithDelegate`. + * De-initializes RTCAudioDevice. Implementation should forget about `delegate` + * provided in `initializeWithDelegate`. */ - (BOOL)terminateDevice; /** - * Property to indicate if `initializePlayout` call required before invocation of `startPlayout`. - * YES indicates that `initializePlayout` was successfully invoked earlier or not necessary, - * NO indicates that `initializePlayout` invocation required. + * Property to indicate if `initializePlayout` call required before invocation + * of `startPlayout`. YES indicates that `initializePlayout` was successfully + * invoked earlier or not necessary, NO indicates that `initializePlayout` + * invocation required. */ @property(readonly) BOOL isPlayoutInitialized; /** * Prepares RTCAudioDevice to play audio. * Called by native ADM before invocation of `startPlayout`. - * Implementation is expected to return YES in case of successful playout initialization and NO - * otherwise. + * Implementation is expected to return YES in case of successful playout + * initialization and NO otherwise. */ - (BOOL)initializePlayout; @@ -268,18 +294,19 @@ RTC_OBJC_EXPORT @protocol RTC_OBJC_TYPE - (BOOL)stopPlayout; /** - * Property to indicate if `initializeRecording` call required before usage of `startRecording`. - * YES indicates that `initializeRecording` was successfully invoked earlier or not necessary, - * NO indicates that `initializeRecording` invocation required. + * Property to indicate if `initializeRecording` call required before usage of + * `startRecording`. YES indicates that `initializeRecording` was successfully + * invoked earlier or not necessary, NO indicates that `initializeRecording` + * invocation required. */ @property(readonly) BOOL isRecordingInitialized; /** * Prepares RTCAudioDevice to record audio. * Called by native ADM before invocation of `startRecording`. - * Implementation may use this method to prepare resources required to record audio. - * Implementation is expected to return YES in case of successful record initialization and NO - * otherwise. + * Implementation may use this method to prepare resources required to record + * audio. Implementation is expected to return YES in case of successful record + * initialization and NO otherwise. */ - (BOOL)initializeRecording; diff --git a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCAudioDeviceModule.h b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCAudioDeviceModule.h similarity index 89% rename from WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCAudioDeviceModule.h rename to AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCAudioDeviceModule.h index 97b37213..83efc43a 100644 --- a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCAudioDeviceModule.h +++ b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCAudioDeviceModule.h @@ -2,7 +2,7 @@ #import #import -#import +#import NS_ASSUME_NONNULL_BEGIN diff --git a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCAudioSession.h b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCAudioSession.h similarity index 80% rename from WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCAudioSession.h rename to AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCAudioSession.h index 0ca137d2..45f59a2a 100644 --- a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCAudioSession.h +++ b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCAudioSession.h @@ -11,7 +11,7 @@ #import #import -#import +#import NS_ASSUME_NONNULL_BEGIN @@ -35,7 +35,8 @@ RTC_OBJC_EXPORT /** Called on a system notification thread when AVAudioSession starts an * interruption event. */ -- (void)audioSessionDidBeginInterruption:(RTC_OBJC_TYPE(RTCAudioSession) *)session; +- (void)audioSessionDidBeginInterruption: + (RTC_OBJC_TYPE(RTCAudioSession) *)session; /** Called on a system notification thread when AVAudioSession ends an * interruption event. @@ -48,12 +49,14 @@ RTC_OBJC_EXPORT */ - (void)audioSessionDidChangeRoute:(RTC_OBJC_TYPE(RTCAudioSession) *)session reason:(AVAudioSessionRouteChangeReason)reason - previousRoute:(AVAudioSessionRouteDescription *)previousRoute; + previousRoute: + (AVAudioSessionRouteDescription *)previousRoute; /** Called on a system notification thread when AVAudioSession media server * terminates. */ -- (void)audioSessionMediaServerTerminated:(RTC_OBJC_TYPE(RTCAudioSession) *)session; +- (void)audioSessionMediaServerTerminated: + (RTC_OBJC_TYPE(RTCAudioSession) *)session; /** Called on a system notification thread when AVAudioSession media server * restarts. @@ -68,12 +71,14 @@ RTC_OBJC_EXPORT /** Called on a WebRTC thread when the audio device is notified to begin * playback or recording. */ -- (void)audioSessionDidStartPlayOrRecord:(RTC_OBJC_TYPE(RTCAudioSession) *)session; +- (void)audioSessionDidStartPlayOrRecord: + (RTC_OBJC_TYPE(RTCAudioSession) *)session; /** Called on a WebRTC thread when the audio device is notified to stop * playback or recording. */ -- (void)audioSessionDidStopPlayOrRecord:(RTC_OBJC_TYPE(RTCAudioSession) *)session; +- (void)audioSessionDidStopPlayOrRecord: + (RTC_OBJC_TYPE(RTCAudioSession) *)session; /** Called when the AVAudioSession output volume value changes. */ - (void)audioSession:(RTC_OBJC_TYPE(RTCAudioSession) *)audioSession @@ -87,11 +92,13 @@ RTC_OBJC_EXPORT /** Called when the audio session is about to change the active state. */ -- (void)audioSession:(RTC_OBJC_TYPE(RTCAudioSession) *)audioSession willSetActive:(BOOL)active; +- (void)audioSession:(RTC_OBJC_TYPE(RTCAudioSession) *)audioSession + willSetActive:(BOOL)active; /** Called after the audio session sucessfully changed the active state. */ -- (void)audioSession:(RTC_OBJC_TYPE(RTCAudioSession) *)audioSession didSetActive:(BOOL)active; +- (void)audioSession:(RTC_OBJC_TYPE(RTCAudioSession) *)audioSession + didSetActive:(BOOL)active; /** Called after the audio session failed to change the active state. */ @@ -105,8 +112,9 @@ RTC_OBJC_EXPORT @end /** This is a protocol used to inform RTCAudioSession when the audio session - * activation state has changed outside of RTCAudioSession. The current known use - * case of this is when CallKit activates the audio session for the application + * activation state has changed outside of RTCAudioSession. The current known + * use case of this is when CallKit activates the audio session for the + * application */ RTC_OBJC_EXPORT @protocol RTC_OBJC_TYPE @@ -173,10 +181,14 @@ RTC_OBJC_EXPORT @property(readonly) float inputGain; @property(readonly) BOOL inputGainSettable; @property(readonly) BOOL inputAvailable; -@property(readonly, nullable) NSArray *inputDataSources; -@property(readonly, nullable) AVAudioSessionDataSourceDescription *inputDataSource; -@property(readonly, nullable) NSArray *outputDataSources; -@property(readonly, nullable) AVAudioSessionDataSourceDescription *outputDataSource; +@property(readonly, nullable) + NSArray *inputDataSources; +@property(readonly, nullable) + AVAudioSessionDataSourceDescription *inputDataSource; +@property(readonly, nullable) + NSArray *outputDataSources; +@property(readonly, nullable) + AVAudioSessionDataSourceDescription *outputDataSource; @property(readonly) double sampleRate; @property(readonly) double preferredSampleRate; @property(readonly) NSInteger inputNumberOfChannels; @@ -188,10 +200,11 @@ RTC_OBJC_EXPORT @property(readonly) NSTimeInterval preferredIOBufferDuration; /** - When YES, calls to -setConfiguration:error: and -setConfiguration:active:error: ignore errors in - configuring the audio session's "preferred" attributes (e.g. preferredInputNumberOfChannels). - Typically, configurations to preferred attributes are optimizations, and ignoring this type of - configuration error allows code flow to continue along the happy path when these optimization are + When YES, calls to -setConfiguration:error: and -setConfiguration:active:error: + ignore errors in configuring the audio session's "preferred" attributes (e.g. + preferredInputNumberOfChannels). Typically, configurations to preferred + attributes are optimizations, and ignoring this type of configuration error + allows code flow to continue along the happy path when these optimization are not available. The default value of this property is NO. */ @property(nonatomic) BOOL ignoresPreferredAttributeConfigurationErrors; @@ -225,17 +238,26 @@ RTC_OBJC_EXPORT // AVAudioSession. `lockForConfiguration` must be called before using them // otherwise they will fail with kRTCAudioSessionErrorLockRequired. -- (BOOL)setCategory:(NSString *)category +- (BOOL)setCategory:(AVAudioSessionCategory)category + mode:(AVAudioSessionMode)mode + options:(AVAudioSessionCategoryOptions)options + error:(NSError **)outError; +- (BOOL)setCategory:(AVAudioSessionCategory)category withOptions:(AVAudioSessionCategoryOptions)options error:(NSError **)outError; -- (BOOL)setMode:(NSString *)mode error:(NSError **)outError; +- (BOOL)setMode:(AVAudioSessionMode)mode error:(NSError **)outError; - (BOOL)setInputGain:(float)gain error:(NSError **)outError; - (BOOL)setPreferredSampleRate:(double)sampleRate error:(NSError **)outError; -- (BOOL)setPreferredIOBufferDuration:(NSTimeInterval)duration error:(NSError **)outError; -- (BOOL)setPreferredInputNumberOfChannels:(NSInteger)count error:(NSError **)outError; -- (BOOL)setPreferredOutputNumberOfChannels:(NSInteger)count error:(NSError **)outError; -- (BOOL)overrideOutputAudioPort:(AVAudioSessionPortOverride)portOverride error:(NSError **)outError; -- (BOOL)setPreferredInput:(AVAudioSessionPortDescription *)inPort error:(NSError **)outError; +- (BOOL)setPreferredIOBufferDuration:(NSTimeInterval)duration + error:(NSError **)outError; +- (BOOL)setPreferredInputNumberOfChannels:(NSInteger)count + error:(NSError **)outError; +- (BOOL)setPreferredOutputNumberOfChannels:(NSInteger)count + error:(NSError **)outError; +- (BOOL)overrideOutputAudioPort:(AVAudioSessionPortOverride)portOverride + error:(NSError **)outError; +- (BOOL)setPreferredInput:(AVAudioSessionPortDescription *)inPort + error:(NSError **)outError; - (BOOL)setInputDataSource:(AVAudioSessionDataSourceDescription *)dataSource error:(NSError **)outError; - (BOOL)setOutputDataSource:(AVAudioSessionDataSourceDescription *)dataSource @@ -250,13 +272,15 @@ RTC_OBJC_EXPORT * returned. * `lockForConfiguration` must be called first. */ - - (BOOL)setConfiguration : (RTC_OBJC_TYPE(RTCAudioSessionConfiguration) *)configuration error + - (BOOL)setConfiguration + : (RTC_OBJC_TYPE(RTCAudioSessionConfiguration) *)configuration error : (NSError **)outError; /** Convenience method that calls both setConfiguration and setActive. * `lockForConfiguration` must be called first. */ -- (BOOL)setConfiguration:(RTC_OBJC_TYPE(RTCAudioSessionConfiguration) *)configuration +- (BOOL)setConfiguration: + (RTC_OBJC_TYPE(RTCAudioSessionConfiguration) *)configuration active:(BOOL)active error:(NSError **)outError; diff --git a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCAudioSessionConfiguration.h b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCAudioSessionConfiguration.h similarity index 86% rename from WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCAudioSessionConfiguration.h rename to AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCAudioSessionConfiguration.h index be799203..96ddfa9e 100644 --- a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCAudioSessionConfiguration.h +++ b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCAudioSessionConfiguration.h @@ -11,15 +11,13 @@ #import #import -#import +#import NS_ASSUME_NONNULL_BEGIN RTC_EXTERN const int kRTCAudioSessionPreferredNumberOfChannels; RTC_EXTERN const double kRTCAudioSessionHighPerformanceSampleRate; -RTC_EXTERN const double kRTCAudioSessionLowComplexitySampleRate; RTC_EXTERN const double kRTCAudioSessionHighPerformanceIOBufferDuration; -RTC_EXTERN const double kRTCAudioSessionLowComplexityIOBufferDuration; // Struct to hold configuration values. RTC_OBJC_EXPORT @@ -41,7 +39,8 @@ RTC_OBJC_EXPORT /** Returns the configuration that WebRTC needs. */ + (instancetype)webRTCConfiguration; /** Provide a way to override the default configuration. */ -+ (void)setWebRTCConfiguration:(RTC_OBJC_TYPE(RTCAudioSessionConfiguration) *)configuration; ++ (void)setWebRTCConfiguration: + (RTC_OBJC_TYPE(RTCAudioSessionConfiguration) *)configuration; @end diff --git a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCAudioSource.h b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCAudioSource.h similarity index 92% rename from WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCAudioSource.h rename to AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCAudioSource.h index f0c469f8..4c38bc09 100644 --- a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCAudioSource.h +++ b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCAudioSource.h @@ -10,8 +10,8 @@ #import -#import -#import +#import +#import NS_ASSUME_NONNULL_BEGIN diff --git a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCAudioTrack.h b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCAudioTrack.h similarity index 89% rename from WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCAudioTrack.h rename to AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCAudioTrack.h index 0c73d7d8..7625dfad 100644 --- a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCAudioTrack.h +++ b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCAudioTrack.h @@ -8,8 +8,8 @@ * be found in the AUTHORS file in the root of the source tree. */ -#import -#import +#import +#import NS_ASSUME_NONNULL_BEGIN diff --git a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCCVPixelBuffer.h b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCCVPixelBuffer.h similarity index 88% rename from WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCCVPixelBuffer.h rename to AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCCVPixelBuffer.h index b9cd6991..10b19f33 100644 --- a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCCVPixelBuffer.h +++ b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCCVPixelBuffer.h @@ -10,8 +10,8 @@ #import -#import -#import +#import +#import NS_ASSUME_NONNULL_BEGIN @@ -40,9 +40,9 @@ RTC_OBJC_EXPORT - (BOOL)requiresScalingToWidth:(int)width height:(int)height; - (int)bufferSizeForCroppingAndScalingToWidth:(int)width height:(int)height; -/** The minimum size of the `tmpBuffer` must be the number of bytes returned from the - * bufferSizeForCroppingAndScalingToWidth:height: method. - * If that size is 0, the `tmpBuffer` may be nil. +/** The minimum size of the `tmpBuffer` must be the number of bytes returned + * from the bufferSizeForCroppingAndScalingToWidth:height: method. If that size + * is 0, the `tmpBuffer` may be nil. */ - (BOOL)cropAndScaleTo:(CVPixelBufferRef)outputPixelBuffer withTempBuffer:(nullable uint8_t *)tmpBuffer; diff --git a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCCallbackLogger.h b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCCallbackLogger.h similarity index 80% rename from WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCCallbackLogger.h rename to AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCCallbackLogger.h index 8def162e..57e2d375 100644 --- a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCCallbackLogger.h +++ b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCCallbackLogger.h @@ -10,14 +10,14 @@ #import -#import -#import +#import +#import NS_ASSUME_NONNULL_BEGIN typedef void (^RTCCallbackLoggerMessageHandler)(NSString *message); -typedef void (^RTCCallbackLoggerMessageAndSeverityHandler)(NSString *message, - RTCLoggingSeverity severity); +typedef void (^RTCCallbackLoggerMessageAndSeverityHandler)( + NSString *message, RTCLoggingSeverity severity); // This class intercepts WebRTC logs and forwards them to a registered block. // This class is not threadsafe. @@ -32,7 +32,7 @@ RTC_OBJC_EXPORT // to implement dispatching to some other queue. - (void)start:(nullable RTCCallbackLoggerMessageHandler)handler; - (void)startWithMessageAndSeverityHandler: - (nullable RTCCallbackLoggerMessageAndSeverityHandler)handler; + (nullable RTCCallbackLoggerMessageAndSeverityHandler)handler; - (void)stop; diff --git a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCCameraPreviewView.h b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCCameraPreviewView.h similarity index 96% rename from WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCCameraPreviewView.h rename to AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCCameraPreviewView.h index 710f2e79..e78cbdd3 100644 --- a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCCameraPreviewView.h +++ b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCCameraPreviewView.h @@ -11,7 +11,7 @@ #import #import -#import +#import @class AVCaptureSession; diff --git a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCCameraVideoCapturer.h b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCCameraVideoCapturer.h similarity index 76% rename from WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCCameraVideoCapturer.h rename to AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCCameraVideoCapturer.h index 5edc75d0..08b5c92c 100644 --- a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCCameraVideoCapturer.h +++ b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCCameraVideoCapturer.h @@ -11,15 +11,15 @@ #import #import -#import -#import +#import +#import NS_ASSUME_NONNULL_BEGIN -RTC_OBJC_EXPORT // Camera capture that implements RTCVideoCapturer. Delivers frames to a // RTCVideoCapturerDelegate (usually RTCVideoSource). NS_EXTENSION_UNAVAILABLE_IOS("Camera not available in app extensions.") +RTC_OBJC_EXPORT @interface RTC_OBJC_TYPE (RTCCameraVideoCapturer) : RTC_OBJC_TYPE(RTCVideoCapturer) // Capture session that is used for capturing. Valid from initialization to dealloc. @@ -28,21 +28,25 @@ NS_EXTENSION_UNAVAILABLE_IOS("Camera not available in app extensions.") // Returns list of available capture devices that support video capture. + (NSArray *)captureDevices; // Returns list of formats that are supported by this class for this device. -+ (NSArray *)supportedFormatsForDevice:(AVCaptureDevice *)device; ++ (NSArray *)supportedFormatsForDevice: + (AVCaptureDevice *)device; // Returns the most efficient supported output pixel format for this capturer. - (FourCharCode)preferredOutputPixelFormat; -// Starts the capture session asynchronously and notifies callback on completion. -// 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. +// Starts the capture session asynchronously and notifies callback on +// completion. 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 - completionHandler:(nullable void (^)(NSError *_Nullable))completionHandler; + completionHandler: + (nullable void (^)(NSError *_Nullable))completionHandler; // Stops the capture session asynchronously and notifies callback on completion. -- (void)stopCaptureWithCompletionHandler:(nullable void (^)(void))completionHandler; +- (void)stopCaptureWithCompletionHandler: + (nullable void (^)(void))completionHandler; // Starts the capture session asynchronously. - (void)startCaptureWithDevice:(AVCaptureDevice *)device diff --git a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCCertificate.h b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCCertificate.h similarity index 86% rename from WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCCertificate.h rename to AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCCertificate.h index 31047e4a..8cec8c71 100644 --- a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCCertificate.h +++ b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCCertificate.h @@ -10,7 +10,7 @@ #import -#import +#import NS_ASSUME_NONNULL_BEGIN @@ -24,10 +24,12 @@ RTC_OBJC_EXPORT @property(nonatomic, readonly, copy) NSString *certificate; /** - * Initialize an RTCCertificate with PEM strings for private_key and certificate. + * Initialize an RTCCertificate with PEM strings for private_key and + * certificate. */ - (instancetype)initWithPrivateKey:(NSString *)private_key - certificate:(NSString *)certificate NS_DESIGNATED_INITIALIZER; + certificate:(NSString *)certificate + NS_DESIGNATED_INITIALIZER; - (instancetype)init NS_UNAVAILABLE; @@ -37,7 +39,8 @@ RTC_OBJC_EXPORT * provided. * - name: "ECDSA" or "RSASSA-PKCS1-v1_5" */ -+ (nullable RTC_OBJC_TYPE(RTCCertificate) *)generateCertificateWithParams:(NSDictionary *)params; ++ (nullable RTC_OBJC_TYPE(RTCCertificate) *)generateCertificateWithParams: + (NSDictionary *)params; @end diff --git a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCCodecSpecificInfo.h b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCCodecSpecificInfo.h similarity index 94% rename from WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCCodecSpecificInfo.h rename to AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCCodecSpecificInfo.h index 39f7c183..83266b43 100644 --- a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCCodecSpecificInfo.h +++ b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCCodecSpecificInfo.h @@ -10,7 +10,7 @@ #import -#import +#import NS_ASSUME_NONNULL_BEGIN diff --git a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCCodecSpecificInfoH264.h b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCCodecSpecificInfoH264.h similarity index 72% rename from WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCCodecSpecificInfoH264.h rename to AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCCodecSpecificInfoH264.h index 25d309c0..5c890253 100644 --- a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCCodecSpecificInfoH264.h +++ b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCCodecSpecificInfoH264.h @@ -10,13 +10,14 @@ #import -#import -#import +#import +#import /** Class for H264 specific config. */ typedef NS_ENUM(NSUInteger, RTCH264PacketizationMode) { - RTCH264PacketizationModeNonInterleaved = 0, // Mode 1 - STAP-A, FU-A is allowed - RTCH264PacketizationModeSingleNalUnit // Mode 0 - only single NALU allowed + RTCH264PacketizationModeNonInterleaved = + 0, // Mode 1 - STAP-A, FU-A is allowed + RTCH264PacketizationModeSingleNalUnit // Mode 0 - only single NALU allowed }; RTC_OBJC_EXPORT diff --git a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCConfiguration.h b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCConfiguration.h similarity index 92% rename from WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCConfiguration.h rename to AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCConfiguration.h index fb82f830..08aabc43 100644 --- a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCConfiguration.h +++ b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCConfiguration.h @@ -10,9 +10,9 @@ #import -#import -#import -#import +#import +#import +#import @class RTC_OBJC_TYPE(RTCIceServer); @@ -35,7 +35,10 @@ typedef NS_ENUM(NSInteger, RTCBundlePolicy) { }; /** Represents the rtcp mux policy. */ -typedef NS_ENUM(NSInteger, RTCRtcpMuxPolicy) { RTCRtcpMuxPolicyNegotiate, RTCRtcpMuxPolicyRequire }; +typedef NS_ENUM(NSInteger, RTCRtcpMuxPolicy) { + RTCRtcpMuxPolicyNegotiate, + RTCRtcpMuxPolicyRequire +}; /** Represents the tcp candidate policy. */ typedef NS_ENUM(NSInteger, RTCTcpCandidatePolicy) { @@ -95,12 +98,8 @@ RTC_OBJC_EXPORT @property(nonatomic, assign) RTCRtcpMuxPolicy rtcpMuxPolicy; @property(nonatomic, assign) RTCTcpCandidatePolicy tcpCandidatePolicy; @property(nonatomic, assign) RTCCandidateNetworkPolicy candidateNetworkPolicy; -@property(nonatomic, assign) RTCContinualGatheringPolicy continualGatheringPolicy; - -/** If set to YES, don't gather IPv6 ICE candidates. - * Default is NO. - */ -@property(nonatomic, assign) BOOL disableIPV6; +@property(nonatomic, assign) + RTCContinualGatheringPolicy continualGatheringPolicy; /** If set to YES, don't gather IPv6 ICE candidates on Wi-Fi. * Only intended to be used on specific devices. Certain phones disable IPv6 @@ -155,7 +154,8 @@ RTC_OBJC_EXPORT * transport type and as a result not observed by PeerConnectionDelegateAdapter, * will be surfaced to the delegate. */ -@property(nonatomic, assign) BOOL shouldSurfaceIceCandidatesOnIceTransportTypeChanged; +@property(nonatomic, assign) + BOOL shouldSurfaceIceCandidatesOnIceTransportTypeChanged; /** If set to non-nil, controls the minimal interval between consecutive ICE * check packets. @@ -189,12 +189,6 @@ RTC_OBJC_EXPORT */ @property(nonatomic, assign) BOOL activeResetSrtpParams; -/** If the remote side support mid-stream codec switches then allow encoder - * switching to be performed. - */ - -@property(nonatomic, assign) BOOL allowCodecSwitching; - /** * Defines advanced optional cryptographic settings related to SRTP and * frame encryption for native WebRTC. Setting this will overwrite any @@ -236,7 +230,8 @@ RTC_OBJC_EXPORT * when ICE is strongly connected, and it overrides the * default value of this interval in the ICE implementation; */ -@property(nonatomic, copy, nullable) NSNumber *iceCheckIntervalStrongConnectivity; +@property(nonatomic, copy, nullable) + NSNumber *iceCheckIntervalStrongConnectivity; /** * Defines the counterpart for ALL pairs when ICE is diff --git a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCCryptoOptions.h b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCCryptoOptions.h similarity index 82% rename from WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCCryptoOptions.h rename to AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCCryptoOptions.h index 6e2e7972..558732bf 100644 --- a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCCryptoOptions.h +++ b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCCryptoOptions.h @@ -10,7 +10,7 @@ #import -#import +#import NS_ASSUME_NONNULL_BEGIN @@ -50,10 +50,13 @@ RTC_OBJC_EXPORT * Initializes CryptoOptions with all possible options set explicitly. This * is done when converting from a native RTCConfiguration.crypto_options. */ -- (instancetype)initWithSrtpEnableGcmCryptoSuites:(BOOL)srtpEnableGcmCryptoSuites - srtpEnableAes128Sha1_32CryptoCipher:(BOOL)srtpEnableAes128Sha1_32CryptoCipher - srtpEnableEncryptedRtpHeaderExtensions:(BOOL)srtpEnableEncryptedRtpHeaderExtensions - sframeRequireFrameEncryption:(BOOL)sframeRequireFrameEncryption +- (instancetype) + initWithSrtpEnableGcmCryptoSuites:(BOOL)srtpEnableGcmCryptoSuites + srtpEnableAes128Sha1_32CryptoCipher: + (BOOL)srtpEnableAes128Sha1_32CryptoCipher + srtpEnableEncryptedRtpHeaderExtensions: + (BOOL)srtpEnableEncryptedRtpHeaderExtensions + sframeRequireFrameEncryption:(BOOL)sframeRequireFrameEncryption NS_DESIGNATED_INITIALIZER; - (instancetype)init NS_UNAVAILABLE; diff --git a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCDataChannel.h b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCDataChannel.h similarity index 94% rename from WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCDataChannel.h rename to AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCDataChannel.h index 80b8ad81..3218121d 100644 --- a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCDataChannel.h +++ b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCDataChannel.h @@ -11,7 +11,7 @@ #import #import -#import +#import NS_ASSUME_NONNULL_BEGIN @@ -40,7 +40,8 @@ RTC_OBJC_EXPORT (RTCDataChannelDelegate) /** The data channel state changed. */ - - (void)dataChannelDidChangeState : (RTC_OBJC_TYPE(RTCDataChannel) *)dataChannel; + - (void)dataChannelDidChangeState + : (RTC_OBJC_TYPE(RTCDataChannel) *)dataChannel; /** The data channel successfully received a data buffer. */ - (void)dataChannel:(RTC_OBJC_TYPE(RTCDataChannel) *)dataChannel @@ -77,7 +78,8 @@ RTC_OBJC_EXPORT @property(nonatomic, readonly) BOOL isOrdered; /** Deprecated. Use maxPacketLifeTime. */ -@property(nonatomic, readonly) NSUInteger maxRetransmitTime DEPRECATED_ATTRIBUTE; +@property(nonatomic, readonly) + NSUInteger maxRetransmitTime DEPRECATED_ATTRIBUTE; /** * The length of the time window (in milliseconds) during which transmissions diff --git a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCDataChannelConfiguration.h b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCDataChannelConfiguration.h similarity index 97% rename from WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCDataChannelConfiguration.h rename to AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCDataChannelConfiguration.h index b1d8d770..bb8e597f 100644 --- a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCDataChannelConfiguration.h +++ b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCDataChannelConfiguration.h @@ -11,7 +11,7 @@ #import #import -#import +#import NS_ASSUME_NONNULL_BEGIN diff --git a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCDefaultVideoDecoderFactory.h b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCDefaultVideoDecoderFactory.h similarity index 76% rename from WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCDefaultVideoDecoderFactory.h rename to AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCDefaultVideoDecoderFactory.h index 5d10e47b..6be40af8 100644 --- a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCDefaultVideoDecoderFactory.h +++ b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCDefaultVideoDecoderFactory.h @@ -10,14 +10,14 @@ #import -#import -#import +#import +#import NS_ASSUME_NONNULL_BEGIN -/** This decoder factory include support for all codecs bundled with WebRTC. If using custom - * codecs, create custom implementations of RTCVideoEncoderFactory and - * RTCVideoDecoderFactory. +/** This decoder factory include support for all codecs bundled with WebRTC. If + * using custom codecs, create custom implementations of RTCVideoEncoderFactory + * and RTCVideoDecoderFactory. */ RTC_OBJC_EXPORT @interface RTC_OBJC_TYPE (RTCDefaultVideoDecoderFactory) : NSObject diff --git a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCDefaultVideoEncoderFactory.h b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCDefaultVideoEncoderFactory.h similarity index 79% rename from WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCDefaultVideoEncoderFactory.h rename to AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCDefaultVideoEncoderFactory.h index cef7adc4..5e966c8f 100644 --- a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCDefaultVideoEncoderFactory.h +++ b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCDefaultVideoEncoderFactory.h @@ -10,14 +10,14 @@ #import -#import -#import +#import +#import NS_ASSUME_NONNULL_BEGIN -/** This encoder factory include support for all codecs bundled with WebRTC. If using custom - * codecs, create custom implementations of RTCVideoEncoderFactory and - * RTCVideoDecoderFactory. +/** This encoder factory include support for all codecs bundled with WebRTC. If + * using custom codecs, create custom implementations of RTCVideoEncoderFactory + * and RTCVideoDecoderFactory. */ RTC_OBJC_EXPORT @interface RTC_OBJC_TYPE (RTCDefaultVideoEncoderFactory) : NSObject diff --git a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCDispatcher.h b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCDispatcher.h similarity index 94% rename from WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCDispatcher.h rename to AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCDispatcher.h index 9a14c39a..d969b469 100644 --- a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCDispatcher.h +++ b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCDispatcher.h @@ -10,7 +10,7 @@ #import -#import +#import typedef NS_ENUM(NSInteger, RTCDispatcherQueueType) { // Main dispatcher queue. @@ -36,7 +36,8 @@ RTC_OBJC_EXPORT * @param dispatchType The queue type to dispatch on. * @param block The block to dispatch asynchronously. */ -+ (void)dispatchAsyncOnType:(RTCDispatcherQueueType)dispatchType block:(dispatch_block_t)block; ++ (void)dispatchAsyncOnType:(RTCDispatcherQueueType)dispatchType + block:(dispatch_block_t)block; /** Returns YES if run on queue for the dispatchType otherwise NO. * Useful for asserting that a method is run on a correct queue. diff --git a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCDtmfSender.h b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCDtmfSender.h similarity index 85% rename from WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCDtmfSender.h rename to AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCDtmfSender.h index 8c8b1d3f..ebae48d6 100644 --- a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCDtmfSender.h +++ b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCDtmfSender.h @@ -10,7 +10,7 @@ #import -#import +#import NS_ASSUME_NONNULL_BEGIN @@ -20,8 +20,9 @@ RTC_OBJC_EXPORT /** * Returns true if this RTCDtmfSender is capable of sending DTMF. Otherwise - * returns false. To be able to send DTMF, the associated RTCRtpSender must be - * able to send packets, and a "telephone-event" codec must be negotiated. + * returns false. To be able to send DTMF, the associated RTCRtpSender must + * be able to send packets, and a "telephone-event" codec must be + * negotiated. */ @property(nonatomic, readonly) BOOL canInsertDtmf; @@ -54,15 +55,16 @@ RTC_OBJC_EXPORT - (nonnull NSString *)remainingTones; /** - * The current tone duration value. This value will be the value last set via the - * insertDtmf method, or the default value of 100 ms if insertDtmf was never called. + * The current tone duration value. This value will be the value last set via + * the insertDtmf method, or the default value of 100 ms if insertDtmf was never + * called. */ - (NSTimeInterval)duration; /** - * The current value of the between-tone gap. This value will be the value last set - * via the insertDtmf() method, or the default value of 50 ms if insertDtmf() was never - * called. + * The current value of the between-tone gap. This value will be the value last + * set via the insertDtmf() method, or the default value of 50 ms if + * insertDtmf() was never called. */ - (NSTimeInterval)interToneGap; diff --git a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCEAGLVideoView.h b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCEAGLVideoView.h similarity index 91% rename from WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCEAGLVideoView.h rename to AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCEAGLVideoView.h index 4e720d37..38019b49 100644 --- a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCEAGLVideoView.h +++ b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCEAGLVideoView.h @@ -11,9 +11,9 @@ #import #import -#import -#import -#import +#import +#import +#import NS_ASSUME_NONNULL_BEGIN @@ -23,8 +23,8 @@ NS_ASSUME_NONNULL_BEGIN * RTCEAGLVideoView is an RTCVideoRenderer which renders video frames * in its bounds using OpenGLES 2.0 or OpenGLES 3.0. */ -RTC_OBJC_EXPORT NS_EXTENSION_UNAVAILABLE_IOS("Rendering not available in app extensions.") +RTC_OBJC_EXPORT @interface RTC_OBJC_TYPE (RTCEAGLVideoView) : UIView @property(nonatomic, weak) id delegate; diff --git a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCEncodedImage.h b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCEncodedImage.h similarity index 95% rename from WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCEncodedImage.h rename to AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCEncodedImage.h index a025b584..1cc3aad9 100644 --- a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCEncodedImage.h +++ b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCEncodedImage.h @@ -10,8 +10,8 @@ #import -#import -#import +#import +#import NS_ASSUME_NONNULL_BEGIN diff --git a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCFieldTrials.h b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCFieldTrials.h similarity index 56% rename from WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCFieldTrials.h rename to AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCFieldTrials.h index 0ddce0fd..5d675bc8 100644 --- a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCFieldTrials.h +++ b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCFieldTrials.h @@ -10,23 +10,23 @@ #import -#import +#import -/** The only valid value for the following if set is kRTCFieldTrialEnabledValue. */ -RTC_EXTERN NSString * const kRTCFieldTrialAudioForceNoTWCCKey; -RTC_EXTERN NSString * const kRTCFieldTrialAudioForceABWENoTWCCKey; -RTC_EXTERN NSString * const kRTCFieldTrialSendSideBweWithOverheadKey; -RTC_EXTERN NSString * const kRTCFieldTrialFlexFec03AdvertisedKey; -RTC_EXTERN NSString * const kRTCFieldTrialFlexFec03Key; -RTC_EXTERN NSString * const kRTCFieldTrialH264HighProfileKey; -RTC_EXTERN NSString * const kRTCFieldTrialMinimizeResamplingOnMobileKey; +/** The only valid value for the following if set is kRTCFieldTrialEnabledValue. + */ +RTC_EXTERN NSString *const kRTCFieldTrialAudioForceABWENoTWCCKey; +RTC_EXTERN NSString *const kRTCFieldTrialFlexFec03AdvertisedKey; +RTC_EXTERN NSString *const kRTCFieldTrialFlexFec03Key; +RTC_EXTERN NSString *const kRTCFieldTrialH264HighProfileKey; +RTC_EXTERN NSString *const kRTCFieldTrialMinimizeResamplingOnMobileKey; RTC_EXTERN NSString *const kRTCFieldTrialUseNWPathMonitor; /** The valid value for field trials above. */ -RTC_EXTERN NSString * const kRTCFieldTrialEnabledValue; +RTC_EXTERN NSString *const kRTCFieldTrialEnabledValue; /** Initialize field trials using a dictionary mapping field trial keys to their * values. See above for valid keys and values. Must be called before any other * call into WebRTC. See: webrtc/system_wrappers/include/field_trial.h */ -RTC_EXTERN void RTCInitFieldTrialDictionary(NSDictionary *fieldTrials); +RTC_EXTERN void RTCInitFieldTrialDictionary( + NSDictionary *fieldTrials); diff --git a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCFileLogger.h b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCFileLogger.h similarity index 92% rename from WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCFileLogger.h rename to AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCFileLogger.h index 84924c58..47345b17 100644 --- a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCFileLogger.h +++ b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCFileLogger.h @@ -10,7 +10,7 @@ #import -#import +#import typedef NS_ENUM(NSUInteger, RTCFileLoggerSeverity) { RTCFileLoggerSeverityVerbose, @@ -52,11 +52,13 @@ RTC_OBJC_EXPORT - (instancetype)init; // Create file logger with default rotation type. -- (instancetype)initWithDirPath:(NSString *)dirPath maxFileSize:(NSUInteger)maxFileSize; +- (instancetype)initWithDirPath:(NSString *)dirPath + maxFileSize:(NSUInteger)maxFileSize; - (instancetype)initWithDirPath:(NSString *)dirPath maxFileSize:(NSUInteger)maxFileSize - rotationType:(RTCFileLoggerRotationType)rotationType NS_DESIGNATED_INITIALIZER; + rotationType:(RTCFileLoggerRotationType)rotationType + NS_DESIGNATED_INITIALIZER; // Starts writing WebRTC logs to disk if not already started. Overwrites any // existing file(s). diff --git a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCFileVideoCapturer.h b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCFileVideoCapturer.h similarity index 96% rename from WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCFileVideoCapturer.h rename to AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCFileVideoCapturer.h index 38f65f81..b5a97f80 100644 --- a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCFileVideoCapturer.h +++ b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCFileVideoCapturer.h @@ -10,7 +10,7 @@ #import -#import +#import NS_ASSUME_NONNULL_BEGIN diff --git a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCH264ProfileLevelId.h b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCH264ProfileLevelId.h similarity index 74% rename from WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCH264ProfileLevelId.h rename to AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCH264ProfileLevelId.h index 92ce6f26..25232d73 100644 --- a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCH264ProfileLevelId.h +++ b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCH264ProfileLevelId.h @@ -10,13 +10,13 @@ #import -#import +#import -RTC_OBJC_EXPORT extern NSString *const kRTCVideoCodecH264Name; -RTC_OBJC_EXPORT extern NSString *const kRTCLevel31ConstrainedHigh; -RTC_OBJC_EXPORT extern NSString *const kRTCLevel31ConstrainedBaseline; -RTC_OBJC_EXPORT extern NSString *const kRTCMaxSupportedH264ProfileLevelConstrainedHigh; -RTC_OBJC_EXPORT extern NSString *const kRTCMaxSupportedH264ProfileLevelConstrainedBaseline; +RTC_EXTERN NSString *const kRTCVideoCodecH264Name; +RTC_EXTERN NSString *const kRTCLevel31ConstrainedHigh; +RTC_EXTERN NSString *const kRTCLevel31ConstrainedBaseline; +RTC_EXTERN NSString *const kRTCMaxSupportedH264ProfileLevelConstrainedHigh; +RTC_EXTERN NSString *const kRTCMaxSupportedH264ProfileLevelConstrainedBaseline; /** H264 Profiles and levels. */ typedef NS_ENUM(NSUInteger, RTCH264Profile) { @@ -55,6 +55,7 @@ RTC_OBJC_EXPORT @property(nonatomic, readonly) NSString *hexString; - (instancetype)initWithHexString:(NSString *)hexString; -- (instancetype)initWithProfile:(RTCH264Profile)profile level:(RTCH264Level)level; +- (instancetype)initWithProfile:(RTCH264Profile)profile + level:(RTCH264Level)level; @end diff --git a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCI420Buffer.h b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCI420Buffer.h similarity index 93% rename from WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCI420Buffer.h rename to AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCI420Buffer.h index 54c32408..8d81466f 100644 --- a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCI420Buffer.h +++ b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCI420Buffer.h @@ -10,7 +10,7 @@ #import -#import +#import NS_ASSUME_NONNULL_BEGIN diff --git a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCIceCandidate.h b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCIceCandidate.h similarity index 91% rename from WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCIceCandidate.h rename to AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCIceCandidate.h index 7ac87b28..7f77a921 100644 --- a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCIceCandidate.h +++ b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCIceCandidate.h @@ -10,7 +10,7 @@ #import -#import +#import NS_ASSUME_NONNULL_BEGIN @@ -42,7 +42,8 @@ RTC_OBJC_EXPORT */ - (instancetype)initWithSdp:(NSString *)sdp sdpMLineIndex:(int)sdpMLineIndex - sdpMid:(nullable NSString *)sdpMid NS_DESIGNATED_INITIALIZER; + sdpMid:(nullable NSString *)sdpMid + NS_DESIGNATED_INITIALIZER; @end diff --git a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCIceCandidateErrorEvent.h b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCIceCandidateErrorEvent.h similarity index 72% rename from WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCIceCandidateErrorEvent.h rename to AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCIceCandidateErrorEvent.h index 80fd1db2..844a2458 100644 --- a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCIceCandidateErrorEvent.h +++ b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCIceCandidateErrorEvent.h @@ -10,7 +10,7 @@ #import -#import +#import NS_ASSUME_NONNULL_BEGIN @@ -23,16 +23,19 @@ RTC_OBJC_EXPORT /** The port used to communicate with the STUN or TURN server. */ @property(nonatomic, readonly) int port; -/** The STUN or TURN URL that identifies the STUN or TURN server for which the failure occurred. */ +/** The STUN or TURN URL that identifies the STUN or TURN server for which the + * failure occurred. */ @property(nonatomic, readonly) NSString *url; -/** The numeric STUN error code returned by the STUN or TURN server. If no host candidate can reach - * the server, errorCode will be set to the value 701 which is outside the STUN error code range. - * This error is only fired once per server URL while in the RTCIceGatheringState of "gathering". */ +/** The numeric STUN error code returned by the STUN or TURN server. If no host + * candidate can reach the server, errorCode will be set to the value 701 which + * is outside the STUN error code range. This error is only fired once per + * server URL while in the RTCIceGatheringState of "gathering". */ @property(nonatomic, readonly) int errorCode; -/** The STUN reason text returned by the STUN or TURN server. If the server could not be reached, - * errorText will be set to an implementation-specific value providing details about the error. */ +/** The STUN reason text returned by the STUN or TURN server. If the server + * could not be reached, errorText will be set to an implementation-specific + * value providing details about the error. */ @property(nonatomic, readonly) NSString *errorText; - (instancetype)init NS_DESIGNATED_INITIALIZER; diff --git a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCIceServer.h b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCIceServer.h similarity index 88% rename from WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCIceServer.h rename to AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCIceServer.h index e5fbfe8b..3544bc74 100644 --- a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCIceServer.h +++ b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCIceServer.h @@ -10,7 +10,7 @@ #import -#import +#import typedef NS_ENUM(NSUInteger, RTCTlsCertPolicy) { RTCTlsCertPolicySecure, @@ -100,13 +100,14 @@ RTC_OBJC_EXPORT * optional credential, TLS cert policy, hostname, ALPN protocols and * elliptic curves. */ -- (instancetype)initWithURLStrings:(NSArray *)urlStrings - username:(nullable NSString *)username - credential:(nullable NSString *)credential - tlsCertPolicy:(RTCTlsCertPolicy)tlsCertPolicy - hostname:(nullable NSString *)hostname - tlsAlpnProtocols:(nullable NSArray *)tlsAlpnProtocols - tlsEllipticCurves:(nullable NSArray *)tlsEllipticCurves +- (instancetype) + initWithURLStrings:(NSArray *)urlStrings + username:(nullable NSString *)username + credential:(nullable NSString *)credential + tlsCertPolicy:(RTCTlsCertPolicy)tlsCertPolicy + hostname:(nullable NSString *)hostname + tlsAlpnProtocols:(nullable NSArray *)tlsAlpnProtocols + tlsEllipticCurves:(nullable NSArray *)tlsEllipticCurves NS_DESIGNATED_INITIALIZER; @end diff --git a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCLegacyStatsReport.h b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCLegacyStatsReport.h similarity index 96% rename from WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCLegacyStatsReport.h rename to AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCLegacyStatsReport.h index c9ce8e38..241dacba 100644 --- a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCLegacyStatsReport.h +++ b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCLegacyStatsReport.h @@ -10,7 +10,7 @@ #import -#import +#import NS_ASSUME_NONNULL_BEGIN diff --git a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCLogging.h b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCLogging.h similarity index 85% rename from WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCLogging.h rename to AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCLogging.h index 36f53d83..514e5f6a 100644 --- a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCLogging.h +++ b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCLogging.h @@ -10,7 +10,7 @@ #import -#import +#import // Subset of rtc::LoggingSeverity. typedef NS_ENUM(NSInteger, RTCLoggingSeverity) { @@ -34,9 +34,12 @@ RTC_EXTERN NSString* RTCFileName(const char* filePath); // Some convenience macros. -#define RTCLogString(format, ...) \ - [NSString stringWithFormat:@"(%@:%d %s): " format, RTCFileName(__FILE__), \ - __LINE__, __FUNCTION__, ##__VA_ARGS__] +#define RTCLogString(format, ...) \ + [NSString stringWithFormat:@"(%@:%d %s): " format, \ + RTCFileName(__FILE__), \ + __LINE__, \ + __FUNCTION__, \ + ##__VA_ARGS__] #define RTCLogFormat(severity, format, ...) \ do { \ diff --git a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCMTLVideoView.h b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCMTLVideoView.h similarity index 90% rename from WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCMTLVideoView.h rename to AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCMTLVideoView.h index 66789d50..be50ee2d 100644 --- a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCMTLVideoView.h +++ b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCMTLVideoView.h @@ -10,9 +10,9 @@ #import -#import -#import -#import +#import +#import +#import NS_ASSUME_NONNULL_BEGIN diff --git a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCMacros.h b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCMacros.h similarity index 84% rename from WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCMacros.h rename to AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCMacros.h index 469e3c93..cb943b4b 100644 --- a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCMacros.h +++ b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCMacros.h @@ -23,6 +23,9 @@ #define RTC_OBJC_EXPORT #endif +// Macro used to mark a function as deprecated. +#define RTC_OBJC_DEPRECATED(msg) __attribute__((deprecated(msg))) + // Internal macros used to correctly concatenate symbols. #define RTC_SYMBOL_CONCAT_HELPER(a, b) a##b #define RTC_SYMBOL_CONCAT(a, b) RTC_SYMBOL_CONCAT_HELPER(a, b) @@ -36,16 +39,18 @@ // WebRTC.framework with their own prefix in case symbol clashing is a // problem. // -// This macro must only be defined here and not on via compiler flag to -// ensure it has a unique value. +// This macro must be defined uniformily across all the translation units. +#ifndef RTC_OBJC_TYPE_PREFIX #define RTC_OBJC_TYPE_PREFIX +#endif // RCT_OBJC_TYPE // // Macro used internally to declare API types. Declaring an API type without // using this macro will not include the declared type in the set of types // that will be affected by the configurable RTC_OBJC_TYPE_PREFIX. -#define RTC_OBJC_TYPE(type_name) RTC_SYMBOL_CONCAT(RTC_OBJC_TYPE_PREFIX, type_name) +#define RTC_OBJC_TYPE(type_name) \ + RTC_SYMBOL_CONCAT(RTC_OBJC_TYPE_PREFIX, type_name) #if defined(__cplusplus) #define RTC_EXTERN extern "C" RTC_OBJC_EXPORT diff --git a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCMediaConstraints.h b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCMediaConstraints.h similarity index 79% rename from WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCMediaConstraints.h rename to AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCMediaConstraints.h index f5794a24..00225094 100644 --- a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCMediaConstraints.h +++ b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCMediaConstraints.h @@ -10,7 +10,7 @@ #import -#import +#import NS_ASSUME_NONNULL_BEGIN @@ -36,10 +36,11 @@ RTC_OBJC_EXPORT - (instancetype)init NS_UNAVAILABLE; /** Initialize with mandatory and/or optional constraints. */ -- (instancetype) - initWithMandatoryConstraints:(nullable NSDictionary *)mandatory - optionalConstraints:(nullable NSDictionary *)optional - NS_DESIGNATED_INITIALIZER; +- (instancetype)initWithMandatoryConstraints: + (nullable NSDictionary *)mandatory + optionalConstraints: + (nullable NSDictionary *) + optional NS_DESIGNATED_INITIALIZER; @end diff --git a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCMediaSource.h b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCMediaSource.h similarity index 95% rename from WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCMediaSource.h rename to AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCMediaSource.h index 51ceb605..b6a62c97 100644 --- a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCMediaSource.h +++ b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCMediaSource.h @@ -10,7 +10,7 @@ #import -#import +#import typedef NS_ENUM(NSInteger, RTCSourceState) { RTCSourceStateInitializing, diff --git a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCMediaStream.h b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCMediaStream.h similarity index 91% rename from WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCMediaStream.h rename to AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCMediaStream.h index cc922429..9f570b5a 100644 --- a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCMediaStream.h +++ b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCMediaStream.h @@ -10,7 +10,7 @@ #import -#import +#import NS_ASSUME_NONNULL_BEGIN @@ -25,7 +25,8 @@ RTC_OBJC_EXPORT @property(nonatomic, strong, readonly) NSArray *audioTracks; /** The video tracks in this stream. */ -@property(nonatomic, strong, readonly) NSArray *videoTracks; +@property(nonatomic, strong, readonly) + NSArray *videoTracks; /** An identifier for this media stream. */ @property(nonatomic, readonly) NSString *streamId; diff --git a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCMediaStreamTrack.h b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCMediaStreamTrack.h similarity index 97% rename from WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCMediaStreamTrack.h rename to AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCMediaStreamTrack.h index 52658794..eae5c984 100644 --- a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCMediaStreamTrack.h +++ b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCMediaStreamTrack.h @@ -10,7 +10,7 @@ #import -#import +#import /** * Represents the state of the track. This exposes the same states in C++. diff --git a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCMetrics.h b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCMetrics.h similarity index 78% rename from WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCMetrics.h rename to AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCMetrics.h index e184b4a3..6ab309c5 100644 --- a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCMetrics.h +++ b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCMetrics.h @@ -10,8 +10,8 @@ #import -#import -#import +#import +#import /** * Enables gathering of metrics (which can be fetched with @@ -20,4 +20,5 @@ RTC_EXTERN void RTCEnableMetrics(void); /** Gets and clears native histograms. */ -RTC_EXTERN NSArray* RTCGetAndResetMetrics(void); +RTC_EXTERN NSArray* + RTCGetAndResetMetrics(void); diff --git a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCMetricsSampleInfo.h b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCMetricsSampleInfo.h similarity index 96% rename from WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCMetricsSampleInfo.h rename to AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCMetricsSampleInfo.h index 18afdc0b..a74200b0 100644 --- a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCMetricsSampleInfo.h +++ b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCMetricsSampleInfo.h @@ -10,7 +10,7 @@ #import -#import +#import NS_ASSUME_NONNULL_BEGIN diff --git a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCMutableI420Buffer.h b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCMutableI420Buffer.h similarity index 73% rename from WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCMutableI420Buffer.h rename to AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCMutableI420Buffer.h index 3dab3ead..0fdd54fb 100644 --- a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCMutableI420Buffer.h +++ b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCMutableI420Buffer.h @@ -10,14 +10,15 @@ #import -#import -#import +#import +#import NS_ASSUME_NONNULL_BEGIN /** Extension of the I420 buffer with mutable data access */ RTC_OBJC_EXPORT @protocol RTC_OBJC_TYPE -(RTCMutableI420Buffer) @end +(RTCMutableI420Buffer) @end NS_ASSUME_NONNULL_END diff --git a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCMutableYUVPlanarBuffer.h b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCMutableYUVPlanarBuffer.h similarity index 94% rename from WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCMutableYUVPlanarBuffer.h rename to AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCMutableYUVPlanarBuffer.h index feb7417b..84c1ea61 100644 --- a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCMutableYUVPlanarBuffer.h +++ b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCMutableYUVPlanarBuffer.h @@ -10,7 +10,7 @@ #import -#import +#import NS_ASSUME_NONNULL_BEGIN diff --git a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCNativeI420Buffer.h b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCNativeI420Buffer.h similarity index 89% rename from WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCNativeI420Buffer.h rename to AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCNativeI420Buffer.h index c5a0ddf7..3d8a4992 100644 --- a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCNativeI420Buffer.h +++ b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCNativeI420Buffer.h @@ -10,8 +10,8 @@ #import -#import -#import +#import +#import NS_ASSUME_NONNULL_BEGIN diff --git a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCNativeMutableI420Buffer.h b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCNativeMutableI420Buffer.h similarity index 83% rename from WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCNativeMutableI420Buffer.h rename to AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCNativeMutableI420Buffer.h index c1bf3f1d..4df28af3 100644 --- a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCNativeMutableI420Buffer.h +++ b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCNativeMutableI420Buffer.h @@ -10,9 +10,9 @@ #import -#import -#import -#import +#import +#import +#import NS_ASSUME_NONNULL_BEGIN diff --git a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCNetworkMonitor.h b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCNetworkMonitor.h similarity index 100% rename from WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCNetworkMonitor.h rename to AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCNetworkMonitor.h diff --git a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCPeerConnection.h b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCPeerConnection.h similarity index 84% rename from WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCPeerConnection.h rename to AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCPeerConnection.h index 5b06df82..ad3de1cc 100644 --- a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCPeerConnection.h +++ b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCPeerConnection.h @@ -10,7 +10,7 @@ #import -#import +#import @class RTC_OBJC_TYPE(RTCConfiguration); @class RTC_OBJC_TYPE(RTCDataChannel); @@ -82,11 +82,12 @@ typedef NS_ENUM(NSInteger, RTCStatsOutputLevel) { RTCStatsOutputLevelDebug, }; -typedef void (^RTCCreateSessionDescriptionCompletionHandler)(RTC_OBJC_TYPE(RTCSessionDescription) * - _Nullable sdp, - NSError *_Nullable error); +typedef void (^RTCCreateSessionDescriptionCompletionHandler)( + RTC_OBJC_TYPE(RTCSessionDescription) *_Nullable sdp, + NSError *_Nullable error); -typedef void (^RTCSetSessionDescriptionCompletionHandler)(NSError *_Nullable error); +typedef void (^RTCSetSessionDescriptionCompletionHandler)( + NSError *_Nullable error); @class RTC_OBJC_TYPE(RTCPeerConnection); @@ -110,7 +111,8 @@ RTC_OBJC_EXPORT didRemoveStream:(RTC_OBJC_TYPE(RTCMediaStream) *)stream; /** Called when negotiation is needed, for example ICE has restarted. */ -- (void)peerConnectionShouldNegotiate:(RTC_OBJC_TYPE(RTCPeerConnection) *)peerConnection; +- (void)peerConnectionShouldNegotiate: + (RTC_OBJC_TYPE(RTCPeerConnection) *)peerConnection; /** Called any time the IceConnectionState changes. */ - (void)peerConnection:(RTC_OBJC_TYPE(RTCPeerConnection) *)peerConnection @@ -126,7 +128,8 @@ RTC_OBJC_EXPORT /** Called when a group of local Ice candidates have been removed. */ - (void)peerConnection:(RTC_OBJC_TYPE(RTCPeerConnection) *)peerConnection - didRemoveIceCandidates:(NSArray *)candidates; + didRemoveIceCandidates: + (NSArray *)candidates; /** New data channel has been opened. */ - (void)peerConnection:(RTC_OBJC_TYPE(RTCPeerConnection) *)peerConnection @@ -147,7 +150,8 @@ RTC_OBJC_EXPORT didChangeConnectionState:(RTCPeerConnectionState)newState; - (void)peerConnection:(RTC_OBJC_TYPE(RTCPeerConnection) *)peerConnection - didStartReceivingOnTransceiver:(RTC_OBJC_TYPE(RTCRtpTransceiver) *)transceiver; + didStartReceivingOnTransceiver: + (RTC_OBJC_TYPE(RTCRtpTransceiver) *)transceiver; /** Called when a receiver and its track are created. */ - (void)peerConnection:(RTC_OBJC_TYPE(RTCPeerConnection) *)peerConnection @@ -167,7 +171,8 @@ RTC_OBJC_EXPORT /** Called when gathering of an ICE candidate failed. */ - (void)peerConnection:(RTC_OBJC_TYPE(RTCPeerConnection) *)peerConnection - didFailToGatherIceCandidate:(RTC_OBJC_TYPE(RTCIceCandidateErrorEvent) *)event; + didFailToGatherIceCandidate: + (RTC_OBJC_TYPE(RTCIceCandidateErrorEvent) *)event; @end @@ -181,14 +186,18 @@ RTC_OBJC_EXPORT /** This property is not available with RTCSdpSemanticsUnifiedPlan. Please use * `senders` instead. */ -@property(nonatomic, readonly) NSArray *localStreams; -@property(nonatomic, readonly, nullable) RTC_OBJC_TYPE(RTCSessionDescription) * localDescription; -@property(nonatomic, readonly, nullable) RTC_OBJC_TYPE(RTCSessionDescription) * remoteDescription; +@property(nonatomic, readonly) + NSArray *localStreams; +@property(nonatomic, readonly, nullable) RTC_OBJC_TYPE(RTCSessionDescription) * + localDescription; +@property(nonatomic, readonly, nullable) RTC_OBJC_TYPE(RTCSessionDescription) * + remoteDescription; @property(nonatomic, readonly) RTCSignalingState signalingState; @property(nonatomic, readonly) RTCIceConnectionState iceConnectionState; @property(nonatomic, readonly) RTCPeerConnectionState connectionState; @property(nonatomic, readonly) RTCIceGatheringState iceGatheringState; -@property(nonatomic, readonly, copy) RTC_OBJC_TYPE(RTCConfiguration) * configuration; +@property(nonatomic, readonly, copy) RTC_OBJC_TYPE(RTCConfiguration) * + configuration; /** Gets all RTCRtpSenders associated with this peer connection. * Note: reading this property returns different instances of RTCRtpSender. @@ -200,7 +209,8 @@ RTC_OBJC_EXPORT * Note: reading this property returns different instances of RTCRtpReceiver. * Use isEqual: instead of == to compare RTCRtpReceiver instances. */ -@property(nonatomic, readonly) NSArray *receivers; +@property(nonatomic, readonly) + NSArray *receivers; /** Gets all RTCRtpTransceivers associated with this peer connection. * Note: reading this property returns different instances of @@ -208,7 +218,8 @@ RTC_OBJC_EXPORT * RTCRtpTransceiver instances. This is only available with * RTCSdpSemanticsUnifiedPlan specified. */ -@property(nonatomic, readonly) NSArray *transceivers; +@property(nonatomic, readonly) + NSArray *transceivers; - (instancetype)init NS_UNAVAILABLE; @@ -225,14 +236,16 @@ RTC_OBJC_EXPORT /** Provide a remote candidate to the ICE Agent. */ - (void)addIceCandidate:(RTC_OBJC_TYPE(RTCIceCandidate) *)candidate - DEPRECATED_MSG_ATTRIBUTE("Please use addIceCandidate:completionHandler: instead"); + DEPRECATED_MSG_ATTRIBUTE( + "Please use addIceCandidate:completionHandler: instead"); /** Provide a remote candidate to the ICE Agent. */ - (void)addIceCandidate:(RTC_OBJC_TYPE(RTCIceCandidate) *)candidate completionHandler:(void (^)(NSError *_Nullable error))completionHandler; /** Remove a group of remote candidates from the ICE Agent. */ -- (void)removeIceCandidates:(NSArray *)candidates; +- (void)removeIceCandidates: + (NSArray *)candidates; /** Add a new media stream to be sent on this peer connection. * This method is not supported with RTCSdpSemanticsUnifiedPlan. Please use @@ -254,8 +267,9 @@ RTC_OBJC_EXPORT * - A sender already exists for the track. * - The peer connection is closed. */ -- (nullable RTC_OBJC_TYPE(RTCRtpSender) *)addTrack:(RTC_OBJC_TYPE(RTCMediaStreamTrack) *)track - streamIds:(NSArray *)streamIds; +- (nullable RTC_OBJC_TYPE(RTCRtpSender) *) + addTrack:(RTC_OBJC_TYPE(RTCMediaStreamTrack) *)track + streamIds:(NSArray *)streamIds; /** With PlanB semantics, removes an RTCRtpSender from this peer connection. * @@ -296,28 +310,32 @@ RTC_OBJC_EXPORT /** Adds a transceiver with the given kind. Can either be RTCRtpMediaTypeAudio * or RTCRtpMediaTypeVideo. */ -- (nullable RTC_OBJC_TYPE(RTCRtpTransceiver) *)addTransceiverOfType:(RTCRtpMediaType)mediaType; +- (nullable RTC_OBJC_TYPE(RTCRtpTransceiver) *)addTransceiverOfType: + (RTCRtpMediaType)mediaType; - (nullable RTC_OBJC_TYPE(RTCRtpTransceiver) *) addTransceiverOfType:(RTCRtpMediaType)mediaType init:(RTC_OBJC_TYPE(RTCRtpTransceiverInit) *)init; /** Tells the PeerConnection that ICE should be restarted. This triggers a need - * for negotiation and subsequent offerForConstraints:completionHandler call will act as if - * RTCOfferAnswerOptions::ice_restart is true. + * for negotiation and subsequent offerForConstraints:completionHandler call + * will act as if RTCOfferAnswerOptions::ice_restart is true. */ - (void)restartIce; /** Generate an SDP offer. */ - (void)offerForConstraints:(RTC_OBJC_TYPE(RTCMediaConstraints) *)constraints - completionHandler:(RTCCreateSessionDescriptionCompletionHandler)completionHandler; + completionHandler: + (RTCCreateSessionDescriptionCompletionHandler)completionHandler; /** Generate an SDP answer. */ - (void)answerForConstraints:(RTC_OBJC_TYPE(RTCMediaConstraints) *)constraints - completionHandler:(RTCCreateSessionDescriptionCompletionHandler)completionHandler; + completionHandler: + (RTCCreateSessionDescriptionCompletionHandler)completionHandler; /** Apply the supplied RTCSessionDescription as the local description. */ - (void)setLocalDescription:(RTC_OBJC_TYPE(RTCSessionDescription) *)sdp - completionHandler:(RTCSetSessionDescriptionCompletionHandler)completionHandler; + completionHandler: + (RTCSetSessionDescriptionCompletionHandler)completionHandler; /** Creates an offer or answer (depending on current signaling state) and sets * it as the local session description. */ @@ -326,7 +344,8 @@ RTC_OBJC_EXPORT /** Apply the supplied RTCSessionDescription as the remote description. */ - (void)setRemoteDescription:(RTC_OBJC_TYPE(RTCSessionDescription) *)sdp - completionHandler:(RTCSetSessionDescriptionCompletionHandler)completionHandler; + completionHandler: + (RTCSetSessionDescriptionCompletionHandler)completionHandler; /** Limits the bandwidth allocated for all RTP streams sent by this * PeerConnection. Nil parameters will be unchanged. Setting @@ -338,7 +357,8 @@ RTC_OBJC_EXPORT maxBitrateBps:(nullable NSNumber *)maxBitrateBps; /** Start or stop recording an Rtc EventLog. */ -- (BOOL)startRtcEventLogWithFilePath:(NSString *)filePath maxSizeInBytes:(int64_t)maxSizeInBytes; +- (BOOL)startRtcEventLogWithFilePath:(NSString *)filePath + maxSizeInBytes:(int64_t)maxSizeInBytes; - (void)stopRtcEventLog; @end @@ -361,25 +381,29 @@ RTC_OBJC_EXPORT /** Create a new data channel with the given label and configuration. */ - (nullable RTC_OBJC_TYPE(RTCDataChannel) *)dataChannelForLabel - : (NSString *)label configuration : (RTC_OBJC_TYPE(RTCDataChannelConfiguration) *)configuration; + : (NSString *)label configuration + : (RTC_OBJC_TYPE(RTCDataChannelConfiguration) *)configuration; @end -typedef void (^RTCStatisticsCompletionHandler)(RTC_OBJC_TYPE(RTCStatisticsReport) *); +typedef void (^RTCStatisticsCompletionHandler)( + RTC_OBJC_TYPE(RTCStatisticsReport) *); @interface RTC_OBJC_TYPE (RTCPeerConnection) (Stats) - /** Gather stats for the given RTCMediaStreamTrack. If `mediaStreamTrack` is nil - * statistics are gathered for all tracks. + /** Gather stats for the given RTCMediaStreamTrack. If `mediaStreamTrack` is + * nil statistics are gathered for all tracks. */ - - (void)statsForTrack - : (nullable RTC_OBJC_TYPE(RTCMediaStreamTrack) *)mediaStreamTrack statsOutputLevel + - (void)statsForTrack : (nullable RTC_OBJC_TYPE(RTCMediaStreamTrack) *) + mediaStreamTrack statsOutputLevel : (RTCStatsOutputLevel)statsOutputLevel completionHandler - : (nullable void (^)(NSArray *stats))completionHandler; + : (nullable void (^)(NSArray *stats)) + completionHandler; /** Gather statistic through the v2 statistics API. */ -- (void)statisticsWithCompletionHandler:(RTCStatisticsCompletionHandler)completionHandler; +- (void)statisticsWithCompletionHandler: + (RTCStatisticsCompletionHandler)completionHandler; /** Spec-compliant getStats() performing the stats selection algorithm with the * sender. diff --git a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCPeerConnectionFactory.h b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCPeerConnectionFactory.h similarity index 62% rename from WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCPeerConnectionFactory.h rename to AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCPeerConnectionFactory.h index 1b5749cf..c78a9fc2 100644 --- a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCPeerConnectionFactory.h +++ b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCPeerConnectionFactory.h @@ -10,11 +10,13 @@ #import -#import -#import +#import +#import + NS_ASSUME_NONNULL_BEGIN +@class RTC_OBJC_TYPE(RTCRtpCapabilities); @class RTC_OBJC_TYPE(RTCAudioSource); @class RTC_OBJC_TYPE(RTCAudioTrack); @class RTC_OBJC_TYPE(RTCConfiguration); @@ -41,32 +43,54 @@ RTC_OBJC_EXPORT /* Initialize object with default H264 video encoder/decoder factories and default ADM */ - (instancetype)init; -/* Initialize object with injectable video encoder/decoder factories and default ADM */ +/* Initialize object with injectable video encoder/decoder factories and default + * ADM */ - (instancetype) - initWithEncoderFactory:(nullable id)encoderFactory - decoderFactory:(nullable id)decoderFactory; + initWithEncoderFactory: + (nullable id)encoderFactory + decoderFactory:(nullable id) + decoderFactory; -/* Initialize object with injectable video encoder/decoder factories and injectable ADM */ +/* Initialize object with injectable video encoder/decoder factories and + * injectable ADM */ - (instancetype) - initWithEncoderFactory:(nullable id)encoderFactory - decoderFactory:(nullable id)decoderFactory - audioDevice:(nullable id)audioDevice; + initWithEncoderFactory: + (nullable id)encoderFactory + decoderFactory:(nullable id) + decoderFactory + audioDevice: + (nullable id)audioDevice; - (instancetype)initWithEncoderFactory:(nullable id)encoderFactory decoderFactory:(nullable id)decoderFactory audioDeviceModule:(RTCAudioDeviceModule *)audioDeviceModule NS_AVAILABLE_IOS(2_0); +/** + * Valid kind values are kRTCMediaStreamTrackKindAudio and + * kRTCMediaStreamTrackKindVideo. + */ +- (RTC_OBJC_TYPE(RTCRtpCapabilities) *)rtpSenderCapabilitiesForKind: + (NSString *)kind; + +/** + * Valid kind values are kRTCMediaStreamTrackKindAudio and + * kRTCMediaStreamTrackKindVideo. + */ +- (RTC_OBJC_TYPE(RTCRtpCapabilities) *)rtpReceiverCapabilitiesForKind: + (NSString *)kind; + /** Initialize an RTCAudioSource with constraints. */ - (RTC_OBJC_TYPE(RTCAudioSource) *)audioSourceWithConstraints: (nullable RTC_OBJC_TYPE(RTCMediaConstraints) *)constraints; -/** Initialize an RTCAudioTrack with an id. Convenience ctor to use an audio source - * with no constraints. +/** Initialize an RTCAudioTrack with an id. Convenience ctor to use an audio + * source with no constraints. */ - (RTC_OBJC_TYPE(RTCAudioTrack) *)audioTrackWithTrackId:(NSString *)trackId; /** Initialize an RTCAudioTrack with a source and an id. */ -- (RTC_OBJC_TYPE(RTCAudioTrack) *)audioTrackWithSource:(RTC_OBJC_TYPE(RTCAudioSource) *)source +- (RTC_OBJC_TYPE(RTCAudioTrack) *)audioTrackWithSource: + (RTC_OBJC_TYPE(RTCAudioSource) *)source trackId:(NSString *)trackId; /** Initialize a generic RTCVideoSource. The RTCVideoSource should be @@ -83,7 +107,8 @@ RTC_OBJC_EXPORT - (RTC_OBJC_TYPE(RTCVideoSource) *)videoSourceForScreenCast:(BOOL)forScreenCast; /** Initialize an RTCVideoTrack with a source and an id. */ -- (RTC_OBJC_TYPE(RTCVideoTrack) *)videoTrackWithSource:(RTC_OBJC_TYPE(RTCVideoSource) *)source +- (RTC_OBJC_TYPE(RTCVideoTrack) *)videoTrackWithSource: + (RTC_OBJC_TYPE(RTCVideoSource) *)source trackId:(NSString *)trackId; /** Initialize an RTCMediaStream with an id. */ @@ -93,22 +118,32 @@ RTC_OBJC_EXPORT * delegate. */ - (nullable RTC_OBJC_TYPE(RTCPeerConnection) *) - peerConnectionWithConfiguration:(RTC_OBJC_TYPE(RTCConfiguration) *)configuration - constraints:(RTC_OBJC_TYPE(RTCMediaConstraints) *)constraints - delegate:(nullable id)delegate; + peerConnectionWithConfiguration: + (RTC_OBJC_TYPE(RTCConfiguration) *)configuration + constraints: + (RTC_OBJC_TYPE(RTCMediaConstraints) *)constraints + delegate:(nullable id)delegate; - (nullable RTC_OBJC_TYPE(RTCPeerConnection) *) - peerConnectionWithConfiguration:(RTC_OBJC_TYPE(RTCConfiguration) *)configuration - constraints:(RTC_OBJC_TYPE(RTCMediaConstraints) *)constraints + peerConnectionWithConfiguration: + (RTC_OBJC_TYPE(RTCConfiguration) *)configuration + constraints: + (RTC_OBJC_TYPE(RTCMediaConstraints) *)constraints certificateVerifier: - (id)certificateVerifier - delegate:(nullable id)delegate; + (id) + certificateVerifier + delegate:(nullable id)delegate; /** Set the options to be used for subsequently created RTCPeerConnections */ -- (void)setOptions:(nonnull RTC_OBJC_TYPE(RTCPeerConnectionFactoryOptions) *)options; +- (void)setOptions: + (nonnull RTC_OBJC_TYPE(RTCPeerConnectionFactoryOptions) *)options; -/** Start an AecDump recording. This API call will likely change in the future. */ -- (BOOL)startAecDumpWithFilePath:(NSString *)filePath maxSizeInBytes:(int64_t)maxSizeInBytes; +/** Start an AecDump recording. This API call will likely change in the future. + */ +- (BOOL)startAecDumpWithFilePath:(NSString *)filePath + maxSizeInBytes:(int64_t)maxSizeInBytes; /* Stop an active AecDump recording */ - (void)stopAecDump; diff --git a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCPeerConnectionFactoryOptions.h b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCPeerConnectionFactoryOptions.h similarity index 96% rename from WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCPeerConnectionFactoryOptions.h rename to AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCPeerConnectionFactoryOptions.h index 1c7a10d1..6d419b1d 100644 --- a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCPeerConnectionFactoryOptions.h +++ b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCPeerConnectionFactoryOptions.h @@ -10,7 +10,7 @@ #import -#import +#import NS_ASSUME_NONNULL_BEGIN diff --git a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCRtcpParameters.h b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCRtcpParameters.h similarity index 95% rename from WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCRtcpParameters.h rename to AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCRtcpParameters.h index 8449500f..fc57981c 100644 --- a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCRtcpParameters.h +++ b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCRtcpParameters.h @@ -10,7 +10,7 @@ #import -#import +#import NS_ASSUME_NONNULL_BEGIN diff --git a/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCRtpCapabilities.h b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCRtpCapabilities.h new file mode 100644 index 00000000..047ed266 --- /dev/null +++ b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCRtpCapabilities.h @@ -0,0 +1,31 @@ +/* + * Copyright 2024 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 + +#import + +NS_ASSUME_NONNULL_BEGIN + +@class RTC_OBJC_TYPE(RTCRtpCodecCapability); +@class RTC_OBJC_TYPE(RTCRtpHeaderExtensionCapability); + +RTC_OBJC_EXPORT +@interface RTC_OBJC_TYPE (RTCRtpCapabilities) : NSObject + +@property(nonatomic, copy) NSArray *codecs; +@property(nonatomic, copy) + NSArray *headerExtensions; + +- (instancetype)init; + +@end + +NS_ASSUME_NONNULL_END diff --git a/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCRtpCodecCapability.h b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCRtpCodecCapability.h new file mode 100644 index 00000000..6fcae12f --- /dev/null +++ b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCRtpCodecCapability.h @@ -0,0 +1,58 @@ +/* + * Copyright 2024 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 + +#import + +NS_ASSUME_NONNULL_BEGIN + +RTC_OBJC_EXPORT +@interface RTC_OBJC_TYPE (RTCRtpCodecCapability) : NSObject + +/** The preferred RTP payload type. */ +@property(nonatomic, readonly, nullable) NSNumber *preferredPayloadType; + +/** + * The codec MIME subtype. Valid types are listed in: + * http://www.iana.org/assignments/rtp-parameters/rtp-parameters.xhtml#rtp-parameters-2 + * + * Several supported types are represented by the constants above. + */ +@property(nonatomic, readonly) NSString *name; + +/** + * The media type of this codec. Equivalent to MIME top-level type. + * + * Valid values are kRTCMediaStreamTrackKindAudio and + * kRTCMediaStreamTrackKindVideo. + */ +@property(nonatomic, readonly) NSString *kind; + +/** The codec clock rate expressed in Hertz. */ +@property(nonatomic, readonly, nullable) NSNumber *clockRate; + +/** + * The number of audio channels (mono=1, stereo=2). + * Set to null for video codecs. + **/ +@property(nonatomic, readonly, nullable) NSNumber *numChannels; + +/** The "format specific parameters" field from the "a=fmtp" line in the SDP */ +@property(nonatomic, readonly) NSDictionary *parameters; + +/** The MIME type of the codec. */ +@property(nonatomic, readonly) NSString *mimeType; + +- (instancetype)init NS_UNAVAILABLE; + +@end + +NS_ASSUME_NONNULL_END diff --git a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCRtpCodecParameters.h b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCRtpCodecParameters.h similarity index 98% rename from WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCRtpCodecParameters.h rename to AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCRtpCodecParameters.h index 4af6bb2f..647437e1 100644 --- a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCRtpCodecParameters.h +++ b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCRtpCodecParameters.h @@ -10,7 +10,7 @@ #import -#import +#import NS_ASSUME_NONNULL_BEGIN diff --git a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCRtpEncodingParameters.h b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCRtpEncodingParameters.h similarity index 97% rename from WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCRtpEncodingParameters.h rename to AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCRtpEncodingParameters.h index 7bd43943..23c241ba 100644 --- a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCRtpEncodingParameters.h +++ b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCRtpEncodingParameters.h @@ -10,7 +10,7 @@ #import -#import +#import NS_ASSUME_NONNULL_BEGIN @@ -66,7 +66,8 @@ RTC_OBJC_EXPORT @property(nonatomic, assign) RTCPriority networkPriority; /** Allow dynamic frame length changes for audio: - https://w3c.github.io/webrtc-extensions/#dom-rtcrtpencodingparameters-adaptiveptime */ + https://w3c.github.io/webrtc-extensions/#dom-rtcrtpencodingparameters-adaptiveptime + */ @property(nonatomic, assign) BOOL adaptiveAudioPacketTime; - (instancetype)init; diff --git a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCRtpHeaderExtension.h b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCRtpHeaderExtension.h similarity index 96% rename from WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCRtpHeaderExtension.h rename to AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCRtpHeaderExtension.h index d3f1fda8..a513fbaf 100644 --- a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCRtpHeaderExtension.h +++ b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCRtpHeaderExtension.h @@ -10,7 +10,7 @@ #import -#import +#import NS_ASSUME_NONNULL_BEGIN diff --git a/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCRtpHeaderExtensionCapability.h b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCRtpHeaderExtensionCapability.h new file mode 100644 index 00000000..e72ab604 --- /dev/null +++ b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCRtpHeaderExtensionCapability.h @@ -0,0 +1,39 @@ +/* + * Copyright 2024 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 + +#import + +typedef NS_ENUM(NSInteger, RTCRtpTransceiverDirection); + +NS_ASSUME_NONNULL_BEGIN + +RTC_OBJC_EXPORT +@interface RTC_OBJC_TYPE (RTCRtpHeaderExtensionCapability) : NSObject + +/** The URI of the RTP header extension, as defined in RFC5285. */ +@property(nonatomic, readonly, copy) NSString *uri; + +/** The value put in the RTP packet to identify the header extension. */ +@property(nonatomic, readonly, nullable) NSNumber* preferredId; + +/** Whether the header extension is encrypted or not. */ +@property(nonatomic, readonly, getter=isPreferredEncrypted) + BOOL preferredEncrypted; + +/** Direction of the header extension. */ +@property(nonatomic) RTCRtpTransceiverDirection direction; + +- (instancetype)init NS_UNAVAILABLE; + +@end + +NS_ASSUME_NONNULL_END diff --git a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCRtpParameters.h b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCRtpParameters.h similarity index 79% rename from WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCRtpParameters.h rename to AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCRtpParameters.h index 54fdbae4..837e355e 100644 --- a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCRtpParameters.h +++ b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCRtpParameters.h @@ -10,11 +10,11 @@ #import -#import -#import -#import -#import -#import +#import +#import +#import +#import +#import NS_ASSUME_NONNULL_BEGIN @@ -40,10 +40,12 @@ RTC_OBJC_EXPORT NSArray *headerExtensions; /** The currently active encodings in the order of preference. */ -@property(nonatomic, copy) NSArray *encodings; +@property(nonatomic, copy) + NSArray *encodings; /** The negotiated set of send codecs in order of preference. */ -@property(nonatomic, copy) NSArray *codecs; +@property(nonatomic, copy) + NSArray *codecs; /** * Degradation preference in case of CPU adaptation or constrained bandwidth. diff --git a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCRtpReceiver.h b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCRtpReceiver.h similarity index 69% rename from WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCRtpReceiver.h rename to AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCRtpReceiver.h index 30f204a5..5d9d106a 100644 --- a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCRtpReceiver.h +++ b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCRtpReceiver.h @@ -10,9 +10,9 @@ #import -#import -#import -#import +#import +#import +#import NS_ASSUME_NONNULL_BEGIN @@ -25,6 +25,7 @@ typedef NS_ENUM(NSInteger, RTCRtpMediaType) { }; @class RTC_OBJC_TYPE(RTCRtpReceiver); +@class RTC_OBJC_TYPE(RTCRtpSource); RTC_OBJC_EXPORT @protocol RTC_OBJC_TYPE @@ -32,18 +33,19 @@ RTC_OBJC_EXPORT /** Called when the first RTP packet is received. * - * Note: Currently if there are multiple RtpReceivers of the same media type, - * they will all call OnFirstPacketReceived at once. + * Note: Currently if there are multiple RtpReceivers of the same media + * type, they will all call OnFirstPacketReceived at once. * - * For example, if we create three audio receivers, A/B/C, they will listen to - * the same signal from the underneath network layer. Whenever the first audio packet - * is received, the underneath signal will be fired. All the receivers A/B/C will be - * notified and the callback of the receiver's delegate will be called. + * For example, if we create three audio receivers, A/B/C, they will listen + * to the same signal from the underneath network layer. Whenever the first + * audio packet is received, the underneath signal will be fired. All the + * receivers A/B/C will be notified and the callback of the receiver's + * delegate will be called. * * The process is the same for video receivers. */ - - (void)rtpReceiver - : (RTC_OBJC_TYPE(RTCRtpReceiver) *)rtpReceiver didReceiveFirstPacketForMediaType + - (void)rtpReceiver : (RTC_OBJC_TYPE(RTCRtpReceiver) *) + rtpReceiver didReceiveFirstPacketForMediaType : (RTCRtpMediaType)mediaType; @end @@ -69,7 +71,15 @@ RTC_OBJC_EXPORT * RTCMediaStreamTrack. Use isEqual: instead of == to compare * RTCMediaStreamTrack instances. */ -@property(nonatomic, readonly, nullable) RTC_OBJC_TYPE(RTCMediaStreamTrack) * track; +@property(nonatomic, readonly, nullable) RTC_OBJC_TYPE(RTCMediaStreamTrack) * + track; + +/** +Returns an array that contains an object for each unique SSRC (synchronization +source) identifier and for each unique CSRC (contributing source) received by +the current RTCRtpReceiver in the last ten seconds. +*/ +@property(nonatomic, readonly) NSArray *sources; /** The delegate for this RtpReceiver. */ @property(nonatomic, weak) id delegate; diff --git a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCRtpSender.h b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCRtpSender.h similarity index 82% rename from WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCRtpSender.h rename to AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCRtpSender.h index edea5d83..fa240986 100644 --- a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCRtpSender.h +++ b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCRtpSender.h @@ -10,10 +10,10 @@ #import -#import -#import -#import -#import +#import +#import +#import +#import NS_ASSUME_NONNULL_BEGIN @@ -21,8 +21,8 @@ RTC_OBJC_EXPORT @protocol RTC_OBJC_TYPE (RTCRtpSender) -/** A unique identifier for this sender. */ -@property(nonatomic, readonly) NSString *senderId; + /** A unique identifier for this sender. */ + @property(nonatomic, readonly) NSString *senderId; /** The currently active RTCRtpParameters, as defined in * https://www.w3.org/TR/webrtc/#idl-def-RTCRtpParameters. @@ -40,7 +40,8 @@ RTC_OBJC_EXPORT @property(nonatomic, copy) NSArray *streamIds; /** The RTCDtmfSender accociated with the RTP sender. */ -@property(nonatomic, readonly, nullable) id dtmfSender; +@property(nonatomic, readonly, nullable) id + dtmfSender; @end diff --git a/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCRtpSource.h b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCRtpSource.h new file mode 100644 index 00000000..83652a3b --- /dev/null +++ b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCRtpSource.h @@ -0,0 +1,66 @@ +/* + * Copyright 2024 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 + +#import + +NS_ASSUME_NONNULL_BEGIN + +/** Represents the source type of received media. */ +typedef NS_ENUM(NSInteger, RTCRtpSourceType) { + RTCRtpSourceTypeSSRC, + RTCRtpSourceTypeCSRC, +}; + +@class RTC_OBJC_TYPE(RTCRtpSource); + +RTC_OBJC_EXPORT +@protocol RTC_OBJC_TYPE +(RTCRtpSource) + + /** + A positive integer value specifying the CSRC identifier of the contributing + source or SSRC identifier of the synchronization source. This uniquely + identifies the source of the particular stream RTP packets. */ + @property(nonatomic, readonly) uint32_t sourceId; + +@property(nonatomic, readonly) RTCRtpSourceType sourceType; + +/** +A floating-point value between 0.0 and 1.0 specifying the audio level contained +in the last RTP packet played from the contributing source. +*/ +@property(nonatomic, readonly, nullable) NSNumber *audioLevel; + +/** +A timestamp indicating the most recent time at which a frame originating from +this source was delivered to the receiver's track +*/ +@property(nonatomic, readonly) CFTimeInterval timestampUs; + +/** +The RTP timestamp of the media. This source-generated timestamp indicates the +time at which the media in this packet, scheduled for play out at the time +indicated by timestamp, was initially sampled or generated. It may be useful for +sequencing and synchronization purposes. +*/ +@property(nonatomic, readonly) uint32_t rtpTimestamp; + +@end + +RTC_OBJC_EXPORT +@interface RTC_OBJC_TYPE (RTCRtpSource) : NSObject + +- (instancetype)init NS_UNAVAILABLE; + +@end + +NS_ASSUME_NONNULL_END diff --git a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCRtpTransceiver.h b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCRtpTransceiver.h similarity index 67% rename from WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCRtpTransceiver.h rename to AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCRtpTransceiver.h index 9d8cfe12..d769f8bd 100644 --- a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCRtpTransceiver.h +++ b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCRtpTransceiver.h @@ -10,9 +10,9 @@ #import -#import -#import -#import +#import +#import +#import NS_ASSUME_NONNULL_BEGIN @@ -41,17 +41,20 @@ RTC_OBJC_EXPORT @property(nonatomic) NSArray *streamIds; /** TODO(bugs.webrtc.org/7600): Not implemented. */ -@property(nonatomic) NSArray *sendEncodings; +@property(nonatomic) + NSArray *sendEncodings; @end @class RTC_OBJC_TYPE(RTCRtpTransceiver); +@class RTC_OBJC_TYPE(RTCRtpCodecCapability); +@class RTC_OBJC_TYPE(RTCRtpHeaderExtensionCapability); /** The RTCRtpTransceiver maps to the RTCRtpTransceiver defined by the - * WebRTC specification. A transceiver represents a combination of an RTCRtpSender - * and an RTCRtpReceiver that share a common mid. As defined in JSEP, an - * RTCRtpTransceiver is said to be associated with a media description if its - * mid property is non-nil; otherwise, it is said to be disassociated. + * WebRTC specification. A transceiver represents a combination of an + * RTCRtpSender and an RTCRtpReceiver that share a common mid. As defined in + * JSEP, an RTCRtpTransceiver is said to be associated with a media description + * if its mid property is non-nil; otherwise, it is said to be disassociated. * JSEP: https://tools.ietf.org/html/draft-ietf-rtcweb-jsep-24 * * Note that RTCRtpTransceivers are only supported when using @@ -64,8 +67,8 @@ RTC_OBJC_EXPORT @protocol RTC_OBJC_TYPE (RTCRtpTransceiver) - /** Media type of the transceiver. The sender and receiver will also have this - * type. + /** Media type of the transceiver. The sender and receiver will also have + * this type. */ @property(nonatomic, readonly) RTCRtpMediaType mediaType; @@ -104,6 +107,20 @@ RTC_OBJC_EXPORT */ @property(nonatomic, readonly) RTCRtpTransceiverDirection direction; +/** It will contain all the RTP header extensions that are supported. + * The direction attribute for all extensions that are mandatory to use MUST be + * initialized to an appropriate value other than + * RTCRtpTransceiverDirectionStopped. The direction attribute for extensions + * that will not be offered by default in an initial offer MUST be initialized + * to RTCRtpTransceiverDirectionStopped. + */ +@property(nonatomic, readonly, copy) + NSArray + *headerExtensionsToNegotiate; +@property(nonatomic, readonly, copy) + NSArray + *negotiatedHeaderExtensions; + /** The currentDirection attribute indicates the current direction negotiated * for this transceiver. If this transceiver has never been represented in an * offer/answer exchange, or if the transceiver is stopped, the value is not @@ -118,12 +135,35 @@ RTC_OBJC_EXPORT */ - (void)stopInternal; +/** The setCodecPreferences method overrides the default codec preferences used + * by WebRTC for this transceiver. + * https://w3c.github.io/webrtc-pc/#dom-rtcrtptransceiver-setcodecpreferences + */ +- (BOOL)setCodecPreferences: + (NSArray *_Nullable)codecs + error:(NSError **_Nullable)error; + +/** Deprecated version of [RTCRtpTransceiver setCodecPreferences:error:] */ +- (void)setCodecPreferences: + (NSArray *_Nullable)codecs + RTC_OBJC_DEPRECATED("Use setCodecPreferences:error: instead."); + +/** The setHeaderExtensionsToNegotiate method overrides the default header + * extensions used by WebRTC for this transceiver. + * https://w3c.github.io/webrtc-extensions/#ref-for-dom-rtcrtptransceiver-setheaderextensionstonegotiate + */ +- (BOOL)setHeaderExtensionsToNegotiate: + (NSArray *) + extensions + error:(NSError **)error; + /** An update of directionality does not take effect immediately. Instead, * future calls to createOffer and createAnswer mark the corresponding media * descriptions as sendrecv, sendonly, recvonly, or inactive. * https://w3c.github.io/webrtc-pc/#dom-rtcrtptransceiver-direction */ -- (void)setDirection:(RTCRtpTransceiverDirection)direction error:(NSError **)error; +- (void)setDirection:(RTCRtpTransceiverDirection)direction + error:(NSError **)error; @end diff --git a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCSSLAdapter.h b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCSSLAdapter.h similarity index 94% rename from WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCSSLAdapter.h rename to AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCSSLAdapter.h index a0da827c..e0113f82 100644 --- a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCSSLAdapter.h +++ b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCSSLAdapter.h @@ -10,7 +10,7 @@ #import -#import +#import /** * Initialize and clean up the SSL library. Failure is fatal. These call the diff --git a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCSSLCertificateVerifier.h b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCSSLCertificateVerifier.h similarity index 94% rename from WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCSSLCertificateVerifier.h rename to AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCSSLCertificateVerifier.h index d5acafad..33c2a84b 100644 --- a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCSSLCertificateVerifier.h +++ b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCSSLCertificateVerifier.h @@ -10,7 +10,7 @@ #import -#import +#import NS_ASSUME_NONNULL_BEGIN diff --git a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCSessionDescription.h b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCSessionDescription.h similarity index 89% rename from WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCSessionDescription.h rename to AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCSessionDescription.h index 250dea54..02754694 100644 --- a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCSessionDescription.h +++ b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCSessionDescription.h @@ -10,7 +10,7 @@ #import -#import +#import /** * Represents the session description type. This exposes the same types that are @@ -37,7 +37,8 @@ RTC_OBJC_EXPORT - (instancetype)init NS_UNAVAILABLE; /** Initialize a session description with a type and SDP string. */ -- (instancetype)initWithType:(RTCSdpType)type sdp:(NSString *)sdp NS_DESIGNATED_INITIALIZER; +- (instancetype)initWithType:(RTCSdpType)type + sdp:(NSString *)sdp NS_DESIGNATED_INITIALIZER; + (NSString *)stringForType:(RTCSdpType)type; diff --git a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCStatisticsReport.h b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCStatisticsReport.h similarity index 86% rename from WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCStatisticsReport.h rename to AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCStatisticsReport.h index f8453cab..c2d57e8d 100644 --- a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCStatisticsReport.h +++ b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCStatisticsReport.h @@ -10,7 +10,7 @@ #import -#import +#import @class RTC_OBJC_TYPE(RTCStatistics); @@ -24,7 +24,8 @@ RTC_OBJC_EXPORT @property(nonatomic, readonly) CFTimeInterval timestamp_us; /** RTCStatistics objects by id. */ -@property(nonatomic, readonly) NSDictionary *statistics; +@property(nonatomic, readonly) + NSDictionary *statistics; - (instancetype)init NS_UNAVAILABLE; @@ -37,15 +38,17 @@ RTC_OBJC_EXPORT /** The id of this subreport, e.g. "RTCMediaStreamTrack_receiver_2". */ @property(nonatomic, readonly) NSString *id; -/** The timestamp of the subreport in microseconds since 1970-01-01T00:00:00Z. */ +/** The timestamp of the subreport in microseconds since 1970-01-01T00:00:00Z. + */ @property(nonatomic, readonly) CFTimeInterval timestamp_us; /** The type of the subreport, e.g. "track", "codec". */ @property(nonatomic, readonly) NSString *type; /** The keys and values of the subreport, e.g. "totalFramesDuration = 5.551". - The values are either NSNumbers or NSStrings or NSArrays encapsulating NSNumbers - or NSStrings, or NSDictionary of NSString keys to NSNumber values. */ + The values are either NSNumbers or NSStrings or NSArrays encapsulating + NSNumbers or NSStrings, or NSDictionary of NSString keys to NSNumber values. + */ @property(nonatomic, readonly) NSDictionary *values; - (instancetype)init NS_UNAVAILABLE; diff --git a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCTracing.h b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCTracing.h similarity index 95% rename from WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCTracing.h rename to AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCTracing.h index 899a5700..718f0348 100644 --- a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCTracing.h +++ b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCTracing.h @@ -10,7 +10,7 @@ #import -#import +#import RTC_EXTERN void RTCSetupInternalTracer(void); /** Starts capture to specified file. Must be a valid writable path. diff --git a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCVideoCapturer.h b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCVideoCapturer.h similarity index 75% rename from WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCVideoCapturer.h rename to AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCVideoCapturer.h index c307a714..26b64dca 100644 --- a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCVideoCapturer.h +++ b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCVideoCapturer.h @@ -8,9 +8,9 @@ * be found in the AUTHORS file in the root of the source tree. */ -#import +#import -#import +#import NS_ASSUME_NONNULL_BEGIN @@ -19,7 +19,8 @@ NS_ASSUME_NONNULL_BEGIN RTC_OBJC_EXPORT @protocol RTC_OBJC_TYPE (RTCVideoCapturerDelegate) - - (void)capturer : (RTC_OBJC_TYPE(RTCVideoCapturer) *)capturer didCaptureVideoFrame + (void)capturer + : (RTC_OBJC_TYPE(RTCVideoCapturer) *)capturer didCaptureVideoFrame : (RTC_OBJC_TYPE(RTCVideoFrame) *)frame; @end @@ -28,7 +29,8 @@ RTC_OBJC_EXPORT @property(nonatomic, weak) id delegate; -- (instancetype)initWithDelegate:(id)delegate; +- (instancetype)initWithDelegate: + (id)delegate; @end diff --git a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCVideoCodecConstants.h b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCVideoCodecConstants.h similarity index 94% rename from WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCVideoCodecConstants.h rename to AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCVideoCodecConstants.h index 0277bfc4..5a458de5 100644 --- a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCVideoCodecConstants.h +++ b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCVideoCodecConstants.h @@ -10,7 +10,7 @@ #import -#import +#import RTC_EXTERN NSString* const kRTCVideoCodecVp8Name; RTC_EXTERN NSString* const kRTCVideoCodecVp9Name; diff --git a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCVideoCodecInfo.h b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCVideoCodecInfo.h similarity index 69% rename from WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCVideoCodecInfo.h rename to AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCVideoCodecInfo.h index f32c8618..05adc1b2 100644 --- a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCVideoCodecInfo.h +++ b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCVideoCodecInfo.h @@ -10,11 +10,12 @@ #import -#import +#import NS_ASSUME_NONNULL_BEGIN -/** Holds information to identify a codec. Corresponds to webrtc::SdpVideoFormat. */ +/** Holds information to identify a codec. Corresponds to + * webrtc::SdpVideoFormat. */ RTC_OBJC_EXPORT @interface RTC_OBJC_TYPE (RTCVideoCodecInfo) : NSObject @@ -23,13 +24,19 @@ RTC_OBJC_EXPORT - (instancetype)initWithName:(NSString *)name; - (instancetype)initWithName:(NSString *)name - parameters:(nullable NSDictionary *)parameters + parameters:(nullable NSDictionary *) + parameters; + +- (instancetype)initWithName:(NSString *)name + parameters:(NSDictionary *)parameters + scalabilityModes:(NSArray *)scalabilityModes NS_DESIGNATED_INITIALIZER; - (BOOL)isEqualToCodecInfo:(RTC_OBJC_TYPE(RTCVideoCodecInfo) *)info; @property(nonatomic, readonly) NSString *name; @property(nonatomic, readonly) NSDictionary *parameters; +@property(nonatomic, readonly) NSArray *scalabilityModes; @end diff --git a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCVideoDecoder.h b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCVideoDecoder.h similarity index 79% rename from WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCVideoDecoder.h rename to AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCVideoDecoder.h index 9ffde998..212a44af 100644 --- a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCVideoDecoder.h +++ b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCVideoDecoder.h @@ -10,11 +10,11 @@ #import -#import -#import -#import -#import -#import +#import +#import +#import +#import +#import NS_ASSUME_NONNULL_BEGIN @@ -29,6 +29,7 @@ RTC_OBJC_EXPORT - (void)setCallback : (RTCVideoDecoderCallback)callback; - (NSInteger)startDecodeWithNumberOfCores:(int)numberOfCores; - (NSInteger)releaseDecoder; +// TODO(bugs.webrtc.org/15444): Remove obsolete missingFrames param. - (NSInteger)decode:(RTC_OBJC_TYPE(RTCEncodedImage) *)encodedImage missingFrames:(BOOL)missingFrames codecSpecificInfo:(nullable id)info diff --git a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCVideoDecoderAV1.h b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCVideoDecoderAV1.h similarity index 91% rename from WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCVideoDecoderAV1.h rename to AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCVideoDecoderAV1.h index a71cce5c..d45dca7c 100644 --- a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCVideoDecoderAV1.h +++ b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCVideoDecoderAV1.h @@ -10,8 +10,8 @@ #import -#import -#import +#import +#import RTC_OBJC_EXPORT @interface RTC_OBJC_TYPE (RTCVideoDecoderAV1) : NSObject diff --git a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCVideoDecoderFactory.h b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCVideoDecoderFactory.h similarity index 78% rename from WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCVideoDecoderFactory.h rename to AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCVideoDecoderFactory.h index d06188f2..667559da 100644 --- a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCVideoDecoderFactory.h +++ b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCVideoDecoderFactory.h @@ -10,13 +10,14 @@ #import -#import -#import -#import +#import +#import +#import NS_ASSUME_NONNULL_BEGIN -/** RTCVideoDecoderFactory is an Objective-C version of webrtc::VideoDecoderFactory. +/** RTCVideoDecoderFactory is an Objective-C version of + * webrtc::VideoDecoderFactory. */ RTC_OBJC_EXPORT @protocol RTC_OBJC_TYPE diff --git a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCVideoDecoderFactoryH264.h b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCVideoDecoderFactoryH264.h similarity index 86% rename from WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCVideoDecoderFactoryH264.h rename to AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCVideoDecoderFactoryH264.h index cbdfc850..698129ce 100644 --- a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCVideoDecoderFactoryH264.h +++ b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCVideoDecoderFactoryH264.h @@ -10,8 +10,8 @@ #import -#import -#import +#import +#import RTC_OBJC_EXPORT @interface RTC_OBJC_TYPE (RTCVideoDecoderFactoryH264) : NSObject diff --git a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCVideoDecoderH264.h b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCVideoDecoderH264.h similarity index 87% rename from WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCVideoDecoderH264.h rename to AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCVideoDecoderH264.h index 79c337a2..1ad675d6 100644 --- a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCVideoDecoderH264.h +++ b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCVideoDecoderH264.h @@ -10,8 +10,8 @@ #import -#import -#import +#import +#import RTC_OBJC_EXPORT @interface RTC_OBJC_TYPE (RTCVideoDecoderH264) : NSObject diff --git a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCVideoDecoderVP8.h b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCVideoDecoderVP8.h similarity index 91% rename from WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCVideoDecoderVP8.h rename to AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCVideoDecoderVP8.h index 97b19b2c..bad6b66e 100644 --- a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCVideoDecoderVP8.h +++ b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCVideoDecoderVP8.h @@ -10,8 +10,8 @@ #import -#import -#import +#import +#import RTC_OBJC_EXPORT @interface RTC_OBJC_TYPE (RTCVideoDecoderVP8) : NSObject diff --git a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCVideoDecoderVP9.h b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCVideoDecoderVP9.h similarity index 91% rename from WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCVideoDecoderVP9.h rename to AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCVideoDecoderVP9.h index b8782a5c..e7617dcb 100644 --- a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCVideoDecoderVP9.h +++ b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCVideoDecoderVP9.h @@ -10,8 +10,8 @@ #import -#import -#import +#import +#import RTC_OBJC_EXPORT @interface RTC_OBJC_TYPE (RTCVideoDecoderVP9) : NSObject diff --git a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCVideoEncoder.h b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCVideoEncoder.h similarity index 63% rename from WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCVideoEncoder.h rename to AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCVideoEncoder.h index 2e921540..a34cfbe1 100644 --- a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCVideoEncoder.h +++ b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCVideoEncoder.h @@ -10,26 +10,28 @@ #import -#import -#import -#import -#import -#import -#import +#import +#import +#import +#import +#import +#import NS_ASSUME_NONNULL_BEGIN /** Callback block for encoder. */ -typedef BOOL (^RTCVideoEncoderCallback)(RTC_OBJC_TYPE(RTCEncodedImage) * frame, - id info); +typedef BOOL (^RTCVideoEncoderCallback)( + RTC_OBJC_TYPE(RTCEncodedImage) * frame, + id info); /** Protocol for encoder implementations. */ RTC_OBJC_EXPORT @protocol RTC_OBJC_TYPE (RTCVideoEncoder) -- (void)setCallback:(nullable RTCVideoEncoderCallback)callback; -- (NSInteger)startEncodeWithSettings:(RTC_OBJC_TYPE(RTCVideoEncoderSettings) *)settings + - (void)setCallback : (nullable RTCVideoEncoderCallback)callback; +- (NSInteger)startEncodeWithSettings: + (RTC_OBJC_TYPE(RTCVideoEncoderSettings) *)settings numberOfCores:(int)numberOfCores; - (NSInteger)releaseEncoder; - (NSInteger)encode:(RTC_OBJC_TYPE(RTCVideoFrame) *)frame @@ -38,20 +40,21 @@ RTC_OBJC_EXPORT - (int)setBitrate:(uint32_t)bitrateKbit framerate:(uint32_t)framerate; - (NSString *)implementationName; -/** Returns QP scaling settings for encoder. The quality scaler adjusts the resolution in order to - * keep the QP from the encoded images within the given range. Returning nil from this function - * disables quality scaling. */ +/** Returns QP scaling settings for encoder. The quality scaler adjusts the + * resolution in order to keep the QP from the encoded images within the given + * range. Returning nil from this function disables quality scaling. */ - (nullable RTC_OBJC_TYPE(RTCVideoEncoderQpThresholds) *)scalingSettings; /** Resolutions should be aligned to this value. */ @property(nonatomic, readonly) NSInteger resolutionAlignment; -/** If enabled, resolution alignment is applied to all simulcast layers simultaneously so that when - scaled, all resolutions comply with 'resolutionAlignment'. */ +/** If enabled, resolution alignment is applied to all simulcast layers + simultaneously so that when scaled, all resolutions comply with + 'resolutionAlignment'. */ @property(nonatomic, readonly) BOOL applyAlignmentToAllSimulcastLayers; -/** If YES, the receiver is expected to resample/scale the source texture to the expected output - size. */ +/** If YES, the receiver is expected to resample/scale the source texture to the + expected output size. */ @property(nonatomic, readonly) BOOL supportsNativeHandle; @end diff --git a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCVideoEncoderAV1.h b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCVideoEncoderAV1.h similarity index 71% rename from WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCVideoEncoderAV1.h rename to AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCVideoEncoderAV1.h index 34db9a5e..ca7d3fd6 100644 --- a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCVideoEncoderAV1.h +++ b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCVideoEncoderAV1.h @@ -10,8 +10,8 @@ #import -#import -#import +#import +#import RTC_OBJC_EXPORT @interface RTC_OBJC_TYPE (RTCVideoEncoderAV1) : NSObject @@ -20,7 +20,12 @@ RTC_OBJC_EXPORT * RTCPeerConnectionFactory. Even though it implements the RTCVideoEncoder protocol, it can not be * used independently from the RTCPeerConnectionFactory. */ -+ (id)av1Encoder; ++ (nonnull id)av1Encoder; + +/* Returns list of scalability modes supported by the encoder that can be + * created with `av1Encoder` method above. + */ ++ (nonnull NSArray*)supportedScalabilityModes; + (bool)isSupported; diff --git a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCVideoEncoderFactory.h b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCVideoEncoderFactory.h similarity index 53% rename from WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCVideoEncoderFactory.h rename to AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCVideoEncoderFactory.h index 579a04ad..8e2c553c 100644 --- a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCVideoEncoderFactory.h +++ b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCVideoEncoderFactory.h @@ -10,9 +10,9 @@ #import -#import -#import -#import +#import +#import +#import NS_ASSUME_NONNULL_BEGIN @@ -23,16 +23,37 @@ RTC_OBJC_EXPORT @protocol RTC_OBJC_TYPE (RTCVideoEncoderSelector) - - (void)registerCurrentEncoderInfo : (RTC_OBJC_TYPE(RTCVideoCodecInfo) *)info; -- (nullable RTC_OBJC_TYPE(RTCVideoCodecInfo) *)encoderForBitrate:(NSInteger)bitrate; + - (void)registerCurrentEncoderInfo + : (RTC_OBJC_TYPE(RTCVideoCodecInfo) *)info; +- (nullable RTC_OBJC_TYPE(RTCVideoCodecInfo) *)encoderForBitrate: + (NSInteger)bitrate; - (nullable RTC_OBJC_TYPE(RTCVideoCodecInfo) *)encoderForBrokenEncoder; @optional -- (nullable RTC_OBJC_TYPE(RTCVideoCodecInfo) *)encoderForResolutionChangeBySize:(CGSize)size; +- (nullable RTC_OBJC_TYPE(RTCVideoCodecInfo) *)encoderForResolutionChangeBySize: + (CGSize)size; @end -/** RTCVideoEncoderFactory is an Objective-C version of webrtc::VideoEncoderFactory. +/** RTCVideoEncoderCodecSupport is an Objective-C version of + * webrtc::VideoEncoderFactory::CodecSupport. */ +RTC_OBJC_EXPORT +@interface RTC_OBJC_TYPE (RTCVideoEncoderCodecSupport) : NSObject + +- (instancetype)init NS_UNAVAILABLE; + +- (instancetype)initWithSupported:(bool)isSupported; +- (instancetype)initWithSupported:(bool)isSupported + isPowerEfficient:(bool)isPowerEfficient + NS_DESIGNATED_INITIALIZER; + +@property(nonatomic, readonly) bool isSupported; +@property(nonatomic, readonly) bool isPowerEfficient; + +@end + +/** RTCVideoEncoderFactory is an Objective-C version of + * webrtc::VideoEncoderFactory. */ RTC_OBJC_EXPORT @protocol RTC_OBJC_TYPE @@ -46,6 +67,11 @@ RTC_OBJC_EXPORT @optional - (NSArray *)implementations; - (nullable id)encoderSelector; +/* TODO: b/299588022 - move to non-optional section when implemented by all + * derived classes. */ +- (RTC_OBJC_TYPE(RTCVideoEncoderCodecSupport) *) + queryCodecSupport:(RTC_OBJC_TYPE(RTCVideoCodecInfo) *)info + scalabilityMode:(nullable NSString *)scalabilityMode; @end diff --git a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCVideoEncoderFactoryH264.h b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCVideoEncoderFactoryH264.h similarity index 86% rename from WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCVideoEncoderFactoryH264.h rename to AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCVideoEncoderFactoryH264.h index c699def1..8205b552 100644 --- a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCVideoEncoderFactoryH264.h +++ b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCVideoEncoderFactoryH264.h @@ -10,8 +10,8 @@ #import -#import -#import +#import +#import RTC_OBJC_EXPORT @interface RTC_OBJC_TYPE (RTCVideoEncoderFactoryH264) : NSObject diff --git a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCVideoEncoderH264.h b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCVideoEncoderH264.h similarity index 83% rename from WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCVideoEncoderH264.h rename to AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCVideoEncoderH264.h index dc9f619f..11b69512 100644 --- a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCVideoEncoderH264.h +++ b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCVideoEncoderH264.h @@ -10,9 +10,9 @@ #import -#import -#import -#import +#import +#import +#import RTC_OBJC_EXPORT @interface RTC_OBJC_TYPE (RTCVideoEncoderH264) : NSObject diff --git a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCVideoEncoderQpThresholds.h b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCVideoEncoderQpThresholds.h similarity index 85% rename from WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCVideoEncoderQpThresholds.h rename to AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCVideoEncoderQpThresholds.h index f422c342..89633cdb 100644 --- a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCVideoEncoderQpThresholds.h +++ b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCVideoEncoderQpThresholds.h @@ -10,11 +10,12 @@ #import -#import +#import NS_ASSUME_NONNULL_BEGIN -/** QP thresholds for encoder. Corresponds to webrtc::VideoEncoder::QpThresholds. */ +/** QP thresholds for encoder. Corresponds to + * webrtc::VideoEncoder::QpThresholds. */ RTC_OBJC_EXPORT @interface RTC_OBJC_TYPE (RTCVideoEncoderQpThresholds) : NSObject diff --git a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCVideoEncoderSettings.h b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCVideoEncoderSettings.h similarity index 97% rename from WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCVideoEncoderSettings.h rename to AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCVideoEncoderSettings.h index efbdb5ee..2ae6a190 100644 --- a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCVideoEncoderSettings.h +++ b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCVideoEncoderSettings.h @@ -10,7 +10,7 @@ #import -#import +#import NS_ASSUME_NONNULL_BEGIN diff --git a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCVideoEncoderVP8.h b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCVideoEncoderVP8.h similarity index 70% rename from WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCVideoEncoderVP8.h rename to AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCVideoEncoderVP8.h index 84ad197a..da46041c 100644 --- a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCVideoEncoderVP8.h +++ b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCVideoEncoderVP8.h @@ -10,8 +10,8 @@ #import -#import -#import +#import +#import RTC_OBJC_EXPORT @interface RTC_OBJC_TYPE (RTCVideoEncoderVP8) : NSObject @@ -20,6 +20,11 @@ RTC_OBJC_EXPORT * RTCPeerConnectionFactory. Even though it implements the RTCVideoEncoder protocol, it can not be * used independently from the RTCPeerConnectionFactory. */ -+ (id)vp8Encoder; ++ (nonnull id)vp8Encoder; + +/* Returns list of scalability modes supported by the encoder that can be + * created with `vp8Encoder` method above. + */ ++ (nonnull NSArray*)supportedScalabilityModes; @end diff --git a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCVideoEncoderVP9.h b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCVideoEncoderVP9.h similarity index 71% rename from WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCVideoEncoderVP9.h rename to AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCVideoEncoderVP9.h index 3559dbd3..b32f1904 100644 --- a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCVideoEncoderVP9.h +++ b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCVideoEncoderVP9.h @@ -10,8 +10,8 @@ #import -#import -#import +#import +#import RTC_OBJC_EXPORT @interface RTC_OBJC_TYPE (RTCVideoEncoderVP9) : NSObject @@ -20,7 +20,12 @@ RTC_OBJC_EXPORT * RTCPeerConnectionFactory. Even though it implements the RTCVideoEncoder protocol, it can not be * used independently from the RTCPeerConnectionFactory. */ -+ (id)vp9Encoder; ++ (nullable id)vp9Encoder; + +/* Returns list of scalability modes supported by the encoder that can be + * created with `vp9Encoder` method above. + */ ++ (nonnull NSArray*)supportedScalabilityModes; + (bool)isSupported; diff --git a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCVideoFrame.h b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCVideoFrame.h similarity index 56% rename from WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCVideoFrame.h rename to AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCVideoFrame.h index 01294f57..635339cb 100644 --- a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCVideoFrame.h +++ b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCVideoFrame.h @@ -11,7 +11,7 @@ #import #import -#import +#import NS_ASSUME_NONNULL_BEGIN @@ -45,34 +45,12 @@ RTC_OBJC_EXPORT @property(nonatomic, readonly) id buffer; - (instancetype)init NS_UNAVAILABLE; -- (instancetype) new NS_UNAVAILABLE; - -/** Initialize an RTCVideoFrame from a pixel buffer, rotation, and timestamp. - * Deprecated - initialize with a RTCCVPixelBuffer instead - */ -- (instancetype)initWithPixelBuffer:(CVPixelBufferRef)pixelBuffer - rotation:(RTCVideoRotation)rotation - timeStampNs:(int64_t)timeStampNs - DEPRECATED_MSG_ATTRIBUTE("use initWithBuffer instead"); - -/** Initialize an RTCVideoFrame from a pixel buffer combined with cropping and - * scaling. Cropping will be applied first on the pixel buffer, followed by - * scaling to the final resolution of scaledWidth x scaledHeight. - */ -- (instancetype)initWithPixelBuffer:(CVPixelBufferRef)pixelBuffer - scaledWidth:(int)scaledWidth - scaledHeight:(int)scaledHeight - cropWidth:(int)cropWidth - cropHeight:(int)cropHeight - cropX:(int)cropX - cropY:(int)cropY - rotation:(RTCVideoRotation)rotation - timeStampNs:(int64_t)timeStampNs - DEPRECATED_MSG_ATTRIBUTE("use initWithBuffer instead"); +- (instancetype)new NS_UNAVAILABLE; /** Initialize an RTCVideoFrame from a frame buffer, rotation, and timestamp. */ -- (instancetype)initWithBuffer:(id)frameBuffer +- (instancetype)initWithBuffer: + (id)frameBuffer rotation:(RTCVideoRotation)rotation timeStampNs:(int64_t)timeStampNs; diff --git a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCVideoFrameBuffer.h b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCVideoFrameBuffer.h similarity index 97% rename from WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCVideoFrameBuffer.h rename to AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCVideoFrameBuffer.h index 7efbd2b7..5681d82f 100644 --- a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCVideoFrameBuffer.h +++ b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCVideoFrameBuffer.h @@ -10,7 +10,7 @@ #import -#import +#import NS_ASSUME_NONNULL_BEGIN diff --git a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCVideoRenderer.h b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCVideoRenderer.h similarity index 87% rename from WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCVideoRenderer.h rename to AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCVideoRenderer.h index 3a5b77b4..ed23607c 100644 --- a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCVideoRenderer.h +++ b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCVideoRenderer.h @@ -13,7 +13,7 @@ #import #endif -#import +#import NS_ASSUME_NONNULL_BEGIN @@ -35,7 +35,8 @@ RTC_OBJC_EXPORT @protocol RTC_OBJC_TYPE (RTCVideoViewDelegate) - - (void)videoView : (id)videoView didChangeVideoSize + - (void)videoView + : (id)videoView didChangeVideoSize : (CGSize)size; @end diff --git a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCVideoSource.h b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCVideoSource.h similarity index 90% rename from WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCVideoSource.h rename to AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCVideoSource.h index c7dea6e0..0d79d16e 100644 --- a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCVideoSource.h +++ b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCVideoSource.h @@ -10,9 +10,9 @@ #import -#import -#import -#import +#import +#import +#import NS_ASSUME_NONNULL_BEGIN diff --git a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCVideoTrack.h b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCVideoTrack.h similarity index 92% rename from WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCVideoTrack.h rename to AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCVideoTrack.h index 18368168..0bfa3fb7 100644 --- a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCVideoTrack.h +++ b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCVideoTrack.h @@ -8,9 +8,9 @@ * be found in the AUTHORS file in the root of the source tree. */ -#import +#import -#import +#import NS_ASSUME_NONNULL_BEGIN diff --git a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCVideoViewShading.h b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCVideoViewShading.h similarity index 76% rename from WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCVideoViewShading.h rename to AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCVideoViewShading.h index aeb49e27..a2c15975 100644 --- a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCVideoViewShading.h +++ b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCVideoViewShading.h @@ -10,22 +10,22 @@ #import -#import +#import NS_ASSUME_NONNULL_BEGIN /** - * RTCVideoViewShading provides a way for apps to customize the OpenGL(ES shaders - * used in rendering for the RTCEAGLVideoView/RTCNSGLVideoView. + * RTCVideoViewShading provides a way for apps to customize the OpenGL(ES + * shaders used in rendering for the RTCEAGLVideoView/RTCNSGLVideoView. */ RTC_OBJC_EXPORT @protocol RTC_OBJC_TYPE (RTCVideoViewShading) /** Callback for I420 frames. Each plane is given as a texture. */ - - (void)applyShadingForFrameWithWidth : (int)width height : (int)height rotation - : (RTCVideoRotation)rotation yPlane : (GLuint)yPlane uPlane : (GLuint)uPlane vPlane - : (GLuint)vPlane; + - (void)applyShadingForFrameWithWidth : (int)width height + : (int)height rotation : (RTCVideoRotation)rotation yPlane + : (GLuint)yPlane uPlane : (GLuint)uPlane vPlane : (GLuint)vPlane; /** Callback for NV12 frames. Each plane is given as a texture. */ - (void)applyShadingForFrameWithWidth:(int)width diff --git a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCYUVPlanarBuffer.h b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCYUVPlanarBuffer.h similarity index 94% rename from WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCYUVPlanarBuffer.h rename to AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCYUVPlanarBuffer.h index f7377022..7c6743be 100644 --- a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/RTCYUVPlanarBuffer.h +++ b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/RTCYUVPlanarBuffer.h @@ -10,8 +10,8 @@ #import -#import -#import +#import +#import NS_ASSUME_NONNULL_BEGIN diff --git a/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/UIDevice+RTCDevice.h b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/UIDevice+RTCDevice.h new file mode 100644 index 00000000..4d04f38f --- /dev/null +++ b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Headers/UIDevice+RTCDevice.h @@ -0,0 +1,17 @@ +/* + * 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 + +@interface UIDevice (RTCDevice) + ++ (NSString *)machineName; + +@end diff --git a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Info.plist b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Info.plist similarity index 58% rename from WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Info.plist rename to AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Info.plist index ea6b0c53..9296adf5 100644 Binary files a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Info.plist and b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Info.plist differ diff --git a/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Modules/module.modulemap b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Modules/module.modulemap new file mode 100644 index 00000000..465ba4df --- /dev/null +++ b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/Modules/module.modulemap @@ -0,0 +1,6 @@ +framework module AntMedia_WebRTC { + umbrella header "AntMedia_WebRTC.h" + + export * + module * { export * } +} diff --git a/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/PrivacyInfo.xcprivacy b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/PrivacyInfo.xcprivacy new file mode 100644 index 00000000..a1f67253 --- /dev/null +++ b/AntMedia_WebRTC.xcframework/ios-arm64_x86_64-simulator/AntMedia_WebRTC.framework/PrivacyInfo.xcprivacy @@ -0,0 +1,32 @@ + + + + + NSPrivacyAccessedAPITypes + + + NSPrivacyAccessedAPIType + NSPrivacyAccessedAPICategorySystemBootTime + NSPrivacyAccessedAPITypeReasons + + 35F9.1 + 8FFB.1 + + + + NSPrivacyAccessedAPIType + NSPrivacyAccessedAPICategoryFileTimestamp + NSPrivacyAccessedAPITypeReasons + + C617.1 + + + + NSPrivacyCollectedDataTypes + + NSPrivacyTracking + + NSPrivacyTrackingDomains + + + diff --git a/Package.swift b/Package.swift index a503e2af..93e4a1ad 100644 --- a/Package.swift +++ b/Package.swift @@ -9,7 +9,7 @@ let package = Package( products: [ .library( name: "WebRTCiOSSDK", - targets: ["WebRTCiOSSDK", "WebRTC"] + targets: ["WebRTCiOSSDK", "AntMedia_WebRTC"] ), ], dependencies: [ @@ -23,8 +23,8 @@ let package = Package( path: "WebRTCiOSSDK" ), .binaryTarget( - name: "WebRTC", - path: "WebRTC.xcframework" + name: "AntMedia_WebRTC", + path: "AntMedia_WebRTC.xcframework" ) ] ) diff --git a/ScreenShare/SampleHandler.swift b/ScreenShare/SampleHandler.swift index 6f625e39..c1e52c93 100644 --- a/ScreenShare/SampleHandler.swift +++ b/ScreenShare/SampleHandler.swift @@ -8,7 +8,7 @@ import ReplayKit import WebRTCiOSSDK -import WebRTC +import AntMedia_WebRTC class SampleHandler: RPBroadcastSampleHandler, AntMediaClientDelegate { diff --git a/WebRTC-Sample-App/CellView.swift b/WebRTC-Sample-App/CellView.swift index e022baa2..9412dda0 100644 --- a/WebRTC-Sample-App/CellView.swift +++ b/WebRTC-Sample-App/CellView.swift @@ -7,7 +7,7 @@ import Foundation import UIKit -import WebRTC +import AntMedia_WebRTC public class CellView: UICollectionViewCell { diff --git a/WebRTC-Sample-App/ConferenceViewController.swift b/WebRTC-Sample-App/ConferenceViewController.swift index b487d20f..d147f78d 100644 --- a/WebRTC-Sample-App/ConferenceViewController.swift +++ b/WebRTC-Sample-App/ConferenceViewController.swift @@ -8,7 +8,7 @@ import UIKit import Foundation -import WebRTC +import AntMedia_WebRTC import WebRTCiOSSDK open class ConferenceViewController: UIViewController , AVCaptureVideoDataOutputSampleBufferDelegate, RTCVideoViewDelegate{ @@ -47,10 +47,13 @@ open class ConferenceViewController: UIViewController , AVCaptureVideoDataOutpu self.conferenceClient = AntMediaClient.init(); self.conferenceClient?.delegate = self self.conferenceClient?.setWebSocketServerUrl(url: self.clientUrl) + self.conferenceClient?.setLocalView(container: self.localView) //this publishes stream to the room self.publisherStreamId = generateRandomAlphanumericString(length: 10); + + self.conferenceClient?.setTargetResolution(width: 640, height:360 ) self.conferenceClient?.publish(streamId: self.publisherStreamId, token: "", mainTrackId: roomId); //this plays the streams in the room diff --git a/WebRTC-Sample-App/VideoViewController.swift b/WebRTC-Sample-App/VideoViewController.swift index 0aca3c30..1f5451fd 100644 --- a/WebRTC-Sample-App/VideoViewController.swift +++ b/WebRTC-Sample-App/VideoViewController.swift @@ -6,7 +6,7 @@ // import UIKit -import WebRTC +import AntMedia_WebRTC import AVFoundation import WebRTCiOSSDK @@ -80,7 +80,7 @@ class VideoViewController: UIViewController { self.fullVideoView.isHidden = false self.modeLabel.text = "Mode: Publish" self.client!.setCameraPosition(position: .front) - self.client!.setTargetResolution(width: 640, height: 360) + self.client!.setTargetResolution(width: 640, height:360 ) self.client!.setLocalView(container: fullVideoView, mode: .scaleAspectFit) //calling this method is not necessary. It just initializes the connection and opens the camera diff --git a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/UIDevice+RTCDevice.h b/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/UIDevice+RTCDevice.h deleted file mode 100644 index ab477e2a..00000000 --- a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/UIDevice+RTCDevice.h +++ /dev/null @@ -1,111 +0,0 @@ -/* - * 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 - -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) - -+ (RTCDeviceType)deviceType; -+ (BOOL)isIOS11OrLater; - -@end diff --git a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/WebRTC.h b/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/WebRTC.h deleted file mode 100644 index 34b5229c..00000000 --- a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/WebRTC.h +++ /dev/null @@ -1,99 +0,0 @@ -/* - * Copyright 2023 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 -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import diff --git a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Modules/module.modulemap b/WebRTC.xcframework/ios-arm64/WebRTC.framework/Modules/module.modulemap deleted file mode 100644 index cd485a4e..00000000 --- a/WebRTC.xcframework/ios-arm64/WebRTC.framework/Modules/module.modulemap +++ /dev/null @@ -1,6 +0,0 @@ -framework module WebRTC { - umbrella header "WebRTC.h" - - export * - module * { export * } -} diff --git a/WebRTC.xcframework/ios-arm64/WebRTC.framework/WebRTC b/WebRTC.xcframework/ios-arm64/WebRTC.framework/WebRTC deleted file mode 100755 index d72bd35f..00000000 Binary files a/WebRTC.xcframework/ios-arm64/WebRTC.framework/WebRTC and /dev/null differ diff --git a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/UIDevice+RTCDevice.h b/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/UIDevice+RTCDevice.h deleted file mode 100644 index ab477e2a..00000000 --- a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/UIDevice+RTCDevice.h +++ /dev/null @@ -1,111 +0,0 @@ -/* - * 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 - -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) - -+ (RTCDeviceType)deviceType; -+ (BOOL)isIOS11OrLater; - -@end diff --git a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/WebRTC.h b/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/WebRTC.h deleted file mode 100644 index 34b5229c..00000000 --- a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Headers/WebRTC.h +++ /dev/null @@ -1,99 +0,0 @@ -/* - * Copyright 2023 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 -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import diff --git a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Modules/module.modulemap b/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Modules/module.modulemap deleted file mode 100644 index cd485a4e..00000000 --- a/WebRTC.xcframework/ios-arm64_x86_64-simulator/WebRTC.framework/Modules/module.modulemap +++ /dev/null @@ -1,6 +0,0 @@ -framework module WebRTC { - umbrella header "WebRTC.h" - - export * - module * { export * } -} diff --git a/WebRTCiOSSDK.xcodeproj/project.pbxproj b/WebRTCiOSSDK.xcodeproj/project.pbxproj index fcc5792e..5adfaeb4 100644 --- a/WebRTCiOSSDK.xcodeproj/project.pbxproj +++ b/WebRTCiOSSDK.xcodeproj/project.pbxproj @@ -7,17 +7,18 @@ objects = { /* Begin PBXBuildFile section */ + A84034FB2D9FAB3B0043215B /* AntMedia_WebRTC.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = A88F34A82D9F058200F15FB9 /* AntMedia_WebRTC.xcframework */; }; + A84034FE2D9FABAB0043215B /* AntMedia_WebRTC.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = A88F34A82D9F058200F15FB9 /* AntMedia_WebRTC.xcframework */; }; + A84034FF2D9FABAB0043215B /* AntMedia_WebRTC.xcframework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = A88F34A82D9F058200F15FB9 /* AntMedia_WebRTC.xcframework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + A88F34AB2D9F058200F15FB9 /* AntMedia_WebRTC.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = A88F34A82D9F058200F15FB9 /* AntMedia_WebRTC.xcframework */; }; + A88F34AC2D9F058200F15FB9 /* AntMedia_WebRTC.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = A88F34A82D9F058200F15FB9 /* AntMedia_WebRTC.xcframework */; }; A8B965F62A06969900D67CA1 /* ReplayKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A8B965F52A06969900D67CA1 /* ReplayKit.framework */; }; A8B965F92A06969900D67CA1 /* SampleHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = A8B965F82A06969900D67CA1 /* SampleHandler.swift */; }; A8B965FD2A06969A00D67CA1 /* ScreenShare.appex in Embed Foundation Extensions */ = {isa = PBXBuildFile; fileRef = A8B965F42A06969900D67CA1 /* ScreenShare.appex */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; }; A8B966042A069A2800D67CA1 /* WebRTCiOSSDK.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A8DABFCA2A0639D80007CDE7 /* WebRTCiOSSDK.framework */; }; A8B966052A069A2800D67CA1 /* WebRTCiOSSDK.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = A8DABFCA2A0639D80007CDE7 /* WebRTCiOSSDK.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; - A8B966092A069A2C00D67CA1 /* WebRTC.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = A8DABFFD2A063A500007CDE7 /* WebRTC.xcframework */; }; - A8B9660A2A069A2C00D67CA1 /* WebRTC.xcframework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = A8DABFFD2A063A500007CDE7 /* WebRTC.xcframework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; A8C0684E2C45036F00BAD624 /* CellView.swift in Sources */ = {isa = PBXBuildFile; fileRef = A8C0684D2C45036F00BAD624 /* CellView.swift */; }; A8CAF2BF2C0B1DFC00520691 /* ClientStatistics.swift in Sources */ = {isa = PBXBuildFile; fileRef = A8CAF2BD2C0B1DFC00520691 /* ClientStatistics.swift */; }; - A8CAF2C02C0B90DD00520691 /* WebRTC.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = A8DABFFD2A063A500007CDE7 /* WebRTC.xcframework */; }; - A8CAF2C12C0B90DD00520691 /* WebRTC.xcframework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = A8DABFFD2A063A500007CDE7 /* WebRTC.xcframework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; A8DABFD32A0639D80007CDE7 /* WebRTCiOSSDK.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A8DABFCA2A0639D80007CDE7 /* WebRTCiOSSDK.framework */; }; A8DABFD82A0639D80007CDE7 /* WebRTCiOSSDKTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = A8DABFD72A0639D80007CDE7 /* WebRTCiOSSDKTests.swift */; }; A8DABFD92A0639D80007CDE7 /* WebRTCiOSSDK.h in Headers */ = {isa = PBXBuildFile; fileRef = A8DABFCD2A0639D80007CDE7 /* WebRTCiOSSDK.h */; settings = {ATTRIBUTES = (Public, ); }; }; @@ -50,9 +51,6 @@ A8DAC0482A063BC00007CDE7 /* ConferenceViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = A8DAC0402A063BC00007CDE7 /* ConferenceViewController.swift */; }; A8DAC04A2A063C4A0007CDE7 /* WebRTCiOSSDK.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A8DABFCA2A0639D80007CDE7 /* WebRTCiOSSDK.framework */; }; A8DAC04B2A063C4A0007CDE7 /* WebRTCiOSSDK.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = A8DABFCA2A0639D80007CDE7 /* WebRTCiOSSDK.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; - A8DAC04F2A063C9B0007CDE7 /* WebRTC.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = A8DABFFD2A063A500007CDE7 /* WebRTC.xcframework */; }; - A8DAC0522A063D300007CDE7 /* WebRTC.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = A8DABFFD2A063A500007CDE7 /* WebRTC.xcframework */; }; - A8DAC0532A063D300007CDE7 /* WebRTC.xcframework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = A8DABFFD2A063A500007CDE7 /* WebRTC.xcframework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; A8DAC0A42A0672040007CDE7 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = A8DAC0A22A0672040007CDE7 /* LaunchScreen.storyboard */; }; /* End PBXBuildFile section */ @@ -119,7 +117,6 @@ dstPath = ""; dstSubfolderSpec = 10; files = ( - A8B9660A2A069A2C00D67CA1 /* WebRTC.xcframework in Embed Frameworks */, A8B966052A069A2800D67CA1 /* WebRTCiOSSDK.framework in Embed Frameworks */, ); name = "Embed Frameworks"; @@ -131,7 +128,6 @@ dstPath = ""; dstSubfolderSpec = 10; files = ( - A8CAF2C12C0B90DD00520691 /* WebRTC.xcframework in Embed Frameworks */, ); name = "Embed Frameworks"; runOnlyForDeploymentPostprocessing = 0; @@ -142,8 +138,8 @@ dstPath = ""; dstSubfolderSpec = 10; files = ( - A8DAC0532A063D300007CDE7 /* WebRTC.xcframework in Embed Frameworks */, A8DAC04B2A063C4A0007CDE7 /* WebRTCiOSSDK.framework in Embed Frameworks */, + A84034FF2D9FABAB0043215B /* AntMedia_WebRTC.xcframework in Embed Frameworks */, ); name = "Embed Frameworks"; runOnlyForDeploymentPostprocessing = 0; @@ -152,6 +148,7 @@ /* Begin PBXFileReference section */ A8522FE02B832967007BC5A8 /* WebRTC-Sample-AppDebug.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = "WebRTC-Sample-AppDebug.entitlements"; sourceTree = ""; }; + A88F34A82D9F058200F15FB9 /* AntMedia_WebRTC.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; path = AntMedia_WebRTC.xcframework; sourceTree = ""; }; A8B965F42A06969900D67CA1 /* ScreenShare.appex */ = {isa = PBXFileReference; explicitFileType = "wrapper.app-extension"; includeInIndex = 0; path = ScreenShare.appex; sourceTree = BUILT_PRODUCTS_DIR; }; A8B965F52A06969900D67CA1 /* ReplayKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = ReplayKit.framework; path = System/Library/Frameworks/ReplayKit.framework; sourceTree = SDKROOT; }; A8B965F82A06969900D67CA1 /* SampleHandler.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SampleHandler.swift; sourceTree = ""; }; @@ -174,7 +171,6 @@ A8DABFEC2A063A020007CDE7 /* WebRTCClient.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = WebRTCClient.swift; sourceTree = ""; }; A8DABFED2A063A020007CDE7 /* Dictionary.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Dictionary.swift; sourceTree = ""; }; A8DABFEE2A063A020007CDE7 /* String.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = String.swift; sourceTree = ""; }; - A8DABFFD2A063A500007CDE7 /* WebRTC.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; path = WebRTC.xcframework; sourceTree = ""; }; A8DAC0032A063AB30007CDE7 /* WebRTC-Sample-App.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "WebRTC-Sample-App.app"; sourceTree = BUILT_PRODUCTS_DIR; }; A8DAC0052A063AB30007CDE7 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; A8DAC0072A063AB30007CDE7 /* SceneDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SceneDelegate.swift; sourceTree = ""; }; @@ -205,7 +201,7 @@ files = ( A8B966042A069A2800D67CA1 /* WebRTCiOSSDK.framework in Frameworks */, A8B965F62A06969900D67CA1 /* ReplayKit.framework in Frameworks */, - A8B966092A069A2C00D67CA1 /* WebRTC.xcframework in Frameworks */, + A88F34AC2D9F058200F15FB9 /* AntMedia_WebRTC.xcframework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -213,8 +209,8 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - A8DAC04F2A063C9B0007CDE7 /* WebRTC.xcframework in Frameworks */, A8DABFFC2A063A2F0007CDE7 /* Starscream in Frameworks */, + A84034FB2D9FAB3B0043215B /* AntMedia_WebRTC.xcframework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -222,8 +218,8 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - A8CAF2C02C0B90DD00520691 /* WebRTC.xcframework in Frameworks */, A8DABFD32A0639D80007CDE7 /* WebRTCiOSSDK.framework in Frameworks */, + A88F34AB2D9F058200F15FB9 /* AntMedia_WebRTC.xcframework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -231,8 +227,8 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - A8DAC0522A063D300007CDE7 /* WebRTC.xcframework in Frameworks */, A8DAC04A2A063C4A0007CDE7 /* WebRTCiOSSDK.framework in Frameworks */, + A84034FE2D9FABAB0043215B /* AntMedia_WebRTC.xcframework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -275,7 +271,7 @@ A8DABFC02A0639D70007CDE7 = { isa = PBXGroup; children = ( - A8DABFFD2A063A500007CDE7 /* WebRTC.xcframework */, + A88F34A82D9F058200F15FB9 /* AntMedia_WebRTC.xcframework */, A8DABFCC2A0639D80007CDE7 /* WebRTCiOSSDK */, A8DABFD62A0639D80007CDE7 /* WebRTCiOSSDKTests */, A8DAC0042A063AB30007CDE7 /* WebRTC-Sample-App */, @@ -820,7 +816,7 @@ "@executable_path/../../Frameworks", ); MARKETING_VERSION = 1.0; - PRODUCT_BUNDLE_IDENTIFIER = "io.antmedia.ios.webrtc-sample.screen.share"; + PRODUCT_BUNDLE_IDENTIFIER = "io.antmedia.ios.webrtc-sample2.screen.share"; PRODUCT_NAME = "$(TARGET_NAME)"; SKIP_INSTALL = YES; SWIFT_EMIT_LOC_STRINGS = YES; @@ -847,7 +843,7 @@ "@executable_path/../../Frameworks", ); MARKETING_VERSION = 1.0; - PRODUCT_BUNDLE_IDENTIFIER = "io.antmedia.ios.webrtc-sample.screen.share"; + PRODUCT_BUNDLE_IDENTIFIER = "io.antmedia.ios.webrtc-sample2.screen.share"; PRODUCT_NAME = "$(TARGET_NAME)"; SKIP_INSTALL = YES; SWIFT_EMIT_LOC_STRINGS = YES; @@ -1113,7 +1109,7 @@ "@executable_path/Frameworks", ); MARKETING_VERSION = 1.0; - PRODUCT_BUNDLE_IDENTIFIER = "io.antmedia.ios.webrtc-sample"; + PRODUCT_BUNDLE_IDENTIFIER = "io.antmedia.ios.webrtc-sample2"; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE_SPECIFIER = ""; SUPPORTED_PLATFORMS = "iphoneos iphonesimulator"; @@ -1152,7 +1148,7 @@ "@executable_path/Frameworks", ); MARKETING_VERSION = 1.0; - PRODUCT_BUNDLE_IDENTIFIER = "io.antmedia.ios.webrtc-sample"; + PRODUCT_BUNDLE_IDENTIFIER = "io.antmedia.ios.webrtc-sample2"; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE_SPECIFIER = ""; SUPPORTED_PLATFORMS = "iphoneos iphonesimulator"; diff --git a/WebRTCiOSSDK/api/AntMediaClient.swift b/WebRTCiOSSDK/api/AntMediaClient.swift index eeba25a2..ce7759b8 100644 --- a/WebRTCiOSSDK/api/AntMediaClient.swift +++ b/WebRTCiOSSDK/api/AntMediaClient.swift @@ -8,7 +8,7 @@ import Foundation import AVFoundation import Starscream -import WebRTC +import AntMedia_WebRTC let TAG: String = "AntMedia_iOS: " @@ -92,8 +92,8 @@ open class AntMediaClient: NSObject, AntMediaClientProtocol { private var cameraPosition: AVCaptureDevice.Position = .front - private var targetWidth: Int = 1_280 - private var targetHeight: Int = 720 + private var targetWidth: Int = 480 + private var targetHeight: Int = 360 private var maxVideoBps: NSNumber = 0 @@ -702,7 +702,7 @@ open class AntMediaClient: NSObject, AntMediaClientProtocol { self.rtcAudioSession.lockForConfiguration() do { - let category = mute ? AVAudioSession.Category.soloAmbient.rawValue : AVAudioSession.Category.playAndRecord.rawValue + let category = mute ? AVAudioSession.Category.soloAmbient : AVAudioSession.Category.playAndRecord try self.rtcAudioSession.setCategory(category) // playAndRecord category defaults receiver to set to speaker @@ -1026,12 +1026,16 @@ open class AntMediaClient: NSObject, AntMediaClientProtocol { self.joinedRoom(streamId: streamId, streams: streams) } else if definition == BROADCAST_OBJECT_NOTIFICATION { // broadcastObject - let broadcastString = message["broadcast"] as! String - let broadcastObject = broadcastString.toJSON() - self.delegate?.onLoadBroadcastObject( - streamId: message[STREAM_ID] as! String, - message: broadcastObject ?? [:] - ) + if let broadcastString = message["broadcast"] as? String { + let broadcastObject = broadcastString.toJSON() + self.delegate?.onLoadBroadcastObject( + streamId: message[STREAM_ID] as! String, + message: broadcastObject ?? [:] + ) + } + else { + AntMediaClient.printf("Warning: Broadcast object has not broadcast field") + } } else if definition == RESOLUTION_CHANGE_INFO_COMMAND { let streamId = message[STREAM_ID] as? String ?? "" diff --git a/WebRTCiOSSDK/api/AntMediaClientDelegate.swift b/WebRTCiOSSDK/api/AntMediaClientDelegate.swift index 7c8ac44d..9d01bdda 100644 --- a/WebRTCiOSSDK/api/AntMediaClientDelegate.swift +++ b/WebRTCiOSSDK/api/AntMediaClientDelegate.swift @@ -6,7 +6,7 @@ // import Foundation -import WebRTC +import AntMedia_WebRTC public class StreamInformation { public let streamWidth: Int diff --git a/WebRTCiOSSDK/api/AntMediaClientProtocol.swift b/WebRTCiOSSDK/api/AntMediaClientProtocol.swift index e14657a3..e9329188 100644 --- a/WebRTCiOSSDK/api/AntMediaClientProtocol.swift +++ b/WebRTCiOSSDK/api/AntMediaClientProtocol.swift @@ -8,7 +8,7 @@ import Foundation import AVFoundation -import WebRTC +import AntMedia_WebRTC let COMMAND = "command" let STREAM_ID = "streamId" diff --git a/WebRTCiOSSDK/api/utils/ClientStatistics.swift b/WebRTCiOSSDK/api/utils/ClientStatistics.swift index 78653641..0d01d01e 100644 --- a/WebRTCiOSSDK/api/utils/ClientStatistics.swift +++ b/WebRTCiOSSDK/api/utils/ClientStatistics.swift @@ -6,7 +6,7 @@ // import Foundation -import WebRTC +import AntMedia_WebRTC // I debugged RTCStatistics object and found these types and extracted required values from it // ex: auidoLevel diff --git a/WebRTCiOSSDK/api/webrtc/Config.swift b/WebRTCiOSSDK/api/webrtc/Config.swift index 2bb7ff24..2ce937c1 100644 --- a/WebRTCiOSSDK/api/webrtc/Config.swift +++ b/WebRTCiOSSDK/api/webrtc/Config.swift @@ -7,7 +7,7 @@ // import Foundation -import WebRTC +import AntMedia_WebRTC public class Config: NSObject { diff --git a/WebRTCiOSSDK/api/webrtc/RTCCustomFrameCapturer.swift b/WebRTCiOSSDK/api/webrtc/RTCCustomFrameCapturer.swift index ac6b089c..a05e10fe 100644 --- a/WebRTCiOSSDK/api/webrtc/RTCCustomFrameCapturer.swift +++ b/WebRTCiOSSDK/api/webrtc/RTCCustomFrameCapturer.swift @@ -7,7 +7,7 @@ // import Foundation -import WebRTC +import AntMedia_WebRTC import ReplayKit class RTCCustomFrameCapturer: RTCVideoCapturer { diff --git a/WebRTCiOSSDK/api/webrtc/WebRTCClient.swift b/WebRTCiOSSDK/api/webrtc/WebRTCClient.swift index 22d7e5eb..095d428c 100644 --- a/WebRTCiOSSDK/api/webrtc/WebRTCClient.swift +++ b/WebRTCiOSSDK/api/webrtc/WebRTCClient.swift @@ -7,7 +7,7 @@ import Foundation import AVFoundation -import WebRTC +import AntMedia_WebRTC import ReplayKit class WebRTCClient: NSObject { diff --git a/WebRTCiOSSDK/api/webrtc/WebRTCClientDelegate.swift b/WebRTCiOSSDK/api/webrtc/WebRTCClientDelegate.swift index 1f919bca..51389f93 100644 --- a/WebRTCiOSSDK/api/webrtc/WebRTCClientDelegate.swift +++ b/WebRTCiOSSDK/api/webrtc/WebRTCClientDelegate.swift @@ -6,7 +6,7 @@ // import Foundation -import WebRTC +import AntMedia_WebRTC internal protocol WebRTCClientDelegate: AnyObject { diff --git a/webrtc_framework/last-2-commits_m108.patch b/webrtc_framework/0001-rtc_audio_device_and_dont_ask_mic_permission_for_playback_and_AntMedia_WebRTC_Framework.patch similarity index 61% rename from webrtc_framework/last-2-commits_m108.patch rename to webrtc_framework/0001-rtc_audio_device_and_dont_ask_mic_permission_for_playback_and_AntMedia_WebRTC_Framework.patch index b6ce1c6a..8bc83f7b 100644 --- a/webrtc_framework/last-2-commits_m108.patch +++ b/webrtc_framework/0001-rtc_audio_device_and_dont_ask_mic_permission_for_playback_and_AntMedia_WebRTC_Framework.patch @@ -1,32 +1,34 @@ -From 3cfda1092128d6fc676b823f3f33919b0f64a0e5 Mon Sep 17 00:00:00 2001 +From 26a5e44ac83e5da5b4af6835a9286d325aea767c Mon Sep 17 00:00:00 2001 From: mekya -Date: Sat, 26 Nov 2022 15:44:59 +0300 -Subject: [PATCH 1/2] Patch RTCAudioDeviceModule and Mic Permission for - Playback +Date: Fri, 4 Apr 2025 10:36:47 +0300 +Subject: [PATCH] Patch the new files and change framework to AntMedia_WebRTC -Signed-off-by: mekya --- - sdk/BUILD.gn | 7 + + sdk/BUILD.gn | 10 +- + sdk/objc/Info.plist | 6 +- .../RTCAudioDeviceModule+Private.h | 16 ++ - .../api/peerconnection/RTCAudioDeviceModule.h | 18 +++ - .../peerconnection/RTCAudioDeviceModule.mm | 27 ++++ - .../peerconnection/RTCPeerConnectionFactory.h | 5 + - .../RTCPeerConnectionFactory.mm | 27 ++++ - sdk/objc/native/src/audio/audio_device_ios.h | 10 +- - sdk/objc/native/src/audio/audio_device_ios.mm | 145 +++++++++++++++--- - .../src/audio/audio_device_module_ios.h | 4 + - .../src/audio/audio_device_module_ios.mm | 5 + - .../src/audio/voice_processing_audio_unit.mm | 106 ++++++++----- - 11 files changed, 306 insertions(+), 64 deletions(-) + .../api/peerconnection/RTCAudioDeviceModule.h | 20 ++ + .../peerconnection/RTCAudioDeviceModule.mm | 32 ++++ + .../peerconnection/RTCPeerConnectionFactory.h | 6 + + .../RTCPeerConnectionFactory.mm | 29 +++ + sdk/objc/native/src/audio/audio_device_ios.h | 15 +- + sdk/objc/native/src/audio/audio_device_ios.mm | 162 +++++++++++++--- + .../src/audio/audio_device_module_ios.h | 6 + + .../src/audio/audio_device_module_ios.mm | 23 +++ + .../src/audio/voice_processing_audio_unit.mm | 177 +++++++++++++----- + tools_webrtc/apple/copy_framework_header.py | 2 +- + tools_webrtc/ios/generate_umbrella_header.py | 2 +- + webrtc.gni | 6 +- + 15 files changed, 424 insertions(+), 88 deletions(-) create mode 100644 sdk/objc/api/peerconnection/RTCAudioDeviceModule+Private.h create mode 100644 sdk/objc/api/peerconnection/RTCAudioDeviceModule.h create mode 100644 sdk/objc/api/peerconnection/RTCAudioDeviceModule.mm diff --git a/sdk/BUILD.gn b/sdk/BUILD.gn -index 759682f1d4..7bc06d5b6c 100644 +index e76b68c92e..aa3b2aa79d 100644 --- a/sdk/BUILD.gn +++ b/sdk/BUILD.gn -@@ -936,6 +936,7 @@ if (is_ios || is_mac) { +@@ -938,6 +938,7 @@ if (is_ios || is_mac) { ] configs += [ "..:no_global_constructors" ] sources = [ @@ -34,18 +36,27 @@ index 759682f1d4..7bc06d5b6c 100644 "objc/api/peerconnection/RTCAudioSource+Private.h", "objc/api/peerconnection/RTCAudioSource.h", "objc/api/peerconnection/RTCAudioSource.mm", -@@ -1103,6 +1104,10 @@ if (is_ios || is_mac) { +@@ -1125,6 +1126,10 @@ if (is_ios || is_mac) { ] if (is_ios) { -+ sources += [ ++ sources += [ + "objc/api/peerconnection/RTCAudioDeviceModule+Private.h", + "objc/api/peerconnection/RTCAudioDeviceModule.mm", + ] - deps += [ ":native_api_audio_device_module" ] - } - } -@@ -1306,6 +1311,7 @@ if (is_ios || is_mac) { + deps += [ + ":native_api_audio_device_module", + "../api/transport:network_control", +@@ -1283,7 +1288,7 @@ if (is_ios || is_mac) { + if (is_ios) { + apple_framework_bundle_with_umbrella_header("framework_objc") { + info_plist = "objc/Info.plist" +- output_name = "WebRTC" ++ output_name = "AntMedia_WebRTC" + + common_objc_headers = [ + "objc/base/RTCCodecSpecificInfo.h", +@@ -1327,6 +1332,7 @@ if (is_ios || is_mac) { "objc/helpers/RTCCameraPreviewView.h", "objc/helpers/RTCDispatcher.h", "objc/helpers/UIDevice+RTCDevice.h", @@ -53,14 +64,36 @@ index 759682f1d4..7bc06d5b6c 100644 "objc/api/peerconnection/RTCAudioSource.h", "objc/api/peerconnection/RTCAudioTrack.h", "objc/api/peerconnection/RTCConfiguration.h", -@@ -1418,6 +1424,7 @@ if (is_ios || is_mac) { - output_name = "WebRTC" +@@ -1431,7 +1437,7 @@ if (is_ios || is_mac) { - sources = [ -+ "objc/api/peerconnection/RTCAudioDeviceModule.h", - "objc/api/peerconnection/RTCAudioSource.h", - "objc/api/peerconnection/RTCAudioTrack.h", - "objc/api/peerconnection/RTCCertificate.h", + bundle_data("ios_framework_bundle") { + deps = [ "../sdk:framework_objc" ] +- sources = [ "$root_build_dir/WebRTC.framework" ] ++ sources = [ "$root_build_dir/AntMedia_WebRTC.framework" ] + outputs = [ "{{bundle_resources_dir}}/Frameworks/{{source_file_part}}" ] + } + } +diff --git a/sdk/objc/Info.plist b/sdk/objc/Info.plist +index 38c437e7fe..f227e5294d 100644 +--- a/sdk/objc/Info.plist ++++ b/sdk/objc/Info.plist +@@ -5,13 +5,13 @@ + CFBundleDevelopmentRegion + en + CFBundleExecutable +- WebRTC ++ AntMedia_WebRTC + CFBundleIdentifier +- org.webrtc.WebRTC ++ io.antmedia.org.webrtc.WebRTC + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName +- WebRTC ++ AntMedia_WebRTC + CFBundlePackageType + FMWK + CFBundleShortVersionString diff --git a/sdk/objc/api/peerconnection/RTCAudioDeviceModule+Private.h b/sdk/objc/api/peerconnection/RTCAudioDeviceModule+Private.h new file mode 100644 index 0000000000..72ccd693c6 @@ -86,10 +119,10 @@ index 0000000000..72ccd693c6 \ No newline at end of file diff --git a/sdk/objc/api/peerconnection/RTCAudioDeviceModule.h b/sdk/objc/api/peerconnection/RTCAudioDeviceModule.h new file mode 100644 -index 0000000000..d8aba54508 +index 0000000000..876d8960c7 --- /dev/null +++ b/sdk/objc/api/peerconnection/RTCAudioDeviceModule.h -@@ -0,0 +1,18 @@ +@@ -0,0 +1,20 @@ + +#import +#import @@ -105,16 +138,18 @@ index 0000000000..d8aba54508 + +- (void)deliverRecordedData:(CMSampleBufferRef)sampleBuffer; + ++- (void)setExternalAudio:(bool)enable; ++ +@end + +NS_ASSUME_NONNULL_END \ No newline at end of file diff --git a/sdk/objc/api/peerconnection/RTCAudioDeviceModule.mm b/sdk/objc/api/peerconnection/RTCAudioDeviceModule.mm new file mode 100644 -index 0000000000..531bac8eda +index 0000000000..5531f80798 --- /dev/null +++ b/sdk/objc/api/peerconnection/RTCAudioDeviceModule.mm -@@ -0,0 +1,27 @@ +@@ -0,0 +1,32 @@ + +#include + @@ -127,7 +162,8 @@ index 0000000000..531bac8eda + +- (instancetype)init { + self = [super init]; -+ _nativeModule = new rtc::RefCountedObject(false); ++ _nativeModule = new rtc::RefCountedObject ++ (false, nullptr, nullptr); + return self; +} + @@ -135,6 +171,10 @@ index 0000000000..531bac8eda + _nativeModule->OnDeliverRecordedExternalData(sampleBuffer); +} + ++- (void)setExternalAudio:(bool)enabled { ++ _nativeModule->setExternalAudio(enabled); ++} ++ +#pragma mark - Private + +- (rtc::scoped_refptr)nativeModule { @@ -144,41 +184,43 @@ index 0000000000..531bac8eda +@end \ No newline at end of file diff --git a/sdk/objc/api/peerconnection/RTCPeerConnectionFactory.h b/sdk/objc/api/peerconnection/RTCPeerConnectionFactory.h -index 5575af98c9..f48c14faed 100644 +index abfa679a1c..10bc19925d 100644 --- a/sdk/objc/api/peerconnection/RTCPeerConnectionFactory.h +++ b/sdk/objc/api/peerconnection/RTCPeerConnectionFactory.h -@@ -11,6 +11,7 @@ +@@ -11,6 +11,8 @@ #import - #import "RTCMacros.h" + #import "sdk/objc/base/RTCMacros.h" +#import "RTCAudioDeviceModule.h" ++ NS_ASSUME_NONNULL_BEGIN -@@ -51,6 +52,10 @@ RTC_OBJC_EXPORT - decoderFactory:(nullable id)decoderFactory - audioDevice:(nullable id)audioDevice; +@@ -59,6 +61,10 @@ RTC_OBJC_EXPORT + audioDevice: + (nullable id)audioDevice; +- (instancetype)initWithEncoderFactory:(nullable id)encoderFactory + decoderFactory:(nullable id)decoderFactory + audioDeviceModule:(RTCAudioDeviceModule *)audioDeviceModule NS_AVAILABLE_IOS(2_0); + - /** Initialize an RTCAudioSource with constraints. */ - - (RTC_OBJC_TYPE(RTCAudioSource) *)audioSourceWithConstraints: - (nullable RTC_OBJC_TYPE(RTCMediaConstraints) *)constraints; + /** + * Valid kind values are kRTCMediaStreamTrackKindAudio and + * kRTCMediaStreamTrackKindVideo. diff --git a/sdk/objc/api/peerconnection/RTCPeerConnectionFactory.mm b/sdk/objc/api/peerconnection/RTCPeerConnectionFactory.mm -index c4d89e911d..6699facc04 100644 +index 710ff3b480..480559949a 100644 --- a/sdk/objc/api/peerconnection/RTCPeerConnectionFactory.mm +++ b/sdk/objc/api/peerconnection/RTCPeerConnectionFactory.mm -@@ -14,6 +14,7 @@ - #import "RTCPeerConnectionFactory+Private.h" - #import "RTCPeerConnectionFactoryOptions+Private.h" - +@@ -48,6 +48,8 @@ + #include "sdk/objc/native/api/video_encoder_factory.h" + #include "sdk/objc/native/src/objc_video_decoder_factory.h" + #include "sdk/objc/native/src/objc_video_encoder_factory.h" +#import "RTCAudioDeviceModule+Private.h" - #import "RTCAudioSource+Private.h" - #import "RTCAudioTrack+Private.h" - #import "RTCMediaConstraints+Private.h" -@@ -116,6 +117,32 @@ - (instancetype)init { ++ + + #if defined(WEBRTC_IOS) + #import "sdk/objc/native/api/audio_device_module.h" +@@ -126,6 +128,33 @@ - (instancetype)init { #endif } @@ -208,11 +250,12 @@ index c4d89e911d..6699facc04 100644 +#endif + + - - (instancetype)initNative { - if (self = [super init]) { - _networkThread = rtc::Thread::CreateWithSocketServer(); ++ + - (instancetype)initWithNativeDependencies: + (webrtc::PeerConnectionFactoryDependencies)dependencies { + self = [super init]; diff --git a/sdk/objc/native/src/audio/audio_device_ios.h b/sdk/objc/native/src/audio/audio_device_ios.h -index a86acb56fe..eadd9f87e3 100644 +index bbb4025694..3b6157ca53 100644 --- a/sdk/objc/native/src/audio/audio_device_ios.h +++ b/sdk/objc/native/src/audio/audio_device_ios.h @@ -12,6 +12,7 @@ @@ -223,7 +266,7 @@ index a86acb56fe..eadd9f87e3 100644 #include #include "api/scoped_refptr.h" -@@ -148,6 +149,8 @@ class AudioDeviceIOS : public AudioDeviceGeneric, +@@ -156,12 +157,17 @@ class AudioDeviceIOS : public AudioDeviceGeneric, void OnCanPlayOrRecordChange(bool can_play_or_record) override; void OnChangedOutputVolume() override; @@ -232,29 +275,47 @@ index a86acb56fe..eadd9f87e3 100644 // VoiceProcessingAudioUnitObserver methods. OSStatus OnDeliverRecordedData(AudioUnitRenderActionFlags* flags, const AudioTimeStamp* time_stamp, -@@ -212,7 +215,10 @@ class AudioDeviceIOS : public AudioDeviceGeneric, - const bool bypass_voice_processing_; + UInt32 bus_number, + UInt32 num_frames, + AudioBufferList* io_data) override; ++ ++ void setExternalAudio(bool enable); ++ + OSStatus OnGetPlayoutData(AudioUnitRenderActionFlags* flags, + const AudioTimeStamp* time_stamp, + UInt32 bus_number, +@@ -234,7 +240,9 @@ class AudioDeviceIOS : public AudioDeviceGeneric, + bool disregard_next_render_error_; // Native I/O audio thread checker. - SequenceChecker io_thread_checker_; + //SequenceChecker io_thread_checker_; + -+ // Native audio I/O mutex. + Mutex io_mutex_; // Thread that this object is created on. rtc::Thread* thread_; -@@ -285,7 +291,7 @@ class AudioDeviceIOS : public AudioDeviceGeneric, +@@ -298,6 +306,9 @@ class AudioDeviceIOS : public AudioDeviceGeneric, + // Set to true if audio session is interrupted, false otherwise. + bool is_interrupted_; ++ //if it's true, it does not get recording and expect OnDeliverRecordedExternalData to be called ++ bool externalAudio_; ++ + // Audio interruption observer instance. + RTCNativeAudioSessionDelegateAdapter* audio_session_observer_ + RTC_GUARDED_BY(thread_); +@@ -308,7 +319,7 @@ class AudioDeviceIOS : public AudioDeviceGeneric, // Counts number of detected audio glitches on the playout side. - int64_t num_detected_playout_glitches_ RTC_GUARDED_BY(thread_); + std::atomic num_detected_playout_glitches_; + std::atomic total_playout_glitches_duration_ms_; - int64_t last_playout_time_ RTC_GUARDED_BY(io_thread_checker_); + int64_t last_playout_time_ RTC_GUARDED_BY(io_mutex_); // Counts number of playout callbacks per call. // The value is updated on the native I/O thread and later read on the diff --git a/sdk/objc/native/src/audio/audio_device_ios.mm b/sdk/objc/native/src/audio/audio_device_ios.mm -index dd2c11bdd2..5dfac4e438 100644 +index dd7dcc4201..23ebf95f73 100644 --- a/sdk/objc/native/src/audio/audio_device_ios.mm +++ b/sdk/objc/native/src/audio/audio_device_ios.mm @@ -10,7 +10,7 @@ @@ -265,17 +326,25 @@ index dd2c11bdd2..5dfac4e438 100644 +#import #include "audio_device_ios.h" - #include -@@ -106,7 +106,7 @@ static void LogDeviceInfo() { - last_output_volume_change_time_(0) { + #include +@@ -110,6 +110,7 @@ static void LogDeviceInfo() { + initialized_(false), + audio_is_initialized_(false), + is_interrupted_(false), ++ externalAudio_(false), + has_configured_session_(false), + num_detected_playout_glitches_(0), + total_playout_glitches_duration_ms_(0), +@@ -123,7 +124,7 @@ static void LogDeviceInfo() { + last_hw_output_latency_update_sample_count_(0) { LOGI() << "ctor" << ios::GetCurrentThreadDescription() << ",bypass_voice_processing=" << bypass_voice_processing_; - io_thread_checker_.Detach(); + //io_thread_checker_.Detach(); thread_ = rtc::Thread::Current(); - audio_session_observer_ = [[RTCNativeAudioSessionDelegateAdapter alloc] initWithObserver:this]; -@@ -129,7 +129,7 @@ static void LogDeviceInfo() { + audio_session_observer_ = +@@ -150,7 +151,7 @@ static void LogDeviceInfo() { AudioDeviceGeneric::InitStatus AudioDeviceIOS::Init() { LOGI() << "Init"; @@ -284,17 +353,27 @@ index dd2c11bdd2..5dfac4e438 100644 RTC_DCHECK_RUN_ON(thread_); if (initialized_) { -@@ -360,12 +360,73 @@ static void LogDeviceInfo() { +@@ -393,13 +394,87 @@ static void LogDeviceInfo() { thread_->PostTask(SafeTask(safety_, [this] { HandleOutputVolumeChange(); })); } ++void AudioDeviceIOS::setExternalAudio(bool enable) { ++ externalAudio_ = enable; ++} ++ +void AudioDeviceIOS::OnDeliverRecordedExternalData(CMSampleBufferRef sample_buffer) { + MutexLock scoped_lock(&io_mutex_); + -+ if (audio_unit_ && audio_unit_->GetState() != VoiceProcessingAudioUnit::kUninitialized) { -+ RTCLogError(@"External recorded data was provided while audio unit is enabled."); -+ return; -+ } ++ // if (audio_unit_ && audio_unit_->GetState() != VoiceProcessingAudioUnit::kUninitialized) { ++ // RTCLogError(@"External recorded data was provided while audio unit is enabled."); ++ // return; ++ // } ++ ++ if (!this->externalAudio_) { ++ RTCLogError(@"External audio is not enabled so discarding the incoming data"); ++ return; ++ } ++ + + CMFormatDescriptionRef description = CMSampleBufferGetFormatDescription(sample_buffer); + const AudioStreamBasicDescription *asbd = CMAudioFormatDescriptionGetStreamBasicDescription(description); @@ -305,7 +384,7 @@ index dd2c11bdd2..5dfac4e438 100644 + + if (asbd->mSampleRate != record_parameters_.sample_rate() || + asbd->mChannelsPerFrame != record_parameters_.channels()) { -+ record_parameters_.reset(asbd->mSampleRate, asbd->mChannelsPerFrame); ++ record_parameters_.reset(asbd->mSampleRate, asbd->mChannelsPerFrame); + UpdateAudioDeviceBuffer(); + + // Create a modified audio buffer class which allows us to ask for, @@ -346,31 +425,34 @@ index dd2c11bdd2..5dfac4e438 100644 + CFRelease(block_buffer); +} + -+ -+ - OSStatus AudioDeviceIOS::OnDeliverRecordedData(AudioUnitRenderActionFlags* flags, - const AudioTimeStamp* time_stamp, - UInt32 bus_number, - UInt32 num_frames, - AudioBufferList* /* io_data */) { + OSStatus AudioDeviceIOS::OnDeliverRecordedData( + AudioUnitRenderActionFlags* flags, + const AudioTimeStamp* time_stamp, + UInt32 bus_number, + UInt32 num_frames, + AudioBufferList* /* io_data */) { - RTC_DCHECK_RUN_ON(&io_thread_checker_); -+ //RTC_DCHECK_RUN_ON(&io_thread_checker_); ++ if (this->externalAudio_) { ++ RTCLogError(@"External Audio is enabled so not using current recorded audio"); ++ return noErr; ++ } ++ ++ // RTC_DCHECK_RUN_ON(&io_thread_checker_); + MutexLock scoped_lock(&io_mutex_); OSStatus result = noErr; // Simply return if recording is not enabled. if (!recording_.load(std::memory_order_acquire)) return result; -@@ -413,8 +474,9 @@ static void LogDeviceInfo() { +@@ -460,7 +535,8 @@ static void LogDeviceInfo() { UInt32 bus_number, UInt32 num_frames, AudioBufferList* io_data) { - RTC_DCHECK_RUN_ON(&io_thread_checker_); + //RTC_DCHECK_RUN_ON(&io_thread_checker_); - // Verify 16-bit, noninterleaved mono PCM signal format. + MutexLock scoped_lock(&io_mutex_); + // Verify 16-bit, noninterleaved mono PCM signal format. RTC_DCHECK_EQ(1, io_data->mNumberBuffers); AudioBuffer* audio_buffer = &io_data->mBuffers[0]; - RTC_DCHECK_EQ(1, audio_buffer->mNumberChannels); -@@ -638,15 +700,28 @@ static void LogDeviceInfo() { +@@ -740,16 +816,27 @@ static void LogDeviceInfo() { // AttachAudioBuffer() is called at construction by the main class but check // just in case. RTC_DCHECK(audio_device_buffer_) << "AttachAudioBuffer must be called first"; @@ -385,14 +467,16 @@ index dd2c11bdd2..5dfac4e438 100644 // Inform the audio device buffer (ADB) about the new audio format. - audio_device_buffer_->SetPlayoutSampleRate(playout_parameters_.sample_rate()); - audio_device_buffer_->SetPlayoutChannels(playout_parameters_.channels()); -- audio_device_buffer_->SetRecordingSampleRate(record_parameters_.sample_rate()); +- audio_device_buffer_->SetRecordingSampleRate( +- record_parameters_.sample_rate()); - audio_device_buffer_->SetRecordingChannels(record_parameters_.channels()); + //audio_device_buffer_->SetPlayoutSampleRate(playout_parameters_.sample_rate()); + //audio_device_buffer_->SetPlayoutChannels(playout_parameters_.channels()); -+ //audio_device_buffer_->SetRecordingSampleRate(record_parameters_.sample_rate()); ++ //audio_device_buffer_->SetRecordingSampleRate( ++ // record_parameters_.sample_rate()); + //audio_device_buffer_->SetRecordingChannels(record_parameters_.channels()); + -+ if (playout_parameters_.is_valid()) { ++ if (playout_parameters_.is_valid()) { + //RTC_DCHECK_EQ(playout_parameters_.channels(), 1); + audio_device_buffer_->SetPlayoutSampleRate(playout_parameters_.sample_rate()); + audio_device_buffer_->SetPlayoutChannels(playout_parameters_.channels()); @@ -402,42 +486,42 @@ index dd2c11bdd2..5dfac4e438 100644 + audio_device_buffer_->SetRecordingSampleRate(record_parameters_.sample_rate()); + audio_device_buffer_->SetRecordingChannels(record_parameters_.channels()); + } -+ -+ } void AudioDeviceIOS::SetupAudioBuffersForActiveAudioSession() { -@@ -683,9 +758,13 @@ static void LogDeviceInfo() { +@@ -788,11 +875,13 @@ static void LogDeviceInfo() { // number of audio frames. // Example: IO buffer size = 0.008 seconds <=> 128 audio frames at 16kHz. // Hence, 128 is the size we expect to see in upcoming render callbacks. -- playout_parameters_.reset(sample_rate, playout_parameters_.channels(), io_buffer_duration); -+ //playout_parameters_.reset(sample_rate, playout_parameters_.channels(), io_buffer_duration); +- playout_parameters_.reset( +- sample_rate, playout_parameters_.channels(), io_buffer_duration); ++ // playout_parameters_.reset( ++ // sample_rate, playout_parameters_.channels(), io_buffer_duration); + playout_parameters_.reset(sample_rate, webRTCConfig.outputNumberOfChannels, io_buffer_duration); -+ RTC_DCHECK(playout_parameters_.is_complete()); -- record_parameters_.reset(sample_rate, record_parameters_.channels(), io_buffer_duration); -+ //record_parameters_.reset(sample_rate, record_parameters_.channels(), io_buffer_duration); +- record_parameters_.reset( +- sample_rate, record_parameters_.channels(), io_buffer_duration); ++ //record_parameters_.reset( ++ // sample_rate, record_parameters_.channels(), io_buffer_duration); + record_parameters_.reset(sample_rate, webRTCConfig.inputNumberOfChannels, io_buffer_duration); -+ RTC_DCHECK(record_parameters_.is_complete()); - RTC_LOG(LS_INFO) << " frames per I/O buffer: " << playout_parameters_.frames_per_buffer(); - RTC_LOG(LS_INFO) << " bytes per I/O buffer: " << playout_parameters_.GetBytesPerBuffer(); -@@ -729,7 +808,12 @@ static void LogDeviceInfo() { + RTC_LOG(LS_INFO) << " frames per I/O buffer: " + << playout_parameters_.frames_per_buffer(); +@@ -840,7 +929,12 @@ static void LogDeviceInfo() { if (!audio_is_initialized_) return; // If we're initialized, we must have an audio unit. - RTC_DCHECK(audio_unit_); + //RTC_DCHECK(audio_unit_); + -+ if (can_play_or_record && !audio_unit_ && !CreateAudioUnit()) { ++ if (can_play_or_record && !audio_unit_ && !CreateAudioUnit()) { + RTCLog(@"Failed to create audio unit."); + return; + } bool should_initialize_audio_unit = false; bool should_uninitialize_audio_unit = false; -@@ -859,9 +943,9 @@ static void LogDeviceInfo() { +@@ -975,9 +1069,9 @@ static void LogDeviceInfo() { RTC_DCHECK_RUN_ON(thread_); // There should be no audio unit at this point. @@ -448,13 +532,13 @@ index dd2c11bdd2..5dfac4e438 100644 + // return false; + //} - RTC_OBJC_TYPE(RTCAudioSession)* session = [RTC_OBJC_TYPE(RTCAudioSession) sharedInstance]; - // Subscribe to audio session events. -@@ -881,6 +965,25 @@ static void LogDeviceInfo() { + RTC_OBJC_TYPE(RTCAudioSession)* session = + [RTC_OBJC_TYPE(RTCAudioSession) sharedInstance]; +@@ -999,6 +1093,26 @@ static void LogDeviceInfo() { // If we are ready to play or record, and if the audio session can be // configured, then initialize the audio unit. if (session.canPlayOrRecord) { -+ // Store the preferred sample rate and preferred number of channels already ++ // Store the preferred sample rate and preferred number of channels already + // here. They have not been set and confirmed yet since configureForWebRTC + // is not called until audio is about to start. However, it makes sense to + // store the parameters now and then verify at a later stage. @@ -473,10 +557,11 @@ index dd2c11bdd2..5dfac4e438 100644 + [session unlockForConfiguration]; + return false; + } ++ if (!ConfigureAudioSessionLocked()) { // One possible reason for failure is if an attempt was made to use the // audio session during or after a Media Services failure. -@@ -910,7 +1013,7 @@ static void LogDeviceInfo() { +@@ -1028,7 +1142,7 @@ static void LogDeviceInfo() { // Detach thread checker for the AURemoteIO::IOThread to ensure that the // next session uses a fresh thread id. @@ -484,8 +569,8 @@ index dd2c11bdd2..5dfac4e438 100644 + //io_thread_checker_.Detach(); // Remove audio session notification observers. - RTC_OBJC_TYPE(RTCAudioSession)* session = [RTC_OBJC_TYPE(RTCAudioSession) sharedInstance]; -@@ -927,7 +1030,7 @@ static void LogDeviceInfo() { + RTC_OBJC_TYPE(RTCAudioSession)* session = +@@ -1046,7 +1160,7 @@ static void LogDeviceInfo() { // restart. It will result in audio callbacks from a new native I/O thread // which means that we must detach thread checkers here to be prepared for an // upcoming new audio stream. @@ -495,54 +580,91 @@ index dd2c11bdd2..5dfac4e438 100644 bool AudioDeviceIOS::IsInterrupted() { diff --git a/sdk/objc/native/src/audio/audio_device_module_ios.h b/sdk/objc/native/src/audio/audio_device_module_ios.h -index 9bcf114e32..5946b0913c 100644 +index 394e1ff9bd..eecd180588 100644 --- a/sdk/objc/native/src/audio/audio_device_module_ios.h +++ b/sdk/objc/native/src/audio/audio_device_module_ios.h @@ -19,6 +19,9 @@ #include "modules/audio_device/audio_device_buffer.h" - #include "modules/audio_device/include/audio_device.h" #include "rtc_base/checks.h" + #include "sdk/objc/native/api/audio_device_module_error_handler.h" +#if defined(WEBRTC_IOS) +#include +#endif namespace webrtc { -@@ -127,6 +130,7 @@ class AudioDeviceModuleIOS : public AudioDeviceModule { - int32_t GetPlayoutUnderrunCount() const override; +@@ -132,6 +135,8 @@ class AudioDeviceModuleIOS : public AudioDeviceModule { + std::optional GetStats() const override; #if defined(WEBRTC_IOS) ++ void setExternalAudio(bool enable); + void OnDeliverRecordedExternalData(CMSampleBufferRef sample_buffer); int GetPlayoutAudioParameters(AudioParameters* params) const override; int GetRecordAudioParameters(AudioParameters* params) const override; #endif // WEBRTC_IOS +@@ -141,6 +146,7 @@ class AudioDeviceModuleIOS : public AudioDeviceModule { + MutedSpeechEventHandler muted_speech_event_handler_; + ADMErrorHandler error_handler_; + bool initialized_ = false; ++ bool externalAudio_ = false; + const std::unique_ptr task_queue_factory_; + std::unique_ptr audio_device_; + std::unique_ptr audio_device_buffer_; diff --git a/sdk/objc/native/src/audio/audio_device_module_ios.mm b/sdk/objc/native/src/audio/audio_device_module_ios.mm -index 5effef3abd..1753e0820d 100644 +index 3b338f2399..fbf97e002f 100644 --- a/sdk/objc/native/src/audio/audio_device_module_ios.mm +++ b/sdk/objc/native/src/audio/audio_device_module_ios.mm -@@ -649,6 +649,11 @@ - } +@@ -91,6 +91,8 @@ + new webrtc::AudioDeviceBuffer(task_queue_factory_.get())); + audio_device_.reset(new ios_adm::AudioDeviceIOS( + bypass_voice_processing_, muted_speech_event_handler_, error_handler)); ++ ++ audio_device_->setExternalAudio( this->externalAudio_); + RTC_CHECK(audio_device_); + + this->AttachAudioBuffer(); +@@ -763,6 +765,27 @@ + } #if defined(WEBRTC_IOS) + -+ void AudioDeviceModuleIOS::OnDeliverRecordedExternalData(CMSampleBufferRef sample_buffer) { -+ audio_device_->OnDeliverRecordedExternalData(sample_buffer); ++ void AudioDeviceModuleIOS::OnDeliverRecordedExternalData(CMSampleBufferRef sample_buffer) { ++ //audio_device_->OnDeliverRecordedExternalData(sample_buffer); ++ if (audio_device_) { ++ audio_device_->OnDeliverRecordedExternalData(sample_buffer); ++ } ++ else { ++ RTC_DLOG(LS_WARNING) << "audio device is not ready "; ++ } + } + - int AudioDeviceModuleIOS::GetPlayoutAudioParameters( - AudioParameters* params) const { - RTC_DLOG(LS_INFO) << __FUNCTION__; ++void AudioDeviceModuleIOS::setExternalAudio(bool enable) { ++ this->externalAudio_ = enable; ++ if (audio_device_) { ++ audio_device_->setExternalAudio(enable); ++ } ++ else { ++ RTC_DLOG(LS_INFO) << "audio device is not ready "; ++ } ++} ++ + int AudioDeviceModuleIOS::GetPlayoutAudioParameters( + AudioParameters* params) const { + RTC_DLOG(LS_INFO) << __FUNCTION__; diff --git a/sdk/objc/native/src/audio/voice_processing_audio_unit.mm b/sdk/objc/native/src/audio/voice_processing_audio_unit.mm -index 3905b6857a..98615eba37 100644 +index 066f3b161c..c5e75457ae 100644 --- a/sdk/objc/native/src/audio/voice_processing_audio_unit.mm +++ b/sdk/objc/native/src/audio/voice_processing_audio_unit.mm -@@ -112,16 +112,23 @@ static OSStatus GetAGCState(AudioUnit audio_unit, UInt32* enabled) { +@@ -117,20 +117,39 @@ static OSStatus GetAGCState(AudioUnit audio_unit, UInt32* enabled) { } // Enable input on the input scope of the input element. - UInt32 enable_input = 1; -- result = AudioUnitSetProperty(vpio_unit_, kAudioOutputUnitProperty_EnableIO, -- kAudioUnitScope_Input, kInputBus, &enable_input, +- result = AudioUnitSetProperty(vpio_unit_, +- kAudioOutputUnitProperty_EnableIO, +- kAudioUnitScope_Input, +- kInputBus, +- &enable_input, - sizeof(enable_input)); - if (result != noErr) { - DisposeAudioUnit(); @@ -550,6 +672,21 @@ index 3905b6857a..98615eba37 100644 - "Error=%ld.", - (long)result); - return false; ++ //UInt32 enable_input = 1; ++ //result = AudioUnitSetProperty(vpio_unit_, ++ // kAudioOutputUnitProperty_EnableIO, ++ // kAudioUnitScope_Input, ++ // kInputBus, ++ // &enable_input, ++ // sizeof(enable_input)); ++ //if (result != noErr) { ++ // DisposeAudioUnit(); ++ // RTCLogError(@"Failed to enable input on input scope of input element. " ++ // "Error=%ld.", ++ // (long)result); ++ // return false; ++ //} ++ + RTCAudioSessionConfiguration* webRTCConfiguration = [RTCAudioSessionConfiguration webRTCConfiguration]; + if (webRTCConfiguration.mode != AVAudioSessionModeMoviePlayback) + { @@ -564,27 +701,46 @@ index 3905b6857a..98615eba37 100644 + (long)result); + return false; + } -+ } + } + else { + RTCLog("@Not Enable input on the input scope of the input element."); - } ++ } // Enable output on the output scope of the output element. -@@ -155,34 +162,44 @@ static OSStatus GetAGCState(AudioUnit audio_unit, UInt32* enabled) { + UInt32 enable_output = 1; +@@ -169,40 +188,77 @@ static OSStatus GetAGCState(AudioUnit audio_unit, UInt32* enabled) { // Disable AU buffer allocation for the recorder, we allocate our own. // TODO(henrika): not sure that it actually saves resource to make this call. - UInt32 flag = 0; -- result = AudioUnitSetProperty( -- vpio_unit_, kAudioUnitProperty_ShouldAllocateBuffer, -- kAudioUnitScope_Output, kInputBus, &flag, sizeof(flag)); +- result = AudioUnitSetProperty(vpio_unit_, +- kAudioUnitProperty_ShouldAllocateBuffer, +- kAudioUnitScope_Output, +- kInputBus, +- &flag, +- sizeof(flag)); - if (result != noErr) { - DisposeAudioUnit(); - RTCLogError(@"Failed to disable buffer allocation on the input bus. " - "Error=%ld.", - (long)result); - return false; -+ if (webRTCConfiguration.mode != AVAudioSessionModeMoviePlayback) { ++ //UInt32 flag = 0; ++ //result = AudioUnitSetProperty(vpio_unit_, ++ // kAudioUnitProperty_ShouldAllocateBuffer, ++ // kAudioUnitScope_Output, ++ // kInputBus, ++ // &flag, ++ // sizeof(flag)); ++ //if (result != noErr) { ++ // DisposeAudioUnit(); ++ // RTCLogError(@"Failed to disable buffer allocation on the input bus. " ++ // "Error=%ld.", ++ // (long)result); ++ // return false; ++ //} ++ ++ if (webRTCConfiguration.mode != AVAudioSessionModeMoviePlayback) { + UInt32 flag = 0; + result = AudioUnitSetProperty( + vpio_unit_, kAudioUnitProperty_ShouldAllocateBuffer, @@ -609,14 +765,33 @@ index 3905b6857a..98615eba37 100644 - input_callback.inputProcRefCon = this; - result = AudioUnitSetProperty(vpio_unit_, - kAudioOutputUnitProperty_SetInputCallback, -- kAudioUnitScope_Global, kInputBus, -- &input_callback, sizeof(input_callback)); +- kAudioUnitScope_Global, +- kInputBus, +- &input_callback, +- sizeof(input_callback)); - if (result != noErr) { - DisposeAudioUnit(); - RTCLogError(@"Failed to specify the input callback on the input bus. " - "Error=%ld.", - (long)result); - return false; ++ //AURenderCallbackStruct input_callback; ++ //input_callback.inputProc = OnDeliverRecordedData; ++ //input_callback.inputProcRefCon = this; ++ //result = AudioUnitSetProperty(vpio_unit_, ++ // kAudioOutputUnitProperty_SetInputCallback, ++ // kAudioUnitScope_Global, ++ // kInputBus, ++ // &input_callback, ++ // sizeof(input_callback)); ++ //if (result != noErr) { ++ // DisposeAudioUnit(); ++ // RTCLogError(@"Failed to specify the input callback on the input bus. " ++ // "Error=%ld.", ++ // (long)result); ++ // return false; ++ //} ++ + if (webRTCConfiguration.mode != AVAudioSessionModeMoviePlayback) { + AURenderCallbackStruct input_callback; + input_callback.inputProc = OnDeliverRecordedData; @@ -632,25 +807,42 @@ index 3905b6857a..98615eba37 100644 + (long)result); + return false; + } -+ } + } + else { + RTCLog("@WebRTC mode is movie and it's not arranging the callback"); - } ++ } state_ = kUninitialized; -@@ -205,14 +222,21 @@ static OSStatus GetAGCState(AudioUnit audio_unit, UInt32* enabled) { + return true; +@@ -224,18 +280,35 @@ static OSStatus GetAGCState(AudioUnit audio_unit, UInt32* enabled) { #endif // Set the format on the output scope of the input element/bus. -- result = -- AudioUnitSetProperty(vpio_unit_, kAudioUnitProperty_StreamFormat, -- kAudioUnitScope_Output, kInputBus, &format, size); +- result = AudioUnitSetProperty(vpio_unit_, +- kAudioUnitProperty_StreamFormat, +- kAudioUnitScope_Output, +- kInputBus, +- &format, +- size); - if (result != noErr) { - RTCLogError(@"Failed to set format on output scope of input bus. " - "Error=%ld.", - (long)result); - return false; -+ RTCAudioSessionConfiguration* webRTCConfiguration = [RTCAudioSessionConfiguration webRTCConfiguration]; ++ // result = AudioUnitSetProperty(vpio_unit_, ++ // kAudioUnitProperty_StreamFormat, ++ // kAudioUnitScope_Output, ++ // kInputBus, ++ // &format, ++ // size); ++ //if (result != noErr) { ++ // RTCLogError(@"Failed to set format on output scope of input bus. " ++ // "Error=%ld.", ++ // (long)result); ++ // return false; ++ //} ++ ++ RTCAudioSessionConfiguration* webRTCConfiguration = [RTCAudioSessionConfiguration webRTCConfiguration]; + if (webRTCConfiguration.mode != AVAudioSessionModeMoviePlayback) + { + result = @@ -662,201 +854,69 @@ index 3905b6857a..98615eba37 100644 + (long)result); + return false; + } -+ } + } + else { + RTCLog("@NOT setting the format on the output sscope of the input element because it's movie mode"); - } ++ } // Set the format on the input scope of the output element/bus. --- -2.37.1 (Apple Git-137.1) - - -From 0919357c8a9f5ed384cf55b3826186aa1aa14339 Mon Sep 17 00:00:00 2001 -From: mekya -Date: Wed, 30 Aug 2023 22:13:57 +0300 -Subject: [PATCH 2/2] Enable/disable external audio for audio device - ---- - .../api/peerconnection/RTCAudioDeviceModule.h | 4 +++- - .../peerconnection/RTCAudioDeviceModule.mm | 6 +++++- - sdk/objc/native/src/audio/audio_device_ios.h | 7 +++++++ - sdk/objc/native/src/audio/audio_device_ios.mm | 20 ++++++++++++++---- - .../src/audio/audio_device_module_ios.h | 2 ++ - .../src/audio/audio_device_module_ios.mm | 21 ++++++++++++++++++- - 6 files changed, 53 insertions(+), 7 deletions(-) - -diff --git a/sdk/objc/api/peerconnection/RTCAudioDeviceModule.h b/sdk/objc/api/peerconnection/RTCAudioDeviceModule.h -index d8aba54508..4eb89e4e77 100644 ---- a/sdk/objc/api/peerconnection/RTCAudioDeviceModule.h -+++ b/sdk/objc/api/peerconnection/RTCAudioDeviceModule.h -@@ -13,6 +13,8 @@ NS_CLASS_AVAILABLE_IOS(2_0) - - - (void)deliverRecordedData:(CMSampleBufferRef)sampleBuffer; - -+- (void)setExternalAudio:(bool)enable; -+ - @end - --NS_ASSUME_NONNULL_END -\ No newline at end of file -+NS_ASSUME_NONNULL_END -diff --git a/sdk/objc/api/peerconnection/RTCAudioDeviceModule.mm b/sdk/objc/api/peerconnection/RTCAudioDeviceModule.mm -index 531bac8eda..d7cd5b9413 100644 ---- a/sdk/objc/api/peerconnection/RTCAudioDeviceModule.mm -+++ b/sdk/objc/api/peerconnection/RTCAudioDeviceModule.mm -@@ -18,10 +18,14 @@ - (void)deliverRecordedData:(CMSampleBufferRef)sampleBuffer { - _nativeModule->OnDeliverRecordedExternalData(sampleBuffer); - } - -+- (void)setExternalAudio:(bool)enabled { -+ _nativeModule->setExternalAudio(enabled); -+} -+ - #pragma mark - Private - - - (rtc::scoped_refptr)nativeModule { - return _nativeModule; - } - --@end -\ No newline at end of file -+@end -diff --git a/sdk/objc/native/src/audio/audio_device_ios.h b/sdk/objc/native/src/audio/audio_device_ios.h -index eadd9f87e3..3d8cbfffa1 100644 ---- a/sdk/objc/native/src/audio/audio_device_ios.h -+++ b/sdk/objc/native/src/audio/audio_device_ios.h -@@ -157,6 +157,10 @@ class AudioDeviceIOS : public AudioDeviceGeneric, - UInt32 bus_number, - UInt32 num_frames, - AudioBufferList* io_data) override; -+ -+ void setExternalAudio(bool enable); -+ -+ - OSStatus OnGetPlayoutData(AudioUnitRenderActionFlags* flags, - const AudioTimeStamp* time_stamp, - UInt32 bus_number, -@@ -281,6 +285,9 @@ class AudioDeviceIOS : public AudioDeviceGeneric, - - // Set to true if audio session is interrupted, false otherwise. - bool is_interrupted_; -+ -+ //if it's true, it does not get recording and expect OnDeliverRecordedExternalData to be called -+ bool externalAudio_; - - // Audio interruption observer instance. - RTCNativeAudioSessionDelegateAdapter* audio_session_observer_ -diff --git a/sdk/objc/native/src/audio/audio_device_ios.mm b/sdk/objc/native/src/audio/audio_device_ios.mm -index 5dfac4e438..ec5152e093 100644 ---- a/sdk/objc/native/src/audio/audio_device_ios.mm -+++ b/sdk/objc/native/src/audio/audio_device_ios.mm -@@ -99,11 +99,13 @@ static void LogDeviceInfo() { - initialized_(false), - audio_is_initialized_(false), - is_interrupted_(false), -+ externalAudio_(false), - has_configured_session_(false), - num_detected_playout_glitches_(0), - last_playout_time_(0), - num_playout_callbacks_(0), -- last_output_volume_change_time_(0) { -+ last_output_volume_change_time_(0) -+ { - LOGI() << "ctor" << ios::GetCurrentThreadDescription() - << ",bypass_voice_processing=" << bypass_voice_processing_; - //io_thread_checker_.Detach(); -@@ -360,12 +362,17 @@ static void LogDeviceInfo() { - thread_->PostTask(SafeTask(safety_, [this] { HandleOutputVolumeChange(); })); - } - -+void AudioDeviceIOS::setExternalAudio(bool enable) { -+ externalAudio_ = enable; -+} -+ - void AudioDeviceIOS::OnDeliverRecordedExternalData(CMSampleBufferRef sample_buffer) { - MutexLock scoped_lock(&io_mutex_); - -- if (audio_unit_ && audio_unit_->GetState() != VoiceProcessingAudioUnit::kUninitialized) { -- RTCLogError(@"External recorded data was provided while audio unit is enabled."); -- return; -+ -+ if (!this->externalAudio_) { -+ RTCLogError(@"External audio is not enabled so discarding the incoming data"); -+ return; - } - - CMFormatDescriptionRef description = CMSampleBufferGetFormatDescription(sample_buffer); -@@ -425,6 +432,11 @@ static void LogDeviceInfo() { - UInt32 bus_number, - UInt32 num_frames, - AudioBufferList* /* io_data */) { -+ -+ if (this->externalAudio_) { -+ RTCLogError(@"External Audio is enabled so not using current recorded audio"); -+ return noErr; -+ } - //RTC_DCHECK_RUN_ON(&io_thread_checker_); - MutexLock scoped_lock(&io_mutex_); - OSStatus result = noErr; -diff --git a/sdk/objc/native/src/audio/audio_device_module_ios.h b/sdk/objc/native/src/audio/audio_device_module_ios.h -index 5946b0913c..c9e017f2da 100644 ---- a/sdk/objc/native/src/audio/audio_device_module_ios.h -+++ b/sdk/objc/native/src/audio/audio_device_module_ios.h -@@ -131,12 +131,14 @@ class AudioDeviceModuleIOS : public AudioDeviceModule { - - #if defined(WEBRTC_IOS) - void OnDeliverRecordedExternalData(CMSampleBufferRef sample_buffer); -+ void setExternalAudio(bool enable); - int GetPlayoutAudioParameters(AudioParameters* params) const override; - int GetRecordAudioParameters(AudioParameters* params) const override; - #endif // WEBRTC_IOS - private: - const bool bypass_voice_processing_; - bool initialized_ = false; -+ bool externalAudio_ = false; - const std::unique_ptr task_queue_factory_; - std::unique_ptr audio_device_; - std::unique_ptr audio_device_buffer_; -diff --git a/sdk/objc/native/src/audio/audio_device_module_ios.mm b/sdk/objc/native/src/audio/audio_device_module_ios.mm -index 1753e0820d..f3a4e08ab1 100644 ---- a/sdk/objc/native/src/audio/audio_device_module_ios.mm -+++ b/sdk/objc/native/src/audio/audio_device_module_ios.mm -@@ -73,6 +73,10 @@ - - audio_device_buffer_.reset(new webrtc::AudioDeviceBuffer(task_queue_factory_.get())); - audio_device_.reset(new ios_adm::AudioDeviceIOS(bypass_voice_processing_)); -+ -+ audio_device_->setExternalAudio( this->externalAudio_); -+ -+ - RTC_CHECK(audio_device_); - - this->AttachAudioBuffer(); -@@ -651,7 +655,22 @@ - #if defined(WEBRTC_IOS) - - void AudioDeviceModuleIOS::OnDeliverRecordedExternalData(CMSampleBufferRef sample_buffer) { -- audio_device_->OnDeliverRecordedExternalData(sample_buffer); -+ if (audio_device_) { -+ audio_device_->OnDeliverRecordedExternalData(sample_buffer); -+ } -+ else { -+ RTC_DLOG(LS_WARNING) << "audio device is not ready "; -+ } -+ } -+ -+ void AudioDeviceModuleIOS::setExternalAudio(bool enable) { -+ this->externalAudio_ = enable; -+ if (audio_device_) { -+ audio_device_->setExternalAudio(enable); -+ } -+ else { -+ RTC_DLOG(LS_INFO) << "audio device is not ready "; -+ } - } + result = AudioUnitSetProperty(vpio_unit_, +diff --git a/tools_webrtc/apple/copy_framework_header.py b/tools_webrtc/apple/copy_framework_header.py +index 3574a67d2a..bfdbb9ec6e 100755 +--- a/tools_webrtc/apple/copy_framework_header.py ++++ b/tools_webrtc/apple/copy_framework_header.py +@@ -20,7 +20,7 @@ def _ReplaceDoubleQuote(line): + if not match: + return line + +- return '%s#import %s' % (match.group(1), match.group(3), ++ return '%s#import %s' % (match.group(1), match.group(3), + match.group(4), match.group(5)) + + +diff --git a/tools_webrtc/ios/generate_umbrella_header.py b/tools_webrtc/ios/generate_umbrella_header.py +index 1fd1eed38e..afe0a435aa 100644 +--- a/tools_webrtc/ios/generate_umbrella_header.py ++++ b/tools_webrtc/ios/generate_umbrella_header.py +@@ -41,7 +41,7 @@ def GenerateUmbrellaHeader(): + */\n\n""" % datetime.datetime.now().year)) + + for s in args.sources: +- outfile.write("#import \n".format(os.path.basename(s))) ++ outfile.write("#import \n".format(os.path.basename(s))) + + return 0 + +diff --git a/webrtc.gni b/webrtc.gni +index c5eeba5211..dadb5200ac 100644 +--- a/webrtc.gni ++++ b/webrtc.gni +@@ -1044,7 +1044,7 @@ if (is_mac || is_ios) { + forward_variables_from(invoker, [ "output_name" ]) + this_target_name = target_name + umbrella_header_path = +- "$target_gen_dir/$output_name.framework/WebRTC/$output_name.h" ++ "$target_gen_dir/$output_name.framework/AntMedia_WebRTC/$output_name.h" + modulemap_path = "$target_gen_dir/Modules/module.modulemap" + privacy_manifest_path = "$target_gen_dir/$target_name/PrivacyInfo.xcprivacy" + +@@ -1053,14 +1053,14 @@ if (is_mac || is_ios) { + sources = invoker.sources + output_name = invoker.output_name + outputs = [ +- "$target_gen_dir/$output_name.framework/WebRTC/{{source_file_part}}", ++ "$target_gen_dir/$output_name.framework/AntMedia_WebRTC/{{source_file_part}}", + ] + args = [ + "--input", + "{{source}}", + "--output", + rebase_path(target_gen_dir, root_build_dir) + +- "/$output_name.framework/WebRTC/{{source_file_part}}", ++ "/$output_name.framework/AntMedia_WebRTC/{{source_file_part}}", + ] + } - int AudioDeviceModuleIOS::GetPlayoutAudioParameters( -- -2.37.1 (Apple Git-137.1) +2.39.5 (Apple Git-154) diff --git a/webrtc_framework/README.md b/webrtc_framework/README.md index 223cfb15..e27a1314 100644 --- a/webrtc_framework/README.md +++ b/webrtc_framework/README.md @@ -3,7 +3,8 @@ iOS SDK * Get WebRTC source code, change directory to src folder with `cd src` and checkout the m108 branch -> branch-heads/5359 ``` - git checkout -b antmedia_m108 branch-heads/5359 + git checkout -b antmedia_m134 branch-heads/6998 + ``` * Apply patch in this directory @@ -69,14 +70,14 @@ iOS SDK * Copy content of `ios_x64_simulator` to the `ios_simulator_universal` ``` - cp -r out/ios_x64_simulator/WebRTC.Framework out/ios_simulator_universal/ + cp -r out/ios_x64_simulator/AntMedia_WebRTC.Framework out/ios_simulator_universal/ ``` * Create FAT binary for simulators ``` - lipo -create -output out/ios_simulator_universal/WebRTC.framework/WebRTC \ - out/ios_arm64_simulator/WebRTC.framework/WebRTC \ - out/ios_x64_simulator/WebRTC.framework/WebRTC + lipo -create -output out/ios_simulator_universal/AntMedia_WebRTC.framework/AntMedia_WebRTC \ + out/ios_arm64_simulator/AntMedia_WebRTC.framework/AntMedia_WebRTC \ + out/ios_x64_simulator/AntMedia_WebRTC.framework/AntMedia_WebRTC ``` * After everything has finished. Run the following command to have xcframework in out directory