implement SetVideoResolution
This commit is contained in:
@@ -1,9 +1,9 @@
|
|||||||
import "./shim.ts";
|
import "./shim.ts";
|
||||||
|
|
||||||
import { ControlCommands, Commands, ccDest } from "./datatypes.js";
|
import { ccDest, Commands, ControlCommands } from "./datatypes.js";
|
||||||
import { Session } from "./server.js";
|
|
||||||
import { XqBytesEnc } from "./func_replacements.js";
|
import { XqBytesEnc } from "./func_replacements.js";
|
||||||
import { hexdump } from "./hexdump.js";
|
import { hexdump } from "./hexdump.js";
|
||||||
|
import { Session } from "./server.js";
|
||||||
import { u16_swap } from "./utils.js";
|
import { u16_swap } from "./utils.js";
|
||||||
|
|
||||||
const str2byte = (s: string): number[] => {
|
const str2byte = (s: string): number[] => {
|
||||||
@@ -82,6 +82,37 @@ export const SendStartVideo = (session: Session): DataView => {
|
|||||||
return makeDataReadWrite(session, ControlCommands.StartVideo, null);
|
return makeDataReadWrite(session, ControlCommands.StartVideo, null);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
export const SendVideoResolution = (session: Session, resol: 1 | 2 | 3 | 4): null => {
|
||||||
|
const pairs = {
|
||||||
|
1: [
|
||||||
|
// 320 x 240
|
||||||
|
[0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0],
|
||||||
|
[0x7, 0x0, 0x0, 0x0, 0x20, 0x0, 0x0, 0x0],
|
||||||
|
],
|
||||||
|
2: [
|
||||||
|
// 640x480
|
||||||
|
[0x7, 0x0, 0x0, 0x0, 0x50, 0x0, 0x0, 0x0],
|
||||||
|
[0x1, 0x0, 0x0, 0x0, 0x2, 0x0, 0x0, 0x0],
|
||||||
|
],
|
||||||
|
3: [
|
||||||
|
// also 640x480 on the X5
|
||||||
|
[0x1, 0x0, 0x0, 0x0, 0x2, 0x0, 0x0, 0x0],
|
||||||
|
[0x7, 0x0, 0x0, 0x0, 0x78, 0x0, 0x0, 0x0],
|
||||||
|
],
|
||||||
|
4: [
|
||||||
|
// also 640x480 on the X5
|
||||||
|
[0x1, 0x0, 0x0, 0x0, 0x2, 0x0, 0x0, 0x0],
|
||||||
|
[0x7, 0x0, 0x0, 0x0, 0xa0, 0x0, 0x0, 0x0],
|
||||||
|
],
|
||||||
|
};
|
||||||
|
|
||||||
|
pairs[resol].forEach((payload: number[]) => {
|
||||||
|
const dv = new DataView(new Uint8Array(payload).buffer);
|
||||||
|
session.send(makeDataReadWrite(session, ControlCommands.VideoParamSet, dv));
|
||||||
|
});
|
||||||
|
return null;
|
||||||
|
};
|
||||||
|
|
||||||
export const SendReboot = (session: Session): DataView => {
|
export const SendReboot = (session: Session): DataView => {
|
||||||
//const dv = new DataView(new Uint8Array(8).fill(0).buffer);
|
//const dv = new DataView(new Uint8Array(8).fill(0).buffer);
|
||||||
let dv = null;
|
let dv = null;
|
||||||
|
|||||||
Reference in New Issue
Block a user