4 #include "condition.inc"
5 #include "drivesync.inc"
9 #include "recordaudio.inc"
10 #include "recordvideo.inc"
12 #include "bctimer.inc"
14 // Synchronously handle recording and monitoring
16 class RecordThread
: public Thread
19 RecordThread(MWindow
*mwindow
, Record
*record
);
23 int start_recording(int monitor
, int context
);
24 int stop_recording(int resume_monitor
);
25 int pause_recording();
26 int resume_recording();
27 int64_t sync_position();
32 int quit_when_completed
;
33 RecordAudio
*record_audio
;
34 RecordVideo
*record_video
;
35 // Whether to write data to disk
37 // Whether to open audio device or record single frame
39 // CONTEXT_INTERACTIVE, CONTEXT_BATCH, CONTEXT_SINGLEFRAME
52 Condition
*pause_lock
, *startup_lock
, *loop_lock
;
53 // Lock termination variables to positions where batches aren't being started.
55 // Override the operating system