UNPKG

@vot.js/core

Version:
82 lines (81 loc) 2.99 kB
import { StreamPingRequest, StreamTranslationRequest, StreamTranslationResponse, SubtitlesRequest, SubtitlesResponse, VideoTranslationAudioRequest, VideoTranslationAudioResponse, VideoTranslationRequest, VideoTranslationResponse, YandexSessionRequest, YandexSessionResponse, } from "@vot.js/shared/protos"; export class YandexVOTProtobuf { static encodeTranslationRequest(url, duration, requestLang, responseLang, translationHelp, { forceSourceLang = false, wasStream = false, videoTitle = "", bypassCache = false, useNewModel = true, } = {}) { return VideoTranslationRequest.encode({ url, firstRequest: true, duration, unknown0: 1, language: requestLang, forceSourceLang, unknown1: 0, translationHelp: translationHelp ?? [], responseLanguage: responseLang, wasStream, unknown2: 0, unknown3: 1, bypassCache, useNewModel, videoTitle, }).finish(); } static decodeTranslationResponse(response) { return VideoTranslationResponse.decode(new Uint8Array(response)); } static encodeTranslationAudioRequest(url, translationId, audioBuffer, partialAudio) { return VideoTranslationAudioRequest.encode({ url, translationId, ...(partialAudio ? { partialAudioInfo: { ...partialAudio, audioBuffer, }, } : { audioInfo: audioBuffer, }), }).finish(); } static decodeTranslationAudioResponse(response) { return VideoTranslationAudioResponse.decode(new Uint8Array(response)); } static encodeSubtitlesRequest(url, requestLang) { return SubtitlesRequest.encode({ url, language: requestLang, }).finish(); } static decodeSubtitlesResponse(response) { return SubtitlesResponse.decode(new Uint8Array(response)); } static encodeStreamPingRequest(pingId) { return StreamPingRequest.encode({ pingId, }).finish(); } static encodeStreamRequest(url, requestLang, responseLang) { return StreamTranslationRequest.encode({ url, language: requestLang, responseLanguage: responseLang, unknown0: 1, unknown1: 0, }).finish(); } static decodeStreamResponse(response) { return StreamTranslationResponse.decode(new Uint8Array(response)); } } export class YandexSessionProtobuf { static encodeSessionRequest(uuid, module) { return YandexSessionRequest.encode({ uuid, module, }).finish(); } static decodeSessionResponse(response) { return YandexSessionResponse.decode(new Uint8Array(response)); } }