@@ -196,6 +196,8 @@ impl Recording {
196
196
settings. set_screencast_restore_token ( & restore_token. unwrap_or_default ( ) ) ;
197
197
198
198
let file_path = new_recording_path ( & settings. saving_location ( ) , profile. file_extension ( ) ) ;
199
+ imp. file . set ( gio:: File :: for_path ( & file_path) ) . unwrap ( ) ;
200
+
199
201
let mut pipeline_builder = PipelineBuilder :: new (
200
202
& file_path,
201
203
settings. framerate ( ) ,
@@ -210,18 +212,6 @@ impl Recording {
210
212
pipeline_builder. select_area_data ( data) ;
211
213
}
212
214
213
- // setup timer
214
- let timer = Timer :: new (
215
- settings. record_delay ( ) ,
216
- clone ! ( @weak self as obj => move |secs_left| {
217
- obj. set_state( RecordingState :: Delayed {
218
- secs_left
219
- } ) ;
220
- } ) ,
221
- ) ;
222
- imp. timer . replace ( Some ( Timer :: clone ( & timer) ) ) ;
223
- timer. await ?;
224
-
225
215
// setup audio sources
226
216
if profile_supports_audio {
227
217
let application = Application :: get ( ) ;
@@ -258,7 +248,18 @@ impl Recording {
258
248
// This is enabled by setting `GST_DEBUG_DUMP_DOT_DIR` to a directory (e.g. `GST_DEBUG_DUMP_DOT_DIR=.`).
259
249
pipeline. debug_to_dot_file_with_ts ( gst:: DebugGraphDetails :: VERBOSE , "kooha-pipeline" ) ;
260
250
261
- imp. file . set ( gio:: File :: for_path ( file_path) ) . unwrap ( ) ;
251
+ // setup timer
252
+ let timer = Timer :: new (
253
+ settings. record_delay ( ) ,
254
+ clone ! ( @weak self as obj => move |secs_left| {
255
+ obj. set_state( RecordingState :: Delayed {
256
+ secs_left
257
+ } ) ;
258
+ } ) ,
259
+ ) ;
260
+ imp. timer . replace ( Some ( Timer :: clone ( & timer) ) ) ;
261
+ timer. await ?;
262
+
262
263
let bus_watch_guard = pipeline
263
264
. bus ( )
264
265
. unwrap ( )
0 commit comments