UNPKG

@joergmittaglawo/dmvconfig

Version:

DMV Configuration scripts for Lawo V__matrix Distributed Multiviewers.

214 lines (213 loc) 7.58 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.All = exports.SingleVideoTransmitterAsTableRow = exports.SingleVideoTransmitter = exports.MediaClock = exports.InternalStatusAsArrayRow = exports.InternalStatus = exports.StatusBlocks = exports.Constraints = exports.lower = exports.lift = void 0; const VScript = require("vscript"); const _Definitions = require("./Definitions"); exports.lift = { SingleVideoTransmitter: (kwl, socket) => kwl ? (new SingleVideoTransmitter(new VScript.Subtree(socket, kwl))) : null, MediaClock: (kwl, socket) => kwl ? (new MediaClock(new VScript.Subtree(socket, kwl))) : null, InternalStatus: (kwl, socket) => kwl ? (new InternalStatus(new VScript.Subtree(socket, kwl))) : null, StatusBlocks: (kwl, socket) => kwl ? (new StatusBlocks(new VScript.Subtree(socket, kwl))) : null, Constraints: (kwl, socket) => kwl ? (new Constraints(new VScript.Subtree(socket, kwl))) : null }; exports.lower = { SingleVideoTransmitter: (ref) => ref ? ref.raw.kwl : null, MediaClock: (ref) => ref ? ref.raw.kwl : null, InternalStatus: (ref) => ref ? ref.raw.kwl : null, StatusBlocks: (ref) => ref ? ref.raw.kwl : null, Constraints: (ref) => ref ? ref.raw.kwl : null }; class Constraints { constructor(raw) { this.raw = raw; } get standard() { return new VScript.duplexKeyword(this, "standard"); } get sub_stream() { return new VScript.rKeyword(this, "sub_stream"); } get max_bandwidth() { return new VScript.duplexKeyword(this, "max_bandwidth"); } get reserve_uhd_resources() { return new VScript.duplexKeyword(this, "reserve_uhd_resources"); } } exports.Constraints = Constraints; class StatusBlocks { constructor(raw) { this.raw = raw; } get lane() { return new VScript.rKeyword(this, "lane"); } get number_of_blocks() { return new VScript.rKeyword(this, "number_of_blocks"); } get block1() { return new VScript.rKeyword(this, "block1"); } get block2() { return new VScript.rKeyword(this, "block2"); } get block3() { return new VScript.rKeyword(this, "block3"); } } exports.StatusBlocks = StatusBlocks; class InternalStatus { constructor(raw) { this.raw = raw; } get video_a() { return new StatusBlocks(this.raw.find("video_a")); } get video_b() { return new StatusBlocks(this.raw.find("video_b")); } get meta() { return new StatusBlocks(this.raw.find("meta")); } } exports.InternalStatus = InternalStatus; class InternalStatusAsArrayRow extends InternalStatus { constructor(st, index, parent) { super(st); this.index = index; this.parent = parent; } } exports.InternalStatusAsArrayRow = InternalStatusAsArrayRow; class MediaClock { constructor(raw) { this.raw = raw; } get clock_mode() { return new VScript.duplexKeyword(this, "clock_mode"); } get offset() { return new VScript.duplexKeyword(this, "offset"); } get latched_timestamp() { return new VScript.rKeyword(this, "latched_timestamp"); } get hw_latched_timestamp() { return new VScript.rKeyword(this, "hw_latched_timestamp"); } get latch_control() { return new _Definitions.LatchControl(this.raw.find("latch_control")); } } exports.MediaClock = MediaClock; class SingleVideoTransmitter { constructor(raw) { this.raw = raw; } get transport_format() { return new VScript.duplexKeyword(this, "transport_format"); } get dirac_compression() { return new VScript.duplexKeyword(this, "dirac_compression"); } get add_st2110_40() { return new VScript.duplexKeyword(this, "add_st2110_40"); } get active() { return new VScript.duplexKeyword(this, "active"); } /** Delete */ get remove_transmitter() { return new VScript.wKeyword(this, "remove_transmitter"); } /** Create new output */ get add_new_output() { return new VScript.wKeyword(this, "add_new_output"); } /** mismatching standards */ get status_std_mismatch() { return new VScript.rKeyword(this, "status_std_mismatch"); } get error_irq_counter() { return new VScript.rKeyword(this, "error_irq_counter"); } /** reset error counter */ get reset_irq_counter() { return new VScript.wKeyword(this, "reset_irq_counter"); } get sub_stream() { return new VScript.rKeyword(this, "sub_stream"); } get standard() { return new VScript.rKeyword(this, "standard"); } get sdp_a() { return new VScript.rKeyword(this, "sdp_a"); } get output_port() { return new VScript.StronglyTypedTable(new VScript.Table(this.raw.socket, this.raw.full_kwl("output_port")), (row, enclosing_table) => new _Definitions.TransmitterOutputPortMultiAsTableRow(row, enclosing_table)); } get vid_source() { return new _Definitions.VideoSource(this.raw.find("vid_source")); } get vanc_control() { return new _Definitions.VancControl(this.raw.find("vanc_control")); } get audio_control() { return new _Definitions.AudioControl(this.raw.find("audio_control")); } get mediaclock() { return new MediaClock(this.raw.find("mediaclock")); } get constraints() { return new Constraints(this.raw.find("constraints")); } get stream_name() { return new _Definitions.NAME(this.raw.find("stream_name")); } get internal_status() { return new VScript.StronglyTypedArray(this, "internal_status", (st, index, parent) => new InternalStatusAsArrayRow(st, index, parent)); } } exports.SingleVideoTransmitter = SingleVideoTransmitter; class SingleVideoTransmitterAsTableRow extends SingleVideoTransmitter { constructor(raw_row, enclosing_table) { super(new VScript.Subtree(raw_row.socket, raw_row.kwl)); this.enclosing_table = enclosing_table; this.index = raw_row.index; } } exports.SingleVideoTransmitterAsTableRow = SingleVideoTransmitterAsTableRow; class All { constructor(raw) { this.raw = raw; } /** The SDP format used by software versions prior to V1.3 does not fully comply with SMPTE 2110 specifications (for example, video transmitters used to emit `rtpmap <payload> 2110` instead of `rtpmap <payload> raw/90000`). By setting `sdp_format` to `Legacy`, old-style SDP files can still be generated during a transitional period. Note, however, that this compatibility mode will be deprecated at some point. */ get sdp_format() { return new VScript.rwKeyword(this, "sdp_format"); } get mode_1() { return new VScript.rKeyword(this, "mode_1"); } get mode_2() { return new VScript.rKeyword(this, "mode_2"); } get preserve_src_ip_entry() { return new VScript.rwKeyword(this, "preserve_src_ip_entry"); } get check_ip_address_timeout() { return new VScript.rwKeyword(this, "check_ip_address_timeout"); } get transmitter_assignment() { return new _Definitions.EventTransmitter(this.raw.find("transmitter_assignment")); } get pool() { return new VScript.StronglyTypedTable(new VScript.Table(this.raw.socket, this.raw.full_kwl("pool")), (row, enclosing_table) => new SingleVideoTransmitterAsTableRow(row, enclosing_table)); } } exports.All = All;