All files / core/src/RenderingEngine/GenericViewport/Video DefaultVideoDataProvider.ts

0% Statements 0/3
0% Branches 0/6
0% Functions 0/1
0% Lines 0/3

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23                                             
import type { DataProvider, LoadedData } from '../ViewportArchitectureTypes';
import { loadVideoStreamMetadata } from '../../../utilities/VideoUtilities';
import { getGenericViewportSourceDataId } from '../genericViewportDisplaySetAccess';
import type { VideoStreamPayload } from './VideoViewportTypes';
 
export class DefaultVideoDataProvider implements DataProvider {
  async load(dataId: string): Promise<LoadedData<VideoStreamPayload>> {
    const sourceDataId = getGenericViewportSourceDataId(dataId);
    const stream = loadVideoStreamMetadata(sourceDataId);
 
    return {
      id: dataId,
      type: 'video',
      renderedUrl: stream.renderedUrl,
      fps: stream.cineRate || 30,
      numberOfFrames: stream.numberOfFrames || 1,
      frameRange: [1, stream.numberOfFrames || 1],
      modality: stream.modality,
      metadata: stream.metadata,
    };
  }
}