VideoDevice Class Reference

#include <videodevice.h>

Collaboration diagram for VideoDevice:

Collaboration graph
[legend]

Public Member Functions

 VideoDevice (MWindow *mwindow=0)
 ~VideoDevice ()
int close_all ()
int open_input (VideoInConfig *config, int input_x, int input_y, float input_z, double frame_rate)
VDeviceBasenew_device_base ()
VDeviceBaseget_output_base ()
int is_compressed (int use_file, int use_fixed)
void fix_asset (Asset *asset, int driver)
int get_best_colormodel (Asset *asset)
int set_adevice (AudioDevice *adevice)
int get_failed ()
int interrupt_crash ()
int set_translation (int input_x, int input_y)
int set_channel (Channel *channel)
void set_quality (int quality)
int set_field_order (int odd_field_first)
int set_latency_counter (int value)
int set_picture (PictureConfig *picture)
int capture_frame (int frame_number)
int read_buffer (VFrame *frame)
int has_signal ()
int frame_to_vframe (VFrame *frame, unsigned char *input)
int initialize ()
ArrayList< Channel * > * get_inputs ()
Channelnew_input_source (char *device_name)
BC_Bitmapget_bitmap ()
int set_cloexec_flag (int desc, int value)
int open_output (VideoOutConfig *config, float rate, int out_w, int out_h, Canvas *output, int single_frame)
void set_cpus (int cpus)
int start_playback ()
int interrupt_playback ()
void new_output_buffer (VFrame **output, int colormodel)
int wait_for_startup ()
int wait_for_completion ()
int output_visible ()
int stop_playback ()
void goose_input ()
long current_position ()
int write_buffer (VFrame *output, EDL *edl)
int update_translation ()

Static Public Member Functions

static int is_compressed (int driver, int use_file, int use_fixed)
static void load_channeldb (ChannelDB *channeldb, VideoInConfig *vconfig_in)
static void save_channeldb (ChannelDB *channeldb, VideoInConfig *vconfig_in)
static char * drivertostr (int driver)

Data Fields

int interrupt
int output_format
int is_playing_back
AudioDeviceadevice
int sharing
int done_sharing
Mutexsharing_lock
float orate
float irate
Timer buffer_timer
Timer rate_timer
int out_w
int out_h
int r
int w
long frame_delay
int cpus
int is_recording
double frame_rate
int frame_in_capture_x1
int frame_in_capture_x2
int frame_in_capture_y1
int frame_in_capture_y2
int capture_in_frame_x1
int capture_in_frame_x2
int capture_in_frame_y1
int capture_in_frame_y2
int capture_w
int capture_h
int input_x
int input_y
float input_z
int new_input_x
int new_input_y
float new_input_z
int frame_resized
int latency_counter
int capturing
int swap_bytes
ArrayList< Channel * > input_sources
int odd_field_first
int quality
int single_frame
Channelchannel
int channel_changed
Mutexchannel_lock
int picture_changed
PictureConfigpicture
Mutexpicture_lock
VDeviceBaseinput_base
VDeviceBaseoutput_base
VideoInConfigin_config
VideoOutConfigout_config
KeepaliveThreadkeepalive
MWindowmwindow

Detailed Description

Definition at line 67 of file videodevice.h.


Constructor & Destructor Documentation

VideoDevice::VideoDevice ( MWindow mwindow = 0  ) 

Definition at line 107 of file videodevice.C.

References channel, channel_lock, MWindow::defaults, in_config, initialize(), out_config, picture, picture_lock, and sharing_lock.

Here is the call graph for this function:

VideoDevice::~VideoDevice (  ) 

Definition at line 121 of file videodevice.C.

References channel, channel_lock, in_config, input_sources, out_config, picture, picture_lock, ArrayList< TYPE >::remove_all_objects(), and sharing_lock.

Here is the call graph for this function:


Member Function Documentation

int VideoDevice::close_all (  ) 

int VideoDevice::open_input ( VideoInConfig config,
int  input_x,
int  input_y,
float  input_z,
double  frame_rate 
)

VDeviceBase * VideoDevice::new_device_base (  ) 

Definition at line 228 of file videodevice.C.

References VideoInConfig::driver, in_config, and input_base.

Referenced by fix_asset(), and open_input().

VDeviceBase * VideoDevice::get_output_base (  ) 

int VideoDevice::is_compressed ( int  driver,
int  use_file,
int  use_fixed 
) [static]

int VideoDevice::is_compressed ( int  use_file,
int  use_fixed 
)

Definition at line 311 of file videodevice.C.

References VideoInConfig::driver, in_config, and is_compressed().

Here is the call graph for this function:

void VideoDevice::load_channeldb ( ChannelDB channeldb,
VideoInConfig vconfig_in 
) [static]

Definition at line 285 of file videodevice.C.

References get_channeldb_path(), and ChannelDB::load().

Referenced by LiveVideo::load_defaults(), and Record::run().

Here is the call graph for this function:

void VideoDevice::save_channeldb ( ChannelDB channeldb,
VideoInConfig vconfig_in 
) [static]

Definition at line 290 of file videodevice.C.

References get_channeldb_path(), and ChannelDB::save().

Referenced by RecordChannelPicker::handle_channel_edit(), and Record::run().

Here is the call graph for this function:

void VideoDevice::fix_asset ( Asset asset,
int  driver 
)

Definition at line 317 of file videodevice.C.

References VDeviceBase::fix_asset(), Asset::format, input_base, new_device_base(), QUICKTIME_DVSD, QUICKTIME_MJPA, and Asset::vcodec.

Referenced by Record::run().

Here is the call graph for this function:

char * VideoDevice::drivertostr ( int  driver  )  [static]

Definition at line 349 of file videodevice.C.

int VideoDevice::get_best_colormodel ( Asset asset  ) 

int VideoDevice::set_adevice ( AudioDevice adevice  ) 

int VideoDevice::get_failed (  ) 

Definition at line 465 of file videodevice.C.

References KeepaliveThread::get_failed(), and keepalive.

Referenced by RecordVideo::stop_recording().

Here is the call graph for this function:

int VideoDevice::interrupt_crash (  ) 

Definition at line 473 of file videodevice.C.

References input_base, and VDeviceBase::interrupt_crash().

Referenced by LiveVideo::render_stop(), RecordVideo::stop_recording(), and LiveVideo::~LiveVideo().

Here is the call graph for this function:

int VideoDevice::set_translation ( int  input_x,
int  input_y 
)

Definition at line 479 of file videodevice.C.

Referenced by Record::set_translation().

int VideoDevice::set_channel ( Channel channel  ) 

void VideoDevice::set_quality ( int  quality  ) 

Definition at line 506 of file videodevice.C.

Referenced by Record::open_input_devices(), and RenderEngine::open_output().

int VideoDevice::set_field_order ( int  odd_field_first  ) 

Definition at line 486 of file videodevice.C.

Referenced by Record::open_input_devices(), and RecordVideo::run().

int VideoDevice::set_latency_counter ( int  value  ) 

Definition at line 586 of file videodevice.C.

References latency_counter.

int VideoDevice::set_picture ( PictureConfig picture  ) 

int VideoDevice::capture_frame ( int  frame_number  ) 

int VideoDevice::read_buffer ( VFrame frame  ) 

Definition at line 599 of file videodevice.C.

References KeepaliveThread::capturing, capturing, input_base, keepalive, VDeviceBase::read_buffer(), and KeepaliveThread::reset_keepalive().

Referenced by LiveVideo::process_buffer(), and RecordVideo::read_buffer().

Here is the call graph for this function:

int VideoDevice::has_signal (  ) 

Definition at line 592 of file videodevice.C.

References VDeviceBase::has_signal(), and input_base.

Referenced by Record::has_signal().

Here is the call graph for this function:

int VideoDevice::frame_to_vframe ( VFrame frame,
unsigned char *  input 
)

int VideoDevice::initialize (  ) 

ArrayList< Channel * > * VideoDevice::get_inputs (  ) 

Definition at line 447 of file videodevice.C.

References input_sources.

Referenced by RecordEngine::get_video_inputs(), and Record::get_video_inputs().

Channel * VideoDevice::new_input_source ( char *  device_name  ) 

Definition at line 452 of file videodevice.C.

References ArrayList< TYPE >::append(), Channel::device_name, input_sources, ArrayList< TYPE >::total, and ArrayList< TYPE >::values.

Here is the call graph for this function:

BC_Bitmap * VideoDevice::get_bitmap (  ) 

Definition at line 726 of file videodevice.C.

References VDeviceBase::get_bitmap(), and output_base.

Here is the call graph for this function:

int VideoDevice::set_cloexec_flag ( int  desc,
int  value 
)

Definition at line 732 of file videodevice.C.

int VideoDevice::open_output ( VideoOutConfig config,
float  rate,
int  out_w,
int  out_h,
Canvas output,
int  single_frame 
)

Definition at line 625 of file videodevice.C.

References VideoOutConfig::driver, VDeviceBase::open_output(), orate, out_config, output_base, and w.

Referenced by PackageRenderer::create_engine(), and RenderEngine::open_output().

Here is the call graph for this function:

void VideoDevice::set_cpus ( int  cpus  ) 

Definition at line 511 of file videodevice.C.

Referenced by RenderEngine::open_output().

int VideoDevice::start_playback (  ) 

Definition at line 678 of file videodevice.C.

References interrupt, is_playing_back, output_base, and VDeviceBase::start_playback().

Referenced by PackageRenderer::create_engine(), and RenderEngine::start_video().

Here is the call graph for this function:

int VideoDevice::interrupt_playback (  ) 

Definition at line 708 of file videodevice.C.

References interrupt.

Referenced by RenderEngine::interrupt_playback().

void VideoDevice::new_output_buffer ( VFrame **  output,
int  colormodel 
)

Definition at line 701 of file videodevice.C.

References VDeviceBase::new_output_buffer(), and output_base.

Referenced by PackageRenderer::do_video(), RecordMonitorThread::new_output_frame(), and VRender::process_buffer().

Here is the call graph for this function:

int VideoDevice::wait_for_startup (  ) 

int VideoDevice::wait_for_completion (  ) 

int VideoDevice::output_visible (  ) 

Definition at line 721 of file videodevice.C.

References output_base, and VDeviceBase::output_visible().

Referenced by PackageRenderer::do_video().

Here is the call graph for this function:

int VideoDevice::stop_playback (  ) 

Definition at line 688 of file videodevice.C.

References interrupt, is_playing_back, output_base, and VDeviceBase::stop_playback().

Referenced by PackageRenderer::stop_output().

Here is the call graph for this function:

void VideoDevice::goose_input (  ) 

Definition at line 696 of file videodevice.C.

References VDeviceBase::goose_input(), and input_base.

Here is the call graph for this function:

long VideoDevice::current_position (  ) 

int VideoDevice::write_buffer ( VFrame output,
EDL edl 
)

Definition at line 714 of file videodevice.C.

References output_base, and VDeviceBase::write_buffer().

Referenced by PackageRenderer::do_video(), VRender::flash_output(), and RecordMonitorThread::show_output_frame().

Here is the call graph for this function:

int VideoDevice::update_translation (  ) 


Field Documentation

Definition at line 175 of file videodevice.h.

Referenced by initialize().

Definition at line 176 of file videodevice.h.

Referenced by initialize(), start_playback(), and stop_playback().

Definition at line 178 of file videodevice.h.

Referenced by initialize(), VDevice1394::open_input(), and VDevice1394::open_output().

Definition at line 182 of file videodevice.h.

Referenced by initialize().

Definition at line 183 of file videodevice.h.

Referenced by initialize(), VideoDevice(), and ~VideoDevice().

Definition at line 186 of file videodevice.h.

Referenced by initialize(), and open_output().

Definition at line 186 of file videodevice.h.

Referenced by initialize().