dingrtc 3.9.33 → 3.9.34

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -2167,6 +2167,13 @@ interface IClientEvents {
2167
2167
  * 分组属性变更事件
2168
2168
  */
2169
2169
  'group-info-updated': (groupId: string, updateType: GroupPropertyUpdateTypes, value?: string) => void;
2170
+ /**
2171
+ * 检测到本端发布的流出现重复(同一 participantId 下存在 2 个及以上同类型视频流)。
2172
+ * 这通常是由于 publish 时网络异常导致客户端未收到服务端响应,触发重新发布后旧流残留。
2173
+ * 业务层应监听此事件并执行退出重进(leave + join)操作来恢复正常。
2174
+ * @param streamType 流的视频源类型('camera' | 'screen-cast')
2175
+ */
2176
+ 'duplicated-pub-stream': (streamType: string) => void;
2170
2177
  }
2171
2178
 
2172
2179
  /**
@@ -2418,6 +2425,7 @@ interface StreamEventPlayload {
2418
2425
  }
2419
2426
  interface StreamManagerEvent {
2420
2427
  stream: (action: StreamEventAction, payload: StreamEventPlayload) => void;
2428
+ duplicateStream: (duplicateStreamId: string, newStreamId: string, streamType: string) => void;
2421
2429
  }
2422
2430
  declare class StreamManager extends EventEmitter<StreamManagerEvent> {
2423
2431
  streams: Map<string, signal_msg.IStream>;
@@ -2425,11 +2433,19 @@ declare class StreamManager extends EventEmitter<StreamManagerEvent> {
2425
2433
  reporter: Reporter;
2426
2434
  rtcSignaling: RtcSignaling;
2427
2435
  logger: ILogger;
2436
+ private serviceManager;
2428
2437
  constructor(serviceManager: ServiceManager);
2429
2438
  clear(): void;
2430
2439
  init(streams: signal_msg.IStream[], version: number): void;
2431
2440
  private add;
2432
2441
  remove(id: string, needNotify?: boolean): void;
2442
+ /**
2443
+ * 检测本端是否出现同类型重复视频流。
2444
+ * 遍历 streams Map,按 (owner, videoSource) 分组,如果属于自己(currentSelfPid)的
2445
+ * camera 或 screen-cast 类型的有效流(video.status === 'active')存在 2 个及以上,
2446
+ * 则说明发生了异常重复发布,需要打日志上报并通知业务层。
2447
+ */
2448
+ private checkSelfDuplicateStreams;
2433
2449
  getStreamByTrackId(trackId: string): signal_msg.IStream;
2434
2450
  handleEvent(payload: signal_msg.IStreamNotification, fromSyncRpc?: boolean): void;
2435
2451
  private debounceSyncRpc;