Scheme Type Box identifies the protection scheme. * * @package php-reader * @subpackage ISO 14496 * @author Sven Vollbehr * @copyright Copyright (c) 2008 The PHP Reader Project Workgroup * @license http://code.google.com/p/php-reader/wiki/License New BSD License * @version $Rev: 92 $ */ final class ISO14496_Box_SCHM extends ISO14496_Box_Full { /** @var string */ private $_schemeType; /** @var integer */ private $_schemeVersion; /** @var string */ private $_schemeUri; /** * Constructs the class with given parameters and reads box related data from * the ISO Base Media file. * * @param Reader $reader The reader object. */ public function __construct($reader, &$options = array()) { parent::__construct($reader, $options); $this->_schemeType = $this->_reader->read(4); $this->_schemeVersion = $this->_reader->readUInt32BE(); if ($this->hasFlag(1)) $this->_schemeUri = preg_split ("/\\x00/", $this->_reader->read ($this->getOffset() + $this->getSize() - $this->_reader->getOffset())); } /** * Returns the code defining the protection scheme. * * @return string */ public function getSchemeType() { return $this->_schemeType; } /** * Returns the version of the scheme used to create the content. * * @return integer */ public function getSchemeVersion() { return $this->_schemeVersion; } /** * Returns the optional scheme address to allow for the option of directing * the user to a web-page if they do not have the scheme installed on their * system. It is an absolute URI. * * @return string */ public function getSchemeUri() { return $this->_schemeUri; } }