//Setup { // video_format: VideoFormat, // width: u64, // height: u64, // redraw_rate: u64, // dr_flags: i32, //}, //DecodeUnit { // frame_number: u64, // frame_type: FrameType, // host_processing_latency: u16, // receieve_time_ms: u64, // enqueue_time_ms: u64, // presentation_time: u64, // full_length: usize, // //buffers: Vec, // buffer: Buffer, // index: u64, // hdr_active: bool, // colorspace: u8, //}, type StreamData = { Url: string, CertHash: Array, } export async function getStreamData(appId: number, server_name: string): Promise { try { // Create the POST request payload const payload = { id: appId, server: server_name, server_mode: { fps: 60, width: 1920, height: 1080, }, stream_config: { bitrate_kbps: 1024 * 10 * 2, mode: { fps: 60, width: 1920, height: 1080, } } }; // Make POST request to start stream const response = await fetch('/api/stream/start', { method: 'POST', headers: { 'Content-Type': 'application/json', }, body: JSON.stringify(payload) }); if (!response.ok) { throw new Error(`HTTP error! status: ${response.status}: ${await response.text()}`); } const streamDataResp = await response.json(); console.log('Stream started:', streamDataResp); let streamData: StreamData = { Url: streamDataResp.url, CertHash: streamDataResp.cert_hash }; return streamData; } catch (error) { console.error('Error getting stream data: ', error); throw new Error('Failed to start stream: ' + error); } }