From a435de089da4dd37c3c183f633a49107c720dd95 Mon Sep 17 00:00:00 2001 From: Dalyn Cessac Date: Wed, 16 Mar 2011 11:06:40 -0500 Subject: Added phpvideotoolkit transcoder and updates to the preset ui --- .../ffmpeg-php/php-reader/src/ID3/Frame/POSS.php | 132 +++++++++++++++++++++ 1 file changed, 132 insertions(+) create mode 100644 libraries/phpvideotoolkit/adapters/ffmpeg-php/php-reader/src/ID3/Frame/POSS.php (limited to 'libraries/phpvideotoolkit/adapters/ffmpeg-php/php-reader/src/ID3/Frame/POSS.php') diff --git a/libraries/phpvideotoolkit/adapters/ffmpeg-php/php-reader/src/ID3/Frame/POSS.php b/libraries/phpvideotoolkit/adapters/ffmpeg-php/php-reader/src/ID3/Frame/POSS.php new file mode 100644 index 0000000..3de3f27 --- /dev/null +++ b/libraries/phpvideotoolkit/adapters/ffmpeg-php/php-reader/src/ID3/Frame/POSS.php @@ -0,0 +1,132 @@ +Position synchronisation frame delivers information to the + * listener of how far into the audio stream he picked up; in effect, it states + * the time offset from the first frame in the stream. There may only be one + * POSS frame in each tag. + * + * @package php-reader + * @subpackage ID3 + * @author Sven Vollbehr + * @author Ryan Butterfield + * @copyright Copyright (c) 2008 The PHP Reader Project Workgroup + * @license http://code.google.com/p/php-reader/wiki/License New BSD License + * @version $Rev: 105 $ + */ +final class ID3_Frame_POSS extends ID3_Frame + implements ID3_Timing +{ + /** @var integer */ + private $_format = ID3_Timing::MPEG_FRAMES; + + /** @var integer */ + private $_position; + + /** + * Constructs the class with given parameters and parses object related data. + * + * @param Reader $reader The reader object. + * @param Array $options The options array. + */ + public function __construct($reader = null, &$options = array()) + { + parent::__construct($reader, $options); + + if ($reader === null) + return; + + $this->_format = Transform::fromUInt8($this->_data[0]); + $this->_position = Transform::fromUInt32BE(substr($this->_data, 1, 4)); + } + + /** + * Returns the timing format. + * + * @return integer + */ + public function getFormat() { return $this->_format; } + + /** + * Sets the timing format. + * + * @see ID3_Timing + * @param integer $format The timing format. + */ + public function setFormat($format) { $this->_format = $format; } + + /** + * Returns the position where in the audio the listener starts to receive, + * i.e. the beginning of the next frame. + * + * @return integer + */ + public function getPosition() { return $this->_position; } + + /** + * Sets the position where in the audio the listener starts to receive, + * i.e. the beginning of the next frame, using given format. + * + * @param integer $position The position. + * @param integer $format The timing format. + */ + public function setPosition($position, $format = false) + { + $this->_position = $position; + if ($format !== false) + $this->_format = $format; + } + + /** + * Returns the frame raw data. + * + * @return string + */ + public function __toString() + { + $this->setData + (Transform::toUInt8($this->_format) . + Transform::toUInt32BE($this->_position)); + return parent::__toString(); + } +} -- cgit v1.2.3