UNPKG

@dolbyio/dolbyio-rest-apis-client

Version:
172 lines (171 loc) 6.43 kB
/** * Storage types supported by Dolby. */ export type MediaAssetStorageType = "awsS3" | "gcs" | "dolbyStorage"; /** * Additional options for the storage location. */ export interface UpdateStorageOptionsModel { /** Optional, prefix to prepend to assets names in storage. */ objectPrefix?: string | null; /** Optional, name of the bucket to use for storage. */ bucketName?: string | null; /** Optional, region of the bucket to use for storage. */ bucketRegion?: string | null; } /** * The allowable parameters for updating the storage location of an asset when requesting clip creation. */ export interface MediaAssetStorageModel { /** The id of a previously created storage profile. */ profileId?: string | null; /** The type of storage to use. */ type?: MediaAssetStorageType | null; /** Additional options for the storage location. */ options?: UpdateStorageOptionsModel | null; /** ISO 8601 date string, only used for DolbyIO storage. Sets the date to delete the asset automatically. */ expiration?: string | null; } /** * The allowable parameters for requesting the creation of an asset clip. */ export interface CreateAssetClipRequest { /** Required, length ≥ 1, Name of the stream you want to clip. */ streamName: string; /** Optional, Token ID of the stream you want to clip. */ tokenId?: number | null; /** Optional, source identifier. */ sourceId?: string | null; /** Optional, Simulcast ID if required. */ simulcastId?: string | null; /** Optional, int32, The requests with the highest priority are processed first. */ priority?: number | null; /** Required, ISO 8601 date string, Start time of the clip. */ startTime: string; /** Optional, ISO 8601 date string, End time of the clip. If not required defaults to current time. */ stopTime?: string | null; /** Optional, Name of the asset once clipped. If not provided it will be generated. */ name?: string | null; /** Optional, storage information. */ storage?: MediaAssetStorageModel | null; } /** * Response data for the Clip storage. */ export interface MediaAssetStorageResponseModel { /** Storage type. */ type: MediaAssetStorageType; /** Optional, Path to clip storage location. */ path?: string | null; } /** * Response Data for the Metadata for a clip. */ export interface RecordMetadata { /** Format of the clip */ format: string; /** Optional, additional fields expected, sizes available. */ sizes?: Record<string, any> | null; /** Duration in seconds of clip. */ duration: number; /** Array of tracks. */ tracks: { /** Track type */ type: string; /** Track Codec */ codec: string; /** Bitrate of the track. */ bitrate: number; /** Optional, int32, Width of track. */ width?: number | null; /** Optional, int32 Height of track. */ height?: number | null; /** Optional, int32, Framerate of Track. */ framerate?: number | null; /** Optional, int32, Number of channels. */ channels?: number | null; /** Optional, int64, Sample rate of track. */ samplerate?: number | null; }[]; /** Array of thumbnail URLs */ thumbnails: string[]; } /** * Response data for the feed selection from where the clip was created. */ export interface MediaAssetFeedSelectionModel { /** Optional, Token ID of the stream if provided. */ tokenId?: number | null; /** Required, The name of the stream the clip belongs to. */ streamName: string; /** Optional, The SourceId of the stream the clip belongs to. */ sourceId?: string | null; /** Optional, The simulcastId of the stream the clip belongs to. */ simulcastId?: string | null; /** Optional, int32, the priority of the clip request. */ priority?: number | null; } /** * Response data for a clip. */ export interface AssetResponseData { /** Optional, ID of the object. */ id?: string | null; /** Required, type of the object. */ type: "recording" | "clip" | "storageValidation" | "timeline" | "feed"; /** Optional, information about the asset. */ feed?: MediaAssetFeedSelectionModel; /** Required, ISO 8601 date string, Start time of clip. */ startTime: string; /** Optional, ISO 8601 date string, End time of clip. */ stopTime?: string | null; /** Optional, name of the asset. */ name?: string; /** Storage information. */ storage: MediaAssetStorageResponseModel; /** The status of the Clip request. */ status: "processing" | "complete" | "error" | "deleting" | "deleted"; /** Optional, error details. */ error?: string | null; /** Optional, ISO 8601 date string, Created Date. */ created?: string | null; /** Optional, ISO 8601 date string, Expiration Date. */ expiration?: string | null; /** Optional, ISO 8601 date string, Deleted Date. */ removed?: string | null; /** Optional, asset metadata. */ metadata?: RecordMetadata; } /** * The allowable sort options for listing media assets. */ export type ListMediaAssetSortBy = "startTime" | "endTime" | "name"; /** * The allowable parameters for listing and filtering media assets. */ export interface ListMediaAssetsQueryParams { /** Defaults to "startTime". */ sort?: ListMediaAssetSortBy; /** Defaults to ["Processing", "Complete"] unless specified. */ status?: string[] | null; /** Defaults to ["Clip", "Recording"] unless specified. */ type?: string[] | null; /** Optional. Filter by media asset name. */ name?: string | null; /** Optional, Name of the stream to filter by. */ streamName?: string | null; /** Optional, Token ID of the stream to filter by. */ tokenId?: number | null; /** Optional, Source ID of the stream to filter by. */ sourceId?: string | null; /** Optional, with behavior for empty string, Simulcast ID of the stream to filter by. */ simulcastId?: string | null; /** Optional, int32, Priority of the clip request to filter by. */ priority?: number | null; /** Optional, integer, 1 to 2147483647, defaults to 1 */ page?: number; /** Optional, integer, 1 to 100, defaults to 25. */ limit?: number; /** Optional, defaults to `false`, sort descending boolean. */ desc?: boolean; }