@norskvideo/norsk-sdk 1.0.402-2026-01-05-fb2d936b → 1.0.402-2026-01-08-1d6e04ef

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/lib/package.json CHANGED
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "license": "MIT",
3
3
  "name": "@norskvideo/norsk-sdk",
4
- "version": "1.0.402-2026-01-05-fb2d936b+nightly",
4
+ "version": "1.0.402-2026-01-08-1d6e04ef+nightly",
5
5
  "dependencies": {
6
6
  "@bufbuild/protobuf": "^0.3.0",
7
7
  "@grpc/grpc-js": "~1.12.0",
8
- "@norskvideo/norsk-api": "1.0.402-2026-01-05-fb2d936b+nightly",
8
+ "@norskvideo/norsk-api": "1.0.402-2026-01-08-1d6e04ef+nightly",
9
9
  "lodash": "^4.17.21",
10
10
  "typescript-nullable": "^0.6.0"
11
11
  },
@@ -2,7 +2,7 @@ import * as grpc from "@grpc/grpc-js";
2
2
  import { FileTsInputMessage, M3u8MediaInputMessage, RtmpError_InvalidStreamResponse, RtmpError_UnsupportedAudio, RtmpError_UnsupportedVideo, StreamKey as StreamKeyPB, TimestampProgramNudge, TsInputEvent, UdpTsInputMessage } from "@norskvideo/norsk-api/lib/media_pb";
3
3
  import { DeckLinkDisplayModeId, DeckLinkPixelFormat, DeckLinkVideoConnection, FrameRate } from "../types";
4
4
  import { MediaClient, MediaNodeState, SourceMediaNode, SourceNodeSettings, StreamStatisticsMixin } from "./common";
5
- import { AacChannelLayout, BrowserEvent, ChannelLayout, IceServerSettings, ImageFormat, Interval, PixelFormat, RtmpServerInputStatus, RtpLinearPcmBitDepth, SampleFormat, SampleRate, SourceTime, SrtInputStatus, SrtMode, StreamMetadata, SubtitleFragment, TeletextLine, Wave, WebRtcStatsMessage } from "./types";
5
+ import { AacChannelLayout, BrowserEvent, ChannelLayout, IceServerSettings, ImageFormat, InputThresholdSettings, Interval, PixelFormat, RtmpServerInputStatus, RtpLinearPcmBitDepth, SampleFormat, SampleRate, SourceTime, SrtInputStatus, SrtMode, StreamMetadata, SubtitleFragment, TeletextLine, Wave, WebRtcStatsMessage } from "./types";
6
6
  /**
7
7
  * @public
8
8
  * Base settings for most input nodes
@@ -703,6 +703,8 @@ export interface SrtCommonInputSettings {
703
703
  index: number) => void;
704
704
  /** When specified dump the raw source input for debug purposes to the given directory */
705
705
  debugDumpSource?: string;
706
+ /** when specified, drop data until the input is ticking at realtime */
707
+ startupThreshold?: InputThresholdSettings;
706
708
  }
707
709
  /**
708
710
  * @public
@@ -1107,7 +1107,8 @@ class SrtInputNode extends common_1.SourceMediaNode {
1107
1107
  maxBandwidth: (0, types_2.toOptInt)(settings.maxBandwidth),
1108
1108
  overheadBandwidth: (0, types_2.toOptInt)(settings.overheadBandwidth),
1109
1109
  peerIdleTimeoutMs: (0, types_2.toOptInt)(settings.peerIdleTimeoutMs),
1110
- debugDumpSource: settings.debugDumpSource || ""
1110
+ debugDumpSource: settings.debugDumpSource || "",
1111
+ startThreshold: (0, types_2.toInputThresholdSettings)(settings.startupThreshold)
1111
1112
  });
1112
1113
  const stream = client.media.createInputSrt();
1113
1114
  stream.write((0, utils_1.provideFull)(media_pb_1.SrtInputMessage, (0, utils_1.mkMessageCase)({ initialConfig: config })));
@@ -1611,6 +1611,18 @@ export interface JitterBufferConfig {
1611
1611
  maxSlope?: number;
1612
1612
  calibrationWindowDurationMs?: number;
1613
1613
  }
1614
+ /**
1615
+ * @public
1616
+ * Shared configuration for inputs that have a start-up threshold
1617
+ * that is to say, they drop data until the input has stopped bursting/settled down
1618
+ */
1619
+ export interface InputThresholdSettings {
1620
+ consecutiveGood?: number;
1621
+ minPeriodMs?: number;
1622
+ maxPeriodMs?: number;
1623
+ maxSlope?: number;
1624
+ calibrationWindowDurationMs?: number;
1625
+ }
1614
1626
  /**
1615
1627
  * @public
1616
1628
  */
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.toAmdU30H264 = exports.toAmdU30H264Profile = exports.toAmdU30HevcProfile = exports.toAmdU30HevcTier = exports.toQuadraAv1 = exports.toQuadraHevc = exports.toQuadraH264 = exports.toEncodeHint = exports.toQuadraH264Profile = exports.toQuadraAv1Profile = exports.toQuadraHevcProfile = exports.toQuadraAv1Tier = exports.toQuadraHevcTier = exports.toLoganHevc = exports.toLoganH264 = exports.toLoganH264Profile = exports.toLoganHevcProfile = exports.toLoganHevcTier = exports.toNvidiaH264 = exports.toNvidiaHevc = exports.toNvidiaH264Profile = exports.toNvidiaHevcProfile = exports.toNvidiaHevcTier = exports.toNvidiaBFrameRefMode = exports.toNvidiaTuning = exports.toNvidiaPreset = exports.toCabrMode = exports.toNvidiaRateControl = exports.toNvidiaRateControlMode = exports.toX265Codec = exports.toX265Tune = exports.toX264Codec = exports.toDeinterlaceSettings = exports.toVideoTransformHardwareAcceleration = exports.fromSrtTsContext = exports.fromTsContext = exports.fromContext = exports.fromStreamMetadata = exports.metadataForStreamKey = exports.fromStreamKey = exports.mkStreamKey = exports.toMediaNodeId = exports.toOptString = exports.mkOptString = exports.toOptBool = exports.mkOptBool = exports.toOptFloat = exports.mkOptFloat = exports.toOptInt = exports.mkOptInt = void 0;
4
4
  exports.fromScte35PB = exports.toScte35PB = exports.mkWebrtcServerSettings = exports.mkEncryptionSettings = exports.fromSourceSubscriptionError = exports.fromSubscriptionError = exports.fromStreamStatistics = exports.fromAudioMeasureLevels = exports.mkDb = exports.toInterval = exports.fromInterval = exports.msToInterval = exports.intervalToMs = exports.addInterval = exports.fromChannelName = exports.toChannelName = exports.getAmountOfChannels = exports.fromChannelLayout = exports.toChannelLayout = exports.fromSampleRate = exports.toSampleRate = exports.toApiMetrics = exports.fromSampleFormat = exports.toSampleFormat = exports.toSsHardwareAcceleration = exports.toComposeHardwareAcceleration = exports.toComposeMissingStreamBehaviour = exports.toPixelFormat = exports.toSimpleEasing = exports.toAacProfile = exports.toImageFormat = exports.toStabilizationMode = exports.toSentenceBuildMode = exports.fromBrowserEvent = exports.toSrtMode = exports.fromSrtInputState = exports.fromRtmpServerInputState = exports.toBitDepth2 = exports.toBitDepth = exports.toAmdMA35DAv1 = exports.toAmdMA35DHevc = exports.toAmdMA35DH264 = exports.toTrinary = exports.toAmdMA35DEncodeCommon = exports.toAmdMA35DH264Profile = exports.toAmdMA35DHevcProfile = exports.toAmdMA35DHevcTier = exports.toAmdMA35DAv1Profile = exports.toAmdMA35DAv1Tier = exports.toAmdU30Hevc = void 0;
5
- exports.toTeletextColor = exports.fromTeletextColor = exports.toJitterBufferSettings = exports.toSourceTime = exports.mkDtmf = exports.toWave = exports.toSegmentationStrategy = void 0;
5
+ exports.toTeletextColor = exports.fromTeletextColor = exports.toInputThresholdSettings = exports.toJitterBufferSettings = exports.toSourceTime = exports.mkDtmf = exports.toWave = exports.toSegmentationStrategy = void 0;
6
6
  const media_pb_1 = require("@norskvideo/norsk-api/lib/media_pb");
7
7
  const common_pb_1 = require("@norskvideo/norsk-api/lib/shared/common_pb");
8
8
  const utils_1 = require("../shared/utils");
@@ -2779,6 +2779,20 @@ function toJitterBufferSettings(settings) {
2779
2779
  });
2780
2780
  }
2781
2781
  exports.toJitterBufferSettings = toJitterBufferSettings;
2782
+ /** @internal */
2783
+ function toInputThresholdSettings(settings) {
2784
+ if (!settings) {
2785
+ return undefined;
2786
+ }
2787
+ return (0, utils_1.provideFull)(media_pb_1.InputStartThresholdSettings, {
2788
+ consecutiveGood: settings.consecutiveGood !== undefined ? mkOptInt(settings.consecutiveGood) : undefined,
2789
+ minPeriod: settings.minPeriodMs !== undefined ? mkOptInt(Math.round(settings.minPeriodMs)) : undefined,
2790
+ maxPeriod: settings.maxPeriodMs !== undefined ? mkOptInt(Math.round(settings.maxPeriodMs)) : undefined,
2791
+ calibrationWindowDuration: settings.calibrationWindowDurationMs !== undefined ? mkOptInt(Math.round(settings.calibrationWindowDurationMs)) : undefined,
2792
+ maxSlope: settings.maxSlope !== undefined ? mkOptFloat(settings.maxSlope) : undefined
2793
+ });
2794
+ }
2795
+ exports.toInputThresholdSettings = toInputThresholdSettings;
2782
2796
  /**
2783
2797
  * @internal
2784
2798
  */
package/package.json CHANGED
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "license": "MIT",
3
3
  "name": "@norskvideo/norsk-sdk",
4
- "version": "1.0.402-2026-01-05-fb2d936b+nightly",
4
+ "version": "1.0.402-2026-01-08-1d6e04ef+nightly",
5
5
  "dependencies": {
6
6
  "@bufbuild/protobuf": "^0.3.0",
7
7
  "@grpc/grpc-js": "~1.12.0",
8
- "@norskvideo/norsk-api": "1.0.402-2026-01-05-fb2d936b+nightly",
8
+ "@norskvideo/norsk-api": "1.0.402-2026-01-08-1d6e04ef+nightly",
9
9
  "lodash": "^4.17.21",
10
10
  "typescript-nullable": "^0.6.0"
11
11
  },