diff options
Diffstat (limited to 'video.install')
-rw-r--r-- | video.install | 142 |
1 files changed, 142 insertions, 0 deletions
diff --git a/video.install b/video.install new file mode 100644 index 0000000..153ce1b --- /dev/null +++ b/video.install @@ -0,0 +1,142 @@ +<?php + +// $Id$ +/** + * @file + * Provides installation functions for video.module. + * + * @author Heshan Wanigasooriya <heshan at heidisoft dot com> + * <heshanmw at gmail dot com> + * @todo + */ + +/** + * Implementation of hook_schema(). + */ +function video_schema() { + $schema['video_files'] = array( + 'description' => t('Store video transcoding queue'), + 'fields' => array( + 'vid' => array( + 'description' => t('Video id'), + 'type' => 'serial', + 'unsigned' => TRUE, + 'not null' => TRUE, + ), + 'fid' => array( + 'description' => t('Original file id'), + 'type' => 'int', + 'unsigned' => TRUE, + 'not null' => TRUE, + 'default' => 0, + ), + 'nid' => array( + 'description' => t('Node id'), + 'type' => 'int', + 'unsigned' => TRUE, + 'not null' => TRUE, + 'default' => 0, + ), + 'status' => array( + 'description' => t('Status of the transcoding'), + 'type' => 'int', + 'unsigned' => TRUE, + 'not null' => TRUE, + 'default' => 0, + ), + 'dimensions' => array( + 'type' => 'varchar', + 'length' => '255', + 'default' => '', + 'description' => t('The dimensions of the video.'), + ), + 'started' => array( + 'description' => t('Started transcodings'), + 'type' => 'int', + 'not null' => TRUE, + 'default' => 0, + ), + 'completed' => array( + 'description' => t('Transcoding completed'), + 'type' => 'int', + 'not null' => TRUE, + 'default' => 0, + ), + 'data' => array( + 'type' => 'text', + 'not null' => FALSE, + 'size' => 'big', + 'description' => 'A serialized array of converted files. Use of this field is discouraged and it will likely disappear in a future version of Drupal.', + ), + ), + 'indexes' => array( + 'status' => array('status'), + 'file' => array('fid'), + ), + 'primary key' => array('vid'), + ); + return $schema; +} + +/** + * Implementation of hook_install(). + */ +function video_install() { + drupal_install_schema('video'); +} + +/** + * Implementation of hook_uninstall(). + */ +function video_uninstall() { + drupal_uninstall_schema('video'); +// Delete all variables which begin with the namespaced "video_*". + $video_vars = array(); + $query = "SELECT name FROM {variable} WHERE name LIKE '%video_%'"; + $video_vars = db_query($query); + while ($result = db_fetch_array($video_vars)) { + if (strpos($result['name'], 'video') === 0) { + variable_del($result['name']); + } + } +} + +/** + * Update 6405 + * dropping video_rendering table and creating video_files + * @return <type> + */ +function video_update_6405() { + $ret = array(); + $ret[] = update_sql("DROP TABLE IF EXISTS {video_rendering}"); + $ret[] = update_sql("DROP TABLE IF EXISTS {video_files}"); + $table = video_schema(); + db_create_table($ret, 'video_files', $table['video_files']); + return $ret; +} + +/** + * Update 6406 + * @return <type> + */ +function video_update_6406() { + drupal_set_message('The system has reset your thumbnail and ffmpeg command settings to their original state. If you made adjustments to these commands, you will have to reset them up.'); +//lets reset our ffmpeg system command variables. + variable_set('video_ffmpeg_thumbnailer_options', '-i !videofile -an -y -f mjpeg -ss !seek -vframes 1 !thumbfile'); + variable_set('video_ffmpeg_helper_auto_cvr_options', '-y -i !videofile -f flv -ar 22050 -ab !audiobitrate -s !size -b !videobitrate -qscale 1 !convertfile'); + return array(); +} + +/** + * Update 6407 + */ +function video_update_6407() { + $ret = array(); +// drop un wanted fields in video files + db_drop_field($ret, 'video_files', 'filesize'); + db_drop_field($ret, 'video_files', 'filename'); + db_drop_field($ret, 'video_files', 'filepath'); + db_drop_field($ret, 'video_files', 'filemime'); + db_add_column($ret, 'video_files', 'data', 'longtext', array('null' => TRUE)); + return $ret; +}
\ No newline at end of file |