@phenixrts/sdk 2025.2.4-beta.621 → 2025.2.4-beta.623

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.
Files changed (42) hide show
  1. package/channels/debug/channels.js +148 -37
  2. package/channels/debug/package.json +1 -1
  3. package/channels/debug.private/channels.js +148 -37
  4. package/channels/debug.private/package.json +1 -1
  5. package/channels/debug.provideGlobalScope/channels.js +147 -37
  6. package/channels/debug.provideGlobalScope/package.json +1 -1
  7. package/channels/es5.debug.private/channels.js +143 -34
  8. package/channels/es5.debug.private/package.json +1 -1
  9. package/channels/min/channels.js +1 -1
  10. package/channels/min/channels.js.map +1 -1
  11. package/channels/min/package.json +1 -1
  12. package/channels/min.private/channels.js +1 -1
  13. package/channels/min.private/channels.js.map +1 -1
  14. package/channels/min.private/package.json +1 -1
  15. package/channels/min.provideGlobalScope/channels.js +1 -1
  16. package/channels/min.provideGlobalScope/channels.js.map +1 -1
  17. package/channels/min.provideGlobalScope/package.json +1 -1
  18. package/channels/package.json +1 -1
  19. package/full/debug/full.js +148 -37
  20. package/full/debug/package.json +1 -1
  21. package/full/debug.private/full.js +148 -37
  22. package/full/debug.private/package.json +1 -1
  23. package/full/min/full.js +1 -1
  24. package/full/min/full.js.map +1 -1
  25. package/full/min/package.json +1 -1
  26. package/full/min.private/full.js +1 -1
  27. package/full/min.private/full.js.map +1 -1
  28. package/full/min.private/package.json +1 -1
  29. package/full/package.json +1 -1
  30. package/package.json +1 -1
  31. package/publish/debug/package.json +1 -1
  32. package/publish/debug/publish.js +1 -1
  33. package/publish/debug.private/package.json +1 -1
  34. package/publish/debug.private/publish.js +1 -1
  35. package/publish/min/package.json +1 -1
  36. package/publish/min/publish.js +1 -1
  37. package/publish/min.private/package.json +1 -1
  38. package/publish/min.private/publish.js +1 -1
  39. package/publish/package.json +1 -1
  40. package/types/sdk/transformation/EncodedMediaTransformManager.d.ts +1 -0
  41. package/types/sdk/transformation/worker/MessageRouter.d.ts +10 -2
  42. package/types/sdk/transformation/worker/TransformStreamPipelineWorkerMessage.d.ts +16 -3
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@phenixrts/sdk/publish",
3
- "version": "2025.2.4-beta.621",
3
+ "version": "2025.2.4-beta.623",
4
4
  "files": [
5
5
  "min/"
6
6
  ],
@@ -14,4 +14,5 @@ export default class EncodedMediaTransformManager implements IDisposable {
14
14
  private initialize;
15
15
  private encodedAudioStreamCallback;
16
16
  private encodedVideoStreamCallback;
17
+ private static toTransferableSurrogate;
17
18
  }
@@ -1,10 +1,18 @@
1
1
  import IDisposable from '../../../lang/IDisposable';
2
2
  import Disposable from '../../../lang/Disposable';
3
- import { TransformMessageDataType } from './TransformStreamPipelineWorkerMessage';
3
+ import { DropChunkPayload, SurrogateChunkPayload, TransformMessageDataType, TransformMessagePayload } from './TransformStreamPipelineWorkerMessage';
4
+ export type TransformMessageReply = TransformMessagePayload<SurrogateChunkPayload | DropChunkPayload> & {
5
+ transferable?: boolean;
6
+ };
7
+ export type TransformMessageRouteHandler<T> = (message: T) => void | TransformMessageReply | Promise<TransformMessageReply | void>;
4
8
  export default class TransformPipelineMessageRouter implements IDisposable {
9
+ private readonly _worker;
5
10
  private readonly _messageRoutes;
11
+ private readonly _replyChains;
12
+ private _isDisposed;
6
13
  constructor(worker: Worker);
7
- registerRoute<T>(messageType: TransformMessageDataType, routeMessage: (message: T) => void): Disposable;
14
+ registerRoute<T>(messageType: TransformMessageDataType, routeMessage: TransformMessageRouteHandler<T>, onErrorReply?: (message: T) => TransformMessageReply): Disposable;
8
15
  dispose(): void;
9
16
  private initialize;
17
+ private postReply;
10
18
  }
@@ -1,4 +1,3 @@
1
- import Chunk from '../Chunk';
2
1
  import { RtpTimestamp } from '../../frameTiming/FrameTimingInformation';
3
2
  import { DecodedFrameTimingInformationPayload } from './transforms/frameTimingInformation';
4
3
  export declare enum TransformMessageType {
@@ -14,12 +13,26 @@ export declare enum TransformMessageDataType {
14
13
  EncodedVideoChunk = 1,
15
14
  EncodedAudioChunk = 2,
16
15
  SurrogateVideoChunk = 3,
17
- SurrogateAudioChunk = 4
16
+ SurrogateAudioChunk = 4,
17
+ DropVideoChunk = 5,
18
+ DropAudioChunk = 6
18
19
  }
19
20
  export type TransformMessagePayload<T> = {
20
21
  type: TransformMessageDataType;
21
22
  data: T;
22
23
  };
24
+ export type EncodedChunkPayload = {
25
+ timestamp: RtpTimestamp;
26
+ data: Uint8Array;
27
+ type: string;
28
+ };
29
+ export type SurrogateChunkPayload = {
30
+ surrogate: ArrayBuffer;
31
+ timestamp: RtpTimestamp;
32
+ };
33
+ export type DropChunkPayload = {
34
+ timestamp: RtpTimestamp;
35
+ };
23
36
  type WebRTCInsertableStreams = {
24
37
  source: ReadableStream;
25
38
  sink: WritableStream;
@@ -42,6 +55,6 @@ export type TransformMessage = {
42
55
  data: TransformMessagePayload<MetadataMessagePayload>;
43
56
  } | {
44
57
  type: TransformMessageType.Chunk;
45
- data: TransformMessagePayload<Chunk>;
58
+ data: TransformMessagePayload<SurrogateChunkPayload | DropChunkPayload>;
46
59
  };
47
60
  export {};