From a435de089da4dd37c3c183f633a49107c720dd95 Mon Sep 17 00:00:00 2001 From: Dalyn Cessac Date: Wed, 16 Mar 2011 11:06:40 -0500 Subject: Added phpvideotoolkit transcoder and updates to the preset ui --- .../adapters/ffmpeg-php/php-reader/src/ASF.php | 151 +++++++++++++++++++++ 1 file changed, 151 insertions(+) create mode 100644 libraries/phpvideotoolkit/adapters/ffmpeg-php/php-reader/src/ASF.php (limited to 'libraries/phpvideotoolkit/adapters/ffmpeg-php/php-reader/src/ASF.php') diff --git a/libraries/phpvideotoolkit/adapters/ffmpeg-php/php-reader/src/ASF.php b/libraries/phpvideotoolkit/adapters/ffmpeg-php/php-reader/src/ASF.php new file mode 100644 index 0000000..31516ae --- /dev/null +++ b/libraries/phpvideotoolkit/adapters/ffmpeg-php/php-reader/src/ASF.php @@ -0,0 +1,151 @@ + + * @copyright Copyright (c) 2006-2008 The PHP Reader Project Workgroup + * @license http://code.google.com/p/php-reader/wiki/License New BSD License + * @version $Rev: 108 $ + */ +class ASF extends ASF_Object_Container +{ + const HEADER = "75b22630-668e-11cf-a6d9-00aa0062ce6c"; + const DATA = "75b22636-668e-11cf-a6d9-00aa0062ce6c"; + const SIMPLE_INDEX = "33000890-e5b1-11cf-89f4-00a0c90349cb"; + const INDEX = "d6e229d3-35da-11d1-9034-00a0c90349be"; + const MEDIA_OBJECT_INDEX = "feb103f8-12ad-4c64-840f-2a1d2f7ad48c"; + const TIMECODE_INDEX = "3cb73fd0-0c4a-4803-953d-edf7b6228f0c"; + + /** @var string */ + private $_filename; + + /** + * Constructs the ASF class with given file and options. + * + * The following options are currently recognized: + * o encoding -- Indicates the encoding that all the texts are presented + * with. By default this is set to utf-8. See the documentation of iconv + * for accepted values. + * o readonly -- Indicates that the file is read from a temporary location + * or another source it cannot be written back to. + * + * @param string $filename The path to the file or file descriptor of an + * opened file. + * @param Array $options The options array. + */ + public function __construct($filename, $options = array()) + { + $this->_reader = new Reader($this->_filename = $filename); + $this->setOptions($options); + if ($this->getOption("encoding", false) === false) + $this->setOption("encoding", "utf-8"); + $this->setOffset(0); + $this->setSize($this->_reader->getSize()); + $this->constructObjects + (array + (self::HEADER => "Header", + self::DATA => "Data", + self::SIMPLE_INDEX => "SimpleIndex", + self::INDEX => "Index", + self::MEDIA_OBJECT_INDEX => "MediaObjectIndex", + self::TIMECODE_INDEX => "TimecodeIndex")); + } + + /** + * Returns the mandatory header object contained in this file. + * + * @return ASF_Object_Header + */ + public function getHeader() + { + $header = $this->getObjectsByIdentifier(self::HEADER); + return $header[0]; + } + + /** + * Returns the mandatory data object contained in this file. + * + * @return ASF_Object_Data + */ + public function getData() + { + $data = $this->getObjectsByIdentifier(self::DATA); + return $data[0]; + } + + /** + * Returns an array of index objects contained in this file. + * + * @return Array + */ + public function getIndices() + { + return $this->getObjectsByIdentifier + (self::SIMPLE_INDEX . "|" . self::INDEX . "|" . + self::MEDIA_OBJECT_INDEX . "|" . self::TIMECODE_INDEX); + } + + /** + * Writes the changes back to the original media file. + * + * Please note: currently the method writes only Content Description and + * Extended Content Description Objects. + */ + public function write() + { + throw new ASF_Exception("Not yet supported"); + } +} -- cgit v1.2.3