@livo-tv/sdk 1.5.0 → 1.6.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.
@@ -9,6 +9,7 @@ type StudioStreamSummary = {
9
9
  title: string;
10
10
  status: string;
11
11
  encoderLostAt?: number | null;
12
+ captionsEnabled?: boolean;
12
13
  };
13
14
  type StudioSession = {
14
15
  authToken: string;
@@ -113,6 +114,15 @@ declare class StudioControlClient {
113
114
  declare function createStudioControlClient(options: StudioControlClientOptions): StudioControlClient;
114
115
  declare function controlActionsFromClient(client: StudioControlClient): StudioControlActions;
115
116
 
117
+ type StudioVideoFilter = "none" | "grayscale" | "sepia" | "warm" | "cool" | "bright";
118
+ type StudioVideoBackground = "none" | "blur" | "image";
119
+ type StudioVideoEffectsConfig = {
120
+ background: StudioVideoBackground;
121
+ blurStrength: number;
122
+ imageUrl?: string;
123
+ filter: StudioVideoFilter;
124
+ };
125
+
116
126
  type StudioDeviceKind = "audio" | "video" | "speaker";
117
127
  type StudioDeviceOption = {
118
128
  deviceId: string;
@@ -212,6 +222,8 @@ type StudioMeetingHandle = {
212
222
  listDevices: () => Promise<StudioDevices>;
213
223
  setDevice: (kind: StudioDeviceKind, deviceId: string) => Promise<void>;
214
224
  setDisplayName: (name: string) => Promise<void>;
225
+ setVideoEffects: (config: StudioVideoEffectsConfig) => Promise<void>;
226
+ videoEffects: () => StudioVideoEffectsConfig;
215
227
  livestreamState: () => string | null;
216
228
  roomState: () => string | null;
217
229
  startLivestream: () => Promise<void>;
@@ -388,6 +400,36 @@ declare function studioRoomLabels(t: (key: string, values?: Record<string, strin
388
400
  chatUnpin: string;
389
401
  chatSave: string;
390
402
  waitingSkeleton: string;
403
+ more: string;
404
+ captions: string;
405
+ captionsOn: string;
406
+ captionsOff: string;
407
+ captionsNotReady: string;
408
+ captionsDelayed: string;
409
+ captionsLanguage: string;
410
+ captionsSize: string;
411
+ captionsSizeS: string;
412
+ captionsSizeM: string;
413
+ captionsSizeL: string;
414
+ settingsGeneral: string;
415
+ settingsAudio: string;
416
+ settingsVideo: string;
417
+ settingsEffects: string;
418
+ settingsSubtitles: string;
419
+ effectNone: string;
420
+ effectBlur: string;
421
+ effectBlurStrong: string;
422
+ effectBackgrounds: string;
423
+ effectFilters: string;
424
+ effectFilterNone: string;
425
+ effectFilterGrayscale: string;
426
+ effectFilterSepia: string;
427
+ effectFilterWarm: string;
428
+ effectFilterCool: string;
429
+ effectFilterBright: string;
430
+ localeEn: string;
431
+ localeEs: string;
432
+ localePt: string;
391
433
  };
392
434
 
393
435
  type StudioDeviceSelection = {
@@ -396,7 +438,7 @@ type StudioDeviceSelection = {
396
438
  speaker: string;
397
439
  };
398
440
 
399
- declare function StudioRoom({ session, meeting, control, onRefreshStatus, onRejoin, labels, reducedMotion, embed, chrome, playerOrigin, windowGate, initialCameraOn, initialMuted, initialDevices, appDownloadUrl, }: {
441
+ declare function StudioRoom({ session, meeting, control, onRefreshStatus, onRejoin, labels, reducedMotion, embed, chrome, playerOrigin, windowGate, initialCameraOn, initialMuted, initialDevices, appDownloadUrl, captionsBaseUrl, apiUrl, cdnBase, }: {
400
442
  session: StudioSession;
401
443
  meeting: StudioMeetingHandle;
402
444
  control: StudioControlActions;
@@ -414,6 +456,9 @@ declare function StudioRoom({ session, meeting, control, onRefreshStatus, onRejo
414
456
  initialMuted?: boolean;
415
457
  initialDevices?: StudioDeviceSelection;
416
458
  appDownloadUrl?: string;
459
+ captionsBaseUrl?: string;
460
+ apiUrl?: string;
461
+ cdnBase?: string;
417
462
  }): react.JSX.Element;
418
463
 
419
464
  declare function StudioSkeleton(): react.JSX.Element;
@@ -532,5 +577,9 @@ declare function getStudioJoinStatus(token: string, apiUrl?: string, fetchFn?: t
532
577
  streamStatus: string | null;
533
578
  } | "ended">;
534
579
  declare function getPublicStreamStatus(streamId: string, apiUrl?: string, fetchFn?: typeof fetch): Promise<string | null>;
580
+ declare function getPublicStreamMeta(streamId: string, apiUrl?: string, fetchFn?: typeof fetch): Promise<{
581
+ status: string;
582
+ captionsEnabled: boolean;
583
+ } | null>;
535
584
 
536
- export { LivoGuestStudio, LivoHostStudio, StudioApiError, type StudioControlActions, StudioControlClient, type StudioControlClientOptions, StudioControlError, StudioGuestLobby, type StudioLobbyLabels, type StudioMeetingHandle, type StudioRole, StudioRoom, type StudioRoomLabels, type StudioSession, StudioSkeleton, StudioWindowGate, StudioWindowGateContext, controlActionsFromClient, createStudioControlClient, getPublicStreamStatus, getStudioJoinStatus, joinStudioGuest, redeemStudioHost, studioErrorCode, studioRoomLabels, usePrefersReducedMotion, useRealtimeKitMeeting, useStudioWindowGate };
585
+ export { LivoGuestStudio, LivoHostStudio, StudioApiError, type StudioControlActions, StudioControlClient, type StudioControlClientOptions, StudioControlError, StudioGuestLobby, type StudioLobbyLabels, type StudioMeetingHandle, type StudioRole, StudioRoom, type StudioRoomLabels, type StudioSession, StudioSkeleton, StudioWindowGate, StudioWindowGateContext, controlActionsFromClient, createStudioControlClient, getPublicStreamMeta, getPublicStreamStatus, getStudioJoinStatus, joinStudioGuest, redeemStudioHost, studioErrorCode, studioRoomLabels, usePrefersReducedMotion, useRealtimeKitMeeting, useStudioWindowGate };
@@ -9,6 +9,7 @@ type StudioStreamSummary = {
9
9
  title: string;
10
10
  status: string;
11
11
  encoderLostAt?: number | null;
12
+ captionsEnabled?: boolean;
12
13
  };
13
14
  type StudioSession = {
14
15
  authToken: string;
@@ -113,6 +114,15 @@ declare class StudioControlClient {
113
114
  declare function createStudioControlClient(options: StudioControlClientOptions): StudioControlClient;
114
115
  declare function controlActionsFromClient(client: StudioControlClient): StudioControlActions;
115
116
 
117
+ type StudioVideoFilter = "none" | "grayscale" | "sepia" | "warm" | "cool" | "bright";
118
+ type StudioVideoBackground = "none" | "blur" | "image";
119
+ type StudioVideoEffectsConfig = {
120
+ background: StudioVideoBackground;
121
+ blurStrength: number;
122
+ imageUrl?: string;
123
+ filter: StudioVideoFilter;
124
+ };
125
+
116
126
  type StudioDeviceKind = "audio" | "video" | "speaker";
117
127
  type StudioDeviceOption = {
118
128
  deviceId: string;
@@ -212,6 +222,8 @@ type StudioMeetingHandle = {
212
222
  listDevices: () => Promise<StudioDevices>;
213
223
  setDevice: (kind: StudioDeviceKind, deviceId: string) => Promise<void>;
214
224
  setDisplayName: (name: string) => Promise<void>;
225
+ setVideoEffects: (config: StudioVideoEffectsConfig) => Promise<void>;
226
+ videoEffects: () => StudioVideoEffectsConfig;
215
227
  livestreamState: () => string | null;
216
228
  roomState: () => string | null;
217
229
  startLivestream: () => Promise<void>;
@@ -388,6 +400,36 @@ declare function studioRoomLabels(t: (key: string, values?: Record<string, strin
388
400
  chatUnpin: string;
389
401
  chatSave: string;
390
402
  waitingSkeleton: string;
403
+ more: string;
404
+ captions: string;
405
+ captionsOn: string;
406
+ captionsOff: string;
407
+ captionsNotReady: string;
408
+ captionsDelayed: string;
409
+ captionsLanguage: string;
410
+ captionsSize: string;
411
+ captionsSizeS: string;
412
+ captionsSizeM: string;
413
+ captionsSizeL: string;
414
+ settingsGeneral: string;
415
+ settingsAudio: string;
416
+ settingsVideo: string;
417
+ settingsEffects: string;
418
+ settingsSubtitles: string;
419
+ effectNone: string;
420
+ effectBlur: string;
421
+ effectBlurStrong: string;
422
+ effectBackgrounds: string;
423
+ effectFilters: string;
424
+ effectFilterNone: string;
425
+ effectFilterGrayscale: string;
426
+ effectFilterSepia: string;
427
+ effectFilterWarm: string;
428
+ effectFilterCool: string;
429
+ effectFilterBright: string;
430
+ localeEn: string;
431
+ localeEs: string;
432
+ localePt: string;
391
433
  };
392
434
 
393
435
  type StudioDeviceSelection = {
@@ -396,7 +438,7 @@ type StudioDeviceSelection = {
396
438
  speaker: string;
397
439
  };
398
440
 
399
- declare function StudioRoom({ session, meeting, control, onRefreshStatus, onRejoin, labels, reducedMotion, embed, chrome, playerOrigin, windowGate, initialCameraOn, initialMuted, initialDevices, appDownloadUrl, }: {
441
+ declare function StudioRoom({ session, meeting, control, onRefreshStatus, onRejoin, labels, reducedMotion, embed, chrome, playerOrigin, windowGate, initialCameraOn, initialMuted, initialDevices, appDownloadUrl, captionsBaseUrl, apiUrl, cdnBase, }: {
400
442
  session: StudioSession;
401
443
  meeting: StudioMeetingHandle;
402
444
  control: StudioControlActions;
@@ -414,6 +456,9 @@ declare function StudioRoom({ session, meeting, control, onRefreshStatus, onRejo
414
456
  initialMuted?: boolean;
415
457
  initialDevices?: StudioDeviceSelection;
416
458
  appDownloadUrl?: string;
459
+ captionsBaseUrl?: string;
460
+ apiUrl?: string;
461
+ cdnBase?: string;
417
462
  }): react.JSX.Element;
418
463
 
419
464
  declare function StudioSkeleton(): react.JSX.Element;
@@ -532,5 +577,9 @@ declare function getStudioJoinStatus(token: string, apiUrl?: string, fetchFn?: t
532
577
  streamStatus: string | null;
533
578
  } | "ended">;
534
579
  declare function getPublicStreamStatus(streamId: string, apiUrl?: string, fetchFn?: typeof fetch): Promise<string | null>;
580
+ declare function getPublicStreamMeta(streamId: string, apiUrl?: string, fetchFn?: typeof fetch): Promise<{
581
+ status: string;
582
+ captionsEnabled: boolean;
583
+ } | null>;
535
584
 
536
- export { LivoGuestStudio, LivoHostStudio, StudioApiError, type StudioControlActions, StudioControlClient, type StudioControlClientOptions, StudioControlError, StudioGuestLobby, type StudioLobbyLabels, type StudioMeetingHandle, type StudioRole, StudioRoom, type StudioRoomLabels, type StudioSession, StudioSkeleton, StudioWindowGate, StudioWindowGateContext, controlActionsFromClient, createStudioControlClient, getPublicStreamStatus, getStudioJoinStatus, joinStudioGuest, redeemStudioHost, studioErrorCode, studioRoomLabels, usePrefersReducedMotion, useRealtimeKitMeeting, useStudioWindowGate };
585
+ export { LivoGuestStudio, LivoHostStudio, StudioApiError, type StudioControlActions, StudioControlClient, type StudioControlClientOptions, StudioControlError, StudioGuestLobby, type StudioLobbyLabels, type StudioMeetingHandle, type StudioRole, StudioRoom, type StudioRoomLabels, type StudioSession, StudioSkeleton, StudioWindowGate, StudioWindowGateContext, controlActionsFromClient, createStudioControlClient, getPublicStreamMeta, getPublicStreamStatus, getStudioJoinStatus, joinStudioGuest, redeemStudioHost, studioErrorCode, studioRoomLabels, usePrefersReducedMotion, useRealtimeKitMeeting, useStudioWindowGate };