Some edits to FLV parsing and RTMP fixes... not quite working yet (in Flash player, that is...)

This commit is contained in:
Thulinma 2011-08-13 03:01:33 +02:00
parent d76f7f5c46
commit 353bc8aa66
2 changed files with 25 additions and 3 deletions

View file

@ -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

View file

@ -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.