@@ -22,9 +22,9 @@ import {
2222} from '../../../accessorHandlers/accessor'
2323import { IWorkInProgress , WorkInProgress } from '../../../lib/workInProgress'
2424import { checkWorkerHasAccessToPackageContainersOnPackage , lookupAccessorHandles , LookupPackageContainer } from './lib'
25- import { DeepScanResult } from './lib/coreApi'
25+ import { DeepScanResult , FieldOrder , ScanAnomaly } from './lib/coreApi'
2626import { CancelablePromise } from '../../../lib/cancelablePromise'
27- import { scanFieldOrder , scanMoreInfo , scanWithFFProbe } from './lib/scan'
27+ import { FFProbeScanResult , scanFieldOrder , scanMoreInfo , scanWithFFProbe } from './lib/scan'
2828import { WindowsWorker } from '../windowsWorker'
2929
3030/**
@@ -172,23 +172,36 @@ export const PackageDeepScan: ExpectationWindowsHandler = {
172172
173173 // Scan with FFProbe:
174174 currentProcess = scanWithFFProbe ( sourceHandle )
175- const ffProbeScan = await currentProcess
175+ const ffProbeScan : FFProbeScanResult = await currentProcess
176+ const hasVideoStream =
177+ ffProbeScan . streams && ffProbeScan . streams . some ( ( stream ) => stream . codec_type === 'video' )
176178 workInProgress . _reportProgress ( sourceVersionHash , 0.1 )
177179 currentProcess = undefined
178180
179181 // Scan field order:
180- currentProcess = scanFieldOrder ( sourceHandle , exp . endRequirement . version )
181- const resultFieldOrder = await currentProcess
182+ let resultFieldOrder = FieldOrder . Unknown
183+ if ( hasVideoStream ) {
184+ currentProcess = scanFieldOrder ( sourceHandle , exp . endRequirement . version )
185+ resultFieldOrder = await currentProcess
186+ currentProcess = undefined
187+ }
182188 workInProgress . _reportProgress ( sourceVersionHash , 0.2 )
183- currentProcess = undefined
184189
185190 // Scan more info:
186- currentProcess = scanMoreInfo ( sourceHandle , ffProbeScan , exp . endRequirement . version , ( progress ) => {
187- workInProgress . _reportProgress ( sourceVersionHash , 0.21 + 0.77 * progress )
188- } )
189- const { blacks : resultBlacks , freezes : resultFreezes , scenes : resultScenes } = await currentProcess
191+ let resultBlacks : ScanAnomaly [ ] = [ ]
192+ let resultFreezes : ScanAnomaly [ ] = [ ]
193+ let resultScenes : number [ ] = [ ]
194+ if ( hasVideoStream ) {
195+ currentProcess = scanMoreInfo ( sourceHandle , ffProbeScan , exp . endRequirement . version , ( progress ) => {
196+ workInProgress . _reportProgress ( sourceVersionHash , 0.21 + 0.77 * progress )
197+ } )
198+ const result = await currentProcess
199+ resultBlacks = result . blacks
200+ resultFreezes = result . freezes
201+ resultScenes = result . scenes
202+ currentProcess = undefined
203+ }
190204 workInProgress . _reportProgress ( sourceVersionHash , 0.99 )
191- currentProcess = undefined
192205
193206 const deepScan : DeepScanResult = {
194207 field_order : resultFieldOrder ,
0 commit comments