homebridge-nest-cam-ft
Version:
Nest cam plugin for homebridge: https://homebridge.io/
115 lines • 4.94 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.PlaybackPacket = exports.PacketType = void 0;
var PacketType;
(function (PacketType) {
PacketType[PacketType["PING"] = 1] = "PING";
PacketType[PacketType["HELLO"] = 100] = "HELLO";
PacketType[PacketType["PING_CAMERA"] = 101] = "PING_CAMERA";
PacketType[PacketType["AUDIO_PAYLOAD"] = 102] = "AUDIO_PAYLOAD";
PacketType[PacketType["START_PLAYBACK"] = 103] = "START_PLAYBACK";
PacketType[PacketType["STOP_PLAYBACK"] = 104] = "STOP_PLAYBACK";
PacketType[PacketType["CLOCK_SYNC_ECHO"] = 105] = "CLOCK_SYNC_ECHO";
PacketType[PacketType["LATENCY_MEASURE"] = 106] = "LATENCY_MEASURE";
PacketType[PacketType["TALKBACK_LATENCY"] = 107] = "TALKBACK_LATENCY";
PacketType[PacketType["METADATA_REQUEST"] = 108] = "METADATA_REQUEST";
PacketType[PacketType["OK"] = 200] = "OK";
PacketType[PacketType["ERROR"] = 201] = "ERROR";
PacketType[PacketType["PLAYBACK_BEGIN"] = 202] = "PLAYBACK_BEGIN";
PacketType[PacketType["PLAYBACK_END"] = 203] = "PLAYBACK_END";
PacketType[PacketType["PLAYBACK_PACKET"] = 204] = "PLAYBACK_PACKET";
PacketType[PacketType["LONG_PLAYBACK_PACKET"] = 205] = "LONG_PLAYBACK_PACKET";
PacketType[PacketType["CLOCK_SYNC"] = 206] = "CLOCK_SYNC";
PacketType[PacketType["REDIRECT"] = 207] = "REDIRECT";
PacketType[PacketType["TALKBACK_BEGIN"] = 208] = "TALKBACK_BEGIN";
PacketType[PacketType["TALKBACK_END"] = 209] = "TALKBACK_END";
PacketType[PacketType["METADATA"] = 210] = "METADATA";
PacketType[PacketType["METADATA_ERROR"] = 211] = "METADATA_ERROR";
PacketType[PacketType["AUTHORIZE_REQUEST"] = 212] = "AUTHORIZE_REQUEST";
})(PacketType = exports.PacketType || (exports.PacketType = {}));
class DirectorsCutRegion {
static read(pbf, end) {
return pbf.readFields(DirectorsCutRegion._readField, { id: 0, left: 0, right: 0, top: 0, bottom: 0 }, end);
}
static _readField(tag, obj, pbf) {
if (pbf) {
if (tag === 1)
obj.id = pbf.readVarint();
else if (tag === 2)
obj.left = pbf.readVarint();
else if (tag === 3)
obj.right = pbf.readVarint();
else if (tag === 4)
obj.top = pbf.readVarint();
else if (tag === 5)
obj.bottom = pbf.readVarint();
}
}
static write(obj, pbf) {
if (pbf) {
if (obj.id)
pbf.writeVarintField(1, obj.id);
if (obj.left)
pbf.writeVarintField(2, obj.left);
if (obj.right)
pbf.writeVarintField(3, obj.right);
if (obj.top)
pbf.writeVarintField(4, obj.top);
if (obj.bottom)
pbf.writeVarintField(5, obj.bottom);
}
}
}
class PlaybackPacket {
static read(pbf, end) {
return pbf.readFields(PlaybackPacket._readField, {
session_id: 0,
channel_id: 0,
timestamp_delta: 0,
payload: null,
latency_rtp_sequence: 0,
latency_rtp_ssrc: 0,
directors_cut_regions: [],
}, end);
}
static _readField(tag, obj, pbf) {
if (pbf) {
if (tag === 1)
obj.session_id = pbf.readVarint();
else if (tag === 2)
obj.channel_id = pbf.readVarint();
else if (tag === 3)
obj.timestamp_delta = pbf.readSVarint();
else if (tag === 4)
obj.payload = pbf.readBytes();
else if (tag === 5)
obj.latency_rtp_sequence = pbf.readVarint();
else if (tag === 6)
obj.latency_rtp_ssrc = pbf.readVarint();
else if (tag === 7)
obj.directors_cut_regions.push(PlaybackPacket.DirectorsCutRegion.read(pbf, pbf.readVarint() + pbf.pos));
}
}
static write(obj, pbf) {
if (pbf) {
if (obj.session_id)
pbf.writeVarintField(1, obj.session_id);
if (obj.channel_id)
pbf.writeVarintField(2, obj.channel_id);
if (obj.timestamp_delta)
pbf.writeSVarintField(3, obj.timestamp_delta);
if (obj.payload)
pbf.writeBytesField(4, obj.payload);
if (obj.latency_rtp_sequence)
pbf.writeVarintField(5, obj.latency_rtp_sequence);
if (obj.latency_rtp_ssrc)
pbf.writeVarintField(6, obj.latency_rtp_ssrc);
if (obj.directors_cut_regions)
for (let i = 0; i < obj.directors_cut_regions.length; i++)
pbf.writeMessage(2, PlaybackPacket.DirectorsCutRegion.write, obj.channels[i]);
}
}
}
exports.PlaybackPacket = PlaybackPacket;
PlaybackPacket.DirectorsCutRegion = DirectorsCutRegion;
//# sourceMappingURL=PlaybackPacket.js.map