UNPKG

camstreamerlib

Version:

Helper library for CamStreamer ACAP applications.

138 lines (137 loc) 4.29 kB
import { z } from 'zod'; import { facebookSchema } from './facebookSchema'; import { mpegDvbSchema } from './mpegDvbSchema'; import { rtmpSchema } from './rtmpSchema'; import { sdCardSchema } from './sdCardSchema'; import { windySchema } from './windySchema'; import { youtubeSchema } from './youtubeSchema'; import { vimeoSchema } from './vimeoSchema'; import { twitchSchema } from './twitchSchema'; import { churchSchema } from './churchSchema'; import { srtSchema } from './srtSchema'; import { daCastSchema } from './daCastSchema'; import { hlsPullSchema } from './hlsPullSchema'; import { hlsPushSchema } from './hlsPushSchema'; import { wowzaSchema } from './wowzaSchema'; import { dailymotionSchema } from './dailymotionSchema'; import { ibmSchema } from './ibmSchema'; import { microsoftAzureSchema } from './microsoftAzureSchema'; import { microsoftStreamSchema } from './microsoftStreamSchema'; import { gameChangerSchema } from './gameChangerSchema'; import { fileSchema } from '../common'; import { youtubeRtmpSchema } from './youtubeRtmpSchema'; export const streamSchema = z.discriminatedUnion('type', [ facebookSchema, mpegDvbSchema, rtmpSchema, sdCardSchema, windySchema, youtubeSchema, vimeoSchema, twitchSchema, churchSchema, srtSchema, daCastSchema, hlsPullSchema, hlsPushSchema, wowzaSchema, dailymotionSchema, ibmSchema, microsoftAzureSchema, microsoftStreamSchema, gameChangerSchema, youtubeRtmpSchema, ]); export const streamListSchema = z.object({ streamList: z.array(streamSchema) }); export const isFacebookStream = (stream) => { return stream.type === 'facebook'; }; export const isMpegDvbStream = (stream) => { return stream.type === 'mpeg_dvb'; }; export const isRtmpStream = (stream) => { return stream.type === 'rtmp'; }; export const isSdCardStream = (stream) => { return stream.type === 'sd_card'; }; export const isWindyStream = (stream) => { return stream.type === 'windy'; }; export const isYouTubeStream = (stream) => { return stream.type === 'youtube'; }; export const isVimeoStream = (stream) => { return stream.type === 'vimeo'; }; export const isTwitchStream = (stream) => { return stream.type === 'twitch'; }; export const isChurchStream = (stream) => { return stream.type === 'church'; }; export const isSrtStream = (stream) => { return stream.type === 'srt'; }; export const isDaCastStream = (stream) => { return stream.type === 'da_cast'; }; export const isHlsPullStream = (stream) => { return stream.type === 'hls_pull'; }; export const isHlsPushStream = (stream) => { return stream.type === 'hls_push'; }; export const isWowzaStream = (stream) => { return stream.type === 'wowza'; }; export const isDailymotionStream = (stream) => { return stream.type === 'dailymotion'; }; export const isIbmStream = (stream) => { return stream.type === 'ibm'; }; export const isMicrosoftAzureStream = (stream) => { return stream.type === 'microsoft_azure'; }; export const isMicrosoftStream = (stream) => { return stream.type === 'microsoft_stream'; }; export const isGameChangerStream = (stream) => { return stream.type === 'game_changer'; }; export const isYoutubeRtmpStream = (stream) => { return stream.type === 'youtube_rtmp'; }; export var AudioType; (function (AudioType) { AudioType[AudioType["MP3"] = 0] = "MP3"; AudioType[AudioType["AAC"] = 1] = "AAC"; })(AudioType || (AudioType = {})); export const audioFileStorageTypeSchema = z.union([z.literal('flash'), z.literal('SD0'), z.literal('url')]); export const storageListSchema = z.array(z.discriminatedUnion('type', [ z.object({ type: z.literal('flash'), flash: z.string(), }), z.object({ type: z.literal('SD0'), SD0: z.string(), }), ])); export const audioFileSchema = z.object({ name: z.string(), path: z.string(), storage: audioFileStorageTypeSchema, }); export const audioFileListSchema = z.array(audioFileSchema); export const audioUrlSchema = z.object({ fileUrl: z.string(), name: z.string(), storage: z.literal('url'), }); export const audioLocalSchema = z.object({ file: fileSchema, name: z.string(), storage: z.enum(['flash', 'SD0']), });