@joergmittaglawo/dmvconfig
Version:
DMV Configuration scripts for Lawo V__matrix Distributed Multiviewers.
214 lines (213 loc) • 7.58 kB
JavaScript
"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;