1
0
Fork 0
mirror of https://gitlab.com/futo-org/fcast.git synced 2025-06-24 21:25:23 +00:00

Added version code sending.

This commit is contained in:
Koen 2023-12-07 16:56:20 +01:00
parent 18b61d549c
commit 33a8d684bf
9 changed files with 68 additions and 10 deletions

View file

@ -1,6 +1,6 @@
import net = require('net');
import { EventEmitter } from 'node:events';
import { PlaybackErrorMessage, PlaybackUpdateMessage, PlayMessage, SeekMessage, SetSpeedMessage, SetVolumeMessage, VolumeUpdateMessage } from './Packets';
import { PlaybackErrorMessage, PlaybackUpdateMessage, PlayMessage, SeekMessage, SetSpeedMessage, SetVolumeMessage, VersionMessage, VolumeUpdateMessage } from './Packets';
import { WebSocket } from 'ws';
enum SessionState {
@ -21,7 +21,8 @@ enum Opcode {
VolumeUpdate = 7,
SetVolume = 8,
PlaybackError = 9,
SetSpeed = 10
SetSpeed = 10,
Version = 11
};
const LENGTH_BYTES = 4;
@ -42,6 +43,10 @@ export class FCastSession {
this.state = SessionState.WaitingForLength;
}
sendVersion(value: VersionMessage) {
this.send(Opcode.Version, value);
}
sendPlaybackError(value: PlaybackErrorMessage) {
this.send(Opcode.PlaybackError, value);
}

View file

@ -47,4 +47,10 @@ export class SetSpeedMessage {
constructor(
public speed: number,
) {}
}
export class VersionMessage {
constructor(
public version: number,
) {}
}

View file

@ -125,5 +125,12 @@ export class TcpListenerService {
this.sessions.splice(index, 1);
}
});
try {
console.log('Sending version');
session.sendVersion({version: 2});
} catch (e) {
console.log('Failed to send version');
}
}
}

View file

@ -1,4 +1,3 @@
import net = require('net');
import { FCastSession } from './FCastSession';
import { EventEmitter } from 'node:events';
import { PlaybackErrorMessage, PlaybackUpdateMessage, PlayMessage, SeekMessage, SetSpeedMessage, SetVolumeMessage, VolumeUpdateMessage } from './Packets';
@ -131,5 +130,12 @@ export class WebSocketListenerService {
this.sessions.splice(index, 1);
}
});
try {
console.log('Sending version');
session.sendVersion({version: 2});
} catch (e) {
console.log('Failed to send version');
}
}
}