Edit File by line

Deprecated: str_replace(): Passing null to parameter #2 ($replace) of type array|string is deprecated in /home/sportsfever/public_html/filemanger/function.php on line 93

Warning: Undefined array key "page_file_edit_line" in /home/sportsfever/public_html/filemanger/edit_text_line.php on line 32
/home/sportsfe.../public_h.../wp-inclu.../ID3
File: module.audio-video.flv.php
public function peekByte() {
[500] Fix | Delete
$pos = $this->pos;
[501] Fix | Delete
$val = $this->readByte();
[502] Fix | Delete
$this->pos = $pos;
[503] Fix | Delete
return $val;
[504] Fix | Delete
}
[505] Fix | Delete
[506] Fix | Delete
/**
[507] Fix | Delete
* @return int
[508] Fix | Delete
*/
[509] Fix | Delete
public function peekInt() {
[510] Fix | Delete
$pos = $this->pos;
[511] Fix | Delete
$val = $this->readInt();
[512] Fix | Delete
$this->pos = $pos;
[513] Fix | Delete
return $val;
[514] Fix | Delete
}
[515] Fix | Delete
[516] Fix | Delete
/**
[517] Fix | Delete
* @return int
[518] Fix | Delete
*/
[519] Fix | Delete
public function peekLong() {
[520] Fix | Delete
$pos = $this->pos;
[521] Fix | Delete
$val = $this->readLong();
[522] Fix | Delete
$this->pos = $pos;
[523] Fix | Delete
return $val;
[524] Fix | Delete
}
[525] Fix | Delete
[526] Fix | Delete
/**
[527] Fix | Delete
* @return float|false
[528] Fix | Delete
*/
[529] Fix | Delete
public function peekDouble() {
[530] Fix | Delete
$pos = $this->pos;
[531] Fix | Delete
$val = $this->readDouble();
[532] Fix | Delete
$this->pos = $pos;
[533] Fix | Delete
return $val;
[534] Fix | Delete
}
[535] Fix | Delete
[536] Fix | Delete
/**
[537] Fix | Delete
* @return string
[538] Fix | Delete
*/
[539] Fix | Delete
public function peekUTF() {
[540] Fix | Delete
$pos = $this->pos;
[541] Fix | Delete
$val = $this->readUTF();
[542] Fix | Delete
$this->pos = $pos;
[543] Fix | Delete
return $val;
[544] Fix | Delete
}
[545] Fix | Delete
[546] Fix | Delete
/**
[547] Fix | Delete
* @return string
[548] Fix | Delete
*/
[549] Fix | Delete
public function peekLongUTF() {
[550] Fix | Delete
$pos = $this->pos;
[551] Fix | Delete
$val = $this->readLongUTF();
[552] Fix | Delete
$this->pos = $pos;
[553] Fix | Delete
return $val;
[554] Fix | Delete
}
[555] Fix | Delete
}
[556] Fix | Delete
[557] Fix | Delete
class AMFReader
[558] Fix | Delete
{
[559] Fix | Delete
/**
[560] Fix | Delete
* @var AMFStream
[561] Fix | Delete
*/
[562] Fix | Delete
public $stream;
[563] Fix | Delete
[564] Fix | Delete
/**
[565] Fix | Delete
* @param AMFStream $stream
[566] Fix | Delete
*/
[567] Fix | Delete
public function __construct(AMFStream $stream) {
[568] Fix | Delete
$this->stream = $stream;
[569] Fix | Delete
}
[570] Fix | Delete
[571] Fix | Delete
/**
[572] Fix | Delete
* @return mixed
[573] Fix | Delete
*/
[574] Fix | Delete
public function readData() {
[575] Fix | Delete
$value = null;
[576] Fix | Delete
[577] Fix | Delete
$type = $this->stream->readByte();
[578] Fix | Delete
switch ($type) {
[579] Fix | Delete
[580] Fix | Delete
// Double
[581] Fix | Delete
case 0:
[582] Fix | Delete
$value = $this->readDouble();
[583] Fix | Delete
break;
[584] Fix | Delete
[585] Fix | Delete
// Boolean
[586] Fix | Delete
case 1:
[587] Fix | Delete
$value = $this->readBoolean();
[588] Fix | Delete
break;
[589] Fix | Delete
[590] Fix | Delete
// String
[591] Fix | Delete
case 2:
[592] Fix | Delete
$value = $this->readString();
[593] Fix | Delete
break;
[594] Fix | Delete
[595] Fix | Delete
// Object
[596] Fix | Delete
case 3:
[597] Fix | Delete
$value = $this->readObject();
[598] Fix | Delete
break;
[599] Fix | Delete
[600] Fix | Delete
// null
[601] Fix | Delete
case 6:
[602] Fix | Delete
return null;
[603] Fix | Delete
[604] Fix | Delete
// Mixed array
[605] Fix | Delete
case 8:
[606] Fix | Delete
$value = $this->readMixedArray();
[607] Fix | Delete
break;
[608] Fix | Delete
[609] Fix | Delete
// Array
[610] Fix | Delete
case 10:
[611] Fix | Delete
$value = $this->readArray();
[612] Fix | Delete
break;
[613] Fix | Delete
[614] Fix | Delete
// Date
[615] Fix | Delete
case 11:
[616] Fix | Delete
$value = $this->readDate();
[617] Fix | Delete
break;
[618] Fix | Delete
[619] Fix | Delete
// Long string
[620] Fix | Delete
case 13:
[621] Fix | Delete
$value = $this->readLongString();
[622] Fix | Delete
break;
[623] Fix | Delete
[624] Fix | Delete
// XML (handled as string)
[625] Fix | Delete
case 15:
[626] Fix | Delete
$value = $this->readXML();
[627] Fix | Delete
break;
[628] Fix | Delete
[629] Fix | Delete
// Typed object (handled as object)
[630] Fix | Delete
case 16:
[631] Fix | Delete
$value = $this->readTypedObject();
[632] Fix | Delete
break;
[633] Fix | Delete
[634] Fix | Delete
// Long string
[635] Fix | Delete
default:
[636] Fix | Delete
$value = '(unknown or unsupported data type)';
[637] Fix | Delete
break;
[638] Fix | Delete
}
[639] Fix | Delete
[640] Fix | Delete
return $value;
[641] Fix | Delete
}
[642] Fix | Delete
[643] Fix | Delete
/**
[644] Fix | Delete
* @return float|false
[645] Fix | Delete
*/
[646] Fix | Delete
public function readDouble() {
[647] Fix | Delete
return $this->stream->readDouble();
[648] Fix | Delete
}
[649] Fix | Delete
[650] Fix | Delete
/**
[651] Fix | Delete
* @return bool
[652] Fix | Delete
*/
[653] Fix | Delete
public function readBoolean() {
[654] Fix | Delete
return $this->stream->readByte() == 1;
[655] Fix | Delete
}
[656] Fix | Delete
[657] Fix | Delete
/**
[658] Fix | Delete
* @return string
[659] Fix | Delete
*/
[660] Fix | Delete
public function readString() {
[661] Fix | Delete
return $this->stream->readUTF();
[662] Fix | Delete
}
[663] Fix | Delete
[664] Fix | Delete
/**
[665] Fix | Delete
* @return array
[666] Fix | Delete
*/
[667] Fix | Delete
public function readObject() {
[668] Fix | Delete
// Get highest numerical index - ignored
[669] Fix | Delete
// $highestIndex = $this->stream->readLong();
[670] Fix | Delete
[671] Fix | Delete
$data = array();
[672] Fix | Delete
$key = null;
[673] Fix | Delete
[674] Fix | Delete
while ($key = $this->stream->readUTF()) {
[675] Fix | Delete
$data[$key] = $this->readData();
[676] Fix | Delete
}
[677] Fix | Delete
// Mixed array record ends with empty string (0x00 0x00) and 0x09
[678] Fix | Delete
if (($key == '') && ($this->stream->peekByte() == 0x09)) {
[679] Fix | Delete
// Consume byte
[680] Fix | Delete
$this->stream->readByte();
[681] Fix | Delete
}
[682] Fix | Delete
return $data;
[683] Fix | Delete
}
[684] Fix | Delete
[685] Fix | Delete
/**
[686] Fix | Delete
* @return array
[687] Fix | Delete
*/
[688] Fix | Delete
public function readMixedArray() {
[689] Fix | Delete
// Get highest numerical index - ignored
[690] Fix | Delete
$highestIndex = $this->stream->readLong();
[691] Fix | Delete
[692] Fix | Delete
$data = array();
[693] Fix | Delete
$key = null;
[694] Fix | Delete
[695] Fix | Delete
while ($key = $this->stream->readUTF()) {
[696] Fix | Delete
if (is_numeric($key)) {
[697] Fix | Delete
$key = (int) $key;
[698] Fix | Delete
}
[699] Fix | Delete
$data[$key] = $this->readData();
[700] Fix | Delete
}
[701] Fix | Delete
// Mixed array record ends with empty string (0x00 0x00) and 0x09
[702] Fix | Delete
if (($key == '') && ($this->stream->peekByte() == 0x09)) {
[703] Fix | Delete
// Consume byte
[704] Fix | Delete
$this->stream->readByte();
[705] Fix | Delete
}
[706] Fix | Delete
[707] Fix | Delete
return $data;
[708] Fix | Delete
}
[709] Fix | Delete
[710] Fix | Delete
/**
[711] Fix | Delete
* @return array
[712] Fix | Delete
*/
[713] Fix | Delete
public function readArray() {
[714] Fix | Delete
$length = $this->stream->readLong();
[715] Fix | Delete
$data = array();
[716] Fix | Delete
[717] Fix | Delete
for ($i = 0; $i < $length; $i++) {
[718] Fix | Delete
$data[] = $this->readData();
[719] Fix | Delete
}
[720] Fix | Delete
return $data;
[721] Fix | Delete
}
[722] Fix | Delete
[723] Fix | Delete
/**
[724] Fix | Delete
* @return float|false
[725] Fix | Delete
*/
[726] Fix | Delete
public function readDate() {
[727] Fix | Delete
$timestamp = $this->stream->readDouble();
[728] Fix | Delete
$timezone = $this->stream->readInt();
[729] Fix | Delete
return $timestamp;
[730] Fix | Delete
}
[731] Fix | Delete
[732] Fix | Delete
/**
[733] Fix | Delete
* @return string
[734] Fix | Delete
*/
[735] Fix | Delete
public function readLongString() {
[736] Fix | Delete
return $this->stream->readLongUTF();
[737] Fix | Delete
}
[738] Fix | Delete
[739] Fix | Delete
/**
[740] Fix | Delete
* @return string
[741] Fix | Delete
*/
[742] Fix | Delete
public function readXML() {
[743] Fix | Delete
return $this->stream->readLongUTF();
[744] Fix | Delete
}
[745] Fix | Delete
[746] Fix | Delete
/**
[747] Fix | Delete
* @return array
[748] Fix | Delete
*/
[749] Fix | Delete
public function readTypedObject() {
[750] Fix | Delete
$className = $this->stream->readUTF();
[751] Fix | Delete
return $this->readObject();
[752] Fix | Delete
}
[753] Fix | Delete
}
[754] Fix | Delete
[755] Fix | Delete
class AVCSequenceParameterSetReader
[756] Fix | Delete
{
[757] Fix | Delete
/**
[758] Fix | Delete
* @var string
[759] Fix | Delete
*/
[760] Fix | Delete
public $sps;
[761] Fix | Delete
public $start = 0;
[762] Fix | Delete
public $currentBytes = 0;
[763] Fix | Delete
public $currentBits = 0;
[764] Fix | Delete
[765] Fix | Delete
/**
[766] Fix | Delete
* @var int
[767] Fix | Delete
*/
[768] Fix | Delete
public $width;
[769] Fix | Delete
[770] Fix | Delete
/**
[771] Fix | Delete
* @var int
[772] Fix | Delete
*/
[773] Fix | Delete
public $height;
[774] Fix | Delete
[775] Fix | Delete
/**
[776] Fix | Delete
* @param string $sps
[777] Fix | Delete
*/
[778] Fix | Delete
public function __construct($sps) {
[779] Fix | Delete
$this->sps = $sps;
[780] Fix | Delete
}
[781] Fix | Delete
[782] Fix | Delete
public function readData() {
[783] Fix | Delete
$this->skipBits(8);
[784] Fix | Delete
$this->skipBits(8);
[785] Fix | Delete
$profile = $this->getBits(8); // read profile
[786] Fix | Delete
if ($profile > 0) {
[787] Fix | Delete
$this->skipBits(8);
[788] Fix | Delete
$level_idc = $this->getBits(8); // level_idc
[789] Fix | Delete
$this->expGolombUe(); // seq_parameter_set_id // sps
[790] Fix | Delete
$this->expGolombUe(); // log2_max_frame_num_minus4
[791] Fix | Delete
$picOrderType = $this->expGolombUe(); // pic_order_cnt_type
[792] Fix | Delete
if ($picOrderType == 0) {
[793] Fix | Delete
$this->expGolombUe(); // log2_max_pic_order_cnt_lsb_minus4
[794] Fix | Delete
} elseif ($picOrderType == 1) {
[795] Fix | Delete
$this->skipBits(1); // delta_pic_order_always_zero_flag
[796] Fix | Delete
$this->expGolombSe(); // offset_for_non_ref_pic
[797] Fix | Delete
$this->expGolombSe(); // offset_for_top_to_bottom_field
[798] Fix | Delete
$num_ref_frames_in_pic_order_cnt_cycle = $this->expGolombUe(); // num_ref_frames_in_pic_order_cnt_cycle
[799] Fix | Delete
for ($i = 0; $i < $num_ref_frames_in_pic_order_cnt_cycle; $i++) {
[800] Fix | Delete
$this->expGolombSe(); // offset_for_ref_frame[ i ]
[801] Fix | Delete
}
[802] Fix | Delete
}
[803] Fix | Delete
$this->expGolombUe(); // num_ref_frames
[804] Fix | Delete
$this->skipBits(1); // gaps_in_frame_num_value_allowed_flag
[805] Fix | Delete
$pic_width_in_mbs_minus1 = $this->expGolombUe(); // pic_width_in_mbs_minus1
[806] Fix | Delete
$pic_height_in_map_units_minus1 = $this->expGolombUe(); // pic_height_in_map_units_minus1
[807] Fix | Delete
[808] Fix | Delete
$frame_mbs_only_flag = $this->getBits(1); // frame_mbs_only_flag
[809] Fix | Delete
if ($frame_mbs_only_flag == 0) {
[810] Fix | Delete
$this->skipBits(1); // mb_adaptive_frame_field_flag
[811] Fix | Delete
}
[812] Fix | Delete
$this->skipBits(1); // direct_8x8_inference_flag
[813] Fix | Delete
$frame_cropping_flag = $this->getBits(1); // frame_cropping_flag
[814] Fix | Delete
[815] Fix | Delete
$frame_crop_left_offset = 0;
[816] Fix | Delete
$frame_crop_right_offset = 0;
[817] Fix | Delete
$frame_crop_top_offset = 0;
[818] Fix | Delete
$frame_crop_bottom_offset = 0;
[819] Fix | Delete
[820] Fix | Delete
if ($frame_cropping_flag) {
[821] Fix | Delete
$frame_crop_left_offset = $this->expGolombUe(); // frame_crop_left_offset
[822] Fix | Delete
$frame_crop_right_offset = $this->expGolombUe(); // frame_crop_right_offset
[823] Fix | Delete
$frame_crop_top_offset = $this->expGolombUe(); // frame_crop_top_offset
[824] Fix | Delete
$frame_crop_bottom_offset = $this->expGolombUe(); // frame_crop_bottom_offset
[825] Fix | Delete
}
[826] Fix | Delete
$this->skipBits(1); // vui_parameters_present_flag
[827] Fix | Delete
// etc
[828] Fix | Delete
[829] Fix | Delete
$this->width = (($pic_width_in_mbs_minus1 + 1) * 16) - ($frame_crop_left_offset * 2) - ($frame_crop_right_offset * 2);
[830] Fix | Delete
$this->height = ((2 - $frame_mbs_only_flag) * ($pic_height_in_map_units_minus1 + 1) * 16) - ($frame_crop_top_offset * 2) - ($frame_crop_bottom_offset * 2);
[831] Fix | Delete
}
[832] Fix | Delete
}
[833] Fix | Delete
[834] Fix | Delete
/**
[835] Fix | Delete
* @param int $bits
[836] Fix | Delete
*/
[837] Fix | Delete
public function skipBits($bits) {
[838] Fix | Delete
$newBits = $this->currentBits + $bits;
[839] Fix | Delete
$this->currentBytes += (int)floor($newBits / 8);
[840] Fix | Delete
$this->currentBits = $newBits % 8;
[841] Fix | Delete
}
[842] Fix | Delete
[843] Fix | Delete
/**
[844] Fix | Delete
* @return int
[845] Fix | Delete
*/
[846] Fix | Delete
public function getBit() {
[847] Fix | Delete
$result = (getid3_lib::BigEndian2Int(substr($this->sps, $this->currentBytes, 1)) >> (7 - $this->currentBits)) & 0x01;
[848] Fix | Delete
$this->skipBits(1);
[849] Fix | Delete
return $result;
[850] Fix | Delete
}
[851] Fix | Delete
[852] Fix | Delete
/**
[853] Fix | Delete
* @param int $bits
[854] Fix | Delete
*
[855] Fix | Delete
* @return int
[856] Fix | Delete
*/
[857] Fix | Delete
public function getBits($bits) {
[858] Fix | Delete
$result = 0;
[859] Fix | Delete
for ($i = 0; $i < $bits; $i++) {
[860] Fix | Delete
$result = ($result << 1) + $this->getBit();
[861] Fix | Delete
}
[862] Fix | Delete
return $result;
[863] Fix | Delete
}
[864] Fix | Delete
[865] Fix | Delete
/**
[866] Fix | Delete
* @return int
[867] Fix | Delete
*/
[868] Fix | Delete
public function expGolombUe() {
[869] Fix | Delete
$significantBits = 0;
[870] Fix | Delete
$bit = $this->getBit();
[871] Fix | Delete
while ($bit == 0) {
[872] Fix | Delete
$significantBits++;
[873] Fix | Delete
$bit = $this->getBit();
[874] Fix | Delete
[875] Fix | Delete
if ($significantBits > 31) {
[876] Fix | Delete
// something is broken, this is an emergency escape to prevent infinite loops
[877] Fix | Delete
return 0;
[878] Fix | Delete
}
[879] Fix | Delete
}
[880] Fix | Delete
return (1 << $significantBits) + $this->getBits($significantBits) - 1;
[881] Fix | Delete
}
[882] Fix | Delete
[883] Fix | Delete
/**
[884] Fix | Delete
* @return int
[885] Fix | Delete
*/
[886] Fix | Delete
public function expGolombSe() {
[887] Fix | Delete
$result = $this->expGolombUe();
[888] Fix | Delete
if (($result & 0x01) == 0) {
[889] Fix | Delete
return -($result >> 1);
[890] Fix | Delete
} else {
[891] Fix | Delete
return ($result + 1) >> 1;
[892] Fix | Delete
}
[893] Fix | Delete
}
[894] Fix | Delete
[895] Fix | Delete
/**
[896] Fix | Delete
* @return int
[897] Fix | Delete
*/
[898] Fix | Delete
public function getWidth() {
[899] Fix | Delete
return $this->width;
[900] Fix | Delete
}
[901] Fix | Delete
[902] Fix | Delete
/**
[903] Fix | Delete
* @return int
[904] Fix | Delete
*/
[905] Fix | Delete
public function getHeight() {
[906] Fix | Delete
return $this->height;
[907] Fix | Delete
}
[908] Fix | Delete
}
[909] Fix | Delete
[910] Fix | Delete
12
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function