| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 | 
							- <?php
 
- /////////////////////////////////////////////////////////////////
 
- /// getID3() by James Heinrich <info@getid3.org>               //
 
- //  available at http://getid3.sourceforge.net                 //
 
- //            or http://www.getid3.org                         //
 
- /////////////////////////////////////////////////////////////////
 
- // See readme.txt for more details                             //
 
- /////////////////////////////////////////////////////////////////
 
- //                                                             //
 
- // module.audio.bink.php                                       //
 
- // module for analyzing Bink or Smacker audio-video files      //
 
- // dependencies: NONE                                          //
 
- //                                                            ///
 
- /////////////////////////////////////////////////////////////////
 
- class getid3_bink
 
- {
 
- 	function getid3_bink(&$fd, &$ThisFileInfo) {
 
- $ThisFileInfo['error'][] = 'Bink / Smacker files not properly processed by this version of getID3()';
 
- 		fseek($fd, $ThisFileInfo['avdataoffset'], SEEK_SET);
 
- 		$fileTypeID = fread($fd, 3);
 
- 		switch ($fileTypeID) {
 
- 			case 'BIK':
 
- 				return $this->ParseBink($fd, $ThisFileInfo);
 
- 				break;
 
- 			case 'SMK':
 
- 				return $this->ParseSmacker($fd, $ThisFileInfo);
 
- 				break;
 
- 			default:
 
- 				$ThisFileInfo['error'][] = 'Expecting "BIK" or "SMK" at offset '.$ThisFileInfo['avdataoffset'].', found "'.$fileTypeID.'"';
 
- 				return false;
 
- 				break;
 
- 		}
 
- 		return true;
 
- 	}
 
- 	function ParseBink(&$fd, &$ThisFileInfo) {
 
- 		$ThisFileInfo['fileformat']          = 'bink';
 
- 		$ThisFileInfo['video']['dataformat'] = 'bink';
 
- 		$fileData = 'BIK'.fread($fd, 13);
 
- 		$ThisFileInfo['bink']['data_size']   = getid3_lib::LittleEndian2Int(substr($fileData, 4, 4));
 
- 		$ThisFileInfo['bink']['frame_count'] = getid3_lib::LittleEndian2Int(substr($fileData, 8, 2));
 
- 		if (($ThisFileInfo['avdataend'] - $ThisFileInfo['avdataoffset']) != ($ThisFileInfo['bink']['data_size'] + 8)) {
 
- 			$ThisFileInfo['error'][] = 'Probably truncated file: expecting '.$ThisFileInfo['bink']['data_size'].' bytes, found '.($ThisFileInfo['avdataend'] - $ThisFileInfo['avdataoffset']);
 
- 		}
 
- 		return true;
 
- 	}
 
- 	function ParseSmacker(&$fd, &$ThisFileInfo) {
 
- 		$ThisFileInfo['fileformat']          = 'smacker';
 
- 		$ThisFileInfo['video']['dataformat'] = 'smacker';
 
- 		return false;
 
- 	}
 
- }
 
- ?>
 
 
  |