TXLivePlayConfig.h 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. /*
  2. * Module: TXLivePlayConfig @ TXLiteAVSDK
  3. *
  4. * Function: 腾讯云直播播放器的参数配置模块
  5. *
  6. * Version: <:Version:>
  7. */
  8. #import <Foundation/Foundation.h>
  9. /**
  10. * 腾讯云直播播放器的参数配置模块
  11. *
  12. * 主要负责 TXLivePlayer 对应的参数设置,其中绝大多数设置项在播放开始之后再设置是无效的。
  13. */
  14. @interface TXLivePlayConfig : NSObject
  15. /////////////////////////////////////////////////////////////////////////////////
  16. //
  17. // 常用设置项
  18. //
  19. /////////////////////////////////////////////////////////////////////////////////
  20. ///【字段含义】播放器缓存时间,单位秒,取值需要大于0,默认值:5
  21. @property(nonatomic, assign) float cacheTime;
  22. ///【字段含义】是否自动调整播放器缓存时间,默认值:YES
  23. /// YES:启用自动调整,自动调整的最大值和最小值可以分别通过修改 maxCacheTime 和 minCacheTime 来设置
  24. /// NO:关闭自动调整,采用默认的指定缓存时间(1s),可以通过修改 cacheTime 来调整缓存时间
  25. @property(nonatomic, assign) BOOL bAutoAdjustCacheTime;
  26. ///【字段含义】播放器缓存自动调整的最大时间,单位秒,取值需要大于0,默认值:5
  27. @property(nonatomic, assign) float maxAutoAdjustCacheTime;
  28. ///【字段含义】播放器缓存自动调整的最小时间,单位秒,取值需要大于0,默认值为1
  29. @property(nonatomic, assign) float minAutoAdjustCacheTime;
  30. ///【字段含义】播放器视频卡顿报警阈值,单位毫秒
  31. ///【推荐取值】800
  32. ///【特别说明】只有渲染间隔超过这个阈值的卡顿才会有 PLAY_WARNING_VIDEO_PLAY_LAG 通知
  33. @property(nonatomic, assign) int videoBlockThreshold;
  34. ///【字段含义】播放器遭遇网络连接断开时 SDK 默认重试的次数,取值范围1 - 10,默认值:3。
  35. @property(nonatomic, assign) int connectRetryCount;
  36. ///【字段含义】网络重连的时间间隔,单位秒,取值范围3 - 30,默认值:3。
  37. @property(nonatomic, assign) int connectRetryInterval;
  38. ///【字段含义】是否开启回声消除, 默认值为 NO
  39. @property(nonatomic, assign) BOOL enableAEC;
  40. ///【字段含义】是否开启消息通道, 默认值为 NO
  41. @property(nonatomic, assign) BOOL enableMessage;
  42. ///【字段含义】是否开启 MetaData 数据回调,默认值为 NO。
  43. /// YES:SDK 通过 EVT_PLAY_GET_METADATA 消息抛出视频流的 MetaData 数据;
  44. /// NO:SDK 不抛出视频流的 MetaData 数据。
  45. /// 标准直播流都会在最开始的阶段有一个 MetaData 数据头,该数据头支持定制。
  46. /// 您可以通过 TXLivePushConfig 中的 metaData 属性设置一些自定义数据,再通过 TXLivePlayListener 中的
  47. /// onPlayEvent(EVT_PLAY_GET_METADATA) 消息接收到这些数据。
  48. ///【特别说明】每条音视频流中只能设置一个 MetaData 数据头,除非断网重连,否则 TXLivePlayer 的 EVT_PLAY_GET_METADATA 消息也只会收到一次。
  49. @property(nonatomic, assign) BOOL enableMetaData;
  50. ///【字段含义】视频渲染对象回调的视频格式,默认值:kCVPixelFormatType_420YpCbCr8Planar
  51. ///【特别说明】支持:kCVPixelFormatType_420YpCbCr8Planar 和 kCVPixelFormatType_420YpCbCr8BiPlanarFullRange
  52. @property(nonatomic, assign) OSType playerPixelFormatType;
  53. /////////////////////////////////////////////////////////////////////////////////
  54. //
  55. // 待废弃设置项
  56. //
  57. /////////////////////////////////////////////////////////////////////////////////
  58. ///【字段含义】是否开启就近选路,待废弃,默认值:YES
  59. @property(nonatomic, assign) BOOL enableNearestIP;
  60. ///【字段含义】RTMP 传输通道的类型,待废弃,默认值为:RTMP_CHANNEL_TYPE_AUTO
  61. @property (nonatomic, assign) int rtmpChannelType;
  62. #if TARGET_OS_IPHONE
  63. ///【字段含义】视频缓存目录,点播 MP4、HLS 有效
  64. @property NSString *cacheFolderPath;
  65. ///【字段含义】最多缓存文件个数,默认值:0
  66. @property int maxCacheItems;
  67. ///【字段含义】自定义 HTTP Headers
  68. @property NSDictionary *headers;
  69. #endif
  70. @end