import { AudioStreamInfo, VideoFormat, VideoInfo, VideoStreamInfo } from '@app/domain'; const probeStubDefaultFormat: VideoFormat = { formatName: 'mov,mp4,m4a,3gp,3g2,mj2', formatLongName: 'QuickTime / MOV', duration: 0, }; const probeStubDefaultVideoStream: VideoStreamInfo[] = [ { height: 1080, width: 1920, codecName: 'h265', codecType: 'video', frameCount: 100, rotation: 0 }, ]; const probeStubDefaultAudioStream: AudioStreamInfo[] = [{ codecName: 'aac', codecType: 'audio' }]; const probeStubDefault: VideoInfo = { format: probeStubDefaultFormat, videoStreams: probeStubDefaultVideoStream, audioStreams: probeStubDefaultAudioStream, }; export const probeStub = { noVideoStreams: Object.freeze({ ...probeStubDefault, videoStreams: [] }), multipleVideoStreams: Object.freeze({ ...probeStubDefault, videoStreams: [ { height: 1080, width: 400, codecName: 'h265', codecType: 'video', frameCount: 100, rotation: 0, }, { height: 1080, width: 400, codecName: 'h7000', codecType: 'video', frameCount: 99, rotation: 0, }, ], }), noHeight: Object.freeze({ ...probeStubDefault, videoStreams: [ { height: 0, width: 400, codecName: 'h265', codecType: 'video', frameCount: 100, rotation: 0, }, ], }), videoStream2160p: Object.freeze({ ...probeStubDefault, videoStreams: [ { height: 2160, width: 3840, codecName: 'h264', codecType: 'video', frameCount: 100, rotation: 0, }, ], }), videoStreamVertical2160p: Object.freeze({ ...probeStubDefault, videoStreams: [ { height: 2160, width: 3840, codecName: 'h264', codecType: 'video', frameCount: 100, rotation: 90, }, ], }), audioStreamMp3: Object.freeze({ ...probeStubDefault, audioStreams: [{ codecType: 'audio', codecName: 'aac' }], }), matroskaContainer: Object.freeze({ ...probeStubDefault, format: { formatName: 'matroska,webm', formatLongName: 'Matroska / WebM', duration: 0, }, }), };