Main Page | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Class Members | File Members

PackageRenderer Class Reference

#include <packagerenderer.h>

Inheritance diagram for PackageRenderer:

FarmPackageRenderer MainPackageRenderer List of all members.

Public Member Functions

 PackageRenderer ()
 ~PackageRenderer ()
int initialize (MWindow *mwindow, EDL *edl, Preferences *preferences, Asset *default_asset, ArrayList< PluginServer * > *plugindb)
int render_package (RenderPackage *package)
int direct_copy_possible (EDL *edl, int64_t current_position, Track *playable_track, Edit *&playable_edit, File *file)
int direct_frame_copy (EDL *edl, int64_t &video_position, File *file, int &result)
virtual int get_master ()
virtual int get_result ()
virtual void set_result (int value)
virtual void set_progress (int64_t total_samples)
virtual int set_video_map (int64_t position, int value)
virtual int progress_cancelled ()
void create_output ()
void create_engine ()
void do_audio ()
void do_video ()
void stop_engine ()
void stop_output ()
void close_output ()

Public Attributes

EDLedl
Preferencespreferences
Assetdefault_asset
ArrayList< PluginServer * > * plugindb
Assetasset
double ** audio_output
int64_t audio_position
int64_t audio_preroll
int64_t audio_read_length
Filefile
int result
VFrame *** video_output
MWindowmwindow
double * audio_output_ptr [MAX_CHANNELS]
CICacheaudio_cache
CICachevideo_cache
VFrame * compressed_output
AudioOutConfigaconfig
VideoOutConfigvconfig
PlayableTracksplayable_tracks
RenderEnginerender_engine
RenderPackagepackage
TransportCommandcommand
int direct_frame_copying
VideoDevicevideo_device
VFrame * video_output_ptr [MAX_CHANNELS]
int64_t video_preroll
int64_t video_position
int64_t video_read_length
int64_t video_write_length
int64_t video_write_position

Detailed Description

Definition at line 48 of file packagerenderer.h.


Constructor & Destructor Documentation

PackageRenderer::PackageRenderer  ) 
 

Definition at line 65 of file packagerenderer.C.

References aconfig, audio_cache, command, vconfig, and video_cache.

PackageRenderer::~PackageRenderer  ) 
 

Definition at line 74 of file packagerenderer.C.

References audio_cache, command, vconfig, and video_cache.


Member Function Documentation

void PackageRenderer::close_output  ) 
 

Definition at line 495 of file packagerenderer.C.

References asset, File::close_file(), file, mwindow, SigHandler::pull_file(), and MWindow::sighandler.

Referenced by render_package().

void PackageRenderer::create_engine  ) 
 

Definition at line 177 of file packagerenderer.C.

References aconfig, RenderEngine::arm_command(), asset, audio_cache, Asset::audio_data, audio_position, audio_preroll, audio_read_length, RenderPackage::audio_start, Preferences::brender_preroll, CWindowGUI::canvas, EDLSession::color_model, command, compressed_output, MWindow::cwindow, default_asset, direct_frame_copying, file, AudioOutConfig::fragment_size, EDLSession::frame_rate, Asset::frame_rate, TransportCommand::get_edl(), CWindow::gui, mwindow, VideoDevice::open_output(), EDLSession::output_h, EDLSession::output_w, package, playable_tracks, plugindb, preferences, Preferences::processors, render_engine, Preferences::render_preroll, Asset::sample_rate, EDLSession::sample_rate, EDL::session, RenderEngine::set_acache(), RenderEngine::set_vcache(), File::start_audio_thread(), VideoDevice::start_playback(), File::start_video_thread(), TRACK_VIDEO, RenderPackage::use_brender, vconfig, video_cache, Asset::video_data, video_device, video_position, video_preroll, RenderPackage::video_start, video_write_length, and video_write_position.

Referenced by render_package().

void PackageRenderer::create_output  ) 
 

Definition at line 126 of file packagerenderer.C.

References _, asset, command, default_asset, IndexFile::delete_index(), file, EDLSession::frame_rate, TransportCommand::get_edl(), get_master(), MWindow::gui, mwindow, File::open_file(), package, RenderPackage::path, Asset::path, preferences, Preferences::processors, SigHandler::push_file(), Preferences::renderfarm_vfs, result, EDLSession::sample_rate, EDL::session, File::set_processors(), MWindow::sighandler, and Preferences::use_renderfarm.

Referenced by render_package().

int PackageRenderer::direct_copy_possible EDL edl,
int64_t  current_position,
Track playable_track,
Edit *&  playable_edit,
File file
 

Definition at line 716 of file packagerenderer.C.

References File::can_copy_from(), Track::data_type, Track::direct_copy_possible(), Track::edits, Edits::get_playable_edit(), PlayableTracks::is_playable(), Track::nudge, EDLSession::output_h, EDLSession::output_w, playable_tracks, result, EDL::session, TRACK_VIDEO, and EDL::tracks.

Referenced by direct_frame_copy().

int PackageRenderer::direct_frame_copy EDL edl,
int64_t &  video_position,
File file,
int &  result
 

Definition at line 649 of file packagerenderer.C.

References compressed_output, direct_copy_possible(), direct_frame_copying, BRender::SCANNED, set_video_map(), File::stop_video_thread(), RenderPackage::use_brender, video_cache, video_preroll, video_write_position, File::write_frames(), and File::write_video_buffer().

Referenced by do_video().

void PackageRenderer::do_audio  ) 
 

Definition at line 264 of file packagerenderer.C.

References RenderEngine::arender, asset, Asset::audio_data, audio_output, audio_output_ptr, audio_position, audio_preroll, audio_read_length, Asset::channels, file, File::get_audio_buffer(), MAX_CHANNELS, ARender::process_buffer(), render_engine, result, and File::write_audio_buffer().

Referenced by render_package().

void PackageRenderer::do_video  ) 
 

Definition at line 321 of file packagerenderer.C.

References asset, EDLSession::color_model, command, direct_frame_copy(), direct_frame_copying, file, TransportCommand::get_edl(), get_result(), Asset::layers, MAX_CHANNELS, mwindow, VideoDevice::new_output_buffers(), VideoDevice::output_visible(), package, preferences, VRender::process_buffer(), Preferences::processors, progress_cancelled(), render_engine, BRender::RENDERED, result, EDL::session, set_video_map(), RenderPackage::use_brender, Asset::video_data, video_device, RenderPackage::video_end, PackageDispatcher::video_end, video_output, video_output_ptr, video_position, video_preroll, video_read_length, video_write_length, video_write_position, RenderEngine::vrender, and VideoDevice::write_buffer().

Referenced by render_package().

int PackageRenderer::get_master  )  [virtual]
 

Reimplemented in MainPackageRenderer.

Definition at line 788 of file packagerenderer.C.

Referenced by create_output().

int PackageRenderer::get_result  )  [virtual]
 

Reimplemented in MainPackageRenderer, and FarmPackageRenderer.

Definition at line 794 of file packagerenderer.C.

Referenced by do_video(), and render_package().

int PackageRenderer::initialize MWindow mwindow,
EDL edl,
Preferences preferences,
Asset default_asset,
ArrayList< PluginServer * > *  plugindb
 

Definition at line 82 of file packagerenderer.C.

References aconfig, EDLSession::aspect_h, Asset::aspect_ratio, EDLSession::aspect_w, audio_cache, TransportCommand::change_type, Render::check_asset(), TransportCommand::command, command, EDL::copy_all(), VideoOutConfig::do_channel, EDLSession::frame_rate, Asset::frame_rate, TransportCommand::get_edl(), MAX_CHANNELS, EDLSession::playback_config, result, EDLSession::sample_rate, Asset::sample_rate, EDL::session, TransportCommand::set_playback_range(), vconfig, video_cache, and EDLSession::video_channels.

Referenced by Render::render(), and RenderFarmClientThread::run().

int PackageRenderer::progress_cancelled  )  [virtual]
 

Reimplemented in MainPackageRenderer.

Definition at line 811 of file packagerenderer.C.

Referenced by do_video(), and render_package().

int PackageRenderer::render_package RenderPackage package  ) 
 

Definition at line 505 of file packagerenderer.C.

References asset, Asset::audio_data, RenderPackage::audio_end, audio_position, audio_read_length, close_output(), create_engine(), create_output(), do_audio(), do_video(), Asset::frame_rate, get_result(), MIN, progress_cancelled(), result, Asset::sample_rate, set_progress(), set_result(), stop_engine(), stop_output(), Asset::video_data, RenderPackage::video_end, video_position, and video_read_length.

Referenced by Render::render(), and RenderFarmClientThread::run().

void PackageRenderer::set_progress int64_t  total_samples  )  [virtual]
 

Reimplemented in MainPackageRenderer, and FarmPackageRenderer.

Definition at line 803 of file packagerenderer.C.

Referenced by render_package().

void PackageRenderer::set_result int  value  )  [virtual]
 

Reimplemented in MainPackageRenderer, and FarmPackageRenderer.

Definition at line 799 of file packagerenderer.C.

Referenced by render_package().

int PackageRenderer::set_video_map int64_t  position,
int  value
[virtual]
 

Reimplemented in FarmPackageRenderer.

Definition at line 807 of file packagerenderer.C.

Referenced by direct_frame_copy(), do_video(), and stop_output().

void PackageRenderer::stop_engine  ) 
 

Definition at line 454 of file packagerenderer.C.

References playable_tracks, and render_engine.

Referenced by render_package().

void PackageRenderer::stop_output  ) 
 

Definition at line 461 of file packagerenderer.C.

References asset, Asset::audio_data, VideoDevice::close_all(), compressed_output, file, mwindow, package, BRender::RENDERED, set_video_map(), File::stop_audio_thread(), VideoDevice::stop_playback(), File::stop_video_thread(), RenderPackage::use_brender, Asset::video_data, video_device, video_position, video_write_position, and File::write_video_buffer().

Referenced by render_package().


Member Data Documentation

AudioOutConfig* PackageRenderer::aconfig
 

Definition at line 118 of file packagerenderer.h.

Referenced by create_engine(), initialize(), and PackageRenderer().

Asset* PackageRenderer::asset
 

Definition at line 102 of file packagerenderer.h.

Referenced by close_output(), create_engine(), create_output(), do_audio(), do_video(), render_package(), and stop_output().

CICache* PackageRenderer::audio_cache
 

Definition at line 115 of file packagerenderer.h.

Referenced by create_engine(), initialize(), PackageRenderer(), and ~PackageRenderer().

double** PackageRenderer::audio_output
 

Definition at line 103 of file packagerenderer.h.

Referenced by do_audio().

double* PackageRenderer::audio_output_ptr[MAX_CHANNELS]
 

Definition at line 114 of file packagerenderer.h.

Referenced by do_audio().

int64_t PackageRenderer::audio_position
 

Definition at line 104 of file packagerenderer.h.

Referenced by create_engine(), do_audio(), and render_package().

int64_t PackageRenderer::audio_preroll
 

Definition at line 105 of file packagerenderer.h.

Referenced by create_engine(), and do_audio().

int64_t PackageRenderer::audio_read_length
 

Definition at line 106 of file packagerenderer.h.

Referenced by create_engine(), do_audio(), and render_package().

TransportCommand* PackageRenderer::command
 

Definition at line 124 of file packagerenderer.h.

Referenced by create_engine(), create_output(), do_video(), initialize(), PackageRenderer(), and ~PackageRenderer().

VFrame* PackageRenderer::compressed_output
 

Definition at line 117 of file packagerenderer.h.

Referenced by create_engine(), direct_frame_copy(), and stop_output().

Asset* PackageRenderer::default_asset
 

Definition at line 98 of file packagerenderer.h.

Referenced by create_engine(), and create_output().

int PackageRenderer::direct_frame_copying
 

Definition at line 125 of file packagerenderer.h.

Referenced by create_engine(), direct_frame_copy(), and do_video().

EDL* PackageRenderer::edl
 

Definition at line 96 of file packagerenderer.h.

File* PackageRenderer::file
 

Definition at line 107 of file packagerenderer.h.

Referenced by close_output(), create_engine(), create_output(), do_audio(), do_video(), and stop_output().

MWindow* PackageRenderer::mwindow
 

Definition at line 113 of file packagerenderer.h.

Referenced by close_output(), create_engine(), create_output(), do_video(), and stop_output().

RenderPackage* PackageRenderer::package
 

Definition at line 123 of file packagerenderer.h.

Referenced by create_engine(), create_output(), do_video(), and stop_output().

PlayableTracks* PackageRenderer::playable_tracks
 

Definition at line 121 of file packagerenderer.h.

Referenced by create_engine(), direct_copy_possible(), and stop_engine().

ArrayList<PluginServer*>* PackageRenderer::plugindb
 

Definition at line 99 of file packagerenderer.h.

Referenced by create_engine().

Preferences* PackageRenderer::preferences
 

Definition at line 97 of file packagerenderer.h.

Referenced by create_engine(), create_output(), and do_video().

RenderEngine* PackageRenderer::render_engine
 

Definition at line 122 of file packagerenderer.h.

Referenced by create_engine(), do_audio(), do_video(), and stop_engine().

int PackageRenderer::result
 

Definition at line 109 of file packagerenderer.h.

Referenced by create_output(), direct_copy_possible(), do_audio(), do_video(), fclose(), fgetc(), fileno(), fopen(), fopen64(), fputc(), fread(), fseek(), fseeko64(), ftell(), ftello64(), fwrite(), initialize(), remove(), rename(), and render_package().

VideoOutConfig* PackageRenderer::vconfig
 

Definition at line 119 of file packagerenderer.h.

Referenced by create_engine(), initialize(), PackageRenderer(), and ~PackageRenderer().

CICache* PackageRenderer::video_cache
 

Definition at line 116 of file packagerenderer.h.

Referenced by create_engine(), direct_frame_copy(), initialize(), PackageRenderer(), and ~PackageRenderer().

VideoDevice* PackageRenderer::video_device
 

Definition at line 126 of file packagerenderer.h.

Referenced by create_engine(), do_video(), and stop_output().

VFrame*** PackageRenderer::video_output
 

Definition at line 110 of file packagerenderer.h.

Referenced by do_video().

VFrame* PackageRenderer::video_output_ptr[MAX_CHANNELS]
 

Definition at line 127 of file packagerenderer.h.

Referenced by do_video().

int64_t PackageRenderer::video_position
 

Definition at line 129 of file packagerenderer.h.

Referenced by create_engine(), do_video(), render_package(), and stop_output().

int64_t PackageRenderer::video_preroll
 

Definition at line 128 of file packagerenderer.h.

Referenced by create_engine(), direct_frame_copy(), and do_video().

int64_t PackageRenderer::video_read_length
 

Definition at line 130 of file packagerenderer.h.

Referenced by do_video(), and render_package().

int64_t PackageRenderer::video_write_length
 

Definition at line 131 of file packagerenderer.h.

Referenced by create_engine(), and do_video().

int64_t PackageRenderer::video_write_position
 

Definition at line 132 of file packagerenderer.h.

Referenced by create_engine(), direct_frame_copy(), do_video(), and stop_output().


The documentation for this class was generated from the following files:
Generated on Sun Jan 8 13:39:18 2006 for Cinelerra-svn by  doxygen 1.4.4