@@ -10,6 +10,7 @@ import {
1010import { cleanString } from 'platform/desktop/sharedUtils' ;
1111import { serialize } from 'platform/desktop/backend/serializers/viame' ;
1212import { observeChild } from 'platform/desktop/backend/native/processManager' ;
13+ import sendToRenderer from 'platform/desktop/background' ;
1314
1415import { MultiType , stereoPipelineMarker , multiCamPipelineMarkers } from 'dive-common/constants' ;
1516import * as common from './common' ;
@@ -130,13 +131,8 @@ async function runPipeline(
130131 }
131132
132133 if ( runPipelineArgs . pipeline . type === 'filter' ) {
133- // Create a subdirectory within the working directory to store output images
134- const outputDirectoryName = npath . join ( jobWorkDir , 'output' ) ;
135- if ( ! fs . existsSync ( outputDirectoryName ) ) {
136- await fs . mkdir ( outputDirectoryName ) ;
137- }
138- command . push ( `-s kwa_writer:output_directory="${ outputDirectoryName } "` ) ;
139- command . push ( `-s image_writer:file_name_prefix="${ outputDirectoryName } /"` ) ;
134+ command . push ( `-s kwa_writer:output_directory="${ jobWorkDir } /"` ) ;
135+ command . push ( `-s image_writer:file_name_prefix="${ jobWorkDir } /"` ) ;
140136 }
141137 if ( runPipelineArgs . pipeline . type === 'transcode' ) {
142138 command . push ( `-s video_writer:video_filename="${ npath . join ( jobWorkDir , `${ datasetId } .mp4` ) } "` ) ;
@@ -216,6 +212,23 @@ async function runPipeline(
216212 } ) ;
217213 } ) ;
218214
215+ if ( runPipelineArgs . pipeline . type === 'filter' ) {
216+ job . on ( 'exit' , async ( code ) => {
217+ if ( code === 0 ) {
218+ // Ingest the output into a new dataset
219+ updater ( {
220+ ...jobBase ,
221+ body : [ 'Creating dataset from output...' ] ,
222+ exitCode : code ,
223+ endTime : new Date ( ) ,
224+ } ) ;
225+ const importPayload = await common . beginMediaImport ( jobWorkDir ) ;
226+ const conversionJobArgs = await common . finalizeMediaImport ( settings , importPayload ) ;
227+ sendToRenderer ( 'filter-complete' , conversionJobArgs . meta ) ;
228+ }
229+ } ) ;
230+ }
231+
219232 return jobBase ;
220233}
221234
0 commit comments