Some edits to FLV parsing and RTMP fixes... not quite working yet (in Flash player, that is...)
This commit is contained in:
parent
d76f7f5c46
commit
353bc8aa66
2 changed files with 25 additions and 3 deletions
|
@ -43,6 +43,27 @@ bool FLV::is_header(char * header){
|
|||
return true;
|
||||
}//FLV::is_header
|
||||
|
||||
/// True if current tag is init data for this media type.
|
||||
bool FLV::Tag::isInitData(){
|
||||
switch (data[0]){
|
||||
case 0x09:
|
||||
switch (data[11] & 0xF0){
|
||||
case 0x50: return true; break;
|
||||
}
|
||||
if ((data[11] & 0x0F) == 7){
|
||||
switch (data[12]){
|
||||
case 0: return true; break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 0x08:
|
||||
if ((data[12] == 0) && ((data[11] & 0xF0) == 0xA0)){
|
||||
return true;
|
||||
}
|
||||
break;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/// Returns a std::string describing the tag in detail.
|
||||
/// The string includes information about whether the tag is
|
||||
|
|
|
@ -22,6 +22,7 @@ namespace FLV {
|
|||
int len; ///< Actual length of tag.
|
||||
bool isKeyframe; ///< True if current tag is a video keyframe.
|
||||
char * data; ///< Pointer to tag buffer.
|
||||
bool isInitData(); ///< True if current tag is init data for this media type.
|
||||
std::string tagType(); ///< Returns a std::string describing the tag in detail.
|
||||
unsigned int tagTime(); ///< Returns the 32-bit timestamp of this tag.
|
||||
void tagTime(unsigned int T); ///< Sets the 32-bit timestamp of this tag.
|
||||
|
|
Loading…
Add table
Reference in a new issue