@vindral/web-sdk 4.4.0 → 4.5.0-7-gbf689372

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/legacy.d.ts CHANGED
@@ -1007,6 +1007,24 @@ interface SyncModuleStatistics {
1007
1007
  * Measures how far off sync the playback typically is, regardless of direction.
1008
1008
  */
1009
1009
  averageDrift: number;
1010
+ /**
1011
+ * Whether the video stream **currently arriving** presents frames out of decode order. Reported
1012
+ * from SyncModule rather than the playback modules because it sits upstream of both on every ingest
1013
+ * route, so one detector covers MSE and WebCodecs alike and the readout comes from the same
1014
+ * observation that gates timeshift.
1015
+ *
1016
+ * Not the same as *whether timeshift is currently suppressed* — stated as a rule rather than a list
1017
+ * of cases, because an earlier version of this comment enumerated them and was incomplete. This is
1018
+ * {@link BFrameTracker}'s state, which clears whenever the stream identity changes (rendition or
1019
+ * channel) or {@link reset} runs; the gate above it is a session-sticky latch that never clears. Any
1020
+ * of those therefore leaves this false — until the detector re-latches a fragment or two later —
1021
+ * while timeshift stays suppressed.
1022
+ *
1023
+ * Both scopes are deliberate: this answers "does the stream in front of us reorder", which is what
1024
+ * is useful when watching a ladder, and the gate needs the opposite bias. Do not read either as the
1025
+ * other.
1026
+ */
1027
+ videoHasBFrames: boolean;
1010
1028
  }
1011
1029
  interface VideoPlayerStatistics {
1012
1030
  renderedFrameCount: number;
@@ -1146,6 +1164,12 @@ export declare class Vindral extends Emitter<PublicVindralEvents> {
1146
1164
  private userAgentInformation;
1147
1165
  private encryptedMediaExtensions;
1148
1166
  private sampleProcessingSesssions;
1167
+ /**
1168
+ * Dedupe the per-fragment diagnostics to once per rendition stretch — one gate per warning, so a
1169
+ * rendition tripping both reports both. See the warn sites in the moq-data handler.
1170
+ */
1171
+ private readonly unbackedSamplesWarned;
1172
+ private readonly unextractableSamplesWarned;
1149
1173
  private sizes;
1150
1174
  private isSuspended;
1151
1175
  private disconnectTimeout;