ILIAS
release_5-1 Revision 5.0.0-5477-g43f3e3fab5f
|
getID3() by James Heinrich info@.nosp@m.geti.nosp@m.d3.or.nosp@m.g // More...
Public Member Functions | |
getid3_matroska (&$fd, &$ThisFileInfo) | |
EBML2Int ($EBMLstring) | |
Analyze () | |
![]() | |
__construct (getID3 $getid3, $call_module=null) | |
Analyze () | |
AnalyzeString ($string) | |
setStringMode ($string) | |
saveAttachment ($name, $offset, $length, $image_mime=null) | |
Static Public Member Functions | |
static | TargetTypeValue ($target_type) |
static | BlockLacingType ($lacingtype) |
static | CodecIDtoCommonName ($codecid) |
static | displayUnit ($value) |
Static Public Attributes | |
static | $hide_clusters = true |
static | $parse_whole_file = false |
Private Member Functions | |
parseEBML (&$info) | |
EnsureBufferHasEnoughData ($min_data=1024) | |
readEBMLint () | |
readEBMLelementData ($length, $check_buffer=false) | |
getEBMLelement (&$element, $parent_end, $get_data=false) | |
unhandledElement ($type, $line, $element) | |
ExtractCommentsSimpleTag ($SimpleTagArray) | |
HandleEMBLSimpleTag ($parent_end) | |
HandleEMBLClusterBlock ($element, $block_type, &$info) | |
Static Private Member Functions | |
static | EBML2Int ($EBMLstring) |
static | EBMLdate2unix ($EBMLdatestamp) |
static | EBMLidName ($value) |
static | getDefaultStreamInfo ($streams) |
Private Attributes | |
$EBMLbuffer = '' | |
$EBMLbuffer_offset = 0 | |
$EBMLbuffer_length = 0 | |
$current_offset = 0 | |
$unuseful_elements = array(EBML_ID_CRC32, EBML_ID_VOID) | |
Additional Inherited Members | |
![]() | |
ftell () | |
fread ($bytes) | |
fseek ($bytes, $whence=SEEK_SET) | |
feof () | |
isDependencyFor ($module) | |
error ($text) | |
warning ($text) | |
notice ($text) | |
![]() | |
$getid3 | |
$data_string_flag = false | |
$data_string = '' | |
$data_string_position = 0 | |
$data_string_length = 0 | |
getID3() by James Heinrich info@.nosp@m.geti.nosp@m.d3.or.nosp@m.g //
@tutorial http://www.matroska.org/technical/specs/index.html
Rewrite EBML parser to reduce it's size and honor default element values
After rewrite implement stream size calculation, that will provide additional useful info and enable AAC/FLAC audio bitrate detection
Definition at line 17 of file module.audio-video.matroska.php.
getid3_matroska::Analyze | ( | ) |
Reimplemented from getid3_handler.
Definition at line 229 of file module.audio-video.matroska.php.
References $info, getID3\ATTACHMENTS_NONE, CodecIDtoCommonName(), displayUnit(), ExtractCommentsSimpleTag(), getid3_riff\fourccLookup(), getDefaultStreamInfo(), getid3_lib\IncludeDependency(), getid3_riff\ParseBITMAPINFOHEADER(), parseEBML(), getid3_riff\parseWAVEFORMATex(), and getid3_handler\warning().
|
static |
Definition at line 1507 of file module.audio-video.matroska.php.
Referenced by HandleEMBLClusterBlock().
|
static |
Definition at line 1519 of file module.audio-video.matroska.php.
Referenced by Analyze().
|
static |
Definition at line 1752 of file module.audio-video.matroska.php.
Referenced by Analyze().
getid3_matroska::EBML2Int | ( | $EBMLstring | ) |
Definition at line 34 of file module.audio-video.matroska.php.
References getid3_lib\BigEndian2Int().
Referenced by parseEBML(), and readEBMLint().
|
staticprivate |
Definition at line 1444 of file module.audio-video.matroska.php.
References getid3_lib\BigEndian2Int().
|
staticprivate |
Definition at line 1486 of file module.audio-video.matroska.php.
Referenced by parseEBML().
|
staticprivate |
Definition at line 1554 of file module.audio-video.matroska.php.
References EBML_ID_ASPECTRATIOTYPE, EBML_ID_ATTACHEDFILE, EBML_ID_ATTACHMENTLINK, EBML_ID_ATTACHMENTS, EBML_ID_AUDIO, EBML_ID_BITDEPTH, EBML_ID_CHANNELPOSITIONS, EBML_ID_CHANNELS, EBML_ID_CHAPCOUNTRY, EBML_ID_CHAPLANGUAGE, EBML_ID_CHAPPROCESS, EBML_ID_CHAPPROCESSCODECID, EBML_ID_CHAPPROCESSCOMMAND, EBML_ID_CHAPPROCESSDATA, EBML_ID_CHAPPROCESSPRIVATE, EBML_ID_CHAPPROCESSTIME, EBML_ID_CHAPSTRING, EBML_ID_CHAPTERATOM, EBML_ID_CHAPTERDISPLAY, EBML_ID_CHAPTERFLAGENABLED, EBML_ID_CHAPTERFLAGHIDDEN, EBML_ID_CHAPTERPHYSICALEQUIV, EBML_ID_CHAPTERS, EBML_ID_CHAPTERSEGMENTEDITIONUID, EBML_ID_CHAPTERSEGMENTUID, EBML_ID_CHAPTERTIMEEND, EBML_ID_CHAPTERTIMESTART, EBML_ID_CHAPTERTRACK, EBML_ID_CHAPTERTRACKNUMBER, EBML_ID_CHAPTERTRANSLATE, EBML_ID_CHAPTERTRANSLATECODEC, EBML_ID_CHAPTERTRANSLATEEDITIONUID, EBML_ID_CHAPTERTRANSLATEID, EBML_ID_CHAPTERUID, EBML_ID_CLUSTER, EBML_ID_CLUSTERBLOCK, EBML_ID_CLUSTERBLOCKADDID, EBML_ID_CLUSTERBLOCKADDITIONAL, EBML_ID_CLUSTERBLOCKADDITIONID, EBML_ID_CLUSTERBLOCKADDITIONS, EBML_ID_CLUSTERBLOCKDURATION, EBML_ID_CLUSTERBLOCKGROUP, EBML_ID_CLUSTERBLOCKMORE, EBML_ID_CLUSTERBLOCKVIRTUAL, EBML_ID_CLUSTERCODECSTATE, EBML_ID_CLUSTERDELAY, EBML_ID_CLUSTERDURATION, EBML_ID_CLUSTERENCRYPTEDBLOCK, EBML_ID_CLUSTERFRAMENUMBER, EBML_ID_CLUSTERLACENUMBER, EBML_ID_CLUSTERPOSITION, EBML_ID_CLUSTERPREVSIZE, EBML_ID_CLUSTERREFERENCEBLOCK, EBML_ID_CLUSTERREFERENCEPRIORITY, EBML_ID_CLUSTERREFERENCEVIRTUAL, EBML_ID_CLUSTERSILENTTRACKNUMBER, EBML_ID_CLUSTERSILENTTRACKS, EBML_ID_CLUSTERSIMPLEBLOCK, EBML_ID_CLUSTERSLICES, EBML_ID_CLUSTERTIMECODE, EBML_ID_CLUSTERTIMESLICE, EBML_ID_CODECDECODEALL, EBML_ID_CODECDOWNLOADURL, EBML_ID_CODECID, EBML_ID_CODECINFOURL, EBML_ID_CODECNAME, EBML_ID_CODECPRIVATE, EBML_ID_CODECSETTINGS, EBML_ID_COLOURSPACE, EBML_ID_CONTENTCOMPALGO, EBML_ID_CONTENTCOMPRESSION, EBML_ID_CONTENTCOMPSETTINGS, EBML_ID_CONTENTENCALGO, EBML_ID_CONTENTENCKEYID, EBML_ID_CONTENTENCODING, EBML_ID_CONTENTENCODINGORDER, EBML_ID_CONTENTENCODINGS, EBML_ID_CONTENTENCODINGSCOPE, EBML_ID_CONTENTENCODINGTYPE, EBML_ID_CONTENTENCRYPTION, EBML_ID_CONTENTSIGALGO, EBML_ID_CONTENTSIGHASHALGO, EBML_ID_CONTENTSIGKEYID, EBML_ID_CONTENTSIGNATURE, EBML_ID_CRC32, EBML_ID_CUEBLOCKNUMBER, EBML_ID_CUECLUSTERPOSITION, EBML_ID_CUECODECSTATE, EBML_ID_CUEPOINT, EBML_ID_CUEREFCLUSTER, EBML_ID_CUEREFCODECSTATE, EBML_ID_CUEREFERENCE, EBML_ID_CUEREFNUMBER, EBML_ID_CUEREFTIME, EBML_ID_CUES, EBML_ID_CUETIME, EBML_ID_CUETRACK, EBML_ID_CUETRACKPOSITIONS, EBML_ID_DATEUTC, EBML_ID_DEFAULTDURATION, EBML_ID_DISPLAYHEIGHT, EBML_ID_DISPLAYUNIT, EBML_ID_DISPLAYWIDTH, EBML_ID_DOCTYPE, EBML_ID_DOCTYPEREADVERSION, EBML_ID_DOCTYPEVERSION, EBML_ID_DURATION, EBML_ID_EBML, EBML_ID_EBMLMAXIDLENGTH, EBML_ID_EBMLMAXSIZELENGTH, EBML_ID_EBMLREADVERSION, EBML_ID_EBMLVERSION, EBML_ID_EDITIONENTRY, EBML_ID_EDITIONFLAGDEFAULT, EBML_ID_EDITIONFLAGHIDDEN, EBML_ID_EDITIONFLAGORDERED, EBML_ID_EDITIONUID, EBML_ID_FILEDATA, EBML_ID_FILEDESCRIPTION, EBML_ID_FILEMIMETYPE, EBML_ID_FILENAME, EBML_ID_FILEREFERRAL, EBML_ID_FILEUID, EBML_ID_FLAGDEFAULT, EBML_ID_FLAGENABLED, EBML_ID_FLAGFORCED, EBML_ID_FLAGINTERLACED, EBML_ID_FLAGLACING, EBML_ID_GAMMAVALUE, EBML_ID_INFO, EBML_ID_LANGUAGE, EBML_ID_MAXBLOCKADDITIONID, EBML_ID_MAXCACHE, EBML_ID_MINCACHE, EBML_ID_MUXINGAPP, EBML_ID_NAME, EBML_ID_NEXTFILENAME, EBML_ID_NEXTUID, EBML_ID_OLDSTEREOMODE, EBML_ID_OUTPUTSAMPLINGFREQUENCY, EBML_ID_PIXELCROPBOTTOM, EBML_ID_PIXELCROPLEFT, EBML_ID_PIXELCROPRIGHT, EBML_ID_PIXELCROPTOP, EBML_ID_PIXELHEIGHT, EBML_ID_PIXELWIDTH, EBML_ID_PREVFILENAME, EBML_ID_PREVUID, EBML_ID_SAMPLINGFREQUENCY, EBML_ID_SEEK, EBML_ID_SEEKHEAD, EBML_ID_SEEKID, EBML_ID_SEEKPOSITION, EBML_ID_SEGMENT, EBML_ID_SEGMENTFAMILY, EBML_ID_SEGMENTFILENAME, EBML_ID_SEGMENTUID, EBML_ID_SIMPLETAG, EBML_ID_STEREOMODE, EBML_ID_TAG, EBML_ID_TAGATTACHMENTUID, EBML_ID_TAGBINARY, EBML_ID_TAGCHAPTERUID, EBML_ID_TAGDEFAULT, EBML_ID_TAGEDITIONUID, EBML_ID_TAGLANGUAGE, EBML_ID_TAGNAME, EBML_ID_TAGS, EBML_ID_TAGSTRING, EBML_ID_TAGTRACKUID, EBML_ID_TARGETS, EBML_ID_TARGETTYPE, EBML_ID_TARGETTYPEVALUE, EBML_ID_TIMECODESCALE, EBML_ID_TITLE, EBML_ID_TRACKENTRY, EBML_ID_TRACKNUMBER, EBML_ID_TRACKOFFSET, EBML_ID_TRACKOVERLAY, EBML_ID_TRACKS, EBML_ID_TRACKTIMECODESCALE, EBML_ID_TRACKTRANSLATE, EBML_ID_TRACKTRANSLATECODEC, EBML_ID_TRACKTRANSLATEEDITIONUID, EBML_ID_TRACKTRANSLATETRACKID, EBML_ID_TRACKTYPE, EBML_ID_TRACKUID, EBML_ID_VIDEO, EBML_ID_VOID, and EBML_ID_WRITINGAPP.
Referenced by getEBMLelement(), and parseEBML().
|
private |
Definition at line 1226 of file module.audio-video.matroska.php.
References $current_offset, getid3_handler\error(), getid3_handler\feof(), getid3_handler\fread(), getid3_handler\fseek(), and getid3_handler\warning().
Referenced by getEBMLelement(), and readEBMLelementData().
|
private |
Definition at line 1336 of file module.audio-video.matroska.php.
References ExtractCommentsSimpleTag().
Referenced by Analyze(), and ExtractCommentsSimpleTag().
|
staticprivate |
Definition at line 1763 of file module.audio-video.matroska.php.
References $info.
Referenced by Analyze().
|
private |
Definition at line 1288 of file module.audio-video.matroska.php.
References $current_offset, EBMLidName(), EnsureBufferHasEnoughData(), readEBMLelementData(), and readEBMLint().
Referenced by HandleEMBLSimpleTag(), and parseEBML().
getid3_matroska::getid3_matroska | ( | & | $fd, |
& | $ThisFileInfo | ||
) |
Definition at line 20 of file module.audio-video.matroska.php.
References getid3_handler\fseek().
|
private |
Definition at line 1381 of file module.audio-video.matroska.php.
References $current_offset, $info, $size, getid3_lib\BigEndian2Int(), BlockLacingType(), EBML_ID_CLUSTERSIMPLEBLOCK, readEBMLelementData(), and readEBMLint().
Referenced by parseEBML().
|
private |
Definition at line 1351 of file module.audio-video.matroska.php.
References getid3_lib\BigEndian2Int(), EBML_ID_SIMPLETAG, EBML_ID_TAGBINARY, EBML_ID_TAGDEFAULT, EBML_ID_TAGLANGUAGE, EBML_ID_TAGNAME, EBML_ID_TAGSTRING, getEBMLelement(), HandleEMBLSimpleTag(), and unhandledElement().
Referenced by HandleEMBLSimpleTag(), and parseEBML().
|
private |
Definition at line 497 of file module.audio-video.matroska.php.
References $current_offset, $info, getid3_lib\BigEndian2Float(), getid3_lib\BigEndian2Int(), EBML2Int(), EBML_ID_ASPECTRATIOTYPE, EBML_ID_ATTACHEDFILE, EBML_ID_ATTACHMENTS, EBML_ID_AUDIO, EBML_ID_BITDEPTH, EBML_ID_CHANNELPOSITIONS, EBML_ID_CHANNELS, EBML_ID_CHAPCOUNTRY, EBML_ID_CHAPLANGUAGE, EBML_ID_CHAPSTRING, EBML_ID_CHAPTERATOM, EBML_ID_CHAPTERDISPLAY, EBML_ID_CHAPTERFLAGENABLED, EBML_ID_CHAPTERFLAGHIDDEN, EBML_ID_CHAPTERS, EBML_ID_CHAPTERSEGMENTEDITIONUID, EBML_ID_CHAPTERSEGMENTUID, EBML_ID_CHAPTERTIMEEND, EBML_ID_CHAPTERTIMESTART, EBML_ID_CHAPTERTRACK, EBML_ID_CHAPTERTRACKNUMBER, EBML_ID_CHAPTERTRANSLATE, EBML_ID_CHAPTERTRANSLATECODEC, EBML_ID_CHAPTERTRANSLATEEDITIONUID, EBML_ID_CHAPTERTRANSLATEID, EBML_ID_CHAPTERUID, EBML_ID_CLUSTER, EBML_ID_CLUSTERBLOCK, EBML_ID_CLUSTERBLOCKDURATION, EBML_ID_CLUSTERBLOCKGROUP, EBML_ID_CLUSTERCODECSTATE, EBML_ID_CLUSTERPOSITION, EBML_ID_CLUSTERPREVSIZE, EBML_ID_CLUSTERREFERENCEBLOCK, EBML_ID_CLUSTERREFERENCEPRIORITY, EBML_ID_CLUSTERSILENTTRACKNUMBER, EBML_ID_CLUSTERSILENTTRACKS, EBML_ID_CLUSTERSIMPLEBLOCK, EBML_ID_CLUSTERTIMECODE, EBML_ID_CODECDECODEALL, EBML_ID_CODECID, EBML_ID_CODECNAME, EBML_ID_CODECPRIVATE, EBML_ID_COLOURSPACE, EBML_ID_CONTENTCOMPALGO, EBML_ID_CONTENTCOMPRESSION, EBML_ID_CONTENTCOMPSETTINGS, EBML_ID_CONTENTENCALGO, EBML_ID_CONTENTENCKEYID, EBML_ID_CONTENTENCODING, EBML_ID_CONTENTENCODINGORDER, EBML_ID_CONTENTENCODINGS, EBML_ID_CONTENTENCODINGSCOPE, EBML_ID_CONTENTENCODINGTYPE, EBML_ID_CONTENTENCRYPTION, EBML_ID_CONTENTSIGALGO, EBML_ID_CONTENTSIGHASHALGO, EBML_ID_CONTENTSIGKEYID, EBML_ID_CONTENTSIGNATURE, EBML_ID_CUEBLOCKNUMBER, EBML_ID_CUECLUSTERPOSITION, EBML_ID_CUECODECSTATE, EBML_ID_CUEPOINT, EBML_ID_CUES, EBML_ID_CUETIME, EBML_ID_CUETRACK, EBML_ID_CUETRACKPOSITIONS, EBML_ID_DATEUTC, EBML_ID_DEFAULTDURATION, EBML_ID_DISPLAYHEIGHT, EBML_ID_DISPLAYUNIT, EBML_ID_DISPLAYWIDTH, EBML_ID_DOCTYPE, EBML_ID_DOCTYPEREADVERSION, EBML_ID_DOCTYPEVERSION, EBML_ID_DURATION, EBML_ID_EBML, EBML_ID_EBMLMAXIDLENGTH, EBML_ID_EBMLMAXSIZELENGTH, EBML_ID_EBMLREADVERSION, EBML_ID_EBMLVERSION, EBML_ID_EDITIONENTRY, EBML_ID_EDITIONFLAGDEFAULT, EBML_ID_EDITIONFLAGHIDDEN, EBML_ID_EDITIONFLAGORDERED, EBML_ID_EDITIONUID, EBML_ID_FILEDATA, EBML_ID_FILEDESCRIPTION, EBML_ID_FILEMIMETYPE, EBML_ID_FILENAME, EBML_ID_FILEUID, EBML_ID_FLAGDEFAULT, EBML_ID_FLAGENABLED, EBML_ID_FLAGFORCED, EBML_ID_FLAGINTERLACED, EBML_ID_FLAGLACING, EBML_ID_GAMMAVALUE, EBML_ID_INFO, EBML_ID_LANGUAGE, EBML_ID_MAXBLOCKADDITIONID, EBML_ID_MAXCACHE, EBML_ID_MINCACHE, EBML_ID_MUXINGAPP, EBML_ID_NAME, EBML_ID_NEXTFILENAME, EBML_ID_NEXTUID, EBML_ID_OLDSTEREOMODE, EBML_ID_OUTPUTSAMPLINGFREQUENCY, EBML_ID_PIXELCROPBOTTOM, EBML_ID_PIXELCROPLEFT, EBML_ID_PIXELCROPRIGHT, EBML_ID_PIXELCROPTOP, EBML_ID_PIXELHEIGHT, EBML_ID_PIXELWIDTH, EBML_ID_PREVFILENAME, EBML_ID_PREVUID, EBML_ID_SAMPLINGFREQUENCY, EBML_ID_SEEK, EBML_ID_SEEKHEAD, EBML_ID_SEEKID, EBML_ID_SEEKPOSITION, EBML_ID_SEGMENT, EBML_ID_SEGMENTFAMILY, EBML_ID_SEGMENTFILENAME, EBML_ID_SEGMENTUID, EBML_ID_SIMPLETAG, EBML_ID_STEREOMODE, EBML_ID_TAG, EBML_ID_TAGATTACHMENTUID, EBML_ID_TAGCHAPTERUID, EBML_ID_TAGEDITIONUID, EBML_ID_TAGS, EBML_ID_TAGTRACKUID, EBML_ID_TARGETS, EBML_ID_TARGETTYPE, EBML_ID_TARGETTYPEVALUE, EBML_ID_TIMECODESCALE, EBML_ID_TITLE, EBML_ID_TRACKENTRY, EBML_ID_TRACKNUMBER, EBML_ID_TRACKS, EBML_ID_TRACKTIMECODESCALE, EBML_ID_TRACKTYPE, EBML_ID_TRACKUID, EBML_ID_VIDEO, EBML_ID_WRITINGAPP, EBMLdate2unix(), EBMLidName(), getEBMLelement(), HandleEMBLClusterBlock(), HandleEMBLSimpleTag(), readEBMLelementData(), getid3_handler\saveAttachment(), TargetTypeValue(), getid3_lib\trimNullByte(), and unhandledElement().
Referenced by Analyze().
|
private |
Definition at line 1279 of file module.audio-video.matroska.php.
References $data, and EnsureBufferHasEnoughData().
Referenced by getEBMLelement(), HandleEMBLClusterBlock(), and parseEBML().
|
private |
Definition at line 1247 of file module.audio-video.matroska.php.
References $EBMLbuffer_offset, and EBML2Int().
Referenced by getEBMLelement(), and HandleEMBLClusterBlock().
|
static |
Definition at line 1492 of file module.audio-video.matroska.php.
References $target_type.
Referenced by parseEBML().
|
private |
Definition at line 1324 of file module.audio-video.matroska.php.
References getid3_handler\warning().
Referenced by HandleEMBLSimpleTag(), and parseEBML().
|
private |
Definition at line 226 of file module.audio-video.matroska.php.
Referenced by EnsureBufferHasEnoughData(), getEBMLelement(), HandleEMBLClusterBlock(), and parseEBML().
|
private |
Definition at line 223 of file module.audio-video.matroska.php.
|
private |
Definition at line 225 of file module.audio-video.matroska.php.
|
private |
Definition at line 224 of file module.audio-video.matroska.php.
Referenced by readEBMLint().
|
static |
Definition at line 219 of file module.audio-video.matroska.php.
|
static |
Definition at line 220 of file module.audio-video.matroska.php.
|
private |
Definition at line 227 of file module.audio-video.matroska.php.