diff options
Diffstat (limited to 'libraries/phpvideotoolkit/adapters/ffmpeg-php/php-reader/src/ASF/Object')
36 files changed, 0 insertions, 4927 deletions
diff --git a/libraries/phpvideotoolkit/adapters/ffmpeg-php/php-reader/src/ASF/Object/AdvancedContentEncryption.php b/libraries/phpvideotoolkit/adapters/ffmpeg-php/php-reader/src/ASF/Object/AdvancedContentEncryption.php deleted file mode 100644 index c29561a..0000000 --- a/libraries/phpvideotoolkit/adapters/ffmpeg-php/php-reader/src/ASF/Object/AdvancedContentEncryption.php +++ /dev/null @@ -1,109 +0,0 @@ -<?php -/** - * PHP Reader Library - * - * Copyright (c) 2008 The PHP Reader Project Workgroup. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * - Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - Neither the name of the project workgroup nor the names of its - * contributors may be used to endorse or promote products derived from this - * software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE - * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * @package php-reader - * @subpackage ASF - * @copyright Copyright (c) 2008 The PHP Reader Project Workgroup - * @license http://code.google.com/p/php-reader/wiki/License New BSD License - * @version $Id: AdvancedContentEncryption.php 108 2008-09-05 17:00:05Z svollbehr $ - */ - -/**#@+ @ignore */ -require_once("ASF/Object.php"); -/**#@-*/ - -/** - * The <i>Advanced Content Encryption Object</i> lets authors protect content by - * using Next Generation Windows Media Digital Rights Management for Network - * Devices. - * - * @package php-reader - * @subpackage ASF - * @author Sven Vollbehr <svollbehr@gmail.com> - * @copyright Copyright (c) 2008 The PHP Reader Project Workgroup - * @license http://code.google.com/p/php-reader/wiki/License New BSD License - * @version $Rev: 108 $ - */ -final class ASF_Object_AdvancedContentEncryption extends ASF_Object -{ - const WINDOWS_MEDIA_DRM_NETWORK_DEVICES = - "7a079bb6-daa4-4e12-a5ca-91d3 8dc11a8d"; - - /** @var Array */ - private $_contentEncryptionRecords = array(); - - /** - * Constructs the class with given parameters and reads object related data - * from the ASF file. - * - * @param Reader $reader The reader object. - * @param Array $options The options array. - */ - public function __construct($reader, &$options = array()) - { - parent::__construct($reader, $options); - $contentEncryptionRecordsCount = $this->_reader->readUInt16LE(); - for ($i = 0; $i < $contentEncryptionRecordsCount; $i++) { - $entry = array("systemId" => $this->_reader->readGUID(), - "systemVersion" => $this->_reader->readUInt32LE(), - "streamNumbers" => array()); - $encryptedObjectRecordCount = $this->_reader->readUInt16LE(); - for ($j = 0; $j < $encryptedObjectRecordCount; $j++) { - $this->_reader->skip(4); - $entry["streamNumbers"][] = $this->_reader->readUInt16LE(); - } - $dataCount = $this->_reader->readUInt32LE(); - $entry["data"] = $this->_reader->read($dataCount); - $this->_contentEncryptionRecords[] = $entry; - } - } - - /** - * Returns an array of content encryption records. Each record consists of the - * following keys. - * - * o systemId -- Specifies the unique identifier for the content encryption - * system. - * - * o systemVersion -- Specifies the version of the content encryption - * system. - * - * o streamNumbers -- An array of stream numbers a particular Content - * Encryption Record is associated with. - * - * o data -- The content protection data for this Content Encryption Record. - * - * @return Array - */ - public function getContentEncryptionRecords() - { - return $this->_contentEncryptionRecords; - } -} diff --git a/libraries/phpvideotoolkit/adapters/ffmpeg-php/php-reader/src/ASF/Object/AdvancedMutualExclusion.php b/libraries/phpvideotoolkit/adapters/ffmpeg-php/php-reader/src/ASF/Object/AdvancedMutualExclusion.php deleted file mode 100644 index b883dce..0000000 --- a/libraries/phpvideotoolkit/adapters/ffmpeg-php/php-reader/src/ASF/Object/AdvancedMutualExclusion.php +++ /dev/null @@ -1,100 +0,0 @@ -<?php -/** - * PHP Reader Library - * - * Copyright (c) 2008 The PHP Reader Project Workgroup. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * - Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - Neither the name of the project workgroup nor the names of its - * contributors may be used to endorse or promote products derived from this - * software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE - * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * @package php-reader - * @subpackage ASF - * @copyright Copyright (c) 2008 The PHP Reader Project Workgroup - * @license http://code.google.com/p/php-reader/wiki/License New BSD License - * @version $Id: AdvancedMutualExclusion.php 108 2008-09-05 17:00:05Z svollbehr $ - */ - -/**#@+ @ignore */ -require_once("ASF/Object.php"); -/**#@-*/ - -/** - * The <i>Advanced Mutual Exclusion Object</i> identifies streams that have a - * mutual exclusion relationship to each other (in other words, only one of the - * streams within such a relationship can be streamed—the rest are ignored). - * There should be one instance of this object for each set of objects that - * contain a mutual exclusion relationship. The exclusion type is used so that - * implementations can allow user selection of common choices, such as language. - * This object must be used if any of the streams in the mutual exclusion - * relationship are hidden. - * - * @package php-reader - * @subpackage ASF - * @author Sven Vollbehr <svollbehr@gmail.com> - * @copyright Copyright (c) 2008 The PHP Reader Project Workgroup - * @license http://code.google.com/p/php-reader/wiki/License New BSD License - * @version $Rev: 108 $ - */ -final class ASF_Object_AdvancedMutualExclusion extends ASF_Object -{ - const MUTEX_LANGUAGE = "d6e22a00-35da-11d1-9034-00a0c90349be"; - const MUTEX_BITRATE = "d6e22a01-35da-11d1-9034-00a0c90349be"; - const MUTEX_UNKNOWN = "d6e22a02-35da-11d1-9034-00a0c90349be"; - - /** @var string */ - private $_exclusionType; - - /** @var Array */ - private $_streamNumbers = array(); - - /** - * Constructs the class with given parameters and reads object related data - * from the ASF file. - * - * @param Reader $reader The reader object. - * @param Array $options The options array. - */ - public function __construct($reader, &$options = array()) - { - parent::__construct($reader, $options); - $this->_exclusionType = $this->_reader->readGUID(); - $streamNumbersCount = $this->_reader->readUInt16LE(); - for ($i = 0; $i < $streamNumbersCount; $i++) - $this->_streamNumbers[] = $this->_reader->readUInt16LE(); - } - - /** - * Returns the nature of the mutual exclusion relationship. - * - * @return string - */ - public function getExclusionType() { return $this->_exclusionType; } - - /** - * Returns an array of stream numbers. - * - * @return Array - */ - public function getStreamNumbers() { return $this->_streamNumbers; } -} diff --git a/libraries/phpvideotoolkit/adapters/ffmpeg-php/php-reader/src/ASF/Object/BandwidthSharing.php b/libraries/phpvideotoolkit/adapters/ffmpeg-php/php-reader/src/ASF/Object/BandwidthSharing.php deleted file mode 100644 index 532ae58..0000000 --- a/libraries/phpvideotoolkit/adapters/ffmpeg-php/php-reader/src/ASF/Object/BandwidthSharing.php +++ /dev/null @@ -1,133 +0,0 @@ -<?php -/** - * PHP Reader Library - * - * Copyright (c) 2008 The PHP Reader Project Workgroup. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * - Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - Neither the name of the project workgroup nor the names of its - * contributors may be used to endorse or promote products derived from this - * software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE - * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * @package php-reader - * @subpackage ASF - * @copyright Copyright (c) 2008 The PHP Reader Project Workgroup - * @license http://code.google.com/p/php-reader/wiki/License New BSD License - * @version $Id: BandwidthSharing.php 108 2008-09-05 17:00:05Z svollbehr $ - */ - -/**#@+ @ignore */ -require_once("ASF/Object.php"); -/**#@-*/ - -/** - * The <i>Bandwidth Sharing Object</i> indicates streams that share bandwidth in - * such a way that the maximum bandwidth of the set of streams is less than the - * sum of the maximum bandwidths of the individual streams. There should be one - * instance of this object for each set of objects that share bandwidth. Whether - * or not this object can be used meaningfully is content-dependent. - * - * @package php-reader - * @subpackage ASF - * @author Sven Vollbehr <svollbehr@gmail.com> - * @copyright Copyright (c) 2008 The PHP Reader Project Workgroup - * @license http://code.google.com/p/php-reader/wiki/License New BSD License - * @version $Rev: 108 $ - */ -final class ASF_Object_BandwidthSharing extends ASF_Object -{ - const SHARING_EXCLUSIVE = "af6060aa-5197-11d2-b6af-00c04fd908e9"; - const SHARING_PARTIAL = "af6060ab-5197-11d2-b6af-00c04fd908e9"; - - /** @var string */ - private $_sharingType; - - /** @var integer */ - private $_dataBitrate; - - /** @var integer */ - private $_bufferSize; - - /** @var Array */ - private $_streamNumbers = array(); - - /** - * Constructs the class with given parameters and reads object related data - * from the ASF file. - * - * @param Reader $reader The reader object. - * @param Array $options The options array. - */ - public function __construct($reader, &$options = array()) - { - parent::__construct($reader, $options); - - $this->_sharingType = $this->_reader->readGUID(); - $this->_dataBitrate = $this->_reader->readUInt32LE(); - $this->_bufferSize = $this->_reader->readUInt32LE(); - $streamNumbersCount = $this->_reader->readUInt16LE(); - for ($i = 0; $i < $streamNumbersCount; $i++) - $this->_streamNumbers[] = $this->_reader->readUInt16LE(); - } - - /** - * Returns the type of sharing relationship for this object. Two types are - * predefined: SHARING_PARTIAL, in which any number of the streams in the - * relationship may be streaming data at any given time; and - * SHARING_EXCLUSIVE, in which only one of the streams in the relationship - * may be streaming data at any given time. - * - * @return string - */ - public function getSharingType() { return $this->_sharingType; } - - /** - * Returns the leak rate R, in bits per second, of a leaky bucket that - * contains the data portion of all of the streams, excluding all ASF Data - * Packet overhead, without overflowing. The size of the leaky bucket is - * specified by the value of the Buffer Size field. This value can be less - * than the sum of all of the data bit rates in the - * {@link ASF_Object_ExtendedStreamProperties Extended Stream Properties} - * Objects for the streams contained in this bandwidth-sharing relationship. - * - * @return integer - */ - public function getDataBitrate() { return $this->_dataBitrate; } - - /** - * Specifies the size B, in bits, of the leaky bucket used in the Data Bitrate - * definition. This value can be less than the sum of all of the buffer sizes - * in the {@link ASF_Object_ExtendedStreamProperties Extended Stream - * Properties} Objects for the streams contained in this bandwidth-sharing - * relationship. - * - * @return integer - */ - public function getBufferSize() { return $this->_bufferSize; } - - /** - * Returns an array of stream numbers. - * - * @return Array - */ - public function getStreamNumbers() { return $this->_streamNumbers; } -} diff --git a/libraries/phpvideotoolkit/adapters/ffmpeg-php/php-reader/src/ASF/Object/BitrateMutualExclusion.php b/libraries/phpvideotoolkit/adapters/ffmpeg-php/php-reader/src/ASF/Object/BitrateMutualExclusion.php deleted file mode 100644 index 22ca8c9..0000000 --- a/libraries/phpvideotoolkit/adapters/ffmpeg-php/php-reader/src/ASF/Object/BitrateMutualExclusion.php +++ /dev/null @@ -1,100 +0,0 @@ -<?php -/** - * PHP Reader Library - * - * Copyright (c) 2008 The PHP Reader Project Workgroup. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * - Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - Neither the name of the project workgroup nor the names of its - * contributors may be used to endorse or promote products derived from this - * software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE - * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * @package php-reader - * @subpackage ASF - * @copyright Copyright (c) 2008 The PHP Reader Project Workgroup - * @license http://code.google.com/p/php-reader/wiki/License New BSD License - * @version $Id: BitrateMutualExclusion.php 108 2008-09-05 17:00:05Z svollbehr $ - */ - -/**#@+ @ignore */ -require_once("ASF/Object.php"); -/**#@-*/ - -/** - * The <i>Bitrate Mutual Exclusion Object</i> identifies video streams that have - * a mutual exclusion relationship to each other (in other words, only one of - * the streams within such a relationship can be streamed at any given time and - * the rest are ignored). One instance of this object must be present for each - * set of objects that contains a mutual exclusion relationship. All video - * streams in this relationship must have the same frame size. The exclusion - * type is used so that implementations can allow user selection of common - * choices, such as bit rate. - * - * @package php-reader - * @subpackage ASF - * @author Sven Vollbehr <svollbehr@gmail.com> - * @copyright Copyright (c) 2008 The PHP Reader Project Workgroup - * @license http://code.google.com/p/php-reader/wiki/License New BSD License - * @version $Rev: 108 $ - */ -final class ASF_Object_BitrateMutualExclusion extends ASF_Object -{ - const MUTEX_LANGUAGE = "d6e22a00-35da-11d1-9034-00a0c90349be"; - const MUTEX_BITRATE = "d6e22a01-35da-11d1-9034-00a0c90349be"; - const MUTEX_UNKNOWN = "d6e22a02-35da-11d1-9034-00a0c90349be"; - - /** @var string */ - private $_exclusionType; - - /** @var Array */ - private $_streamNumbers = array(); - - /** - * Constructs the class with given parameters and reads object related data - * from the ASF file. - * - * @param Reader $reader The reader object. - * @param Array $options The options array. - */ - public function __construct($reader, &$options = array()) - { - parent::__construct($reader, $options); - $this->_exclusionType = $this->_reader->readGUID(); - $streamNumbersCount = $this->_reader->readUInt16LE(); - for ($i = 0; $i < $streamNumbersCount; $i++) - $this->_streamNumbers[] = $this->_reader->readUInt16LE(); - } - - /** - * Returns the nature of the mutual exclusion relationship. - * - * @return string - */ - public function getExclusionType() { return $this->_exclusionType; } - - /** - * Returns an array of stream numbers. - * - * @return Array - */ - public function getStreamNumbers() { return $this->_streamNumbers; } -} diff --git a/libraries/phpvideotoolkit/adapters/ffmpeg-php/php-reader/src/ASF/Object/CodecList.php b/libraries/phpvideotoolkit/adapters/ffmpeg-php/php-reader/src/ASF/Object/CodecList.php deleted file mode 100644 index 5a220a7..0000000 --- a/libraries/phpvideotoolkit/adapters/ffmpeg-php/php-reader/src/ASF/Object/CodecList.php +++ /dev/null @@ -1,98 +0,0 @@ -<?php -/** - * PHP Reader Library - * - * Copyright (c) 2008 The PHP Reader Project Workgroup. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * - Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - Neither the name of the project workgroup nor the names of its - * contributors may be used to endorse or promote products derived from this - * software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE - * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * @package php-reader - * @subpackage ASF - * @copyright Copyright (c) 2008 The PHP Reader Project Workgroup - * @license http://code.google.com/p/php-reader/wiki/License New BSD License - * @version $Id: CodecList.php 102 2008-06-23 20:41:20Z svollbehr $ - */ - -/**#@+ @ignore */ -require_once("ASF/Object.php"); -/**#@-*/ - -/** - * The <i>Codec List Object</i> provides user-friendly information about the - * codecs and formats used to encode the content found in the ASF file. - * - * @package php-reader - * @subpackage ASF - * @author Sven Vollbehr <svollbehr@gmail.com> - * @copyright Copyright (c) 2008 The PHP Reader Project Workgroup - * @license http://code.google.com/p/php-reader/wiki/License New BSD License - * @version $Rev: 102 $ - */ -final class ASF_Object_CodecList extends ASF_Object -{ - const VIDEO_CODEC = 0x1; - const AUDIO_CODEC = 0x2; - const UNKNOWN_CODEC = 0xffff; - - /** @var Array */ - private $_entries = array(); - - /** - * Constructs the class with given parameters and reads object related data - * from the ASF file. - * - * @param Reader $reader The reader object. - * @param Array $options The options array. - */ - public function __construct($reader, &$options = array()) - { - parent::__construct($reader, $options); - - $this->_reader->skip(16); - $codecEntriesCount = $this->_reader->readUInt32LE(); - for ($i = 0; $i < $codecEntriesCount; $i++) { - $entry = array("type" => $this->_reader->readUInt16LE()); - $codecNameLength = $this->_reader->readUInt16LE() * 2; - $entry["codecName"] = iconv - ("utf-16le", $this->getOption("encoding"), - $this->_reader->readString16LE($codecNameLength)); - $codecDescriptionLength = $this->_reader->readUInt16LE() * 2; - $entry["codecDescription"] = iconv - ("utf-16le", $this->getOption("encoding"), - $this->_reader->readString16LE($codecDescriptionLength)); - $codecInformationLength = $this->_reader->readUInt16LE(); - $entry["codecInformation"] = - $this->_reader->read($codecInformationLength); - $this->_entries[] = $entry; - } - } - - /** - * Returns the array of codec entries. - * - * @return Array - */ - public function getEntries() { return $this->_entries; } -} diff --git a/libraries/phpvideotoolkit/adapters/ffmpeg-php/php-reader/src/ASF/Object/Compatibility.php b/libraries/phpvideotoolkit/adapters/ffmpeg-php/php-reader/src/ASF/Object/Compatibility.php deleted file mode 100644 index e051b45..0000000 --- a/libraries/phpvideotoolkit/adapters/ffmpeg-php/php-reader/src/ASF/Object/Compatibility.php +++ /dev/null @@ -1,88 +0,0 @@ -<?php -/** - * PHP Reader Library - * - * Copyright (c) 2008 The PHP Reader Project Workgroup. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * - Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - Neither the name of the project workgroup nor the names of its - * contributors may be used to endorse or promote products derived from this - * software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE - * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * @package php-reader - * @subpackage ASF - * @copyright Copyright (c) 2008 The PHP Reader Project Workgroup - * @license http://code.google.com/p/php-reader/wiki/License New BSD License - * @version $Id: Compatibility.php 108 2008-09-05 17:00:05Z svollbehr $ - */ - -/**#@+ @ignore */ -require_once("ASF/Object.php"); -/**#@-*/ - -/** - * The <i>Compatibility Object</i> is reserved for future use. - * - * @package php-reader - * @subpackage ASF - * @author Sven Vollbehr <svollbehr@gmail.com> - * @copyright Copyright (c) 2008 The PHP Reader Project Workgroup - * @license http://code.google.com/p/php-reader/wiki/License New BSD License - * @version $Rev: 108 $ - */ -final class ASF_Object_Compatibility extends ASF_Object -{ - /** @var integer */ - private $_profile; - - /** @var integer */ - private $_mode; - - /** - * Constructs the class with given parameters and reads object related data - * from the ASF file. - * - * @param Reader $reader The reader object. - * @param Array $options The options array. - */ - public function __construct($reader, &$options = array()) - { - parent::__construct($reader, $options); - - $this->_profile = $this->_reader->readUInt8(); - $this->_mode = $this->_reader->readUInt8(); - } - - /** - * Returns the profile field. This field is reserved and is set to 2. - * - * @return integer - */ - public function getProfile() { return $this->_profile; } - - /** - * Returns the mode field. This field is reserved and is set to 1. - * - * @return integer - */ - public function getMode() { return $this->_mode; } -} diff --git a/libraries/phpvideotoolkit/adapters/ffmpeg-php/php-reader/src/ASF/Object/Container.php b/libraries/phpvideotoolkit/adapters/ffmpeg-php/php-reader/src/ASF/Object/Container.php deleted file mode 100644 index a214a3b..0000000 --- a/libraries/phpvideotoolkit/adapters/ffmpeg-php/php-reader/src/ASF/Object/Container.php +++ /dev/null @@ -1,195 +0,0 @@ -<?php -/** - * PHP Reader Library - * - * Copyright (c) 2008 The PHP Reader Project Workgroup. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * - Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - Neither the name of the project workgroup nor the names of its - * contributors may be used to endorse or promote products derived from this - * software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE - * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * @package php-reader - * @subpackage ASF - * @copyright Copyright (c) 2008 The PHP Reader Project Workgroup - * @license http://code.google.com/p/php-reader/wiki/License New BSD License - * @version $Id: Container.php 108 2008-09-05 17:00:05Z svollbehr $ - */ - -/**#@+ @ignore */ -require_once("ASF/Object.php"); -/**#@-*/ - -/** - * An abstract base container class that contains other ASF objects. - * - * @package php-reader - * @subpackage ASF - * @author Sven Vollbehr <svollbehr@gmail.com> - * @copyright Copyright (c) 2008 The PHP Reader Project Workgroup - * @license http://code.google.com/p/php-reader/wiki/License New BSD License - * @version $Rev: 108 $ - */ -abstract class ASF_Object_Container extends ASF_Object -{ - /** @var Array */ - private $_objects = array(); - - /** - * Reads and constructs the objects found within this object. - */ - protected function constructObjects($defaultclassnames = array()) - { - while (true) { - $offset = $this->_reader->getOffset(); - if ($offset >= $this->getOffset() + $this->getSize()) - break; - $guid = $this->_reader->readGUID(); - $size = $this->_reader->readInt64LE(); - - $this->_reader->setOffset($offset); - if (isset($defaultclassnames[$guid])) { - if (@fopen($filename = "ASF/Object/" . $defaultclassnames[$guid] . - ".php", "r", true) !== false) - require_once($filename); - if (class_exists - ($classname = "ASF_Object_" . $defaultclassnames[$guid])) - $object = new $classname($this->_reader, $this->_options); - else - $object = new ASF_Object($this->_reader, $this->_options); - } else - $object = new ASF_Object($this->_reader, $this->_options); - $object->setParent($this); - if (!$this->hasObject($object->getIdentifier())) - $this->_objects[$object->getIdentifier()] = array(); - $this->_objects[$object->getIdentifier()][] = $object; - $this->_reader->setOffset($offset + $size); - } - } - - /** - * Checks whether the object with given GUID is present in the file. Returns - * <var>true</var> if one or more objects are present, <var>false</var> - * otherwise. - * - * @return boolean - */ - public function hasObject($identifier) - { - return isset($this->_objects[$identifier]); - } - - /** - * Returns all the objects the file contains as an associate array. The object - * identifiers work as keys having an array of ASF objects as associated - * value. - * - * @return Array - */ - public function getObjects() - { - return $this->_objects; - } - - /** - * Returns an array of objects matching the given object GUID or an empty - * array if no object matched the identifier. - * - * The identifier may contain wildcard characters "*" and "?". The asterisk - * matches against zero or more characters, and the question mark matches any - * single character. - * - * Please note that one may also use the shorthand $obj->identifier to access - * the first box with the identifier given. Wildcards cannot be used with - * the shorthand and they will not work with user defined uuid types. - * - * @return Array - */ - public function getObjectsByIdentifier($identifier) - { - $matches = array(); - $searchPattern = "/^" . - str_replace(array("*", "?"), array(".*", "."), $identifier) . "$/i"; - foreach ($this->_objects as $identifier => $objects) - if (preg_match($searchPattern, $identifier)) - foreach ($objects as $object) - $matches[] = $object; - return $matches; - } - - /** - * Adds a new object into the current object and returns it. - * - * @param ASF_Object The object to add - * @return ASF_Object - */ - public function addObject($object) - { - $object->setParent($this); - $object->setOptions($this->_options); - if (!$this->hasObject($object->getIdentifier())) - $this->_objects[$object->getIdentifier()] = array(); - return $this->_objects[$object->getIdentifier()][] = $object; - } - - /** - * Override magic function so that $obj->value will work as expected. - * - * The method first attempts to call the appropriate getter method. If no - * field with given name is found, the method attempts to return the right - * object instead. In other words, calling $obj->value will attempt to return - * the first object returned by $this->getObjectsByIdentifier(self::value). - * - * @param string $name The field or object name. - * @return mixed - */ - public function __get($name) - { - if (method_exists($this, "get" . ucfirst($name))) - return call_user_func(array($this, "get" . ucfirst($name))); - if (defined($constname = get_class($this) . "::" . strtoupper - (preg_replace("/[A-Z]/", "_$0", $name)))) { - $objects = $this->getObjectsByIdentifier(constant($constname)); - if (isset($objects[0])) - return $objects[0]; - } - throw new ASF_Exception("Unknown field/object: " . $name); - } - - /** - * Magic function so that isset($obj->value) will work. This method checks - * whether the object by given identifier is contained by this container. - * - * @param string $name The object name. - * @return boolean - */ - public function __isset($name) - { - if (defined($constname = get_class($this) . "::" . strtoupper - (preg_replace("/[A-Z]/", "_$0", $name)))) { - $objects = $this->getObjectsByIdentifier(constant($constname)); - return isset($objects[0]); - } - else - return isset($this->_objects[$name]); - } -} diff --git a/libraries/phpvideotoolkit/adapters/ffmpeg-php/php-reader/src/ASF/Object/ContentBranding.php b/libraries/phpvideotoolkit/adapters/ffmpeg-php/php-reader/src/ASF/Object/ContentBranding.php deleted file mode 100644 index c5859a5..0000000 --- a/libraries/phpvideotoolkit/adapters/ffmpeg-php/php-reader/src/ASF/Object/ContentBranding.php +++ /dev/null @@ -1,135 +0,0 @@ -<?php -/** - * PHP Reader Library - * - * Copyright (c) 2008 The PHP Reader Project Workgroup. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * - Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - Neither the name of the project workgroup nor the names of its - * contributors may be used to endorse or promote products derived from this - * software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE - * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * @package php-reader - * @subpackage ASF - * @copyright Copyright (c) 2008 The PHP Reader Project Workgroup - * @license http://code.google.com/p/php-reader/wiki/License New BSD License - * @version $Id: ContentBranding.php 108 2008-09-05 17:00:05Z svollbehr $ - */ - -/**#@+ @ignore */ -require_once("ASF/Object.php"); -/**#@-*/ - -/** - * The <i>Content Branding Object</i> stores branding data for an ASF file, - * including information about a banner image and copyright associated with the - * file. - * - * @package php-reader - * @subpackage ASF - * @author Sven Vollbehr <svollbehr@gmail.com> - * @copyright Copyright (c) 2008 The PHP Reader Project Workgroup - * @license http://code.google.com/p/php-reader/wiki/License New BSD License - * @version $Rev: 108 $ - */ -final class ASF_Object_ContentBranding extends ASF_Object -{ - /** Indicates that there is no banner */ - const TYPE_NONE = 0; - - /** Indicates that the data represents a bitmap */ - const TYPE_BMP = 1; - - /** Indicates that the data represents a JPEG */ - const TYPE_JPEG = 2; - - /** Indicates that the data represents a GIF */ - const TYPE_GIF = 3; - - - /** @var integer */ - private $_bannerImageType; - - /** @var string */ - private $_bannerImageData; - - /** @var string */ - private $_bannerImageUrl; - - /** @var string */ - private $_copyrightUrl; - - /** - * Constructs the class with given parameters and reads object related data - * from the ASF file. - * - * @param Reader $reader The reader object. - * @param Array $options The options array. - */ - public function __construct($reader, &$options = array()) - { - parent::__construct($reader, $options); - - $this->_bannerImageType = $this->_reader->readUInt32LE(); - $bannerImageDataSize = $this->_reader->readUInt32LE(); - $this->_bannerImageData = $this->_reader->read($bannerImageDataSize); - $bannerImageUrlLength = $this->_reader->readUInt32LE(); - $this->_bannerImageUrl = $this->_reader->read($bannerImageUrlLength); - $copyrightUrlLength = $this->_reader->readUInt32LE(); - $this->_copyrightUrl = $this->_reader->read($copyrightUrlLength); - } - - /** - * Returns the type of data contained in the <i>Banner Image Data</i>. Valid - * values are 0 to indicate that there is no banner image data; 1 to indicate - * that the data represent a bitmap; 2 to indicate that the data represents a - * JPEG; and 3 to indicate that the data represents a GIF. If this value is - * set to 0, then the <i>Banner Image Data Size field is set to 0, and the - * <i>Banner Image Data</i> field is empty. - * - * @return integer - */ - public function getBannerImageType() { return $this->_bannerImageType; } - - /** - * Returns the entire banner image, including the header for the appropriate - * image format. - * - * @return string - */ - public function getBannerImageData() { return $this->_bannerImageData; } - - /** - * Returns, if present, a link to more information about the banner image. - * - * @return string - */ - public function getBannerImageUrl() { return $this->_bannerImageUrl; } - - /** - * Returns, if present, a link to more information about the copyright for the - * content. - * - * @return string - */ - public function getCopyrightUrl() { return $this->_copyrightUrl; } -} diff --git a/libraries/phpvideotoolkit/adapters/ffmpeg-php/php-reader/src/ASF/Object/ContentDescription.php b/libraries/phpvideotoolkit/adapters/ffmpeg-php/php-reader/src/ASF/Object/ContentDescription.php deleted file mode 100644 index bab422c..0000000 --- a/libraries/phpvideotoolkit/adapters/ffmpeg-php/php-reader/src/ASF/Object/ContentDescription.php +++ /dev/null @@ -1,141 +0,0 @@ -<?php -/** - * PHP Reader Library - * - * Copyright (c) 2006-2008 The PHP Reader Project Workgroup. All rights - * reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * - Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - Neither the name of the project workgroup nor the names of its - * contributors may be used to endorse or promote products derived from this - * software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE - * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * @package php-reader - * @subpackage ASF - * @copyright Copyright (c) 2006-2008 The PHP Reader Project Workgroup - * @license http://code.google.com/p/php-reader/wiki/License New BSD License - * @version $Id: ContentDescription.php 102 2008-06-23 20:41:20Z svollbehr $ - */ - -/**#@+ @ignore */ -require_once("ASF/Object.php"); -/**#@-*/ - -/** - * The <i>Content Description Object</i> lets authors record well-known data - * describing the file and its contents. This object is used to store standard - * bibliographic information such as title, author, copyright, description, and - * rating information. This information is pertinent to the entire file. - * - * @package php-reader - * @subpackage ASF - * @author Sven Vollbehr <svollbehr@gmail.com> - * @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: 102 $ - */ -final class ASF_Object_ContentDescription extends ASF_Object -{ - /** @var string */ - private $_title; - - /** @var string */ - private $_author; - - /** @var string */ - private $_copyright; - - /** @var string */ - private $_description; - - /** @var string */ - private $_rating; - - /** - * Constructs the class with given parameters and reads object related data - * from the ASF file. - * - * @param Reader $reader The reader object. - * @param Array $options The options array. - */ - public function __construct($reader, &$options = array()) - { - parent::__construct($reader, $options); - - $titleLen = $this->_reader->readUInt16LE(); - $authorLen = $this->_reader->readUInt16LE(); - $copyrightLen = $this->_reader->readUInt16LE(); - $descriptionLen = $this->_reader->readUInt16LE(); - $ratingLen = $this->_reader->readUInt16LE(); - - $this->_title = iconv - ("utf-16le", $this->getOption("encoding"), - $this->_reader->readString16LE($titleLen)); - $this->_author = iconv - ("utf-16le", $this->getOption("encoding"), - $this->_reader->readString16LE($authorLen)); - $this->_copyright = iconv - ("utf-16le", $this->getOption("encoding"), - $this->_reader->readString16LE($copyrightLen)); - $this->_description = iconv - ("utf-16le", $this->getOption("encoding"), - $this->_reader->readString16LE($descriptionLen)); - $this->_rating = iconv - ("utf-16le", $this->getOption("encoding"), - $this->_reader->readString16LE($ratingLen)); - } - - /** - * Returns the title information. - * - * @return string - */ - public function getTitle() { return $this->_title; } - - /** - * Returns the author information. - * - * @return string - */ - public function getAuthor() { return $this->_author; } - - /** - * Returns the copyright information. - * - * @return string - */ - public function getCopyright() { return $this->_copyright; } - - /** - * Returns the description information. - * - * @return string - */ - public function getDescription() { return $this->_description; } - - /** - * Returns the rating information. - * - * @return string - */ - public function getRating() { return $this->_rating; } -} diff --git a/libraries/phpvideotoolkit/adapters/ffmpeg-php/php-reader/src/ASF/Object/ContentEncryption.php b/libraries/phpvideotoolkit/adapters/ffmpeg-php/php-reader/src/ASF/Object/ContentEncryption.php deleted file mode 100644 index 29fe766..0000000 --- a/libraries/phpvideotoolkit/adapters/ffmpeg-php/php-reader/src/ASF/Object/ContentEncryption.php +++ /dev/null @@ -1,117 +0,0 @@ -<?php -/** - * PHP Reader Library - * - * Copyright (c) 2008 The PHP Reader Project Workgroup. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * - Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - Neither the name of the project workgroup nor the names of its - * contributors may be used to endorse or promote products derived from this - * software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE - * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * @package php-reader - * @subpackage ASF - * @copyright Copyright (c) 2008 The PHP Reader Project Workgroup - * @license http://code.google.com/p/php-reader/wiki/License New BSD License - * @version $Id: ContentEncryption.php 108 2008-09-05 17:00:05Z svollbehr $ - */ - -/**#@+ @ignore */ -require_once("ASF/Object.php"); -/**#@-*/ - -/** - * The <i>Content Encryption Object</i> lets authors protect content by using - * Microsoft® Digital Rights Manager version 1. - * - * @package php-reader - * @subpackage ASF - * @author Sven Vollbehr <svollbehr@gmail.com> - * @copyright Copyright (c) 2008 The PHP Reader Project Workgroup - * @license http://code.google.com/p/php-reader/wiki/License New BSD License - * @version $Rev: 108 $ - */ -final class ASF_Object_ContentEncryption extends ASF_Object -{ - /** @var string */ - private $_secretData; - - /** @var string */ - private $_protectionType; - - /** @var string */ - private $_keyId; - - /** @var string */ - private $_licenseUrl; - - /** - * Constructs the class with given parameters and reads object related data - * from the ASF file. - * - * @param Reader $reader The reader object. - * @param Array $options The options array. - */ - public function __construct($reader, &$options = array()) - { - parent::__construct($reader, $options); - - $secretDataLength = $this->_reader->readUInt32LE(); - $this->_secretData = $this->_reader->read($secretDataLength); - $protectionTypeLength = $this->_reader->readUInt32LE(); - $this->_protectionType = $this->_reader->readString8($protectionTypeLength); - $keyIdLength = $this->_reader->readUInt32LE(); - $this->_keyId = $this->_reader->readString8($keyIdLength); - $licenseUrlLength = $this->_reader->readUInt32LE(); - $this->_licenseUrl = $this->_reader->readString8($licenseUrlLength); - } - - /** - * Returns the secret data. - * - * @return string - */ - public function getSecretData() { return $this->_secretData; } - - /** - * Returns the type of protection mechanism used. The value of this field - * is set to "DRM". - * - * @return string - */ - public function getProtectionType() { return $this->_protectionType; } - - /** - * Returns the key ID used. - * - * @return string - */ - public function getKeyId() { return $this->_keyId; } - - /** - * Returns the URL from which a license to manipulate the content can be - * acquired. - * - * @return string - */ - public function getLicenseUrl() { return $this->_licenseUrl; } -} diff --git a/libraries/phpvideotoolkit/adapters/ffmpeg-php/php-reader/src/ASF/Object/Data.php b/libraries/phpvideotoolkit/adapters/ffmpeg-php/php-reader/src/ASF/Object/Data.php deleted file mode 100644 index 2904693..0000000 --- a/libraries/phpvideotoolkit/adapters/ffmpeg-php/php-reader/src/ASF/Object/Data.php +++ /dev/null @@ -1,126 +0,0 @@ -<?php -/** - * PHP Reader Library - * - * Copyright (c) 2008 The PHP Reader Project Workgroup. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * - Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - Neither the name of the project workgroup nor the names of its - * contributors may be used to endorse or promote products derived from this - * software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE - * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * @package php-reader - * @subpackage ASF - * @copyright Copyright (c) 2008 The PHP Reader Project Workgroup - * @license http://code.google.com/p/php-reader/wiki/License New BSD License - * @version $Id: Data.php 108 2008-09-05 17:00:05Z svollbehr $ - */ - -/**#@+ @ignore */ -require_once("ASF/Object.php"); -require_once("ASF/Object/Data/Packet.php"); -/**#@-*/ - -/** - * The <i>Data Object</i> contains all of the <i>Data Packet</i>s for a file. - * These Data Packets are organized in terms of increasing send times. A <i>Data - * Packet</i> can contain interleaved data from several digital media streams. - * This data can consist of entire objects from one or more streams. - * Alternatively, it can consist of partial objects (fragmentation). - * - * Capabilities provided within the interleave packet definition include: - * o Single or multiple payload types per Data Packet - * o Fixed-size Data Packets - * o Error correction information (optional) - * o Clock information (optional) - * o Redundant sample information, such as presentation time stamp (optional) - * - * @todo Implement optional support for ASF Data Packet parsing - * @package php-reader - * @subpackage ASF - * @author Sven Vollbehr <svollbehr@gmail.com> - * @copyright Copyright (c) 2008 The PHP Reader Project Workgroup - * @license http://code.google.com/p/php-reader/wiki/License New BSD License - * @version $Rev: 108 $ - */ -final class ASF_Object_Data extends ASF_Object -{ - /** @var string */ - private $_fileId; - - /** @var integer */ - private $_totalDataPackets; - - /** @var Array */ - private $_dataPackets; - - /** - * Constructs the class with given parameters and reads object related data - * from the ASF file. - * - * @param Reader $reader The reader object. - * @param Array $options The options array. - */ - public function __construct($reader, &$options = array()) - { - parent::__construct($reader, $options); - - $this->_fileId = $this->_reader->readGUID(); - $this->_totalDataPackets = $this->_reader->readInt64LE(); - $this->_reader->skip(2); - /* Data packets are not supported - * for ($i = 0; $i < $this->_totalDataPackets; $i++) { - * $this->_dataPackets[] = new ASF_Object_Data_Packet($reader); - * } - */ - } - - /** - * Returns the unique identifier for this ASF file. The value of this field - * is changed every time the file is modified in any way. The value of this - * field is identical to the value of the <i>File ID</i> field of the - * <i>Header Object</i>. - * - * @return string - */ - public function getFileId() { return $this->_fileId; } - - /** - * Returns the number of ASF Data Packet entries that exist within the <i>Data - * Object</i>. It must be equal to the <i>Data Packet Count</i> field in the - * <i>File Properties Object</i>. The value of this field is invalid if the - * broadcast flag field of the <i>File Properties Object</i> is set to 1. - * - * @return integer - */ - public function getTotalDataPackets() { return $this->_endTime; } - - /** - * Returns an array of Data Packets. - * - * @return Array - */ - public function getDataPackets() - { - throw new ASF_Exception("Data packets are not parsed due to optimization."); - } -} diff --git a/libraries/phpvideotoolkit/adapters/ffmpeg-php/php-reader/src/ASF/Object/DigitalSignature.php b/libraries/phpvideotoolkit/adapters/ffmpeg-php/php-reader/src/ASF/Object/DigitalSignature.php deleted file mode 100644 index 64a7690..0000000 --- a/libraries/phpvideotoolkit/adapters/ffmpeg-php/php-reader/src/ASF/Object/DigitalSignature.php +++ /dev/null @@ -1,91 +0,0 @@ -<?php -/** - * PHP Reader Library - * - * Copyright (c) 2008 The PHP Reader Project Workgroup. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * - Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - Neither the name of the project workgroup nor the names of its - * contributors may be used to endorse or promote products derived from this - * software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE - * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * @package php-reader - * @subpackage ASF - * @copyright Copyright (c) 2008 The PHP Reader Project Workgroup - * @license http://code.google.com/p/php-reader/wiki/License New BSD License - * @version $Id: DigitalSignature.php 108 2008-09-05 17:00:05Z svollbehr $ - */ - -/**#@+ @ignore */ -require_once("ASF/Object.php"); -/**#@-*/ - -/** - * The <i>Digital Signature Object</i> lets authors sign the portion of their - * header that lies between the end of the <i>File Properties Object</i> and the - * beginning of the <i>Digital Signature Object</i>. - * - * @package php-reader - * @subpackage ASF - * @author Sven Vollbehr <svollbehr@gmail.com> - * @copyright Copyright (c) 2008 The PHP Reader Project Workgroup - * @license http://code.google.com/p/php-reader/wiki/License New BSD License - * @version $Rev: 108 $ - */ -final class ASF_Object_DigitalSignature extends ASF_Object -{ - /** @var integer */ - private $_signatureType; - - /** @var string */ - private $_signatureData; - - /** - * Constructs the class with given parameters and reads object related data - * from the ASF file. - * - * @param Reader $reader The reader object. - * @param Array $options The options array. - */ - public function __construct($reader, &$options = array()) - { - parent::__construct($reader, $options); - - $this->_signatureType = $this->_reader->readUInt32LE(); - $signatureDataLength = $this->_reader->readUInt32LE(); - $this->_signatureData = $this->_reader->read($signatureDataLength); - } - - /** - * Returns the type of digital signature used. This field is set to 2. - * - * @return integer - */ - public function getSignatureType() { return $this->_signatureType; } - - /** - * Returns the digital signature data. - * - * @return string - */ - public function getSignatureData() { return $this->_signatureData; } -} diff --git a/libraries/phpvideotoolkit/adapters/ffmpeg-php/php-reader/src/ASF/Object/ErrorCorrection.php b/libraries/phpvideotoolkit/adapters/ffmpeg-php/php-reader/src/ASF/Object/ErrorCorrection.php deleted file mode 100644 index c5cb522..0000000 --- a/libraries/phpvideotoolkit/adapters/ffmpeg-php/php-reader/src/ASF/Object/ErrorCorrection.php +++ /dev/null @@ -1,100 +0,0 @@ -<?php -/** - * PHP Reader Library - * - * Copyright (c) 2008 The PHP Reader Project Workgroup. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * - Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - Neither the name of the project workgroup nor the names of its - * contributors may be used to endorse or promote products derived from this - * software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE - * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * @package php-reader - * @subpackage ASF - * @copyright Copyright (c) 2008 The PHP Reader Project Workgroup - * @license http://code.google.com/p/php-reader/wiki/License New BSD License - * @version $Id: ErrorCorrection.php 108 2008-09-05 17:00:05Z svollbehr $ - */ - -/**#@+ @ignore */ -require_once("ASF/Object.php"); -/**#@-*/ - -/** - * The <i>Error Correction Object</i> defines the error correction method. This - * enables different error correction schemes to be used during content - * creation. The <i>Error Correction Object</i> contains provisions for opaque - * information needed by the error correction engine for recovery. For example, - * if the error correction scheme were a simple N+1 parity scheme, then the - * value of N would have to be available in this object. - * - * Note that this does not refer to the same thing as the <i>Error Correction - * Type</i> field in the <i>{@link ASF_Object_StreamProperties Stream Properties - * Object}</i>. - * - * @package php-reader - * @subpackage ASF - * @author Sven Vollbehr <svollbehr@gmail.com> - * @copyright Copyright (c) 2008 The PHP Reader Project Workgroup - * @license http://code.google.com/p/php-reader/wiki/License New BSD License - * @version $Rev: 108 $ - */ -final class ASF_Object_ErrorCorrection extends ASF_Object -{ - /** @var string */ - private $_type; - - /** @var string */ - private $_data; - - /** - * Constructs the class with given parameters and reads object related data - * from the ASF file. - * - * @param Reader $reader The reader object. - * @param Array $options The options array. - */ - public function __construct($reader, &$options = array()) - { - parent::__construct($reader, $options); - - $this->_type = $this->_reader->readGUID(); - $dataLength = $this->_reader->readUInt32LE(); - $this->_data = $this->_reader->read($dataLength); - } - - /** - * Returns the type of error correction. - * - * @return string - */ - public function getType() { return $this->_type; } - - /** - * Returns the data specific to the error correction scheme. The structure for - * the <i>Error Correction Data</i> field is determined by the value stored in - * the <i>Error Correction Type</i> field. - * - * @return Array - */ - public function getData() { return $this->_data; } -} diff --git a/libraries/phpvideotoolkit/adapters/ffmpeg-php/php-reader/src/ASF/Object/ExtendedContentDescription.php b/libraries/phpvideotoolkit/adapters/ffmpeg-php/php-reader/src/ASF/Object/ExtendedContentDescription.php deleted file mode 100644 index 259bbb2..0000000 --- a/libraries/phpvideotoolkit/adapters/ffmpeg-php/php-reader/src/ASF/Object/ExtendedContentDescription.php +++ /dev/null @@ -1,122 +0,0 @@ -<?php -/** - * PHP Reader Library - * - * Copyright (c) 2006-2008 The PHP Reader Project Workgroup. All rights - * reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * - Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - Neither the name of the project workgroup nor the names of its - * contributors may be used to endorse or promote products derived from this - * software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE - * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * @package php-reader - * @subpackage ASF - * @copyright Copyright (c) 2006-2008 The PHP Reader Project Workgroup - * @license http://code.google.com/p/php-reader/wiki/License New BSD License - * @version $Id: ExtendedContentDescription.php 108 2008-09-05 17:00:05Z svollbehr $ - */ - -/**#@+ @ignore */ -require_once("ASF/Object.php"); -/**#@-*/ - -/** - * The <i>ASF_Extended_Content_Description_Object</i> object implementation. - * This object contains unlimited number of attribute fields giving more - * information about the file. - * - * @package php-reader - * @subpackage ASF - * @author Sven Vollbehr <svollbehr@gmail.com> - * @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 $ - */ -final class ASF_Object_ExtendedContentDescription extends ASF_Object -{ - /** @var Array */ - private $_contentDescriptors = array(); - - /** - * Constructs the class with given parameters and reads object related data - * from the ASF file. - * - * @param Reader $reader The reader object. - * @param Array $options The options array. - */ - public function __construct($reader, &$options = array()) - { - parent::__construct($reader, $options); - - $contentDescriptorsCount = $this->_reader->readUInt16LE(); - for ($i = 0; $i < $contentDescriptorsCount; $i++) { - $nameLen = $this->_reader->readUInt16LE(); - $name = iconv - ("utf-16le", $this->getOption("encoding"), - $this->_reader->readString16LE($nameLen)); - $valueDataType = $this->_reader->readUInt16LE(); - $valueLen = $this->_reader->readUInt16LE(); - switch ($valueDataType) { - case 0: - case 1: // string - $this->_contentDescriptors[$name] = iconv - ("utf-16le", $this->getOption("encoding"), - $this->_reader->readString16LE($valueLen)); - break; - case 2: // bool - case 3: // 32-bit integer - $this->_contentDescriptors[$name] = $this->_reader->readUInt32LE(); - break; - case 4: // 64-bit integer - $this->_contentDescriptors[$name] = $this->_reader->readInt64LE(); - break; - case 5: // 16-bit integer - $this->_contentDescriptors[$name] = $this->_reader->readUInt16LE(); - break; - default: - } - } - } - - /** - * Returns the value of the specified descriptor or <var>false</var> if there - * is no such descriptor defined. - * - * @param string $name The name of the descriptor (ie the name of the field). - * @return string|false - */ - public function getDescriptor($name) - { - if (isset($this->_contentDescriptors[$name])) - return $this->_contentDescriptors[$name]; - return false; - } - - /** - * Returns an associate array of all the descriptors defined having the names - * of the descriptors as the keys. - * - * @return Array - */ - public function getDescriptors() { return $this->_contentDescriptors; } -} diff --git a/libraries/phpvideotoolkit/adapters/ffmpeg-php/php-reader/src/ASF/Object/ExtendedContentEncryption.php b/libraries/phpvideotoolkit/adapters/ffmpeg-php/php-reader/src/ASF/Object/ExtendedContentEncryption.php deleted file mode 100644 index a2a2eee..0000000 --- a/libraries/phpvideotoolkit/adapters/ffmpeg-php/php-reader/src/ASF/Object/ExtendedContentEncryption.php +++ /dev/null @@ -1,80 +0,0 @@ -<?php -/** - * PHP Reader Library - * - * Copyright (c) 2008 The PHP Reader Project Workgroup. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * - Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - Neither the name of the project workgroup nor the names of its - * contributors may be used to endorse or promote products derived from this - * software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE - * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * @package php-reader - * @subpackage ASF - * @copyright Copyright (c) 2008 The PHP Reader Project Workgroup - * @license http://code.google.com/p/php-reader/wiki/License New BSD License - * @version $Id: ExtendedContentEncryption.php 108 2008-09-05 17:00:05Z svollbehr $ - */ - -/**#@+ @ignore */ -require_once("ASF/Object.php"); -/**#@-*/ - -/** - * The <i>Extended Content Encryption Object</i> lets authors protect content by - * using the Windows Media Rights Manager 7 Software Development Kit (SDK). - * - * @package php-reader - * @subpackage ASF - * @author Sven Vollbehr <svollbehr@gmail.com> - * @copyright Copyright (c) 2008 The PHP Reader Project Workgroup - * @license http://code.google.com/p/php-reader/wiki/License New BSD License - * @version $Rev: 108 $ - */ -final class ASF_Object_ExtendedContentEncryption extends ASF_Object -{ - /** @var string */ - private $_data; - - /** - * Constructs the class with given parameters and reads object related data - * from the ASF file. - * - * @param Reader $reader The reader object. - * @param Array $options The options array. - */ - public function __construct($reader, &$options = array()) - { - parent::__construct($reader, $options); - - $dataSize = $this->_reader->readUInt32LE(); - $this->_data = $this->_reader->read($dataSize); - } - - /** - * Returns the array of bytes required by the DRM client to manipulate the - * protected content. - * - * @return string - */ - public function getData() { return $this->_data; } -} diff --git a/libraries/phpvideotoolkit/adapters/ffmpeg-php/php-reader/src/ASF/Object/ExtendedStreamProperties.php b/libraries/phpvideotoolkit/adapters/ffmpeg-php/php-reader/src/ASF/Object/ExtendedStreamProperties.php deleted file mode 100644 index 6a65038..0000000 --- a/libraries/phpvideotoolkit/adapters/ffmpeg-php/php-reader/src/ASF/Object/ExtendedStreamProperties.php +++ /dev/null @@ -1,418 +0,0 @@ -<?php -/** - * PHP Reader Library - * - * Copyright (c) 2008 The PHP Reader Project Workgroup. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * - Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - Neither the name of the project workgroup nor the names of its - * contributors may be used to endorse or promote products derived from this - * software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE - * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * @package php-reader - * @subpackage ASF - * @copyright Copyright (c) 2008 The PHP Reader Project Workgroup - * @license http://code.google.com/p/php-reader/wiki/License New BSD License - * @version $Id: ExtendedStreamProperties.php 108 2008-09-05 17:00:05Z svollbehr $ - */ - -/**#@+ @ignore */ -require_once("ASF/Object.php"); -/**#@-*/ - -/** - * The <i>Extended Stream Properties Object</i> defines additional optional - * properties and characteristics of a digital media stream that are not - * described in the <i>Stream Properties Object</i>. - * - * Typically, the basic <i>Stream Properties Object</i> is present in the - * <i>Header Object</i>, and the <i>Extended Stream Properties Object</i> is - * present in the <i>Header Extension Object</i>. Sometimes, however, the - * <i>Stream Properties Object</i> for a stream may be embedded inside the - * <i>Extended Stream Properties Object</i> for that stream. This approach - * facilitates the creation of backward-compatible content. - * - * This object has an optional provision to include application-specific or - * implementation-specific data attached to the payloads of each digital media - * sample stored within a <i>Data Packet</i>. This data can be looked at as - * digital media sample properties and is stored in the <i>Replicated Data</i> - * field of a payload header. The <i>Payload Extension Systems</i> fields of the - * <i>Extended Stream Properties Object</i> describes what this data is and is - * necessary for that data to be parsed, if present. - * - * @package php-reader - * @subpackage ASF - * @author Sven Vollbehr <svollbehr@gmail.com> - * @copyright Copyright (c) 2008 The PHP Reader Project Workgroup - * @license http://code.google.com/p/php-reader/wiki/License New BSD License - * @version $Rev: 108 $ - */ -final class ASF_Object_ExtendedStreamProperties extends ASF_Object -{ - /** - * Indicates, if set, that this digital media stream, if sent over a network, - * must be carried over a reliable data communications transport mechanism. - * This should be set for streams that cannot recover after a lost media - * object. - */ - const RELIABLE = 1; - - /** - * This flag should be set only if the stream is seekable, either by using an - * index object or by estimating according to bit rate (as can sometimes be - * done with audio). This flag pertains to this stream only rather than to the - * entire file. - */ - const SEEKABLE = 2; - - /** - * Indicates, if set, that the stream does not contain any cleanpoints. A - * cleanpoint is any point at which playback could begin without having seen - * the previous media objects. For streams that use key frames, the key frames - * would be the cleanpoints. - */ - const NO_CLEANPOINT = 4; - - /** - * Specifies, if set, that when a stream is joined in mid-transmission, all - * information from the most recent cleanpoint up to the current time should - * be sent before normal streaming begins at the current time. The default - * behavior (when this flag is not set) is to send only the data starting at - * the current time. This flag should only be set for streams that are coming - * from a live source. - */ - const RESEND_LIVE_CLEANPOINTS = 8; - - const AUDIO_MEDIA = "f8699e40-5b4d-11cf-a8fd-00805f5c442b"; - const VIDEO_MEDIA = "bc19efc0-5b4d-11cf-a8fd-00805f5c442b"; - const COMMAND_MEDIA = "59dacfc0-59e6-11d0-a3ac-00a0c90348f6"; - const JFIF_MEDIA = "b61be100-5b4e-11cf-a8fD-00805f5c442b"; - const DEGRADABLE_JPEG_MEDIA = "35907dE0-e415-11cf-a917-00805f5c442b"; - const FILE_TRANSFER_MEDIA = "91bd222c-f21c-497a-8b6d-5aa86bfc0185"; - const BINARY_MEDIA = "3afb65e2-47ef-40f2-ac2c-70a90d71d343"; - - const NO_ERROR_CORRECTION = "20fb5700-5b55-11cf-a8fd-00805f5c442b"; - const AUDIO_SPREAD = "bfc3cd50-618f-11cf-8bb2-00aa00b4e220"; - - const PAYLOAD_EXTENSION_SYSTEM_TIMECODE = - "399595ec-8667-4e2d-8fdb-98814ce76c1e"; - const PAYLOAD_EXTENSION_SYSTEM_FILE_NAME = - "e165ec0e-19ed-45d7-b4a7-25cbd1e28e9b"; - const PAYLOAD_EXTENSION_SYSTEM_CONTENT_TYPE = - "d590dc20-07bc-436c-9cf7-f3bbfbf1a4dc"; - const PAYLOAD_EXTENSION_SYSTEM_PIXEL_ASPECT_RATIO = - "1b1ee554-f9ea-4bc8-821a-376b74e4c4b8"; - const PAYLOAD_EXTENSION_SYSTEM_SAMPLE_DURATION = - "c6bd9450-867f-4907-83a3-c77921b733ad"; - const PAYLOAD_EXTENSION_SYSTEM_ENCRYPTION_SAMPLE_ID = - "6698b84e-0afa-4330-aeb2-1c0a98d7a44d"; - - /** @var integer */ - private $_startTime; - - /** @var integer */ - private $_endTime; - - /** @var integer */ - private $_dataBitrate; - - /** @var integer */ - private $_bufferSize; - - /** @var integer */ - private $_initialBufferFullness; - - /** @var integer */ - private $_alternateDataBitrate; - - /** @var integer */ - private $_alternateBufferSize; - - /** @var integer */ - private $_alternateInitialBufferFullness; - - /** @var integer */ - private $_maximumObjectSize; - - /** @var integer */ - private $_flags; - - /** @var integer */ - private $_streamNumber; - - /** @var integer */ - private $_streamLanguageIndex; - - /** @var integer */ - private $_averageTimePerFrame; - - /** @var Array */ - private $_streamNames = array(); - - /** @var Array */ - private $_payloadExtensionSystems = array(); - - /** - * Constructs the class with given parameters and reads object related data - * from the ASF file. - * - * @param Reader $reader The reader object. - * @param Array $options The options array. - */ - public function __construct($reader, &$options = array()) - { - parent::__construct($reader, $options); - - $this->_startTime = $this->_reader->readInt64LE(); - $this->_endTime = $this->_reader->readInt64LE(); - $this->_dataBitrate = $this->_reader->readUInt32LE(); - $this->_bufferSize = $this->_reader->readUInt32LE(); - $this->_initialBufferFullness = $this->_reader->readUInt32LE(); - $this->_alternateDataBitrate = $this->_reader->readUInt32LE(); - $this->_alternateBufferSize = $this->_reader->readUInt32LE(); - $this->_alternateInitialBufferFullness = $this->_reader->readUInt32LE(); - $this->_maximumObjectSize = $this->_reader->readUInt32LE(); - $this->_flags = $this->_reader->readUInt32LE(); - $this->_streamNumber = $this->_reader->readUInt16LE(); - $this->_streamLanguageIndex = $this->_reader->readUInt16LE(); - $this->_averageTimePerFrame = $this->_reader->readInt64LE(); - $streamNameCount = $this->_reader->readUInt16LE(); - $payloadExtensionSystemCount = $this->_reader->readUInt16LE(); - for ($i = 0; $i < $streamNameCount; $i++) { - $streamName = array("languageIndex" => $this->_reader->readUInt16LE()); - $streamNameLength = $this->_reader->readUInt16LE(); - $streamName["streamName"] = iconv - ("utf-16le", $this->getOption("encoding"), - $this->_reader->readString16LE($streamNameLength)); - $this->_streamNames[] = $streamName; - } - for ($i = 0; $i < $payloadExtensionSystemCount; $i++) { - $payloadExtensionSystem = array - ("extensionSystemId" => $this->_reader->readGUID(), - "extensionDataSize" => $this->_reader->readUInt16LE()); - $extensionSystemInfoLength = $this->_reader->readUInt32LE(); - $payloadExtensionSystem["extensionSystemInfo"] = iconv - ("utf-16le", $this->getOption("encoding"), - $this->_reader->readString16LE($extensionSystemInfoLength)); - $this->_payloadExtensionSystems[] = $payloadExtensionSystem; - } - } - - /** - * Returns the presentation time of the first object, indicating where this - * digital media stream starts within the context of the timeline of the ASF - * file as a whole. This time value corresponds to presentation times as they - * appear in the data packets (adjusted by the preroll). This field is given - * in units of milliseconds and can optionally be set to 0, in which case it - * will be ignored. - * - * @return integer - */ - public function getStartTime() { return $this->_startTime; } - - /** - * Returns the presentation time of the last object plus the duration of play, - * indicating where this digital media stream ends within the context of the - * timeline of the ASF file as a whole. This time value corresponds to - * presentation times as they appear in the data packets (adjusted by the - * preroll). This field is given in units of milliseconds and can optionally - * be set to 0, in which case it will be ignored. - * - * @return integer - */ - public function getEndTime() { return $this->_endTime; } - - /** - * Returns the leak rate R, in bits per second, of a leaky bucket that - * contains the data portion of the stream without overflowing, excluding all - * ASF Data Packet overhead. The size of the leaky bucket is specified by the - * value of the <i>Buffer Size</i> field. This field has a non-zero value. - * - * @return integer - */ - public function getDataBitrate() { return $this->_dataBitrate; } - - /** - * Returns the size B, in milliseconds, of the leaky bucket used in the - * <i>Data Bitrate</i> definition. - * - * @return integer - */ - public function getBufferSize() { return $this->_bufferSize; } - - /** - * Returns the initial fullness, in milliseconds, of the leaky bucket used in - * the <i>Data Bitrate</i> definition. This is the fullness of the buffer at - * the instant before the first bit in the stream is dumped into the bucket. - * Typically, this value is set to 0. This value shall not exceed the value in - * the <i>Buffer Size</i> field. - * - * @return integer - */ - public function getInitialBufferFullness() - { - return $this->_initialBufferFullness; - } - - /** - * Returns the leak rate RAlt, in bits per second, of a leaky bucket that - * contains the data portion of the stream without overflowing, excluding all - * ASF <i>Data Packet</i> overhead. The size of the leaky bucket is specified - * by the value of the <i>Alternate Buffer Size</i> field. This value is - * relevant in most scenarios where the bit rate is not exactly constant, but - * it is especially useful for streams that have highly variable bit rates. - * This field can optionally be set to the same value as the <i>Data - * Bitrate</i> field. - * - * @return integer - */ - public function getAlternateDataBitrate() - { - return $this->_alternateDataBitrate; - } - - /** - * Returns the size BAlt, in milliseconds, of the leaky bucket used in the - * <i>Alternate Data Bitrate</i> definition. This value is relevant in most - * scenarios where the bit rate is not exactly constant, but it is especially - * useful for streams that have highly variable bit rates. This field can - * optionally be set to the same value as the <i>Buffer Size</i> field. - * - * @return integer - */ - public function getAlternateBufferSize() - { - return $this->_alternateBufferSize; - } - - /** - * Returns the initial fullness, in milliseconds, of the leaky bucket used in - * the <i>Alternate Data Bitrate</i> definition. This is the fullness of the - * buffer at the instant before the first bit in the stream is dumped into the - * bucket. Typically, this value is set to 0. This value does not exceed the - * value of the <i>Alternate Buffer Size</i> field. - * - * @return integer - */ - public function getAlternateInitialBufferFullness() - { - return $this->_alternateInitialBufferFullness; - } - - /** - * Returns the maximum size of the largest sample stored in the data packets - * for a stream. A value of 0 means unknown. - * - * @return integer - */ - public function getMaximumObjectSize() - { - return $this->_maximumObjectSize; - } - - /** - * Returns the average time duration, measured in 100-nanosecond units, of - * each frame. This number should be rounded to the nearest integer. This - * field can optionally be set to 0 if the average time per frame is unknown - * or unimportant. It is recommended that this field be set for video. - * - * @return integer - */ - public function getAverageTimePerFrame() - { - return $this->_averageTimePerFrame; - } - - /** - * Returns the number of this stream. 0 is an invalid stream number (that is, - * other <i>Header Objects</i> use stream number 0 to refer to the entire file - * as a whole rather than to a specific media stream within the file). Valid - * values are between 1 and 127. - * - * @return integer - */ - public function getStreamNumber() - { - return $this->_streamNumber; - } - - /** - * Returns the language, if any, which the content of the stream uses or - * assumes. Refer to the {@link LanguageList Language List Object} description - * for the details concerning how the <i>Stream Language Index</i> and - * <i>Language Index</i> fields should be used. Note that this is an index - * into the languages listed in the <i>Language List Object</i> rather than a - * language identifier. - * - * @return integer - */ - public function getStreamLanguageIndex() - { - return $this->_streamLanguageIndex; - } - - /** - * Returns an array of Stream Names. Each stream name instance is potentially - * localized into a specific language. The <i>Language Index</i> field - * indicates the language in which the <i>Stream Name</i> has been written. - * - * The array contains the following keys: - * o languageIndex -- The language index - * o streamName -- The localized stream name - * - * @return Array - */ - public function getStreamNames() - { - return $this->_streamNames; - } - - /** - * Returns an array of payload extension systems. Payload extensions provide a - * way for content creators to specify kinds of data that will appear in the - * payload header for every payload from this stream. This system is used when - * stream properties must be conveyed at the media object level. The - * <i>Replicated Data</i> bytes in the payload header will contain these - * properties in the order in which the <i>Payload Extension Systems</i> - * appear in this object. A <i>Payload Extension System</i> must appear in the - * <i>Extended Stream Properties Object</i> for each type of per-media-object - * properties that will appear with the payloads for this stream. - * - * The array contains the following keys: - * o extensionSystemId -- Specifies a unique identifier for the extension - * system. - * o extensionDataSize -- Specifies the fixed size of the extension data for - * this system that will appear in the replicated data alongside every - * payload for this stream. If this extension system uses variable-size - * data, then this should be set to 0xffff. Note, however, that replicated - * data length is limited to 255 bytes, which limits the total size of all - * extension systems for a particular stream. - * o extensionSystemInfo -- Specifies additional information to describe - * this extension system (optional). - * - * @return Array - */ - public function getPayloadExtensionSystems() - { - return $this->_payloadExtensionSystems; - } -} diff --git a/libraries/phpvideotoolkit/adapters/ffmpeg-php/php-reader/src/ASF/Object/FileProperties.php b/libraries/phpvideotoolkit/adapters/ffmpeg-php/php-reader/src/ASF/Object/FileProperties.php deleted file mode 100644 index c1e4ada..0000000 --- a/libraries/phpvideotoolkit/adapters/ffmpeg-php/php-reader/src/ASF/Object/FileProperties.php +++ /dev/null @@ -1,255 +0,0 @@ -<?php -/** - * PHP Reader Library - * - * Copyright (c) 2006-2008 The PHP Reader Project Workgroup. All rights - * reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * - Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - Neither the name of the project workgroup nor the names of its - * contributors may be used to endorse or promote products derived from this - * software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE - * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * @package php-reader - * @subpackage ASF - * @copyright Copyright (c) 2006-2008 The PHP Reader Project Workgroup - * @license http://code.google.com/p/php-reader/wiki/License New BSD License - * @version $Id: FileProperties.php 102 2008-06-23 20:41:20Z svollbehr $ - */ - -/**#@+ @ignore */ -require_once("ASF/Object.php"); -/**#@-*/ - -/** - * The <i>File Properties Object</i> defines the global characteristics of the - * combined digital media streams found within the Data Object. - * - * @package php-reader - * @subpackage ASF - * @author Sven Vollbehr <svollbehr@gmail.com> - * @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: 102 $ - */ -final class ASF_Object_FileProperties extends ASF_Object -{ - /** - * Indicates, if set, that a file is in the process of being created (for - * example, for recording applications), and thus that various values stored - * in the header objects are invalid. It is highly recommended that - * post-processing be performed to remove this condition at the earliest - * opportunity. - */ - const BROADCAST = 1; - - /** - * Indicates, if set, that a file is seekable. Note that for files containing - * a single audio stream and a <i>Minimum Data Packet Size</i> field equal to - * the <i>Maximum Data Packet Size</i> field, this flag shall always be set to - * 1. For files containing a single audio stream and a video stream or - * mutually exclusive video streams, this flag is only set to 1 if the file - * contains a matching <i>Simple Index Object</i> for each regular video - * stream. - */ - const SEEKABLE = 2; - - /** @var string */ - private $_fileId; - - /** @var integer */ - private $_fileSize; - - /** @var integer */ - private $_creationDate; - - /** @var integer */ - private $_dataPacketsCount; - - /** @var integer */ - private $_playDuration; - - /** @var integer */ - private $_sendDuration; - - /** @var integer */ - private $_preroll; - - /** @var integer */ - private $_flags; - - /** @var integer */ - private $_minimumDataPacketSize; - - /** @var integer */ - private $_maximumDataPacketSize; - - /** @var integer */ - private $_maximumBitrate; - - /** - * Constructs the class with given parameters and reads object related data - * from the ASF file. - * - * @param Reader $reader The reader object. - * @param Array $options The options array. - */ - public function __construct($reader, &$options = array()) - { - parent::__construct($reader, $options); - - $this->_fileId = $this->_reader->readGUID(); - $this->_fileSize = $this->_reader->readInt64LE(); - $this->_creationDate = $this->_reader->readInt64LE(); - $this->_dataPacketsCount = $this->_reader->readInt64LE(); - $this->_playDuration = $this->_reader->readInt64LE(); - $this->_sendDuration = $this->_reader->readInt64LE(); - $this->_preroll = $this->_reader->readInt64LE(); - $this->_flags = $this->_reader->readUInt32LE(); - $this->_minimumDataPacketSize = $this->_reader->readUInt32LE(); - $this->_maximumDataPacketSize = $this->_reader->readUInt32LE(); - $this->_maximumBitrate = $this->_reader->readUInt32LE(); - } - - /** - * Returns the file id field. - * - * @return integer - */ - public function getFileId() { return $this->_fileId; } - - /** - * Returns the size, in bytes, of the entire file. The value of this field is - * invalid if the broadcast flag bit in the flags field is set to 1. - * - * @return integer - */ - public function getFileSize() { return $this->_fileSize; } - - /** - * Returns the date and time of the initial creation of the file. The value is - * given as the number of 100-nanosecond intervals since January 1, 1601, - * according to Coordinated Universal Time (Greenwich Mean Time). The value of - * this field may be invalid if the broadcast flag bit in the flags field is - * set to 1. - * - * @return integer - */ - public function getCreationDate() { return $this->_creationDate; } - - /** - * Returns the number of Data Packet entries that exist within the - * {@link ASF_Object_Data Data Object}. The value of this field is invalid if - * the broadcast flag bit in the flags field is set to 1. - * - * @return integer - */ - public function getDataPacketsCount() { return $this->_dataPacketsCount; } - - /** - * Returns the time needed to play the file in 100-nanosecond units. This - * value should include the duration (estimated, if an exact value is - * unavailable) of the the last media object in the presentation. The value of - * this field is invalid if the broadcast flag bit in the flags field is set - * to 1. - * - * @return integer - */ - public function getPlayDuration() { return $this->_playDuration; } - - /** - * Returns the time needed to send the file in 100-nanosecond units. This - * value should include the duration of the last packet in the content. The - * value of this field is invalid if the broadcast flag bit in the flags field - * is set to 1. - * - * @return integer - */ - public function getSendDuration() { return $this->_sendDuration; } - - /** - * Returns the amount of time to buffer data before starting to play the file, - * in millisecond units. If this value is nonzero, the <i>Play Duration</i> - * field and all of the payload <i>Presentation Time</i> fields have been - * offset by this amount. Therefore, player software must subtract the value - * in the preroll field from the play duration and presentation times to - * calculate their actual values. - * - * @return integer - */ - public function getPreroll() { return $this->_preroll; } - - /** - * Checks whether or not the flag is set. Returns <var>true</var> if the flag - * is set, <var>false</var> otherwise. - * - * @param integer $flag The flag to query. - * @return boolean - */ - public function hasFlag($flag) { return ($this->_flags & $flag) == $flag; } - - /** - * Returns the flags field. - * - * @return integer - */ - public function getFlags() { return $this->_flags; } - - /** - * Returns the minimum <i>Data Packet</i> size in bytes. In general, the value - * of this field is invalid if the broadcast flag bit in the flags field is - * set to 1. However, the values for the <i>Minimum Data Packet Size</i> and - * <i>Maximum Data Packet Size</i> fields shall be set to the same value, and - * this value should be set to the packet size, even when the broadcast flag - * in the flags field is set to 1. - * - * @return integer - */ - public function getMinimumDataPacketSize() - { - return $this->_minimumDataPacketSize; - } - - /** - * Returns the maximum <i>Data Packet</i> size in bytes. In general, the value - * of this field is invalid if the broadcast flag bit in the flags field is - * set to 1. However, the values for the <i>Minimum Data Packet Size</i> and - * <i>Maximum Data Packet Size</i> fields shall be set to the same value, and - * this value should be set to the packet size, even when the broadcast flag - * in the flags field is set to 1. - * - * @return integer - */ - public function getMaximumDataPacketSize() - { - return $this->_maximumDataPacketSize; - } - - /** - * Returns the maximum instantaneous bit rate in bits per second for the - * entire file. This is equal the sum of the bit rates of the individual - * digital media streams. - * - * @return integer - */ - public function getMaximumBitrate() { return $this->_maximumBitrate; } -} diff --git a/libraries/phpvideotoolkit/adapters/ffmpeg-php/php-reader/src/ASF/Object/GroupMutualExclusion.php b/libraries/phpvideotoolkit/adapters/ffmpeg-php/php-reader/src/ASF/Object/GroupMutualExclusion.php deleted file mode 100644 index f5bc6e4..0000000 --- a/libraries/phpvideotoolkit/adapters/ffmpeg-php/php-reader/src/ASF/Object/GroupMutualExclusion.php +++ /dev/null @@ -1,108 +0,0 @@ -<?php -/** - * PHP Reader Library - * - * Copyright (c) 2008 The PHP Reader Project Workgroup. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * - Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - Neither the name of the project workgroup nor the names of its - * contributors may be used to endorse or promote products derived from this - * software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE - * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * @package php-reader - * @subpackage ASF - * @copyright Copyright (c) 2008 The PHP Reader Project Workgroup - * @license http://code.google.com/p/php-reader/wiki/License New BSD License - * @version $Id: GroupMutualExclusion.php 108 2008-09-05 17:00:05Z svollbehr $ - */ - -/**#@+ @ignore */ -require_once("ASF/Object.php"); -/**#@-*/ - -/** - * The <i>Group Mutual Exclusion Object</i> is used to describe mutual exclusion - * relationships between groups of streams. This object is organized in terms of - * records, each containing one or more streams, where a stream in record N - * cannot coexist with a stream in record M for N != M (however, streams in the - * same record can coexist). This mutual exclusion object would be used - * typically for the purpose of language mutual exclusion, and a record would - * consist of all streams for a particular language. - * - * @package php-reader - * @subpackage ASF - * @author Sven Vollbehr <svollbehr@gmail.com> - * @copyright Copyright (c) 2008 The PHP Reader Project Workgroup - * @license http://code.google.com/p/php-reader/wiki/License New BSD License - * @version $Rev: 108 $ - */ -final class ASF_Object_GroupMutualExclusion extends ASF_Object -{ - const MUTEX_LANGUAGE = "d6e22a00-35da-11d1-9034-00a0c90349be"; - const MUTEX_BITRATE = "d6e22a01-35da-11d1-9034-00a0c90349be"; - const MUTEX_UNKNOWN = "d6e22a02-35da-11d1-9034-00a0c90349be"; - - /** @var string */ - private $_exclusionType; - - /** @var Array */ - private $_records = array(); - - /** - * Constructs the class with given parameters and reads object related data - * from the ASF file. - * - * @param Reader $reader The reader object. - * @param Array $options The options array. - */ - public function __construct($reader, &$options = array()) - { - parent::__construct($reader, $options); - $this->_exclusionType = $this->_reader->readGUID(); - $recordCount = $this->_reader->readUInt16LE(); - for ($i = 0; $i < $recordCount; $i++) { - $streamNumbersCount = $this->_reader->readUInt16LE(); - $streamNumbers = array(); - for ($j = 0; $j < $streamNumbersCount; $j++) - $streamNumbers[] = array - ("streamNumbers" => $this->_reader->readUInt16LE()); - $this->_records[] = $streamNumbers; - } - } - - /** - * Returns the nature of the mutual exclusion relationship. - * - * @return string - */ - public function getExclusionType() { return $this->_exclusionType; } - - /** - * Returns an array of records. Each record consists of the following keys. - * - * o streamNumbers -- Specifies the stream numbers for this record. Valid - * values are between 1 and 127. - * - * @return Array - */ - public function getRecords() { return $this->_records; } -} diff --git a/libraries/phpvideotoolkit/adapters/ffmpeg-php/php-reader/src/ASF/Object/Header.php b/libraries/phpvideotoolkit/adapters/ffmpeg-php/php-reader/src/ASF/Object/Header.php deleted file mode 100644 index 489ea78..0000000 --- a/libraries/phpvideotoolkit/adapters/ffmpeg-php/php-reader/src/ASF/Object/Header.php +++ /dev/null @@ -1,125 +0,0 @@ -<?php -/** - * PHP Reader Library - * - * Copyright (c) 2006-2008 The PHP Reader Project Workgroup. All rights - * reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * - Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - Neither the name of the project workgroup nor the names of its - * contributors may be used to endorse or promote products derived from this - * software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE - * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * @package php-reader - * @subpackage ASF - * @copyright Copyright (c) 2006-2008 The PHP Reader Project Workgroup - * @license http://code.google.com/p/php-reader/wiki/License New BSD License - * @version $Id: Header.php 102 2008-06-23 20:41:20Z svollbehr $ - */ - -/**#@+ @ignore */ -require_once("ASF/Object/Container.php"); -/**#@-*/ - -/** - * The role of the header object is to provide a well-known byte sequence at the - * beginning of ASF files and to contain all the information that is needed to - * properly interpret the information within the data object. The header object - * can optionally contain metadata such as bibliographic information. - * - * Of the three top-level ASF objects, the header object is the only one that - * contains other ASF objects. The header object may include a number of - * standard objects including, but not limited to: - * - * o File Properties Object -- Contains global file attributes. - * o Stream Properties Object -- Defines a digital media stream and its - * characteristics. - * o Header Extension Object -- Allows additional functionality to be added to - * an ASF file while maintaining backward compatibility. - * o Content Description Object -- Contains bibliographic information. - * o Script Command Object -- Contains commands that can be executed on the - * playback timeline. - * o Marker Object -- Provides named jump points within a file. - * - * Note that objects in the header object may appear in any order. To be valid, - * the header object must contain a {@link ASF_Object_FileProperties File - * Properties Object}, a {@link ASF_Object_HeaderExtension Header Extension - * Object}, and at least one {@link ASF_Object_StreamProperties Stream - * Properties Object}. - * - * @package php-reader - * @subpackage ASF - * @author Sven Vollbehr <svollbehr@gmail.com> - * @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: 102 $ - */ -final class ASF_Object_Header extends ASF_Object_Container -{ - const FILE_PROPERTIES = "8cabdca1-a947-11cf-8ee4-00c00c205365"; - const STREAM_PROPERTIES = "b7dc0791-a9b7-11cf-8ee6-00c00c205365"; - const HEADER_EXTENSION = "5fbf03b5-a92e-11cf-8ee3-00c00c205365"; - const CODEC_LIST = "86d15240-311d-11d0-a3a4-00a0c90348f6"; - const SCRIPT_COMMAND = "1efb1a30-0b62-11d0-a39b-00a0c90348f6"; - const MARKER = "f487cd01-a951-11cf-8ee6-00c00c205365"; - const BITRATE_MUTUAL_EXCLUSION = "d6e229dc-35da-11d1-9034-00a0c90349be"; - const ERROR_CORRECTION = "75b22635-668e-11cf-a6d9-00aa0062ce6c"; - const CONTENT_DESCRIPTION = "75b22633-668e-11cf-a6d9-00aa0062ce6c"; - const EXTENDED_CONTENT_DESCRIPTION = "d2d0a440-e307-11d2-97f0-00a0c95ea850"; - const CONTENT_BRANDING = "2211b3fa-bd23-11d2-b4b7-00a0c955fc6e"; - const STREAM_BITRATE_PROPERTIES = "7bf875ce-468d-11d1-8d82-006097c9a2b2"; - const CONTENT_ENCRYPTION = "2211b3fb-bd23-11d2-b4b7-00a0c955fc6e"; - const EXTENDED_CONTENT_ENCRYPTION = "298ae614-2622-4c17-b935-dae07ee9289c"; - const DIGITAL_SIGNATURE = "2211b3fc-bd23-11d2-b4b7-00a0c955fc6e"; - const PADDING = "1806d474-cadf-4509-a4ba-9aabcb96aae8"; - - /** - * Constructs the class with given parameters and options. - * - * @param Reader $reader The reader object. - * @param Array $options The options array. - */ - public function __construct($reader, &$options = array()) - { - parent::__construct($reader, $options); - - $this->_reader->skip(6); - $this->constructObjects - (array - (self::FILE_PROPERTIES => "FileProperties", - self::STREAM_PROPERTIES => "StreamProperties", - self::HEADER_EXTENSION => "HeaderExtension", - self::CODEC_LIST => "CodecList", - self::SCRIPT_COMMAND => "ScriptCommand", - self::MARKER => "Marker", - self::BITRATE_MUTUAL_EXCLUSION => "BitrateMutualExclusion", - self::ERROR_CORRECTION => "ErrorCorrection", - self::CONTENT_DESCRIPTION => "ContentDescription", - self::EXTENDED_CONTENT_DESCRIPTION => "ExtendedContentDescription", - self::CONTENT_BRANDING => "ContentBranding", - self::STREAM_BITRATE_PROPERTIES => "StreamBitrateProperties", - self::CONTENT_ENCRYPTION => "ContentEncryption", - self::EXTENDED_CONTENT_ENCRYPTION => "ExtendedContentEncryption", - self::DIGITAL_SIGNATURE => "DigitalSignature", - self::PADDING => "Padding")); - } -} diff --git a/libraries/phpvideotoolkit/adapters/ffmpeg-php/php-reader/src/ASF/Object/HeaderExtension.php b/libraries/phpvideotoolkit/adapters/ffmpeg-php/php-reader/src/ASF/Object/HeaderExtension.php deleted file mode 100644 index 92c8c0d..0000000 --- a/libraries/phpvideotoolkit/adapters/ffmpeg-php/php-reader/src/ASF/Object/HeaderExtension.php +++ /dev/null @@ -1,101 +0,0 @@ -<?php -/** - * PHP Reader Library - * - * Copyright (c) 2008 The PHP Reader Project Workgroup. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * - Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - Neither the name of the project workgroup nor the names of its - * contributors may be used to endorse or promote products derived from this - * software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE - * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * @package php-reader - * @subpackage ASF - * @copyright Copyright (c) 2008 The PHP Reader Project Workgroup - * @license http://code.google.com/p/php-reader/wiki/License New BSD License - * @version $Id: HeaderExtension.php 108 2008-09-05 17:00:05Z svollbehr $ - */ - -/**#@+ @ignore */ -require_once("ASF/Object/Container.php"); -/**#@-*/ - -/** - * The <i>Header Extension Object</i> allows additional functionality to be - * added to an ASF file while maintaining backward compatibility. The Header - * Extension Object is a container containing zero or more additional extended - * header objects. - * - * @package php-reader - * @subpackage ASF - * @author Sven Vollbehr <svollbehr@gmail.com> - * @copyright Copyright (c) 2008 The PHP Reader Project Workgroup - * @license http://code.google.com/p/php-reader/wiki/License New BSD License - * @version $Rev: 108 $ - */ -final class ASF_Object_HeaderExtension extends ASF_Object_Container -{ - const EXTENDED_STREAM_PROPERTIES = "14e6a5cb-c672-4332-8399-a96952065b5a"; - const ADVANCED_MUTUAL_EXCLUSION = "a08649cf-4775-4670-8a16-6e35357566cd"; - const GROUP_MUTUAL_EXCLUSION = "d1465a40-5a79-4338-b71b-e36b8fd6c249"; - const STREAM_PRIORITIZATION = "d4fed15b-88d3-454f-81f0-ed5c45999e24"; - const BANDWIDTH_SHARING = "a69609e6-517b-11d2-b6af-00c04fd908e9"; - const LANGUAGE_LIST = "7c4346a9-efe0-4bfc-b229-393ede415c85"; - const METADATA = "c5f8cbea-5baf-4877-8467-aa8c44fa4cca"; - const METADATA_LIBRARY = "44231c94-9498-49d1-a141-1d134e457054"; - const INDEX_PARAMETERS = "d6e229df-35da-11d1-9034-00a0c90349be"; - const MEDIA_OBJECT_INDEX_PARAMETERS = "6b203bad-3f11-48e4-aca8-d7613de2cfa7"; - const TIMECODE_INDEX_PARAMETERS = "f55e496d-9797-4b5d-8c8b-604dfe9bfb24"; - const COMPATIBILITY = "75b22630-668e-11cf-a6d9-00aa0062ce6c"; - const ADVANCED_CONTENT_ENCRYPTION = "43058533-6981-49e6-9b74-ad12cb86d58c"; - const PADDING = "1806d474-cadf-4509-a4ba-9aabcb96aae8"; - - /** - * Constructs the class with given parameters and reads object related data - * from the ASF file. - * - * @param Reader $reader The reader object. - * @param Array $options The options array. - */ - public function __construct($reader, &$options = array()) - { - parent::__construct($reader, $options); - - $this->_reader->skip(22); - $this->constructObjects - (array - (self::EXTENDED_STREAM_PROPERTIES => "ExtendedStreamProperties", - self::ADVANCED_MUTUAL_EXCLUSION => "AdvancedMutualExclusion", - self::GROUP_MUTUAL_EXCLUSION => "GroupMutualExclusion", - self::STREAM_PRIORITIZATION => "StreamPrioritization", - self::BANDWIDTH_SHARING => "BandwidthSharing", - self::LANGUAGE_LIST => "LanguageList", - self::METADATA => "Metadata", - self::METADATA_LIBRARY => "MetadataLibrary", - self::INDEX_PARAMETERS => "IndexParameters", - self::MEDIA_OBJECT_INDEX_PARAMETERS => "MediaObjectIndexParameters", - self::TIMECODE_INDEX_PARAMETERS => "TimecodeIndexParameters", - self::COMPATIBILITY => "Compatibility", - self::ADVANCED_CONTENT_ENCRYPTION => "AdvancedContentEncryption", - self::PADDING => "Padding")); - } -} diff --git a/libraries/phpvideotoolkit/adapters/ffmpeg-php/php-reader/src/ASF/Object/Index.php b/libraries/phpvideotoolkit/adapters/ffmpeg-php/php-reader/src/ASF/Object/Index.php deleted file mode 100644 index 6ce63ca..0000000 --- a/libraries/phpvideotoolkit/adapters/ffmpeg-php/php-reader/src/ASF/Object/Index.php +++ /dev/null @@ -1,185 +0,0 @@ -<?php -/** - * PHP Reader Library - * - * Copyright (c) 2008 The PHP Reader Project Workgroup. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * - Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - Neither the name of the project workgroup nor the names of its - * contributors may be used to endorse or promote products derived from this - * software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE - * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * @package php-reader - * @subpackage ASF - * @copyright Copyright (c) 2008 The PHP Reader Project Workgroup - * @license http://code.google.com/p/php-reader/wiki/License New BSD License - * @version $Id: Index.php 108 2008-09-05 17:00:05Z svollbehr $ - */ - -/**#@+ @ignore */ -require_once("ASF/Object.php"); -/**#@-*/ - -/** - * This top-level ASF object supplies the necessary indexing information for an - * ASF file that contains more than just a plain script-audio-video combination. - * It includes stream-specific indexing information based on an adjustable index - * entry time interval. The index is designed to be broken into blocks to - * facilitate storage that is more space-efficient by using 32-bit offsets - * relative to a 64-bit base. That is, each index block has a full 64-bit offset - * in the block header that is added to the 32-bit offsets found in each index - * entry. If a file is larger than 2^32 bytes, then multiple index blocks can be - * used to fully index the entire large file while still keeping index entry - * offsets at 32 bits. - * - * Indices into the <i>Index Object</i> are in terms of presentation times. The - * corresponding <i>Offset</i> field values of the <i>Index Entry</i> byte - * offsets that, when combined with the <i>Block Position</i> value of the - * <i>Index Block</i>, indicate the starting location in bytes of an ASF Data - * Packet relative to the start of the first ASF Data Packet in the file. - * - * An offset value of 0xFFFFFFFF is used to indicate an invalid offset value. - * Invalid offsets signify that this particular index entry does not identify a - * valid indexible point. Invalid offsets may occur for the initial index - * entries of a digital media stream whose first ASF Data Packet has a non-zero - * send time. Invalid offsets may also occur in the case where a digital media - * stream has a large gap in the presentation time of successive objects. - * - * The <i>Index Object</i> is not recommended for use with files where the - * <i>Send Time</i> of the first <i>Data Packet</i> within the <i>Data - * Object</i> has a <i>Send Time</i> value significantly greater than zero - * (otherwise the index itself will be sparse and inefficient). - * - * Any ASF file containing an <i>Index Object</i> does also contain an <i>Index - * Parameters Object</i> in its {@link ASF_Object_Header ASF Header}. - * - * @package php-reader - * @subpackage ASF - * @author Sven Vollbehr <svollbehr@gmail.com> - * @copyright Copyright (c) 2008 The PHP Reader Project Workgroup - * @license http://code.google.com/p/php-reader/wiki/License New BSD License - * @version $Rev: 108 $ - */ -final class ASF_Object_Index extends ASF_Object -{ - /** - * Indicates that the index type is Nearest Past Data Packet. The Nearest - * Past Data Packet indexes point to the data packet whose presentation time - * is closest to the index entry time. - */ - const NEAREST_PAST_DATA_PACKET = 1; - - /** - * Indicates that the index type is Nearest Past Media. The Nearest Past - * Object indexes point to the closest data packet containing an entire object - * or first fragment of an object. - */ - const NEAREST_PAST_MEDIA = 2; - - /** - * Indicates that the index type is Nearest Past Cleanpoint. The Nearest Past - * Cleanpoint indexes point to the closest data packet containing an entire - * object (or first fragment of an object) that has the Cleanpoint Flag set. - * - * Nearest Past Cleanpoint is the most common type of index. - */ - const NEAREST_PAST_CLEANPOINT = 3; - - /** @var integer */ - private $_indexEntryTimeInterval; - - /** @var Array */ - private $_indexSpecifiers = array(); - - /** @var Array */ - private $_indexBlocks = array(); - - /** - * Constructs the class with given parameters and reads object related data - * from the ASF file. - * - * @param Reader $reader The reader object. - * @param Array $options The options array. - */ - public function __construct($reader, &$options = array()) - { - parent::__construct($reader, $options); - - $this->_indexEntryTimeInterval = $this->_reader->readUInt32LE(); - $indexSpecifiersCount = $this->_reader->readUInt16LE(); - $indexBlocksCount = $this->_reader->readUInt32LE(); - for ($i = 0; $i < $indexSpecifiersCount; $i++) - $this->_indexSpecifiers[] = array - ("streamNumber" => $this->_reader->readUInt16LE(), - "indexType" => $this->_reader->readUInt16LE()); - for ($i = 0; $i < $indexBlocksCount; $i++) { - $indexEntryCount = $this->_reader->readUInt32LE(); - $blockPositions = array(); - for ($i = 0; $i < $indexSpecifiersCount; $i++) - $blockPositions[] = $this->_reader->readInt64LE(); - $offsets = array(); - for ($i = 0; $i < $indexSpecifiersCount; $i++) - $offsets[] = $this->_reader->readUInt32LE(); - $this->_indexBlocks[] = array - ("blockPositions" => $blockPositions, - "indexEntryOffsets" => $offsets); - } - } - - /** - * Returns the time interval between each index entry in ms. - * - * @return integer - */ - public function getIndexEntryTimeInterval() - { - return $this->_indexEntryTimeInterval; - } - - /** - * Returns an array of index specifiers. Each entry consists of the following - * keys. - * - * o streamNumber -- Specifies the stream number that the <i>Index - * Specifiers</i> refer to. Valid values are between 1 and 127. - * - * o indexType -- Specifies the type of index. - * - * @return Array - */ - public function getIndexSpecifiers() { return $this->_indexSpecifiers; } - - /** - * Returns an array of index entries. Each entry consists of the following - * keys. - * - * o blockPositions -- Specifies a list of byte offsets of the beginnings of - * the blocks relative to the beginning of the first Data Packet (for - * example, the beginning of the Data Object + 50 bytes). - * - * o indexEntryOffsets -- Specifies the offset. An offset value of - * 0xffffffff indicates an invalid offset value. - * - * @return Array - */ - public function getIndexBlocks() { return $this->_indexBlocks; } -} diff --git a/libraries/phpvideotoolkit/adapters/ffmpeg-php/php-reader/src/ASF/Object/IndexParameters.php b/libraries/phpvideotoolkit/adapters/ffmpeg-php/php-reader/src/ASF/Object/IndexParameters.php deleted file mode 100644 index d8229d9..0000000 --- a/libraries/phpvideotoolkit/adapters/ffmpeg-php/php-reader/src/ASF/Object/IndexParameters.php +++ /dev/null @@ -1,121 +0,0 @@ -<?php -/** - * PHP Reader Library - * - * Copyright (c) 2008 The PHP Reader Project Workgroup. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * - Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - Neither the name of the project workgroup nor the names of its - * contributors may be used to endorse or promote products derived from this - * software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE - * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * @package php-reader - * @subpackage ASF - * @copyright Copyright (c) 2008 The PHP Reader Project Workgroup - * @license http://code.google.com/p/php-reader/wiki/License New BSD License - * @version $Id: IndexParameters.php 108 2008-09-05 17:00:05Z svollbehr $ - */ - -/**#@+ @ignore */ -require_once("ASF/Object.php"); -/**#@-*/ - -/** - * The <i>Index Parameters Object</i> supplies information about those streams - * that are actually indexed (there must be at least one stream in an index) by - * the {@link ASF_Object_Index Index Object} and how they are being indexed. - * This object shall be present in the {@link ASF_Object_Header Header Object} - * if there is an {@link ASF_Object_Index Index Object} present in the file. - * - * An Index Specifier is required for each stream that will be indexed by the - * {@link ASF_Object_Index Index Object}. These specifiers must exactly match - * those in the {@link ASF_Object_Index Index Object}. - * - * @package php-reader - * @subpackage ASF - * @author Sven Vollbehr <svollbehr@gmail.com> - * @copyright Copyright (c) 2008 The PHP Reader Project Workgroup - * @license http://code.google.com/p/php-reader/wiki/License New BSD License - * @version $Rev: 108 $ - */ -final class ASF_Object_IndexParameters extends ASF_Object -{ - /** @var string */ - private $_indexEntryTimeInterval; - - /** @var Array */ - private $_indexSpecifiers = array(); - - /** - * Constructs the class with given parameters and reads object related data - * from the ASF file. - * - * @param Reader $reader The reader object. - * @param Array $options The options array. - */ - public function __construct($reader, &$options = array()) - { - parent::__construct($reader, $options); - - $this->_indexEntryTimeInterval = $this->_reader->readUInt32LE(); - $indexSpecifiersCount = $this->_reader->readUInt16LE(); - for ($i = 0; $i < $indexSpecifiersCount; $i++) { - $this->_indexSpecifiers[] = array - ("streamNumber" => $this->_reader->readUInt16LE(), - "indexType" => $this->_reader->readUInt16LE()); - } - } - - /** - * Returns the time interval between index entries in milliseconds. This value - * cannot be 0. - * - * @return integer - */ - public function getIndexEntryTimeInterval() - { - return $this->_indexEntryTimeInterval; - } - - /** - * Returns an array of index entries. Each entry consists of the following - * keys. - * - * o streamNumber -- Specifies the stream number that the Index Specifiers - * refer to. Valid values are between 1 and 127. - * - * o indexType -- Specifies the type of index. Values are as follows: - * 1 = Nearest Past Data Packet, - * 2 = Nearest Past Media Object, and - * 3 = Nearest Past Cleanpoint. - * The Nearest Past Data Packet indexes point to the data packet whose - * presentation time is closest to the index entry time. The Nearest Past - * Object indexes point to the closest data packet containing an entire - * object or first fragment of an object. The Nearest Past Cleanpoint - * indexes point to the closest data packet containing an entire object - * (or first fragment of an object) that has the Cleanpoint Flag set. - * Nearest Past Cleanpoint is the most common type of index. - * - * @return Array - */ - public function getIndexSpecifiers() { return $this->_indexSpecifiers; } -} diff --git a/libraries/phpvideotoolkit/adapters/ffmpeg-php/php-reader/src/ASF/Object/LanguageList.php b/libraries/phpvideotoolkit/adapters/ffmpeg-php/php-reader/src/ASF/Object/LanguageList.php deleted file mode 100644 index 13c6950..0000000 --- a/libraries/phpvideotoolkit/adapters/ffmpeg-php/php-reader/src/ASF/Object/LanguageList.php +++ /dev/null @@ -1,85 +0,0 @@ -<?php -/** - * PHP Reader Library - * - * Copyright (c) 2008 The PHP Reader Project Workgroup. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * - Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - Neither the name of the project workgroup nor the names of its - * contributors may be used to endorse or promote products derived from this - * software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE - * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * @package php-reader - * @subpackage ASF - * @copyright Copyright (c) 2008 The PHP Reader Project Workgroup - * @license http://code.google.com/p/php-reader/wiki/License New BSD License - * @version $Id: LanguageList.php 102 2008-06-23 20:41:20Z svollbehr $ - */ - -/**#@+ @ignore */ -require_once("ASF/Object.php"); -/**#@-*/ - -/** - * The <i>Language List Object</i> contains an array of Unicode-based language - * IDs. All other header objects refer to languages through zero-based positions - * in this array. - * - * @package php-reader - * @subpackage ASF - * @author Sven Vollbehr <svollbehr@gmail.com> - * @copyright Copyright (c) 2008 The PHP Reader Project Workgroup - * @license http://code.google.com/p/php-reader/wiki/License New BSD License - * @version $Rev: 102 $ - */ -final class ASF_Object_LanguageList extends ASF_Object -{ - /** @var Array */ - private $_languages = array(); - - /** - * Constructs the class with given parameters and reads object related data - * from the ASF file. - * - * @param Reader $reader The reader object. - * @param Array $options The options array. - */ - public function __construct($reader, &$options = array()) - { - parent::__construct($reader, $options); - - $languageIdRecordsCount = $this->_reader->readUInt16LE(); - for ($i = 0; $i < $languageIdRecordsCount; $i++) { - $languageIdLength = $this->_reader->readInt8(); - $languageId = $this->_reader->readString16LE($languageIdLength); - $this->_languages[] = iconv - ("utf-16le", $this->getOption("encoding"), $languageId); - } - } - - /** - * Returns the array of language ids. - * - * @return Array - */ - public function getLanguage() { return $this->_languages; } -} diff --git a/libraries/phpvideotoolkit/adapters/ffmpeg-php/php-reader/src/ASF/Object/Marker.php b/libraries/phpvideotoolkit/adapters/ffmpeg-php/php-reader/src/ASF/Object/Marker.php deleted file mode 100644 index 697cb4a..0000000 --- a/libraries/phpvideotoolkit/adapters/ffmpeg-php/php-reader/src/ASF/Object/Marker.php +++ /dev/null @@ -1,121 +0,0 @@ -<?php -/** - * PHP Reader Library - * - * Copyright (c) 2008 The PHP Reader Project Workgroup. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * - Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - Neither the name of the project workgroup nor the names of its - * contributors may be used to endorse or promote products derived from this - * software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE - * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * @package php-reader - * @subpackage ASF - * @copyright Copyright (c) 2008 The PHP Reader Project Workgroup - * @license http://code.google.com/p/php-reader/wiki/License New BSD License - * @version $Id: Marker.php 108 2008-09-05 17:00:05Z svollbehr $ - */ - -/**#@+ @ignore */ -require_once("ASF/Object.php"); -/**#@-*/ - -/** - * The <i>Marker Object</i> class. - * - * @package php-reader - * @subpackage ASF - * @author Sven Vollbehr <svollbehr@gmail.com> - * @copyright Copyright (c) 2008 The PHP Reader Project Workgroup - * @license http://code.google.com/p/php-reader/wiki/License New BSD License - * @version $Rev: 108 $ - */ -final class ASF_Object_Marker extends ASF_Object -{ - /** @var string */ - private $_name; - - /** @var Array */ - private $_markers = array(); - - /** - * Constructs the class with given parameters and reads object related data - * from the ASF file. - * - * @param Reader $reader The reader object. - * @param Array $options The options array. - */ - public function __construct($reader, &$options = array()) - { - parent::__construct($reader, $options); - - $this->_reader->skip(16); - $markersCount = $this->_reader->readUInt32LE(); - $this->_reader->skip(2); - $nameLength = $this->_reader->readUInt16LE(); - $this->_name = iconv - ("utf-16le", $this->getOption("encoding"), - $this->_reader->readString16LE($nameLength)); - for ($i = 0; $i < $markersCount; $i++) { - $marker = array - ("offset" => $this->_reader->readInt64LE(), - "presentationTime" => $this->_reader->readInt64LE()); - $this->_reader->skip(2); - $marker["sendTime"] = $this->_reader->readUInt32LE(); - $marker["flags"] = $this->_reader->readUInt32LE(); - $descriptionLength = $this->_reader->readUInt32LE(); - $marker["description"] = iconv - ("utf-16le", $this->getOption("encoding"), - $this->_reader->readString16LE($descriptionLength)); - $this->_markers[] = $marker; - } - } - - /** - * Returns the name of the Marker Object. - * - * @return Array - */ - public function getName() { return $this->_name; } - - /** - * Returns an array of markers. Each entry consists of the following keys. - * - * o offset -- Specifies a byte offset into the <i>Data Object</i> to the - * actual position of the marker in the <i>Data Object</i>. ASF parsers - * must seek to this position to properly display data at the specified - * marker <i>Presentation Time</i>. - * - * o presentationTime -- Specifies the presentation time of the marker, in - * 100-nanosecond units. - * - * o sendTime -- Specifies the send time of the marker entry, in - * milliseconds. - * - * o flags -- Flags are reserved and should be set to 0. - * - * o description -- Specifies a description of the marker entry. - * - * @return Array - */ - public function getMarkers() { return $this->_markers; } -} diff --git a/libraries/phpvideotoolkit/adapters/ffmpeg-php/php-reader/src/ASF/Object/MediaObjectIndex.php b/libraries/phpvideotoolkit/adapters/ffmpeg-php/php-reader/src/ASF/Object/MediaObjectIndex.php deleted file mode 100644 index 676abd1..0000000 --- a/libraries/phpvideotoolkit/adapters/ffmpeg-php/php-reader/src/ASF/Object/MediaObjectIndex.php +++ /dev/null @@ -1,176 +0,0 @@ -<?php -/** - * PHP Reader Library - * - * Copyright (c) 2008 The PHP Reader Project Workgroup. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * - Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - Neither the name of the project workgroup nor the names of its - * contributors may be used to endorse or promote products derived from this - * software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE - * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * @package php-reader - * @subpackage ASF - * @copyright Copyright (c) 2008 The PHP Reader Project Workgroup - * @license http://code.google.com/p/php-reader/wiki/License New BSD License - * @version $Id: MediaObjectIndex.php 108 2008-09-05 17:00:05Z svollbehr $ - */ - -/**#@+ @ignore */ -require_once("ASF/Object.php"); -/**#@-*/ - -/** - * This top-level ASF object supplies media object indexing information for the - * streams of an ASF file. It includes stream-specific indexing information - * based on an adjustable index entry media object count interval. This object - * can be used to index all the video frames or key frames in a video stream. - * The index is designed to be broken into blocks to facilitate storage that is - * more space-efficient by using 32-bit offsets relative to a 64-bit base. That - * is, each index block has a full 64-bit offset in the block header that is - * added to the 32-bit offset found in each index entry. If a file is larger - * than 2^32 bytes, then multiple index blocks can be used to fully index the - * entire large file while still keeping index entry offsets at 32 bits. - * - * Indices into the <i>Media Object Index Object</i> are in terms of media - * object numbers, with the first frame for a given stream in the ASF file - * corresponding to entry 0 in the <i>Media Object Index Object</i>. The - * corresponding <i>Offset</i> field values of the <i>Index Entry</i> are byte - * offsets that, when combined with the <i>Block Position</i> value of the - * Index Block, indicate the starting location in bytes of an ASF Data Packet - * relative to the start of the first ASF Data Packet in the file. - * - * Any ASF file containing a <i>Media Object Index Object</i> shall also contain - * a <i>Media Object Index Parameters Object</i> in its - * {@link ASF_Object_Header ASF Header}. - * - * @package php-reader - * @subpackage ASF - * @author Sven Vollbehr <svollbehr@gmail.com> - * @copyright Copyright (c) 2008 The PHP Reader Project Workgroup - * @license http://code.google.com/p/php-reader/wiki/License New BSD License - * @version $Rev: 108 $ - */ -final class ASF_Object_MediaObjectIndex extends ASF_Object -{ - /** - * Indicates that the index type is Nearest Past Data Packet. The Nearest - * Past Data Packet indexes point to the data packet whose presentation time - * is closest to the index entry time. - */ - const NEAREST_PAST_DATA_PACKET = 1; - - /** - * Indicates that the index type is Nearest Past Media. The Nearest Past - * Object indexes point to the closest data packet containing an entire object - * or first fragment of an object. - */ - const NEAREST_PAST_MEDIA = 2; - - /** - * Indicates that the index type is Nearest Past Cleanpoint. The Nearest Past - * Cleanpoint indexes point to the closest data packet containing an entire - * object (or first fragment of an object) that has the Cleanpoint Flag set. - * - * Nearest Past Cleanpoint is the most common type of index. - */ - const NEAREST_PAST_CLEANPOINT = 3; - - /** @var integer */ - private $_indexEntryCountInterval; - - /** @var Array */ - private $_indexSpecifiers = array(); - - /** @var Array */ - private $_indexBlocks = array(); - - /** - * Constructs the class with given parameters and reads object related data - * from the ASF file. - * - * @param Reader $reader The reader object. - * @param Array $options The options array. - */ - public function __construct($reader, &$options = array()) - { - parent::__construct($reader, $options); - - $this->_indexEntryCountInterval = $this->_reader->readUInt32LE(); - $indexSpecifiersCount = $this->_reader->readUInt16LE(); - $indexBlocksCount = $this->_reader->readUInt32LE(); - for ($i = 0; $i < $indexSpecifiersCount; $i++) - $this->_indexSpecifiers[] = array - ("streamNumber" => $this->_reader->readUInt16LE(), - "indexType" => $this->_reader->readUInt16LE()); - for ($i = 0; $i < $indexBlocksCount; $i++) { - $indexEntryCount = $this->_reader->readUInt32LE(); - $blockPositions = array(); - for ($i = 0; $i < $indexSpecifiersCount; $i++) - $blockPositions[] = $this->_reader->readInt64LE(); - $offsets = array(); - for ($i = 0; $i < $indexSpecifiersCount; $i++) - $offsets[] = $this->_reader->readUInt32LE(); - $this->_indexBlocks[] = array - ("blockPositions" => $blockPositions, - "indexEntryOffsets" => $offsets); - } - } - - /** - * Returns the interval between each index entry in number of media objects. - * - * @return integer - */ - public function getIndexEntryCountInterval() - { - return $this->_indexEntryCountInterval; - } - - /** - * Returns an array of index specifiers. Each entry consists of the following - * keys. - * - * o streamNumber -- Specifies the stream number that the <i>Index - * Specifiers</i> refer to. Valid values are between 1 and 127. - * - * o indexType -- Specifies the type of index. - * - * @return Array - */ - public function getIndexSpecifiers() { return $this->_indexSpecifiers; } - - /** - * Returns an array of index entries. Each entry consists of the following - * keys. - * - * o blockPositions -- Specifies a list of byte offsets of the beginnings of - * the blocks relative to the beginning of the first Data Packet (for - * example, the beginning of the Data Object + 50 bytes). - * - * o indexEntryOffsets -- Specifies the offset. An offset value of - * 0xffffffff indicates an invalid offset value. - * - * @return Array - */ - public function getIndexBlocks() { return $this->_indexBlocks; } -} diff --git a/libraries/phpvideotoolkit/adapters/ffmpeg-php/php-reader/src/ASF/Object/MediaObjectIndexParameters.php b/libraries/phpvideotoolkit/adapters/ffmpeg-php/php-reader/src/ASF/Object/MediaObjectIndexParameters.php deleted file mode 100644 index ffc8998..0000000 --- a/libraries/phpvideotoolkit/adapters/ffmpeg-php/php-reader/src/ASF/Object/MediaObjectIndexParameters.php +++ /dev/null @@ -1,130 +0,0 @@ -<?php -/** - * PHP Reader Library - * - * Copyright (c) 2008 The PHP Reader Project Workgroup. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * - Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - Neither the name of the project workgroup nor the names of its - * contributors may be used to endorse or promote products derived from this - * software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE - * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * @package php-reader - * @subpackage ASF - * @copyright Copyright (c) 2008 The PHP Reader Project Workgroup - * @license http://code.google.com/p/php-reader/wiki/License New BSD License - * @version $Id: MediaObjectIndexParameters.php 108 2008-09-05 17:00:05Z svollbehr $ - */ - -/**#@+ @ignore */ -require_once("ASF/Object.php"); -/**#@-*/ - -/** - * The <i>Media Object Index Parameters Object</i> supplies information about - * those streams that actually indexed (there must be at least one stream in an - * index) by media objects. This object shall be present in the - * {@link ASF_Object_Header Header Object} if there is a - * {@link ASF_Object_MediaObjectIndex Media Object Index Object} present in the - * file. - * - * An Index Specifier is required for each stream that will be indexed by the - * {@link ASF_Object_MediaObjectIndex Media Object Index Object}. These - * specifiers must exactly match those in the - * {@link ASF_Object_MediaObjectIndex Media Object Index Object}. - * - * @package php-reader - * @subpackage ASF - * @author Sven Vollbehr <svollbehr@gmail.com> - * @copyright Copyright (c) 2008 The PHP Reader Project Workgroup - * @license http://code.google.com/p/php-reader/wiki/License New BSD License - * @version $Rev: 108 $ - */ -final class ASF_Object_MediaObjectIndexParameters extends ASF_Object -{ - /** @var string */ - private $_indexEntryCountInterval; - - /** @var Array */ - private $_indexSpecifiers = array(); - - /** - * Constructs the class with given parameters and reads object related data - * from the ASF file. - * - * @param Reader $reader The reader object. - * @param Array $options The options array. - */ - public function __construct($reader, &$options = array()) - { - parent::__construct($reader, $options); - - $this->_indexEntryCountInterval = $this->_reader->readUInt32LE(); - $indexSpecifiersCount = $this->_reader->readUInt16LE(); - for ($i = 0; $i < $indexSpecifiersCount; $i++) { - $this->_indexSpecifiers[] = array - ("streamNumber" => $this->_reader->readUInt16LE(), - "indexType" => $this->_reader->readUInt16LE()); - } - } - - /** - * Returns the interval between each index entry by the number of media - * objects. This value cannot be 0. - * - * @return integer - */ - public function getIndexEntryCountInterval() - { - return $this->_indexEntryCountInterval; - } - - /** - * Returns an array of index entries. Each entry consists of the following - * keys. - * - * o streamNumber -- Specifies the stream number that the Index Specifiers - * refer to. Valid values are between 1 and 127. - * - * o indexType -- Specifies the type of index. Values are defined as - * follows: - * 1 = Nearest Past Data Packet, - * 2 = Nearest Past Media Object, - * 3 = Nearest Past Cleanpoint, - * 0xff = Frame Number Offset. - * For a video stream, the Nearest Past Media Object and Nearest Past Data - * Packet indexes point to the closest data packet containing an entire - * video frame or first fragment of a video frame; Nearest Past Cleanpoint - * indexes point to the closest data packet containing an entire video - * frame (or first fragment of a video frame) that is a key frame; and - * Frame Number Offset indicates how many more frames need to be read for - * the given stream, starting with the first frame in the packet pointed - * to by the index entry, in order to get to the requested frame. Nearest - * Past Media Object is the most common value. Because ASF payloads do not - * contain the full frame number, there is often a Frame Number Offset - * index alongside one of the other types of indexes to allow the user to - * identify the exact frame being seeked to. - * - * @return Array - */ - public function getIndexSpecifiers() { return $this->_indexSpecifiers; } -} diff --git a/libraries/phpvideotoolkit/adapters/ffmpeg-php/php-reader/src/ASF/Object/Metadata.php b/libraries/phpvideotoolkit/adapters/ffmpeg-php/php-reader/src/ASF/Object/Metadata.php deleted file mode 100644 index 67b75e2..0000000 --- a/libraries/phpvideotoolkit/adapters/ffmpeg-php/php-reader/src/ASF/Object/Metadata.php +++ /dev/null @@ -1,113 +0,0 @@ -<?php -/** - * PHP Reader Library - * - * Copyright (c) 2008 The PHP Reader Project Workgroup. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * - Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - Neither the name of the project workgroup nor the names of its - * contributors may be used to endorse or promote products derived from this - * software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE - * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * @package php-reader - * @subpackage ASF - * @copyright Copyright (c) 2008 The PHP Reader Project Workgroup - * @license http://code.google.com/p/php-reader/wiki/License New BSD License - * @version $Id: Metadata.php 102 2008-06-23 20:41:20Z svollbehr $ - */ - -/**#@+ @ignore */ -require_once("ASF/Object.php"); -/**#@-*/ - -/** - * The <i>Metadata Object</i> permits authors to store stream-based metadata in - * a file. This object supports the same types of metadata information as the - * <i>Extended Content Description Object</i> except that it also allows a - * stream number to be specified. - * - * @package php-reader - * @subpackage ASF - * @author Sven Vollbehr <svollbehr@gmail.com> - * @copyright Copyright (c) 2008 The PHP Reader Project Workgroup - * @license http://code.google.com/p/php-reader/wiki/License New BSD License - * @version $Rev: 102 $ - */ -final class ASF_Object_Metadata extends ASF_Object -{ - /** @var Array */ - private $_descriptions = array(); - - /** - * Constructs the class with given parameters and reads object related data - * from the ASF file. - * - * @param Reader $reader The reader object. - * @param Array $options The options array. - */ - public function __construct($reader, &$options = array()) - { - parent::__construct($reader, $options); - - $descriptionRecordsCount = $this->_reader->readUInt16LE(); - for ($i = 0; $i < $descriptionRecordsCount; $i++) { - $this->_reader->skip(2); - $record = array("streamNumber" => $this->_reader->readUInt16LE()); - $nameLength = $this->_reader->readUInt16LE(); - $dataType = $this->_reader->readUInt16LE(); - $dataLength = $this->_reader->readUInt32LE(); - $record["name"] = iconv - ("utf-16le", $this->getOption("encoding"), - $this->_reader->readString16LE($nameLength)); - switch ($dataType) { - case 0: - $record["data"] = iconv - ("utf-16le", $this->getOption("encoding"), - $this->_reader->readString16LE($dataLength)); - break; - case 1: - $record["data"] = $this->_reader->readString16LE($dataLength); - break; - case 2: - $record["data"] = $this->_reader->readUInt16LE() ? true : false; - break; - case 3: - $record["data"] = $this->_reader->readUInt32LE(); - break; - case 4: - $record["data"] = $this->_reader->readInt64LE(); - break; - case 5: - $record["data"] = $this->_reader->readUInt16LE(); - break; - } - $this->_descriptions[] = $record; - } - } - - /** - * Returns the array of description records. - * - * @return Array - */ - public function getDescriptions() { return $this->_descriptions; } -} diff --git a/libraries/phpvideotoolkit/adapters/ffmpeg-php/php-reader/src/ASF/Object/MetadataLibrary.php b/libraries/phpvideotoolkit/adapters/ffmpeg-php/php-reader/src/ASF/Object/MetadataLibrary.php deleted file mode 100644 index 4a03fdf..0000000 --- a/libraries/phpvideotoolkit/adapters/ffmpeg-php/php-reader/src/ASF/Object/MetadataLibrary.php +++ /dev/null @@ -1,137 +0,0 @@ -<?php -/** - * PHP Reader Library - * - * Copyright (c) 2008 The PHP Reader Project Workgroup. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * - Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - Neither the name of the project workgroup nor the names of its - * contributors may be used to endorse or promote products derived from this - * software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE - * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * @package php-reader - * @subpackage ASF - * @copyright Copyright (c) 2008 The PHP Reader Project Workgroup - * @license http://code.google.com/p/php-reader/wiki/License New BSD License - * @version $Id: MetadataLibrary.php 108 2008-09-05 17:00:05Z svollbehr $ - */ - -/**#@+ @ignore */ -require_once("ASF/Object.php"); -/**#@-*/ - -/** - * The <i>Metadata Library Object</i> lets authors store stream-based, - * language-attributed, multiply defined, and large metadata attributes in a - * file. - * - * This object supports the same types of metadata as the - * <i>{@link ASF_Object_Metadata Metadata Object}</i>, as well as attributes - * with language IDs, attributes that are defined more than once, large - * attributes, and attributes with the GUID data type. - * - * @package php-reader - * @subpackage ASF - * @author Sven Vollbehr <svollbehr@gmail.com> - * @copyright Copyright (c) 2008 The PHP Reader Project Workgroup - * @license http://code.google.com/p/php-reader/wiki/License New BSD License - * @version $Rev: 108 $ - */ -final class ASF_Object_MetadataLibrary extends ASF_Object -{ - /** @var Array */ - private $_descriptionRecords = array(); - - /** - * Constructs the class with given parameters and reads object related data - * from the ASF file. - * - * @param Reader $reader The reader object. - * @param Array $options The options array. - */ - public function __construct($reader, &$options = array()) - { - parent::__construct($reader, $options); - - $descriptionRecordsCount = $this->_reader->readUInt16LE(); - for ($i = 0; $i < $descriptionRecordsCount; $i++) { - $descriptionRecord = array - ("languageIndex" => $this->_reader->readUInt16LE(), - "streamNumber" => $this->_reader->readUInt16LE()); - $nameLength = $this->_reader->readUInt16LE(); - $dataType = $this->_reader->readUInt16LE(); - $dataLength = $this->_reader->readUInt32LE(); - $descriptionRecord["name"] = iconv - ("utf-16le", $this->getOption("encoding"), - $this->_reader->readString16LE($nameLength)); - switch ($dataType) { - case 0: // Unicode string - $descriptionRecord["data"] = iconv - ("utf-16le", $this->getOption("encoding"), - $this->_reader->readString16LE($dataLength)); - break; - case 1: // BYTE array - $descriptionRecord["data"] = $this->_reader->read($dataLength); - break; - case 2: // BOOL - $descriptionRecord["data"] = $this->_reader->readUInt16LE() == 1; - break; - case 3: // DWORD - $descriptionRecord["data"] = $this->_reader->readUInt32LE(); - break; - case 4: // QWORD - $descriptionRecord["data"] = $this->_reader->readInt64LE(); - break; - case 5: // WORD - $descriptionRecord["data"] = $this->_reader->readUInt16LE(); - break; - case 6: // GUID - $descriptionRecord["data"] = $this->_reader->readGUID(); - break; - } - $this->_descriptionRecords[] = $descriptionRecord; - } - } - - /** - * Returns an array of description records. Each record consists of the - * following keys. - * - * o languageIndex -- Specifies the index into the <i>Language List - * Object</i> that identifies the language of this attribute. If there is - * no <i>Language List Object</i> present, this field is zero. - * - * o streamNumber -- Specifies whether the entry applies to a specific - * digital media stream or whether it applies to the whole file. A value - * of 0 in this field indicates that it applies to the whole file; - * otherwise, the entry applies only to the indicated stream number. Valid - * values are between 1 and 127. - * - * o name -- Specifies the name that identifies the attribute being - * described. - * - * o data -- Specifies the actual metadata being stored. - * - * @return Array - */ - public function getDescriptionRecords() { return $this->_descriptionRecords; } -} diff --git a/libraries/phpvideotoolkit/adapters/ffmpeg-php/php-reader/src/ASF/Object/Padding.php b/libraries/phpvideotoolkit/adapters/ffmpeg-php/php-reader/src/ASF/Object/Padding.php deleted file mode 100644 index 4e0be36..0000000 --- a/libraries/phpvideotoolkit/adapters/ffmpeg-php/php-reader/src/ASF/Object/Padding.php +++ /dev/null @@ -1,64 +0,0 @@ -<?php -/** - * PHP Reader Library - * - * Copyright (c) 2008 The PHP Reader Project Workgroup. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * - Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - Neither the name of the project workgroup nor the names of its - * contributors may be used to endorse or promote products derived from this - * software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE - * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * @package php-reader - * @subpackage ASF - * @copyright Copyright (c) 2008 The PHP Reader Project Workgroup - * @license http://code.google.com/p/php-reader/wiki/License New BSD License - * @version $Id: Padding.php 102 2008-06-23 20:41:20Z svollbehr $ - */ - -/**#@+ @ignore */ -require_once("ASF/Object.php"); -/**#@-*/ - -/** - * The <i>Padding Object</i> is a dummy object that is used to pad the size of - * the <i>Header Object</i>. This object enables the size of any object stored - * in the <i>Header Object</i> to grow or shrink without having to rewrite the - * entire <i>Data Object</i> and <i>Index Object</i> sections of the ASF file. - * For instance, if entries in the <i>Content Description Object</i> or - * <i>Extended Content Description Object</i> need to be removed or shortened, - * the size of the <i>Padding Object</i> can be increased to compensate for the - * reduction in size of the <i>Content Description Object</i>. The ASF file can - * then be updated by overwriting the previous <i>Header Object</i> with the - * edited <i>Header Object</i> of identical size, without having to move or - * rewrite the data contained in the <i>Data Object</i>. - * - * @package php-reader - * @subpackage ASF - * @author Sven Vollbehr <svollbehr@gmail.com> - * @copyright Copyright (c) 2008 The PHP Reader Project Workgroup - * @license http://code.google.com/p/php-reader/wiki/License New BSD License - * @version $Rev: 102 $ - */ -final class ASF_Object_Padding extends ASF_Object -{ -} diff --git a/libraries/phpvideotoolkit/adapters/ffmpeg-php/php-reader/src/ASF/Object/ScriptCommand.php b/libraries/phpvideotoolkit/adapters/ffmpeg-php/php-reader/src/ASF/Object/ScriptCommand.php deleted file mode 100644 index 4fdbfd6..0000000 --- a/libraries/phpvideotoolkit/adapters/ffmpeg-php/php-reader/src/ASF/Object/ScriptCommand.php +++ /dev/null @@ -1,124 +0,0 @@ -<?php -/** - * PHP Reader Library - * - * Copyright (c) 2008 The PHP Reader Project Workgroup. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * - Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - Neither the name of the project workgroup nor the names of its - * contributors may be used to endorse or promote products derived from this - * software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE - * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * @package php-reader - * @subpackage ASF - * @copyright Copyright (c) 2008 The PHP Reader Project Workgroup - * @license http://code.google.com/p/php-reader/wiki/License New BSD License - * @version $Id: ScriptCommand.php 108 2008-09-05 17:00:05Z svollbehr $ - */ - -/**#@+ @ignore */ -require_once("ASF/Object.php"); -/**#@-*/ - -/** - * The <i>Script Command Object</i> provides a list of type/parameter pairs of - * strings that are synchronized to the ASF file's timeline. Types can include - * URL or FILENAME values. Other type values may also be freely defined and - * used. The semantics and treatment of this set of types are defined by the - * local implementations. The parameter value is specific to the type field. You - * can use this type/parameter pairing for many purposes, including sending URLs - * to be launched by a client into an HTML frame (in other words, the URL type) - * or launching another ASF file for the chained continuous play of audio or - * video presentations (in other words, the FILENAME type). This object is also - * used as a method to stream text, as well as to provide script commands that - * you can use to control elements within the client environment. - * - * @package php-reader - * @subpackage ASF - * @author Sven Vollbehr <svollbehr@gmail.com> - * @copyright Copyright (c) 2008 The PHP Reader Project Workgroup - * @license http://code.google.com/p/php-reader/wiki/License New BSD License - * @version $Rev: 108 $ - */ -final class ASF_Object_ScriptCommand extends ASF_Object -{ - /** @var Array */ - private $_commandTypes = array(); - - /** @var Array */ - private $_commands = array(); - - /** - * Constructs the class with given parameters and reads object related data - * from the ASF file. - * - * @param Reader $reader The reader object. - * @param Array $options The options array. - */ - public function __construct($reader, &$options = array()) - { - parent::__construct($reader, $options); - - $this->_reader->skip(16); - $commandsCount = $this->_reader->readUInt16LE(); - $commandTypesCount = $this->_reader->readUInt16LE(); - for ($i = 0; $i < $commandTypesCount; $i++) { - $commandTypeNameLength = $this->_reader->readUInt16LE(); - $this->_commandTypes[] = iconv - ("utf-16le", $this->getOption("encoding"), - $this->_reader->readString16LE($commandTypeNameLength * 2)); - } - for ($i = 0; $i < $commandsCount; $i++) { - $command = array - ("presentationTime" => $this->_reader->readUInt32LE(), - "typeIndex" => $this->_reader->readUInt16LE()); - $commandNameLength = $this->_reader->readUInt16LE(); - $command["name"] = iconv - ("utf-16le", $this->getOption("encoding"), - $this->_reader->readString16LE($commandNameLength * 2)); - $this->_commands[] = $command; - } - } - - /** - * Returns an array of command type names. - * - * @return Array - */ - public function getCommandTypes() { return $this->_commandTypes; } - - /** - * Returns an array of index entries. Each entry consists of the following - * keys. - * - * o presentationTime -- Specifies the presentation time of the command, in - * milliseconds. - * - * o typeIndex -- Specifies the type of this command, as a zero-based index - * into the array of Command Types of this object. - * - * o name -- Specifies the name of this command. - * - * @return Array - */ - public function getCommands() { return $this->_commands; } -} diff --git a/libraries/phpvideotoolkit/adapters/ffmpeg-php/php-reader/src/ASF/Object/SimpleIndex.php b/libraries/phpvideotoolkit/adapters/ffmpeg-php/php-reader/src/ASF/Object/SimpleIndex.php deleted file mode 100644 index 14de7c9..0000000 --- a/libraries/phpvideotoolkit/adapters/ffmpeg-php/php-reader/src/ASF/Object/SimpleIndex.php +++ /dev/null @@ -1,143 +0,0 @@ -<?php -/** - * PHP Reader Library - * - * Copyright (c) 2008 The PHP Reader Project Workgroup. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * - Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - Neither the name of the project workgroup nor the names of its - * contributors may be used to endorse or promote products derived from this - * software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE - * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * @package php-reader - * @subpackage ASF - * @copyright Copyright (c) 2008 The PHP Reader Project Workgroup - * @license http://code.google.com/p/php-reader/wiki/License New BSD License - * @version $Id: SimpleIndex.php 108 2008-09-05 17:00:05Z svollbehr $ - */ - -/**#@+ @ignore */ -require_once("ASF/Object.php"); -/**#@-*/ - -/** - * For each video stream in an ASF file, there should be one instance of the - * <i>Simple Index Object</i>. Additionally, the instances of the <i>Simple - * Index Object</i> shall be ordered by stream number. - * - * Index entries in the <i>Simple Index Object</i> are in terms of - * <i>Presentation Times</i>. The corresponding <i>Packet Number</i> field - * values (of the <i>Index Entry</i>, see below) indicate the packet number of - * the ASF <i>Data Packet</i> with the closest past key frame. Note that for - * video streams that contain both key frames and non-key frames, the <i>Packet - * Number</i> field will always point to the closest past key frame. - * - * @package php-reader - * @subpackage ASF - * @author Sven Vollbehr <svollbehr@gmail.com> - * @copyright Copyright (c) 2008 The PHP Reader Project Workgroup - * @license http://code.google.com/p/php-reader/wiki/License New BSD License - * @version $Rev: 108 $ - */ -final class ASF_Object_SimpleIndex extends ASF_Object -{ - /** @var string */ - private $_fileId; - - /** @var integer */ - private $_indexEntryTimeInterval; - - /** @var integer */ - private $_maximumPacketCount; - - /** @var Array */ - private $_indexEntries = array(); - - /** - * Constructs the class with given parameters and reads object related data - * from the ASF file. - * - * @param Reader $reader The reader object. - * @param Array $options The options array. - */ - public function __construct($reader, &$options = array()) - { - parent::__construct($reader, $options); - - $this->_fileId = $this->_reader->readGUID(); - $this->_indexEntryTimeInterval = $this->_reader->readInt64LE(); - $this->_maximumPacketCount = $this->_reader->readUInt32LE(); - $indexEntriesCount = $this->_reader->readUInt32LE(); - for ($i = 0; $i < $indexEntriesCount; $i++) { - $this->_indexEntries[] = array - ("packetNumber" => $this->_reader->readUInt32LE(), - "packetCount" => $this->_reader->readUInt16LE()); - } - } - - /** - * Returns the unique identifier for this ASF file. The value of this field - * should be changed every time the file is modified in any way. The value of - * this field may be set to 0 or set to be identical to the value of the - * <i>File ID</i> field of the <i>Data Object</i> and the <i>Header - * Object</i>. - * - * @return string - */ - public function getFileId() { return $this->_fileId; } - - /** - * Returns the time interval between each index entry in 100-nanosecond units. - * The most common value is 10000000, to indicate that the index entries are - * in 1-second intervals, though other values can be used as well. - * - * @return integer - */ - public function getIndexEntryTimeInterval() - { - return $this->_indexEntryTimeInterval; - } - - /** - * Returns the maximum <i>Packet Count</i> value of all <i>Index Entries</i>. - * - * @return integer - */ - public function getMaximumPacketCount() { return $this->_maximumPacketCount; } - - /** - * Returns an array of index entries. Each entry consists of the following - * keys. - * - * o packetNumber -- Specifies the number of the Data Packet associated - * with this index entry. Note that for video streams that contain both - * key frames and non-key frames, this field will always point to the - * closest key frame prior to the time interval. - * - * o packetCount -- Specifies the number of <i>Data Packets</i> to send at - * this index entry. If a video key frame has been fragmented into two - * Data Packets, the value of this field will be equal to 2. - * - * @return Array - */ - public function getIndexEntries() { return $this->_indexEntries; } -} diff --git a/libraries/phpvideotoolkit/adapters/ffmpeg-php/php-reader/src/ASF/Object/StreamBitrateProperties.php b/libraries/phpvideotoolkit/adapters/ffmpeg-php/php-reader/src/ASF/Object/StreamBitrateProperties.php deleted file mode 100644 index 98fd037..0000000 --- a/libraries/phpvideotoolkit/adapters/ffmpeg-php/php-reader/src/ASF/Object/StreamBitrateProperties.php +++ /dev/null @@ -1,93 +0,0 @@ -<?php -/** - * PHP Reader Library - * - * Copyright (c) 2008 The PHP Reader Project Workgroup. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * - Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - Neither the name of the project workgroup nor the names of its - * contributors may be used to endorse or promote products derived from this - * software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE - * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * @package php-reader - * @subpackage ASF - * @copyright Copyright (c) 2008 The PHP Reader Project Workgroup - * @license http://code.google.com/p/php-reader/wiki/License New BSD License - * @version $Id: StreamBitrateProperties.php 108 2008-09-05 17:00:05Z svollbehr $ - */ - -/**#@+ @ignore */ -require_once("ASF/Object.php"); -/**#@-*/ - -/** - * The <i>Stream Bitrate Properties Object</i> defines the average bit rate of - * each digital media stream. - * - * @package php-reader - * @subpackage ASF - * @author Sven Vollbehr <svollbehr@gmail.com> - * @copyright Copyright (c) 2008 The PHP Reader Project Workgroup - * @license http://code.google.com/p/php-reader/wiki/License New BSD License - * @version $Rev: 108 $ - */ -final class ASF_Object_StreamBitrateProperties extends ASF_Object -{ - /** @var Array */ - private $_bitrateRecords = array(); - - /** - * Constructs the class with given parameters and reads object related data - * from the ASF file. - * - * @param Reader $reader The reader object. - * @param Array $options The options array. - */ - public function __construct($reader, &$options = array()) - { - parent::__construct($reader, $options); - - $bitrateRecordsCount = $this->_reader->readUInt16LE(); - for ($i = 0; $i < $bitrateRecordsCount; $i++) - $this->_bitrateRecords[] = array - ("streamNumber" => ($tmp = $this->_reader->readInt16LE()) & 0x1f, - "flags" => $tmp >> 5, - "averageBitrate" => $this->_reader->readUInt32LE()); - } - - /** - * Returns an array of bitrate records. Each record consists of the following - * keys. - * - * o streamNumber -- Specifies the number of this stream described by this - * record. 0 is an invalid stream. Valid values are between 1 and 127. - * - * o flags -- These bits are reserved and should be set to 0. - * - * o averageBitrate -- Specifies the average bit rate of the stream in bits - * per second. This value should include an estimate of ASF packet and - * payload overhead associated with this stream. - * - * @return Array - */ - public function getBitrateRecords() { return $this->_bitrateRecords; } -} diff --git a/libraries/phpvideotoolkit/adapters/ffmpeg-php/php-reader/src/ASF/Object/StreamPrioritization.php b/libraries/phpvideotoolkit/adapters/ffmpeg-php/php-reader/src/ASF/Object/StreamPrioritization.php deleted file mode 100644 index e5f1bf5..0000000 --- a/libraries/phpvideotoolkit/adapters/ffmpeg-php/php-reader/src/ASF/Object/StreamPrioritization.php +++ /dev/null @@ -1,99 +0,0 @@ -<?php -/** - * PHP Reader Library - * - * Copyright (c) 2008 The PHP Reader Project Workgroup. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * - Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - Neither the name of the project workgroup nor the names of its - * contributors may be used to endorse or promote products derived from this - * software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE - * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * @package php-reader - * @subpackage ASF - * @copyright Copyright (c) 2008 The PHP Reader Project Workgroup - * @license http://code.google.com/p/php-reader/wiki/License New BSD License - * @version $Id: StreamPrioritization.php 108 2008-09-05 17:00:05Z svollbehr $ - */ - -/**#@+ @ignore */ -require_once("ASF/Object.php"); -/**#@-*/ - -/** - * The <i>Stream Prioritization Object</i> indicates the author's intentions as - * to which streams should or should not be dropped in response to varying - * network congestion situations. There may be special cases where this - * preferential order may be ignored (for example, the user hits the "mute" - * button). Generally it is expected that implementations will try to honor the - * author's preference. - * - * The priority of each stream is indicated by how early in the list that - * stream's stream number is listed (in other words, the list is ordered in - * terms of decreasing priority). - * - * The Mandatory flag field shall be set if the author wants that stream kept - * "regardless". If this flag is not set, then that indicates that the stream - * should be dropped in response to network congestion situations. Non-mandatory - * streams must never be assigned a higher priority than mandatory streams. - * - * @package php-reader - * @subpackage ASF - * @author Sven Vollbehr <svollbehr@gmail.com> - * @copyright Copyright (c) 2008 The PHP Reader Project Workgroup - * @license http://code.google.com/p/php-reader/wiki/License New BSD License - * @version $Rev: 108 $ - */ -final class ASF_Object_StreamPrioritization extends ASF_Object -{ - /** @var Array */ - private $_priorityRecords = array(); - - /** - * Constructs the class with given parameters and reads object related data - * from the ASF file. - * - * @param Reader $reader The reader object. - * @param Array $options The options array. - */ - public function __construct($reader, &$options = array()) - { - parent::__construct($reader, $options); - $priorityRecordCount = $this->_reader->readUInt16LE(); - for ($i = 0; $i < $priorityRecordCount; $i++) - $this->_priorityRecords[] = array - ("streamNumber" => $this->_reader->readUInt16LE(), - "flags" => $this->_reader->readUInt16LE()); - } - - /** - * Returns an array of records. Each record consists of the following keys. - * - * o streamNumber -- Specifies the stream number. Valid values are between - * 1 and 127. - * - * o flags -- Specifies the flags. The mandatory flag is the bit 1 (LSB). - * - * @return Array - */ - public function getPriorityRecords() { return $this->_priorityRecords; } -} diff --git a/libraries/phpvideotoolkit/adapters/ffmpeg-php/php-reader/src/ASF/Object/StreamProperties.php b/libraries/phpvideotoolkit/adapters/ffmpeg-php/php-reader/src/ASF/Object/StreamProperties.php deleted file mode 100644 index 8c42d57..0000000 --- a/libraries/phpvideotoolkit/adapters/ffmpeg-php/php-reader/src/ASF/Object/StreamProperties.php +++ /dev/null @@ -1,288 +0,0 @@ -<?php -/** - * PHP Reader Library - * - * Copyright (c) 2008 The PHP Reader Project Workgroup. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * - Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - Neither the name of the project workgroup nor the names of its - * contributors may be used to endorse or promote products derived from this - * software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE - * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * @package php-reader - * @subpackage ASF - * @copyright Copyright (c) 2008 The PHP Reader Project Workgroup - * @license http://code.google.com/p/php-reader/wiki/License New BSD License - * @version $Id: StreamProperties.php 102 2008-06-23 20:41:20Z svollbehr $ - */ - -/**#@+ @ignore */ -require_once("ASF/Object.php"); -/**#@-*/ - -/** - * The <i>Stream Properties Object</i> defines the specific properties and - * characteristics of a digital media stream. This object defines how a digital - * media stream within the <i>Data Object</i> is interpreted, as well as the - * specific format (of elements) of the <i>Data Packet</i> itself. - * - * Whereas every stream in an ASF presentation, including each stream in a - * mutual exclusion relationship, must be represented by a <i>Stream Properties - * Object</i>, in certain cases, this object might be found embedded in the - * <i>Extended Stream Properties Object</i>. - * - * @package php-reader - * @subpackage ASF - * @author Sven Vollbehr <svollbehr@gmail.com> - * @copyright Copyright (c) 2008 The PHP Reader Project Workgroup - * @license http://code.google.com/p/php-reader/wiki/License New BSD License - * @version $Rev: 102 $ - */ -final class ASF_Object_StreamProperties extends ASF_Object -{ - /** - * Indicates, if set, that the data contained in this stream is encrypted and - * will be unreadable unless there is a way to decrypt the stream. - */ - const ENCRYPTED_CONTENT = 0x8000; - - const AUDIO_MEDIA = "f8699e40-5b4d-11cf-a8fd-00805f5c442b"; - const VIDEO_MEDIA = "bc19efc0-5b4d-11cf-a8fd-00805f5c442b"; - const COMMAND_MEDIA = "59dacfc0-59e6-11d0-a3ac-00a0c90348f6"; - const JFIF_MEDIA = "b61be100-5b4e-11cf-a8fD-00805f5c442b"; - const DEGRADABLE_JPEG_MEDIA = "35907dE0-e415-11cf-a917-00805f5c442b"; - const FILE_TRANSFER_MEDIA = "91bd222c-f21c-497a-8b6d-5aa86bfc0185"; - const BINARY_MEDIA = "3afb65e2-47ef-40f2-ac2c-70a90d71d343"; - - const NO_ERROR_CORRECTION = "20fb5700-5b55-11cf-a8fd-00805f5c442b"; - const AUDIO_SPREAD = "bfc3cd50-618f-11cf-8bb2-00aa00b4e220"; - - /** @var string */ - private $_streamType; - - /** @var string */ - private $_errorCorrectionType; - - /** @var integer */ - private $_timeOffset; - - /** @var integer */ - private $_flags; - - /** @var Array */ - private $_typeSpecificData = array(); - - /** @var Array */ - private $_errorCorrectionData = array(); - - /** - * Constructs the class with given parameters and reads object related data - * from the ASF file. - * - * @param Reader $reader The reader object. - * @param Array $options The options array. - */ - public function __construct($reader, &$options = array()) - { - parent::__construct($reader, $options); - - $this->_streamType = $this->_reader->readGUID(); - $this->_errorCorrectionType = $this->_reader->readGUID(); - $this->_timeOffset = $this->_reader->readInt64LE(); - $typeSpecificDataLength = $this->_reader->readUInt32LE(); - $errorCorrectionDataLength = $this->_reader->readUInt32LE(); - $this->_flags = $this->_reader->readUInt16LE(); - $this->_reader->skip(4); - switch ($this->_streamType) { - case self::AUDIO_MEDIA: - $this->_typeSpecificData = array - ("codecId" => $this->_reader->readUInt16LE(), - "numberOfChannels" => $this->_reader->readUInt16LE(), - "samplesPerSecond" => $this->_reader->readUInt32LE(), - "avgNumBytesPerSecond" => $this->_reader->readUInt32LE(), - "blockAlignment" => $this->_reader->readUInt16LE(), - "bitsPerSample" => $this->_reader->readUInt16LE()); - $codecSpecificDataSize = $this->_reader->readUInt16LE(); - $this->_typeSpecificData["codecSpecificData"] = - $this->_reader->read($codecSpecificDataSize); - break; - case self::VIDEO_MEDIA: - $this->_typeSpecificData = array - ("encodedImageWidth" => $this->_reader->readUInt32LE(), - "encodedImageHeight" => $this->_reader->readUInt32LE(), - "reservedFlags" => $this->_reader->readInt8()); - $this->_reader->skip(2); - $formatDataSize = $this->_reader->readUInt32LE(); - $this->_typeSpecificData = array_merge - ($this->_typeSpecificData, array - ("imageWidth" => $this->_reader->readUInt32LE(), - "imageHeight" => $this->_reader->readUInt32LE(), - "reserved" => $this->_reader->readUInt16LE(), - "bitsPerPixelCount" => $this->_reader->readUInt16LE(), - "compressionId" => $this->_reader->readUInt32LE(), - "imageSize" => $this->_reader->readUInt32LE(), - "horizontalPixelsPerMeter" => $this->_reader->readUInt32LE(), - "verticalPixelsPerMeter" => $this->_reader->readUInt32LE(), - "colorsUsedCount" => $this->_reader->readUInt32LE(), - "importantColorsCount" => $this->_reader->readUInt32LE(), - "codecSpecificData" => $this->_reader->read($formatDataSize - 38))); - break; - case self::JFIF_MEDIA: - $this->_typeSpecificData = array - ("imageWidth" => $this->_reader->readUInt32LE(), - "imageHeight" => $this->_reader->readUInt32LE(), - "reserved" => $this->_reader->readUInt32LE()); - break; - case self::DEGRADABLE_JPEG_MEDIA: - $this->_typeSpecificData = array - ("imageWidth" => $this->_reader->readUInt32LE(), - "imageHeight" => $this->_reader->readUInt32LE(), - $this->_reader->readUInt16LE(), - $this->_reader->readUInt16LE(), - $this->_reader->readUInt16LE()); - $interchangeDataSize = $this->_reader->readUInt16LE(); - if ($interchangeDataSize == 0) - $interchangeDataSize++; - $this->_typeSpecificData["interchangeData"] = - $this->_reader->read($interchangeDataSize); - break; - case self::FILE_TRANSFER_MEDIA: - case self::BINARY_MEDIA: - $this->_typeSpecificData = array - ("majorMediaType" => $this->_reader->getGUID(), - "mediaSubtype" => $this->_reader->getGUID(), - "fixedSizeSamples" => $this->_reader->readUInt32LE(), - "temporalCompression" => $this->_reader->readUInt32LE(), - "sampleSize" => $this->_reader->readUInt32LE(), - "formatType" => $this->_reader->getGUID()); - $formatDataSize = $this->_reader->readUInt32LE(); - $this->_typeSpecificData["formatData"] = - $this->_reader->read($formatDataSize); - break; - case self::COMMAND_MEDIA: - default: - $this->_reader->skip($typeSpecificDataLength); - } - switch ($this->_errorCorrectionType) { - case self::AUDIO_SPREAD: - $this->_errorCorrectionData = array - ("span" => $this->_reader->readInt8(), - "virtualPacketLength" => $this->_reader->readUInt16LE(), - "virtualChunkLength" => $this->_reader->readUInt16LE()); - $silenceDataSize = $this->_reader->readUInt16LE(); - $this->_errorCorrectionData["silenceData"] = - $this->_reader->read($silenceDataSize); - break; - case self::NO_ERROR_CORRECTION: - default: - $this->_reader->skip($errorCorrectionDataLength); - } - } - - /** - * Returns the number of this stream. 0 is an invalid stream. Valid values are - * between 1 and 127. The numbers assigned to streams in an ASF presentation - * may be any combination of unique values; parsing logic must not assume that - * streams are numbered sequentially. - * - * @return integer - */ - public function getStreamNumber() { return $this->_flags & 0x3f; } - - /** - * Returns the type of the stream (for example, audio, video, and so on). - * - * @return string - */ - public function getStreamType() { return $this->_streamType; } - - /** - * Returns the error correction type used by this digital media stream. For - * streams other than audio, this value should be set to NO_ERROR_CORRECTION. - * For audio streams, this value should be set to AUDIO_SPREAD. - * - * @return string - */ - public function getErrorCorrectionType() - { - return $this->_errorCorrectionType; - } - - /** - * Returns the presentation time offset of the stream in 100-nanosecond units. - * The value of this field is added to all of the timestamps of the samples in - * the stream. This value shall be equal to the send time of the first - * interleaved packet in the data section. The value of this field is - * typically 0. It is non-zero in the case when an ASF file is edited and it - * is not possible for the editor to change the presentation times and send - * times of ASF packets. Note that if more than one stream is present in an - * ASF file the offset values of all stream properties objects must be equal. - * - * @return integer - */ - public function getTimeOffset() { return $this->_timeOffset; } - - /** - * Checks whether or not the flag is set. Returns <var>true</var> if the flag - * is set, <var>false</var> otherwise. - * - * @param integer $flag The flag to query. - * @return boolean - */ - public function hasFlag($flag) { return ($this->_flags & $flag) == $flag; } - - /** - * Returns the flags field. - * - * @return integer - */ - public function getFlags() { return $this->_flags; } - - /** - * Returns type-specific format data. The structure for the <i>Type-Specific - * Data</i> field is determined by the value stored in the <i>Stream Type</i> - * field. - * - * The type-specific data is returned as key-value pairs of an associate - * array. - * - * @return Array - */ - public function getTypeSpecificData() { return $this->_typeSpecificData; } - - /** - * Returns data specific to the error correction type. The structure for the - * <i>Error Correction Data</i> field is determined by the value stored in the - * <i>Error Correction Type</i> field. For example, an audio data stream might - * need to know how codec chunks were redistributed, or it might need a sample - * of encoded silence. - * - * The error correction type-specific data is returned as key-value pairs of - * an associate array. - * - * @return integer - */ - public function getErrorCorrectionData() - { - return $this->_errorCorrectionData; - } -} diff --git a/libraries/phpvideotoolkit/adapters/ffmpeg-php/php-reader/src/ASF/Object/TimecodeIndex.php b/libraries/phpvideotoolkit/adapters/ffmpeg-php/php-reader/src/ASF/Object/TimecodeIndex.php deleted file mode 100644 index 943a353..0000000 --- a/libraries/phpvideotoolkit/adapters/ffmpeg-php/php-reader/src/ASF/Object/TimecodeIndex.php +++ /dev/null @@ -1,181 +0,0 @@ -<?php -/** - * PHP Reader Library - * - * Copyright (c) 2008 The PHP Reader Project Workgroup. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * - Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - Neither the name of the project workgroup nor the names of its - * contributors may be used to endorse or promote products derived from this - * software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE - * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * @package php-reader - * @subpackage ASF - * @copyright Copyright (c) 2008 The PHP Reader Project Workgroup - * @license http://code.google.com/p/php-reader/wiki/License New BSD License - * @version $Id: TimecodeIndex.php 108 2008-09-05 17:00:05Z svollbehr $ - */ - -/**#@+ @ignore */ -require_once("ASF/Object.php"); -/**#@-*/ - -/** - * This top-level ASF object supplies timecode indexing information for the - * streams of an ASF file. It includes stream-specific indexing information - * based on the timecodes found in the file. If the <i>Timecode Index Object</i> - * is used, it is recommended that timecodes be stored as a <i>Payload Extension - * System</i> on the appropriate stream. It is also recommended that every - * timecode appearing in the ASF file have a corresponging index entry. - * - * The index is designed to be broken into blocks to facilitate storage that is - * more space-efficient by using 32-bit offsets relative to a 64-bit base. That - * is, each index block has a full 64-bit offset in the block header that is - * added to the 32-bit offsets found in each index entry. If a file is larger - * than 2^32 bytes, then multiple index blocks can be used to fully index the - * entire large file while still keeping index entry offsets at 32 bits. - * - * To locate an object with a particular timecode in an ASF file, one would - * typically look through the <i>Timecode Index Object</i> in blocks of the - * appropriate range and try to locate the nearest possible timecode. The - * corresponding <i>Offset</i> field values of the <i>Index Entry</i> are byte - * offsets that, when combined with the <i>Block Position</i> value of the Index - * Block, indicate the starting location in bytes of an ASF Data Packet relative - * to the start of the first ASF Data Packet in the file. - * - * Any ASF file containing a <i>Timecode Index Object</i> shall also contain a - * <i>Timecode Index Parameters Object</i> in its - * {@link ASF_Object_Header ASF Header}. - * - * @package php-reader - * @subpackage ASF - * @author Sven Vollbehr <svollbehr@gmail.com> - * @copyright Copyright (c) 2008 The PHP Reader Project Workgroup - * @license http://code.google.com/p/php-reader/wiki/License New BSD License - * @version $Rev: 108 $ - */ -final class ASF_Object_TimecodeIndex extends ASF_Object -{ - /** - * Indicates that the index type is Nearest Past Data Packet. The Nearest - * Past Data Packet indexes point to the data packet whose presentation time - * is closest to the index entry time. - */ - const NEAREST_PAST_DATA_PACKET = 1; - - /** - * Indicates that the index type is Nearest Past Media. The Nearest Past - * Object indexes point to the closest data packet containing an entire object - * or first fragment of an object. - */ - const NEAREST_PAST_MEDIA = 2; - - /** - * Indicates that the index type is Nearest Past Cleanpoint. The Nearest Past - * Cleanpoint indexes point to the closest data packet containing an entire - * object (or first fragment of an object) that has the Cleanpoint Flag set. - * - * Nearest Past Cleanpoint is the most common type of index. - */ - const NEAREST_PAST_CLEANPOINT = 3; - - /** @var Array */ - private $_indexSpecifiers = array(); - - /** @var Array */ - private $_indexBlocks = array(); - - /** - * Constructs the class with given parameters and reads object related data - * from the ASF file. - * - * @param Reader $reader The reader object. - * @param Array $options The options array. - */ - public function __construct($reader, &$options = array()) - { - parent::__construct($reader, $options); - - $this->_reader->skip(4); - $indexSpecifiersCount = $this->_reader->readUInt16LE(); - $indexBlocksCount = $this->_reader->readUInt32LE(); - for ($i = 0; $i < $indexSpecifiersCount; $i++) - $this->_indexSpecifiers[] = array - ("streamNumber" => $this->_reader->readUInt16LE(), - "indexType" => $this->_reader->readUInt16LE()); - for ($i = 0; $i < $indexBlocksCount; $i++) { - $indexEntryCount = $this->_reader->readUInt32LE(); - $timecodeRange = $this->_reader->readUInt16LE(); - $blockPositions = array(); - for ($i = 0; $i < $indexSpecifiersCount; $i++) - $blockPositions[] = $this->_reader->readInt64LE(); - $indexEntries = array(); - for ($i = 0; $i < $indexEntryCount; $i++) { - $timecode = $this->_reader->readUInt32LE(); - $offsets = array(); - for ($i = 0; $i < $indexSpecifiersCount; $i++) - $offsets[] = $this->_reader->readUInt32LE(); - $indexEntries[] = array - ("timecode" => $timecode, - "offsets" => $offsets); - } - $this->_indexBlocks[] = array - ("timecodeRange" => $timecodeRange, - "blockPositions" => $blockPositions, - "indexEntries" => $indexEntries); - } - } - - /** - * Returns an array of index specifiers. Each entry consists of the following - * keys. - * - * o streamNumber -- Specifies the stream number that the <i>Index - * Specifiers</i> refer to. Valid values are between 1 and 127. - * - * o indexType -- Specifies the type of index. - * - * @return Array - */ - public function getIndexSpecifiers() { return $this->_indexSpecifiers; } - - /** - * Returns an array of index entries. Each entry consists of the following - * keys. - * - * o timecodeRange -- Specifies the timecode range for this block. - * Subsequent blocks must contain range numbers greater than or equal to - * this one. - * - * o blockPositions -- Specifies a list of byte offsets of the beginnings of - * the blocks relative to the beginning of the first Data Packet (for - * example, the beginning of the Data Object + 50 bytes). - * - * o indexEntries -- An array that consists of the following keys - * o timecode -- This is the 4-byte timecode for these entries. - * o offsets -- Specifies the offset. An offset value of 0xffffffff - * indicates an invalid offset value. - * - * @return Array - */ - public function getIndexBlocks() { return $this->_indexBlocks; } -} diff --git a/libraries/phpvideotoolkit/adapters/ffmpeg-php/php-reader/src/ASF/Object/TimecodeIndexParameters.php b/libraries/phpvideotoolkit/adapters/ffmpeg-php/php-reader/src/ASF/Object/TimecodeIndexParameters.php deleted file mode 100644 index a7a9ef8..0000000 --- a/libraries/phpvideotoolkit/adapters/ffmpeg-php/php-reader/src/ASF/Object/TimecodeIndexParameters.php +++ /dev/null @@ -1,125 +0,0 @@ -<?php -/** - * PHP Reader Library - * - * Copyright (c) 2008 The PHP Reader Project Workgroup. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * - Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - Neither the name of the project workgroup nor the names of its - * contributors may be used to endorse or promote products derived from this - * software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE - * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * @package php-reader - * @subpackage ASF - * @copyright Copyright (c) 2008 The PHP Reader Project Workgroup - * @license http://code.google.com/p/php-reader/wiki/License New BSD License - * @version $Id: TimecodeIndexParameters.php 108 2008-09-05 17:00:05Z svollbehr $ - */ - -/**#@+ @ignore */ -require_once("ASF/Object.php"); -/**#@-*/ - -/** - * The <i>Timecode Index Parameters Object</i> supplies information about those - * streams that are actually indexed (there must be at least one stream in an - * index) by timecodes. All streams referred to in the - * {@link ASF_Object_TimecodeIndexParameters Timecode Index Parameters Object} - * must have timecode Payload Extension Systems associated with them in the - * {@link ASF_Object_ExtendedStreamProperties Extended Stream Properties - * Object}. This object shall be present in the {@link ASF_Object_Header Header - * Object} if there is a {@link ASF_Object_TimecodeIndex Timecode Index Object} - * present in the file. - * - * An Index Specifier is required for each stream that will be indexed by the - * {@link ASF_Object_TimecodeIndex Timecode Index Object}. These specifiers must - * exactly match those in the {@link ASF_Object_TimecodeIndex Timecode Index - * Object}. - * - * @package php-reader - * @subpackage ASF - * @author Sven Vollbehr <svollbehr@gmail.com> - * @copyright Copyright (c) 2008 The PHP Reader Project Workgroup - * @license http://code.google.com/p/php-reader/wiki/License New BSD License - * @version $Rev: 108 $ - */ -final class ASF_Object_TimecodeIndexParameters extends ASF_Object -{ - /** @var string */ - private $_indexEntryCountInterval; - - /** @var Array */ - private $_indexSpecifiers = array(); - - /** - * Constructs the class with given parameters and reads object related data - * from the ASF file. - * - * @param Reader $reader The reader object. - * @param Array $options The options array. - */ - public function __construct($reader, &$options = array()) - { - parent::__construct($reader, $options); - - $this->_indexEntryCountInterval = $this->_reader->readUInt32LE(); - $indexSpecifiersCount = $this->_reader->readUInt16LE(); - for ($i = 0; $i < $indexSpecifiersCount; $i++) { - $this->_indexSpecifiers[] = array - ("streamNumber" => $this->_reader->readUInt16LE(), - "indexType" => $this->_reader->readUInt16LE()); - } - } - - /** - * Returns the interval between each index entry by the number of media - * objects. This value cannot be 0. - * - * @return integer - */ - public function getIndexEntryCountInterval() - { - return $this->_indexEntryCountInterval; - } - - /** - * Returns an array of index entries. Each entry consists of the following - * keys. - * - * o streamNumber -- Specifies the stream number that the Index Specifiers - * refer to. Valid values are between 1 and 127. - * - * o indexType -- Specifies the type of index. Values are defined as - * follows: - * 2 = Nearest Past Media Object, - * 3 = Nearest Past Cleanpoint (1 is not a valid value). - * For a video stream, The Nearest Past Media Object indexes point to the - * closest data packet containing an entire video frame or the first - * fragment of a video frame, and the Nearest Past Cleanpoint indexes - * point to the closest data packet containing an entire video frame (or - * first fragment of a video frame) that is a key frame. Nearest Past - * Media Object is the most common value. - * - * @return Array - */ - public function getIndexSpecifiers() { return $this->_indexSpecifiers; } -} |