@vindral/web-sdk 2.1.5 → 2.2.0

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/index.d.ts CHANGED
@@ -14,6 +14,7 @@ interface CodedAudioSample extends BaseCodedSample {
14
14
  codec: AudioCodec;
15
15
  channels: number;
16
16
  sampleRate: number;
17
+ language?: string;
17
18
  }
18
19
  interface CodedVideoSample extends BaseCodedSample {
19
20
  type: "video";
@@ -800,6 +801,50 @@ declare class DocumentStateModule implements DocumentState {
800
801
  private onVisibilityChanged;
801
802
  private setIsActive;
802
803
  }
804
+ interface EventModuleEvents {
805
+ ["event"]: Readonly<StoredEvent>;
806
+ }
807
+ interface TimeSource {
808
+ readonly drift: number | undefined;
809
+ readonly serverCurrentTime: number;
810
+ }
811
+ interface BaseEvent {
812
+ timestamp: number;
813
+ }
814
+ declare type TimestampAdded = {
815
+ timestampAdded: number;
816
+ };
817
+ interface Metadata extends BaseEvent {
818
+ type: "metadata";
819
+ content: string;
820
+ }
821
+ interface ChannelSwitch extends BaseEvent {
822
+ type: "channel switch";
823
+ channelId: string;
824
+ }
825
+ interface LanguageSwitch extends BaseEvent {
826
+ type: "language switch";
827
+ language: string;
828
+ }
829
+ declare type Event = Metadata | ChannelSwitch | LanguageSwitch;
830
+ declare type StoredEvent = TimestampAdded & Event;
831
+ declare class EventModule {
832
+ private static EVENT_TIMEOUT;
833
+ private static EVENT_CHECK_INTERVAL;
834
+ private logger;
835
+ private emitter;
836
+ private waitingEvents;
837
+ private isTriggered;
838
+ private timeSource;
839
+ private timers;
840
+ constructor(emitter: Emitter<unknown, EventModuleEvents>, logger: Logger, timeSource: TimeSource);
841
+ load: () => void;
842
+ unload: () => void;
843
+ static create: (emitter: Emitter<unknown, EventModuleEvents>, logger: Logger, timeSource: TimeSource) => EventModule;
844
+ addEvent: (event: Event) => void;
845
+ extractEvent: (previousSample: CodedSample, sample: CodedSample) => void;
846
+ private onBufferedStateChanged;
847
+ }
803
848
  interface IncomingDataModuleListeners {
804
849
  ["connection state"]: Readonly<State>;
805
850
  }
@@ -843,29 +888,6 @@ declare class LoggerModule {
843
888
  unload: () => void;
844
889
  private onLog;
845
890
  }
846
- interface MetadataModuleEvents {
847
- ["metadata"]: Readonly<Metadata>;
848
- }
849
- interface TimeSource {
850
- readonly drift: number | undefined;
851
- readonly serverCurrentTime: number;
852
- }
853
- declare class MetadataModule {
854
- private static METADATA_TIMEOUT;
855
- private static METADATA_CHECK_INTERVAL;
856
- private logger;
857
- private emitter;
858
- private waitingMetadata;
859
- private isTriggered;
860
- private timeSource;
861
- private timers;
862
- constructor(emitter: Emitter<unknown, MetadataModuleEvents>, logger: Logger, timeSource: TimeSource);
863
- load: () => void;
864
- unload: () => void;
865
- static create: (emitter: Emitter<unknown, MetadataModuleEvents>, logger: Logger, timeSource: TimeSource) => MetadataModule;
866
- addMetadata: (metadata: Metadata) => void;
867
- private onBufferedStateChanged;
868
- }
869
891
  interface MseModuleEvents {
870
892
  ["error"]: Readonly<VindralError>;
871
893
  }
@@ -1398,7 +1420,7 @@ export interface Modules {
1398
1420
  subscription: SubscriptionModule;
1399
1421
  renditions: RenditionsModule;
1400
1422
  qualityOfService: QualityOfServiceModule;
1401
- metadata: MetadataModule;
1423
+ event: EventModule;
1402
1424
  sync: SyncModule;
1403
1425
  telemetry?: TelemetryModule;
1404
1426
  documentState: DocumentStateModule;
@@ -1445,6 +1467,12 @@ export interface Options {
1445
1467
  advanced?: AdvancedOptions;
1446
1468
  media?: Media;
1447
1469
  }
1470
+ export interface LanguageSwitchContext {
1471
+ language: string;
1472
+ }
1473
+ export interface ChannelSwitchContext {
1474
+ channelId: string;
1475
+ }
1448
1476
  export interface PublicVindralEvents {
1449
1477
  ["error"]: Readonly<VindralError>;
1450
1478
  ["needs user input"]: NeedsUserInputContext;
@@ -1458,6 +1486,8 @@ export interface PublicVindralEvents {
1458
1486
  ["context switch"]: Readonly<ContextSwitchState>;
1459
1487
  ["server wallclock time"]: Readonly<number>;
1460
1488
  ["is live"]: boolean;
1489
+ ["channel switch"]: Readonly<ChannelSwitchContext>;
1490
+ ["language switch"]: Readonly<LanguageSwitchContext>;
1461
1491
  ["buffer state event"]: Readonly<BufferStateEvent>;
1462
1492
  ["initialized media"]: void;
1463
1493
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vindral/web-sdk",
3
- "version": "2.1.5",
3
+ "version": "2.2.0",
4
4
  "homepage": "https://vindral.com",
5
5
  "description": "Web SDK for viewing Vindral streams",
6
6
  "license": "SEE LICENSE IN https://www.vindral.com/terms-conditions",