Skip to content

Commit

Permalink
Merge pull request #81 from mu-code007/master
Browse files Browse the repository at this point in the history
 v6.0.0 release
  • Loading branch information
uu-code007 authored Jan 12, 2024
2 parents beb1c8b + 6048c94 commit fa2e36b
Show file tree
Hide file tree
Showing 74 changed files with 2,147 additions and 1,196 deletions.
58 changes: 58 additions & 0 deletions APIDiffs/api-diffs-6.0.0.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
# QNRTCKit 5.2.7 to 6.0.0 API Differences

## General Headers

```
QNCDNStreamingClient.h
```
- *Added* property `@property (nonatomic, weak) id<QNCDNStreamingDelegate> delegate;`
- *Added* method `- (int)startWithConfig:(QNCDNStreamingConfig *)config;`
- *Added* method `- (int)stop;`

```
QNCDNStreamingConfig.h
```

- *Added* property `@property (nonatomic, copy) NSString *publishUrl;`
- *Added* property `@property (nonatomic, strong) QNLocalAudioTrack *audioTrack;`
- *Added* property `@property (nonatomic, strong) QNLocalVideoTrack *videoTrack;`
- *Added* property `@property (nonatomic, assign) BOOL enableQuic;`
- *Added* property `@property (nonatomic, assign) uint32_t reconnectCount;`
- *Added* property `@property (nonatomic, assign) uint32_t bufferingTime;`

```
QNCDNStreamingDelegate
```

- *Added* method `- (void)cdnStreamingClient:(QNCDNStreamingClient *)client didCDNStreamingConnectionStateChanged:(QNConnectionState)state errorCode:(**int**)code message:(NSString *)message;`
- *Added* method `- (void)cdnStreamingClient:(QNCDNStreamingClient *)client didCDNStreamingStats:(QNCDNStreamingStats *)stats;`

```
QNLocalAudioTrack.h
```

- *Added* property `@property (nonatomic, weak) id<QNAudioEncryptDelegate> encryptDelegate;`

```
QNRemoteAudioTrack.h
```

- *Added* property `@property (nonatomic, weak) id<QNAudioDecryptDelegate> decryptDelegate;`

```
QNAudioEncryptDelegate
```

- *Added* method `- (void)remoteAudioTrack:(QNRemoteAudioTrack *)remoteAudioTrack onGetExtraData:(uint8_t *)extraData dataSize:(int)dataSize;`
- *Added* method `- (int)remoteAudioTrack:(QNRemoteAudioTrack *)remoteAudioTrack onSetMaxDecryptSize:(int)frameSize;`

- *Added* method `- (int)remoteAudioTrack:(QNRemoteAudioTrack *)remoteAudioTrack onDecrypt:(uint8_t *)frame frameSize:(int)frameSize decryptedFrame:(uint8_t *)decryptedFrame;`

```
QNAudioDecryptDelegate
```

- *Added* method `- (int)remoteAudioTrack:(QNRemoteAudioTrack *)remoteAudioTrack onSetMaxDecryptSize:(int)frameSize;`
- *Added* method `- (void)cdnStreamingClient:(QNCDNStreamingClient *)client didCDNStreamingStats:(QNCDNStreamingStats *)stats;`
- *Added* method `- (int)remoteAudioTrack:(QNRemoteAudioTrack *)remoteAudioTrack onDecrypt:(uint8_t *)frame frameSize:(int)frameSize decryptedFrame:(uint8_t *)decryptedFrame;`

2 changes: 1 addition & 1 deletion Pod/iphoneos/QNRTCKit.framework.dSYM/Contents/Info.plist
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleShortVersionString</key>
<string>5.2.7</string>
<string>6.0.0</string>
<key>CFBundleVersion</key>
<string>1</string>
</dict>
Expand Down
Binary file not shown.
80 changes: 80 additions & 0 deletions Pod/iphoneos/QNRTCKit.framework/Headers/QNCDNStreamingClient.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
//
// QNCDNStreamingClient.h
// QNRTCKit
//
// Created by ShengQiang'Liu on 2023/11/6.
// Copyright © 2023 Pili Engineering, Qiniu Inc. All rights reserved.
//

#import <Foundation/Foundation.h>
#import "QNTypeDefines.h"
#import "QNCDNStreamingConfig.h"
#import "QNCDNStreamingStats.h"

NS_ASSUME_NONNULL_BEGIN

@class QNCDNStreamingClient;

@protocol QNCDNStreamingDelegate <NSObject>

/*!
* @abstract 推流状态回调
*
* @param client 推流实例
* @param state 推流状态
* @param code 错误码,请参考 QNErrorCode
* @param message 描述信息
*
* @since v6.0.0
*/
- (void)cdnStreamingClient:(QNCDNStreamingClient *)client didCDNStreamingConnectionStateChanged:(QNConnectionState)state
errorCode:(int)code
message:(NSString *)message;

/*!
* @abstract 推流统计信息回调
*
* @param stats 统计信息
* @see QNCDNStreamingStats.
*
* @since v6.0.0
*/
- (void)cdnStreamingClient:(QNCDNStreamingClient *)client didCDNStreamingStats:(QNCDNStreamingStats *)stats;

@end

@interface QNCDNStreamingClient : NSObject

- (instancetype)init NS_UNAVAILABLE;

/*!
* @abstract 设置推流回调的监听
*
* @see QNCDNStreamingDelegate.
*
* @since v6.0.0
*/
@property (nonatomic, weak) id<QNCDNStreamingDelegate> delegate;

/*!
* @abstract 开始推流到 CDN
*
* @param config 推流参数配置。
* @see QNCDNStreamingConfig.
* @return 请参考 QNErrorCode
*
* @since v6.0.0
*/
- (int)startWithConfig:(QNCDNStreamingConfig *)config;

/*!
* @abstract 停止推流到 CDN
*
* @since v6.0.0
* @return 请参考 QNErrorCode
*/
- (int)stop;

@end

NS_ASSUME_NONNULL_END
53 changes: 53 additions & 0 deletions Pod/iphoneos/QNRTCKit.framework/Headers/QNCDNStreamingConfig.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
//
// QNCDNStreamingConfig.h
// QNRTCKit
//
// Created by ShengQiang'Liu on 2023/11/6.
// Copyright © 2023 Pili Engineering, Qiniu Inc. All rights reserved.
//

#import <Foundation/Foundation.h>
#import "QNTrack.h"

NS_ASSUME_NONNULL_BEGIN

@interface QNCDNStreamingConfig : NSObject
/*!
* @abstract 推流地址。
*
* @since v6.0.0
*/
@property (nonatomic, copy) NSString *publishUrl;
/*!
* @abstract 推流需要的音频轨道。
*
* @since v6.0.0
*/
@property (nonatomic, strong) QNLocalAudioTrack *audioTrack;
/*!
* @abstract 推流需要的视频轨道。
*
* @since v6.0.0
*/
@property (nonatomic, strong) QNLocalVideoTrack *videoTrack;
/*!
* @abstract 是否打开 quic,默认关闭。
*
* @since v6.0.0
*/
@property (nonatomic, assign) BOOL enableQuic;
/*!
* @abstract 重连次数,默认 3 次。
*
* @since v6.0.0
*/
@property (nonatomic, assign) uint32_t reconnectCount;
/*!
* @abstract 推流缓存最大时长,单位ms,默认 5000 ms。
*
* @since v6.0.0
*/
@property (nonatomic, assign) uint32_t bufferingTime;
@end

NS_ASSUME_NONNULL_END
40 changes: 40 additions & 0 deletions Pod/iphoneos/QNRTCKit.framework/Headers/QNCDNStreamingStats.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
//
// QNCDNStreamingStats.h
// QNRTCKit
//
// Created by ShengQiang'Liu on 2023/11/20.
// Copyright © 2023 Pili Engineering, Qiniu Inc. All rights reserved.
//

#import <Foundation/Foundation.h>

NS_ASSUME_NONNULL_BEGIN

@interface QNCDNStreamingStats : NSObject
/*!
* @abstract 发送到 CDN 的视频 fps。
*
* @since v6.0.0
*/
@property (nonatomic, assign) uint32_t sendVideoFps;
/*!
* @abstract 发送的视频码率,单位 kbps。
*
* @since v6.0.0
*/
@property (nonatomic, assign) uint32_t videoBitrate;
/*!
* @abstract 发送的音频码率,单位 kbps。
*
* @since v6.0.0
*/
@property (nonatomic, assign) uint32_t audioBitrate;
/*!
* @abstract 每秒的视频丢帧数。
*
* @since v6.0.0
*/
@property (nonatomic, assign) uint32_t droppedVideoFrames;
@end

NS_ASSUME_NONNULL_END
8 changes: 8 additions & 0 deletions Pod/iphoneos/QNRTCKit.framework/Headers/QNRTC.h
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
#import "QNTypeDefines.h"
#import "QNTrack.h"
#import "QNRTCLogConfiguration.h"
#import "QNCDNStreamingClient.h"

@class QNRTC;
@class QNRTCConfiguration;
Expand Down Expand Up @@ -76,6 +77,13 @@ NS_ASSUME_NONNULL_BEGIN
*/
+ (QNRTCClient *)createRTCClient:(QNClientConfig *)clientConfig;

/*!
* @abstract 创建 QNCDNStreamingClient。
* *
* @since v6.0.0
*/
+ (QNCDNStreamingClient *)createCDNStreamingClient;

/*!
* @abstract 创建一路以麦克风采集为数据源的音频 track,默认码率为 64kbps
*
Expand Down
1 change: 1 addition & 0 deletions Pod/iphoneos/QNRTCKit.framework/Headers/QNRTCKit.h
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,7 @@ FOUNDATION_EXPORT const unsigned char QNRTCKitVersionString[];
#import <QNRTCKit/QNAudioMusicMixer.h>
#import <QNRTCKit/QNAudioEffectMixer.h>
#import <QNRTCKit/QNAudioVolumeInfo.h>
#import <QNRTCKit/QNCDNStreamingClient.h>



80 changes: 80 additions & 0 deletions Pod/iphoneos/QNRTCKit.framework/Headers/QNTrack.h
Original file line number Diff line number Diff line change
Expand Up @@ -111,6 +111,40 @@ NS_ASSUME_NONNULL_BEGIN

@end

@protocol QNAudioEncryptDelegate <NSObject>

@optional

/**
* 添加音频自定义数据回调
*
* @param extraData 用户自定义数据
* @param maxSize 可以放到 extraData 的最大字节数
* @return 返回添加的 extra_data 大小,没有则返回 0
*/
- (int)localAudioTrack:(QNLocalAudioTrack *)localAudioTrack onPutExtraData:(uint8_t *)extraData maxSize:(int)maxSize;

/**
* 设置加密后的最大字节数
* 注意配合 onEncrypt 使用,不超过 1000 字节
*
* @param frameSize 用户可添加的最大字节数
* @return 返回 frameSize 添加 extraData 后的大小,没有则返回 0
*/
- (int)localAudioTrack:(QNLocalAudioTrack *)localAudioTrack onSetMaxEncryptSize:(int)frameSize;

/**
* 加密回调接口
*
* @param frame 加密前的数据
* @param frameSize 加密前的数据大小
* @param encryptedFrame 加密后的数据大小
* @return 返回加密后的数据大小
*/
- (int)localAudioTrack:(QNLocalAudioTrack *)localAudioTrack onEncrypt:(uint8_t *)frame frameSize:(int)frameSize encryptedFrame:(uint8_t *)encryptedFrame;

@end


#pragma mark -- QNLocalAudioTrack
@interface QNLocalAudioTrack : QNLocalTrack
Expand All @@ -122,6 +156,13 @@ NS_ASSUME_NONNULL_BEGIN
*/
@property (nonatomic, weak) id<QNLocalAudioTrackDelegate> delegate;

/*!
* @abstract 本地音频扩展数据回调代理。
*
* @since v5.2.7
*/
@property (nonatomic, weak) id<QNAudioEncryptDelegate> encryptDelegate;

- (instancetype)init NS_UNAVAILABLE;

/*!
Expand Down Expand Up @@ -735,6 +776,38 @@ NS_ASSUME_NONNULL_BEGIN

@end

@protocol QNAudioDecryptDelegate <NSObject>

@optional
/**
* 音频自定义数据回调
*
* @param extraData 接收的用户自定义数据
* @param dataSize 自定义数据大小
*/
- (void)remoteAudioTrack:(QNRemoteAudioTrack *)remoteAudioTrack onGetExtraData:(uint8_t *)extraData dataSize:(int)dataSize;

/**
* 设置解密后的最大字节数
* 注意配合 onDecrypt 使用
*
* @param frameSize 加密后数据的大小
* @return 返回 frameSize,没有则返回 0
*/
- (int)remoteAudioTrack:(QNRemoteAudioTrack *)remoteAudioTrack onSetMaxDecryptSize:(int)frameSize;

/**
* 解密回调接口
*
* @param frame 解密前的数据
* @param frameSize 解密前的数据大小
* @param decryptedFrame 解密后的数据大小
* @return 返回解密后的数据大小
*/
- (int)remoteAudioTrack:(QNRemoteAudioTrack *)remoteAudioTrack onDecrypt:(uint8_t *)frame frameSize:(int)frameSize decryptedFrame:(uint8_t *)decryptedFrame;

@end

#pragma mark -- QNRemoteAudioTrack
@interface QNRemoteAudioTrack : QNRemoteTrack

Expand All @@ -745,6 +818,13 @@ NS_ASSUME_NONNULL_BEGIN
*/
@property (nonatomic, weak) id<QNRemoteAudioTrackDelegate> delegate;

/*!
* @abstract 远端音频 Track 扩展数据回调代理。
*
* @since v5.2.7
*/
@property (nonatomic, weak) id<QNAudioDecryptDelegate> decryptDelegate;

- (instancetype)init NS_UNAVAILABLE;

/*!
Expand Down
Loading

0 comments on commit fa2e36b

Please sign in to comment.