View source
<?php
interface video_plugin {
public function get_value();
public function get_name();
public function get_help();
public function admin_settings(&$form_state);
public function admin_settings_validate($form, &$form_state);
}
interface video_filesystem extends video_plugin {
public function load_file(stdClass $video);
public function onpreconvert(stdClass $video);
public function onpostconvert(stdClass $video);
public function delete_video(stdClass $video);
}
interface video_transcoder extends video_plugin {
public function preset_settings(&$form_state, video_preset $preset);
public function preset_settings_validate($form, &$form_state);
public function create_job(stdClass $video);
public function update_job(stdClass $video);
public function delete_job(stdClass $video);
public function load_job($fid);
public function load_job_queue($num);
public function load_completed_job(stdClass $video);
public function change_status(stdClass $video, $status);
public function generate_thumbnails(stdClass $video);
public function convert_video(stdClass $video);
public function requirements();
public function get_dimensions($filepath);
public function get_original_path_by_converted_path($filepath);
}
class video_preset {
public $id = 0;
public $name = '';
public $help = '';
public $extension = '';
public $filenamesuffix = '';
private $settings = NULL;
public function __construct(stdClass $dbdata) {
$this->id = $dbdata->id;
$this->name = $dbdata->name;
$this->help = $dbdata->help;
$this->extension = $dbdata->extension;
$this->filenamesuffix = $dbdata->filenamesuffix;
}
public function getSettings() {
if ($this->settings == NULL) {
$transcoder = variable_get('vid_convertor', 'video_localcommand');
$settings = db_result(db_query('SELECT data FROM {video_preset_settings} WHERE presetid = %d AND transcoder = "%s"', $this->id, $transcoder));
if ($settings) {
$this->settings = unserialize($settings);
}
else {
$this->settings = array();
}
}
return $this->settings;
}
public function setSettings(array $settings) {
$transcoder = variable_get('vid_convertor', 'video_localcommand');
$this->settings = $settings;
db_query('REPLACE INTO {video_preset_settings} SET data = "%s", presetid = %d, transcoder = "%s"', serialize($settings), $this->id, $transcoder);
}
}