Warning: chmod(): Operation not permitted in /var/www/hopeinstoughton_www/wp-content/plugins/simple-universal-google-analytics/main.php on line 8 [0] in function chmod in /var/www/hopeinstoughton_www/wp-content/plugins/simple-universal-google-analytics/main.php on line 8 [1] in function include_once in /var/www/hopeinstoughton_www/wp-settings.php on line 560 [2] in function require_once in /var/www/hopeinstoughton_www/wp-config.php on line 85 [3] in function require_once in /var/www/hopeinstoughton_www/wp-load.php on line 50 [4] in function require_once in /var/www/hopeinstoughton_www/wp-blog-header.php on line 13 [5] in function require in /var/www/hopeinstoughton_www/index.php on line 17
| Server IP : 94.177.8.99 / Your IP : 216.73.217.165 Web Server : Apache/2.4.58 (Ubuntu) System : Linux aries 6.8.0-134-generic #134-Ubuntu SMP PREEMPT_DYNAMIC Fri Jun 26 18:43:11 UTC 2026 x86_64 User : www-data ( 33) PHP Version : 8.1.34 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : OFF Directory : /proc/self/root/mnt/home/include/mp4info/Box/ |
Upload File : |
<?php
/**
* MP4Info
*
* @author Tommy Lacroix <lacroix.tommy@gmail.com>
* @copyright Copyright (c) 2006-2009 Tommy Lacroix
* @license LGPL version 3, http://www.gnu.org/licenses/lgpl.html
* @package php-mp4info
* @link $HeadURL: http://php-mp4info.googlecode.com/svn/trunk/MP4Info/Box/stsd.php $
*/
// ---
/**
* x.x ??? (STSD)
*
* @author Tommy Lacroix <lacroix.tommy@gmail.com>
* @version 1.0.20090601 $Id: stsd.php 2 2009-06-11 14:12:31Z lacroix.tommy@gmail.com $
* @todo Factor this into a fullbox
*/
class MP4Info_Box_stsd extends MP4Info_Box {
/**
* Version
*
* @var int
*/
protected $version;
/**
* Flags
*
* @var int
*/
protected $flags;
/**
* Count
*
* @var int
*/
protected $count;
/**
* Values
*
* @var string{}
*/
protected $values = array();
/**
* Constructor
*
* @author Tommy Lacroix <lacroix.tommy@gmail.com>
* @param int $totalSize
* @param int $boxType
* @param file|string $data
* @param MP4Info_Box $parent
* @return MP4Info_Box_stsd
* @access public
* @throws MP4Info_Exception
*/
public function __construct($totalSize, $boxType, $data, $parent) {
if (!self::isCompatible($boxType, $parent)) {
throw new Exception('This box isn\'t "stsd"');
}
// Call ancestor
parent::__construct($totalSize,$boxType,'',$parent);
// Get data
$data = self::getDataFrom3rd($data, $totalSize);
// Unpack
$ar = unpack('Cversion/C3flags/Ncount',$data);
$this->version = $ar['version'];
$this->flags = $ar['flags1']*65536+$ar['flags1']*256+$ar['flags1']*1;
$this->count = $ar['count'];
// Unpack SAMPLEDESCRIPTION
$desc = substr($data,8);
for ($i=0;$i<$this->count;$i++) {
$ar = unpack('Nlen',$desc);
$type = substr($desc,4,4);
$info = substr($desc,8,$ar['len']-8);
$desc = substr($desc,$ar['len']);
$this->values[$type] = $info;
}
} // Constructor
/**
* Check if block is compatible with class
*
* @author Tommy Lacroix <lacroix.tommy@gmail.com>
* @param int $boxType
* @param MP4Info_Box $parent
* @return bool
* @access public
* @static
*/
static public function isCompatible($boxType, $parent) {
return $boxType == 0x73747364;
} // isCompatible method
/**
* Values getter
*
* @author Tommy Lacroix <lacroix.tommy@gmail.com>
* @return string{}
* @access public
*/
public function getValues() {
return $this->values;
} // getValues method
/**
* Value getter
*
* @author Tommy Lacroix <lacroix.tommy@gmail.com>
* @param string $key
* @return string
* @access public
*/
public function getValue($key) {
return isset($this->values[$key]) ? $this->values[$key] : false;
} // getValue method
/**
* String converter
*
* @author Tommy Lacroix <lacroix.tommy@gmail.com>
* @return string
* @access public
*/
public function toString() {
return '[MP4Info_Box_stsd:'.implode(',',array_keys($this->values)).']';
} // toString method
} // MP4Info_Box_stsd class