#include <recordthread.h>
Inherits Thread.

Public Member Functions | |
| RecordThread (MWindow *mwindow, Record *record) | |
| ~RecordThread () | |
| int | create_objects () |
| int | start_recording (int monitor, int context) |
| int | stop_recording (int resume_monitor) |
| int | pause_recording () |
| int | resume_recording () |
| int64_t | sync_position () |
| void | do_cron () |
| void | run () |
Data Fields | |
| int | quit_when_completed |
| RecordAudio * | record_audio |
| RecordVideo * | record_video |
| int | monitor |
| int | single_frame |
| int | context |
| Timer * | record_timer |
| int | engine_done |
| int | resume_monitor |
| double | last_seconds |
| int | last_day |
Private Attributes | |
| MWindow * | mwindow |
| Record * | record |
| File * | file |
| Condition * | pause_lock |
| Condition * | startup_lock |
| Condition * | loop_lock |
| Mutex * | state_lock |
| DriveSync * | drivesync |
Definition at line 16 of file recordthread.h.
Definition at line 25 of file recordthread.C.
References loop_lock, pause_lock, quit_when_completed, record_audio, record_timer, record_video, startup_lock, and state_lock.
| RecordThread::~RecordThread | ( | ) |
Definition at line 40 of file recordthread.C.
References loop_lock, pause_lock, record_audio, record_timer, record_video, SET_TRACE, startup_lock, and state_lock.
| int RecordThread::create_objects | ( | ) |
Definition at line 59 of file recordthread.C.
References Asset::audio_data, Record::default_asset, engine_done, mwindow, record, record_audio, record_video, and Asset::video_data.
Referenced by RecordEngine::initialize(), and Record::run().
| int RecordThread::start_recording | ( | int | monitor, | |
| int | context | |||
| ) |
Definition at line 74 of file recordthread.C.
References engine_done, Condition::lock(), loop_lock, resume_monitor, Thread::start(), startup_lock, and Condition::unlock().
Referenced by RecordEngine::save_frame(), RecordEngine::start_monitor(), Record::start_monitor(), and Record::start_recording().

| int RecordThread::stop_recording | ( | int | resume_monitor | ) |
Definition at line 91 of file recordthread.C.
References RecordAudio::batch_done, RecordVideo::batch_done, context, engine_done, Thread::join(), Mutex::lock(), monitor, pause_lock, record_audio, record_video, SET_TRACE, state_lock, RecordAudio::stop_recording(), RecordVideo::stop_recording(), Mutex::unlock(), and Condition::unlock().
Referenced by Record::run(), Record::stop_monitor(), Record::stop_operation(), and RecordEngine::stop_saving().

| int RecordThread::pause_recording | ( | ) |
Definition at line 130 of file recordthread.C.
References Asset::audio_data, RecordAudio::batch_done, RecordVideo::batch_done, Record::capture_state, Record::close_input_devices(), context, Record::default_asset, Mutex::lock(), Condition::lock(), loop_lock, monitor, pause_lock, record, record_audio, record_video, state_lock, RecordVideo::stop_recording(), RecordAudio::stop_recording(), Condition::unlock(), Mutex::unlock(), and Asset::video_data.
Referenced by RecordEngine::pause_monitor(), and Record::pause_monitor().

| int RecordThread::resume_recording | ( | ) |
Definition at line 163 of file recordthread.C.
References RecordAudio::batch_done, RecordVideo::batch_done, Condition::lock(), loop_lock, pause_lock, record_audio, record_video, and Condition::unlock().
Referenced by RecordEngine::resume_monitor(), and Record::resume_monitor().

| int64_t RecordThread::sync_position | ( | ) |
Definition at line 180 of file recordthread.C.
References Asset::audio_data, Record::default_asset, Timer::get_difference(), record, record_audio, record_timer, Asset::sample_rate, and RecordAudio::sync_position().
Referenced by Record::sync_position().

| void RecordThread::do_cron | ( | ) |
Definition at line 190 of file recordthread.C.
References Record::current_display_position(), engine_done, RecordGUI::flash_batch(), Record::get_current_batch(), Record::get_current_time(), last_day, last_seconds, BC_WindowBase::lock_window(), record, Record::record_gui, Batch::start_day, Batch::start_time, and BC_WindowBase::unlock_window().
Referenced by run().

| void RecordThread::run | ( | ) | [virtual] |
Implements Thread.
Definition at line 238 of file recordthread.C.
References Record::activate_batch(), RecordVideo::arm_recording(), RecordAudio::arm_recording(), Asset::audio_data, Asset::audio_length, Record::capture_state, Record::close_input_devices(), context, Record::default_asset, Record::delete_output_file(), do_cron(), DriveSync::done, drivesync, MWindow::edl, engine_done, Record::file, Record::get_audio_write_length(), VideoDevice::get_best_colormodel(), Batch::get_current_asset(), Record::get_current_batch(), Record::get_current_time(), Record::get_next_batch(), VideoDevice::is_compressed(), last_day, last_seconds, Condition::lock(), Mutex::lock(), loop_lock, monitor, mwindow, Record::open_input_devices(), Record::open_output_file(), pause_lock, record, record_audio, Batch::record_mode, EDLSession::record_sync_drives, record_timer, record_video, Batch::recorded, Record::resume_monitor(), resume_monitor, Record::rewind_file(), RING_BUFFERS, EDL::session, Batch::session_frames, Batch::session_samples, SET_TRACE, Thread::start(), File::start_audio_thread(), RecordVideo::start_recording(), RecordAudio::start_recording(), File::start_video_thread(), startup_lock, state_lock, File::stop_audio_thread(), Record::stop_duplex(), File::stop_video_thread(), Batch::total_frames, Batch::total_samples, TRACE, Mutex::unlock(), Condition::unlock(), Timer::update(), Record::vdevice, Asset::video_data, Asset::video_length, and EDLSession::video_write_length.

Definition at line 32 of file recordthread.h.
Referenced by RecordThread(), and RecordEngine::run_script().
Definition at line 33 of file recordthread.h.
Referenced by create_objects(), pause_recording(), RecordThread(), resume_recording(), RecordVideo::run(), run(), Record::run(), stop_recording(), sync_position(), and ~RecordThread().
Definition at line 34 of file recordthread.h.
Referenced by create_objects(), pause_recording(), RecordThread(), resume_recording(), run(), Record::run(), stop_recording(), and ~RecordThread().
Definition at line 36 of file recordthread.h.
Referenced by RecordVideo::arm_recording(), RecordVideo::cleanup_recording(), pause_recording(), RecordVideo::run(), run(), RecordAudio::run(), stop_recording(), and RecordVideo::~RecordVideo().
Definition at line 38 of file recordthread.h.
Definition at line 40 of file recordthread.h.
Referenced by pause_recording(), RecordVideo::run(), run(), and stop_recording().
Definition at line 41 of file recordthread.h.
Referenced by RecordThread(), run(), sync_position(), and ~RecordThread().
Definition at line 42 of file recordthread.h.
Referenced by create_objects(), do_cron(), run(), start_recording(), and stop_recording().
| double RecordThread::last_seconds |
MWindow* RecordThread::mwindow [private] |
Record* RecordThread::record [private] |
Definition at line 50 of file recordthread.h.
Referenced by create_objects(), do_cron(), pause_recording(), run(), and sync_position().
File* RecordThread::file [private] |
Definition at line 51 of file recordthread.h.
Condition* RecordThread::pause_lock [private] |
Definition at line 52 of file recordthread.h.
Referenced by pause_recording(), RecordThread(), resume_recording(), run(), stop_recording(), and ~RecordThread().
Condition * RecordThread::startup_lock [private] |
Definition at line 52 of file recordthread.h.
Referenced by RecordThread(), run(), start_recording(), and ~RecordThread().
Condition * RecordThread::loop_lock [private] |
Definition at line 52 of file recordthread.h.
Referenced by pause_recording(), RecordThread(), resume_recording(), run(), start_recording(), and ~RecordThread().
Mutex* RecordThread::state_lock [private] |
Definition at line 54 of file recordthread.h.
Referenced by pause_recording(), RecordThread(), run(), stop_recording(), and ~RecordThread().
DriveSync* RecordThread::drivesync [private] |
1.5.5