@vindral/web-sdk 4.1.1 → 4.1.2-10-g30d188ef

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/package.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "4.1.1",
2
+ "version": "4.1.2-10-g30d188ef",
3
3
  "name": "@vindral/web-sdk",
4
4
  "main": "./legacy.umd.js",
5
5
  "module": "./legacy.es.js",
package/player.d.ts CHANGED
@@ -282,6 +282,20 @@ interface DrmOptions {
282
282
  * Query parameters to be added to requests to license servers
283
283
  */
284
284
  queryParams?: Record<string, string>;
285
+ /**
286
+ * Widevine options to override default behaviour
287
+ */
288
+ widevine?: {
289
+ videoRobustness?: string[];
290
+ audioRobustness?: string[];
291
+ };
292
+ /**
293
+ * Playready options to override default behaviour
294
+ */
295
+ playready?: {
296
+ videoRobustness?: string[];
297
+ audioRobustness?: string[];
298
+ };
285
299
  }
286
300
  type Media = "audio" | "video" | "audio+video";
287
301
  interface Options {
@@ -981,11 +995,20 @@ declare class Vindral extends Emitter<PublicVindralEvents> {
981
995
  */
982
996
  get channelCurrentTime(): number;
983
997
  /**
984
- * The current target buffer time in milliseconds
998
+ * The current target buffer time in milliseconds.
999
+ *
1000
+ * Initially, this will always be equal to `minBufferTime`.
1001
+ * Only when using a separate `maxBufferTime`, the `targetBufferTime` will be able to vary between min and max.
1002
+ *
985
1003
  */
986
1004
  get targetBufferTime(): number;
987
1005
  /**
988
- * Set the current target buffer time in milliseconds
1006
+ * Set the current target buffer time in milliseconds.
1007
+ *
1008
+ * Note that setting this will not respect min/max buffer time values.
1009
+ * For instance with `{ minBufferTime: 500, maxBufferTime: 3000 }, you can still set `targetBufferTime` to 100 ms.`
1010
+ * The dynamic buffer will still work in respect to the originally set values when needed. Therefore we recommend
1011
+ * setting targetBufferTime within that range for consistancy if using both min/max.
989
1012
  */
990
1013
  set targetBufferTime(bufferTimeMs: number);
991
1014
  /**
@@ -1525,6 +1548,7 @@ declare class AirPlaySender extends Emitter<AirPlaySenderEvents> {
1525
1548
  private hlsUrl;
1526
1549
  private element;
1527
1550
  private connectingTimeout?;
1551
+ private castingAvailable;
1528
1552
  constructor(config: AirPlayConfig);
1529
1553
  /**
1530
1554
  * True if the instance is casting right now.
@@ -1536,8 +1560,9 @@ declare class AirPlaySender extends Emitter<AirPlaySenderEvents> {
1536
1560
  set channelId(channelId: string);
1537
1561
  /**
1538
1562
  * Update authentication token on an already established and authenticated connection.
1563
+ * Note: When casting to AirPlay, this will interrupt the current session to apply the new token.
1539
1564
  */
1540
- updateAuthenticationToken: (_token: string) => void;
1565
+ updateAuthenticationToken: (token: string) => void;
1541
1566
  /**
1542
1567
  * Fully unloads the instance. This disconnects the current listeners.
1543
1568
  */
@@ -1552,6 +1577,7 @@ declare class AirPlaySender extends Emitter<AirPlaySenderEvents> {
1552
1577
  static isAirPlaySupported(): boolean;
1553
1578
  private onAirPlayAvailable;
1554
1579
  private onAirPlayPlaybackChanged;
1580
+ private getHlsUrl;
1555
1581
  private checkHlsUrl;
1556
1582
  }
1557
1583
  type ControllerAttributes = (typeof Controller.observedAttributes)[number];
@@ -1583,6 +1609,10 @@ export declare class Controller extends HTMLElement {
1583
1609
  "advanced",
1584
1610
  "drm-headers",
1585
1611
  "drm-queryparams",
1612
+ "drm-widevine-video-robustness",
1613
+ "drm-widevine-audio-robustness",
1614
+ "drm-playready-video-robustness",
1615
+ "drm-playready-audio-robustness",
1586
1616
  "webtransport-enabled",
1587
1617
  "reconnect-retries",
1588
1618
  "auto-instance-enabled",
@@ -1674,7 +1704,7 @@ export declare class PlayButton extends VindralButton {
1674
1704
  }
1675
1705
  export declare class Player extends HTMLElement {
1676
1706
  #private;
1677
- static observedAttributes: readonly ("title" | "advanced" | "poster" | "language" | "channels" | "buffering" | "paused" | "volume" | "muted" | "user-interacting" | "is-casting" | "cast-available" | "cast-receiver-name" | "ui-locked" | "hide-ui-on-pause" | "is-fullscreen" | "is-fullscreen-fallback" | "rendition-levels" | "rendition-level" | "max-video-bit-rate" | "channel-id" | "channel-group-id" | "pip-available" | "is-pip" | "airplay-available" | "is-airplaying" | "media" | "languages" | "text-tracks" | "text-track" | "needs-user-input-video" | "needs-user-input-audio" | "authentication-token" | "volume-level" | "cast" | "airplay" | "pip" | "fullscreen" | "vu-meter" | "poster-src" | "url" | "offline" | "edge-url" | "target-buffer-time" | "cast-receiver-id" | "cast-background" | "log-level" | "max-size" | "min-buffer-time" | "max-buffer-time" | "max-audio-bit-rate" | "burst-enabled" | "mse-enabled" | "mse-opus-enabled" | "ios-background-play-enabled" | "ios-wake-lock-enabled" | "ios-media-element-enabled" | "abr-enabled" | "size-based-resolution-cap-enabled" | "telemetry-enabled" | "video-codecs" | "drm-headers" | "drm-queryparams" | "webtransport-enabled" | "reconnect-retries" | "auto-instance-enabled" | "refresh-poster-enabled" | "stream-poll-enabled")[];
1707
+ static observedAttributes: readonly ("title" | "advanced" | "poster" | "language" | "channels" | "buffering" | "paused" | "volume" | "muted" | "user-interacting" | "is-casting" | "cast-available" | "cast-receiver-name" | "ui-locked" | "hide-ui-on-pause" | "is-fullscreen" | "is-fullscreen-fallback" | "rendition-levels" | "rendition-level" | "max-video-bit-rate" | "channel-id" | "channel-group-id" | "pip-available" | "is-pip" | "airplay-available" | "is-airplaying" | "media" | "languages" | "text-tracks" | "text-track" | "needs-user-input-video" | "needs-user-input-audio" | "authentication-token" | "volume-level" | "cast" | "airplay" | "pip" | "fullscreen" | "vu-meter" | "poster-src" | "url" | "offline" | "edge-url" | "target-buffer-time" | "cast-receiver-id" | "cast-background" | "log-level" | "max-size" | "min-buffer-time" | "max-buffer-time" | "max-audio-bit-rate" | "burst-enabled" | "mse-enabled" | "mse-opus-enabled" | "ios-background-play-enabled" | "ios-wake-lock-enabled" | "ios-media-element-enabled" | "abr-enabled" | "size-based-resolution-cap-enabled" | "telemetry-enabled" | "video-codecs" | "drm-headers" | "drm-queryparams" | "drm-widevine-video-robustness" | "drm-widevine-audio-robustness" | "drm-playready-video-robustness" | "drm-playready-audio-robustness" | "webtransport-enabled" | "reconnect-retries" | "auto-instance-enabled" | "refresh-poster-enabled" | "stream-poll-enabled")[];
1678
1708
  constructor();
1679
1709
  connectedCallback(): void;
1680
1710
  disconnectedCallback(): void;