UNPKG

@joergmittaglawo/dmvconfig

Version:

DMV Configuration scripts for Lawo V__matrix Distributed Multiviewers.

146 lines (145 loc) 5.32 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Enums = exports.All = exports.ResponseAsTableRow = exports.Response = exports.RequestAsTableRow = exports.Request = exports.Debug = exports.MetadataInserter = exports.MetadataExtractorAsTableRow = exports.MetadataExtractor = exports.lower = exports.lift = void 0; const VScript = require("vscript"); const _Time = require("./Time"); exports.lift = { Response: (kwl, socket) => kwl ? (new Response(new VScript.Subtree(socket, kwl))) : null, Request: (kwl, socket) => kwl ? (new Request(new VScript.Subtree(socket, kwl))) : null, Debug: (kwl, socket) => kwl ? (new Debug(new VScript.Subtree(socket, kwl))) : null, MetadataInserter: (kwl, socket) => kwl ? (new MetadataInserter(new VScript.Subtree(socket, kwl))) : null, MetadataExtractor: (kwl, socket) => kwl ? (new MetadataExtractor(new VScript.Subtree(socket, kwl))) : null, SdiDetails: (x, _) => { return x ? { did: x[0], sdid: x[1] } : null; } }; exports.lower = { Response: (ref) => ref ? ref.raw.kwl : null, Request: (ref) => ref ? ref.raw.kwl : null, Debug: (ref) => ref ? ref.raw.kwl : null, MetadataInserter: (ref) => ref ? ref.raw.kwl : null, MetadataExtractor: (ref) => ref ? ref.raw.kwl : null, SdiDetails: (x) => x ? [x.did, x.sdid] : null }; class MetadataExtractor { constructor(raw) { this.raw = raw; } get brief() { return new VScript.rKeyword(this, "brief"); } get extractor_type() { return new VScript.rKeyword(this, "extractor_type"); } get bnc_node() { return new VScript.rKeyword(this, "bnc_node"); } get media_clock() { return new VScript.rKeyword(this, "media_clock", { lift: _Time.lift.Source, lower: _Time.lower.Source }); } get rtp_requested() { return new VScript.rKeyword(this, "rtp_requested"); } get rtp_index() { return new VScript.rKeyword(this, "rtp_index"); } get restrict_extractor_to() { return new VScript.rKeyword(this, "restrict_extractor_to"); } } exports.MetadataExtractor = MetadataExtractor; class MetadataExtractorAsTableRow extends MetadataExtractor { 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.MetadataExtractorAsTableRow = MetadataExtractorAsTableRow; class MetadataInserter { constructor(raw) { this.raw = raw; } get video_dt_node() { return new VScript.rKeyword(this, "video_dt_node"); } get media_clock() { return new VScript.rKeyword(this, "media_clock", { lift: _Time.lift.Source, lower: _Time.lower.Source }); } get src() { return new VScript.duplexKeyword(this, "src", { lift: exports.lift.MetadataExtractor, lower: exports.lower.MetadataExtractor }); } } exports.MetadataInserter = MetadataInserter; class Debug { constructor(raw) { this.raw = raw; } get hpos() { return new VScript.rwKeyword(this, "hpos"); } get vpos() { return new VScript.rwKeyword(this, "vpos"); } } exports.Debug = Debug; class Request { constructor(raw) { this.raw = raw; } get standard() { return new VScript.rKeyword(this, "standard"); } get src() { return new VScript.rKeyword(this, "src", { lift: exports.lift.MetadataExtractor, lower: exports.lower.MetadataExtractor }); } get dst() { return new VScript.rKeyword(this, "dst", { lift: exports.lift.MetadataInserter, lower: exports.lower.MetadataInserter }); } } exports.Request = Request; class RequestAsTableRow extends Request { 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.RequestAsTableRow = RequestAsTableRow; class Response { constructor(raw) { this.raw = raw; } get standard() { return new VScript.rKeyword(this, "standard"); } get src() { return new VScript.rKeyword(this, "src", { lift: exports.lift.MetadataExtractor, lower: exports.lower.MetadataExtractor }); } get dst() { return new VScript.rKeyword(this, "dst", { lift: exports.lift.MetadataInserter, lower: exports.lower.MetadataInserter }); } } exports.Response = Response; class ResponseAsTableRow extends Response { 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.ResponseAsTableRow = ResponseAsTableRow; class All { constructor(raw) { this.raw = raw; } get rtp_channel() { return new VScript.rKeyword(this, "rtp_channel"); } get responses() { return new VScript.StronglyTypedTable(new VScript.Table(this.raw.socket, this.raw.full_kwl("responses")), (row, enclosing_table) => new ResponseAsTableRow(row, enclosing_table)); } get debug() { return new Debug(this.raw.find("debug")); } } exports.All = All; exports.Enums = { RTPChannelStatus: ["Connecting", "Connected"] };