Ogg fixed
This commit is contained in:
parent
31bfc8223e
commit
632b3ff594
2 changed files with 30 additions and 12 deletions
|
@ -66,7 +66,7 @@ namespace vorbis{
|
|||
|
||||
char header::getBlockSize0(){
|
||||
if (getHeaderType() == 1){
|
||||
return data[28]>>4;
|
||||
return (data[28]>>4) & 0x0F;
|
||||
}else{
|
||||
return 0;
|
||||
}
|
||||
|
@ -106,12 +106,24 @@ namespace vorbis{
|
|||
bool header::validate(){
|
||||
switch(getHeaderType()){
|
||||
case 1://ID header
|
||||
if (datasize!=30) return false;
|
||||
if (getVorbisVersion()!=0) return false;
|
||||
if (getAudioChannels()<=0) return false;
|
||||
if (getAudioSampleRate()<=0) return false;
|
||||
if (getBlockSize0()>getBlockSize1()) return false;
|
||||
if (getFramingFlag()!=1) return false;
|
||||
if (datasize!=30){
|
||||
return false;
|
||||
}
|
||||
if (getVorbisVersion()!=0){
|
||||
return false;
|
||||
}
|
||||
if (getAudioChannels()<=0){
|
||||
return false;
|
||||
};
|
||||
if (getAudioSampleRate()<=0) {
|
||||
return false;
|
||||
}
|
||||
if (getBlockSize0()>getBlockSize1()){
|
||||
return false;
|
||||
};
|
||||
if (getFramingFlag()!=1){
|
||||
return false;
|
||||
};
|
||||
break;
|
||||
case 3://comment header
|
||||
break;
|
||||
|
@ -140,7 +152,7 @@ namespace vorbis{
|
|||
}else{
|
||||
return false;
|
||||
}
|
||||
return validate();
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue