@ -85,6 +85,7 @@ static int aa_read_header(AVFormatContext *s)
AADemuxContext * c = s - > priv_data ;
AADemuxContext * c = s - > priv_data ;
AVIOContext * pb = s - > pb ;
AVIOContext * pb = s - > pb ;
AVStream * st ;
AVStream * st ;
int ret ;
/* parse .aa header */
/* parse .aa header */
avio_skip ( pb , 4 ) ; // file size
avio_skip ( pb , 4 ) ; // file size
@ -118,8 +119,12 @@ static int aa_read_header(AVFormatContext *s)
header_seed = atoi ( val ) ;
header_seed = atoi ( val ) ;
} else if ( ! strcmp ( key , " HeaderKey " ) ) { // this looks like "1234567890 1234567890 1234567890 1234567890"
} else if ( ! strcmp ( key , " HeaderKey " ) ) { // this looks like "1234567890 1234567890 1234567890 1234567890"
av_log ( s , AV_LOG_DEBUG , " HeaderKey is <%s> \n " , val ) ;
av_log ( s , AV_LOG_DEBUG , " HeaderKey is <%s> \n " , val ) ;
sscanf ( val , " % " SCNu32 " % " SCNu32 " % " SCNu32 " % " SCNu32 ,
ret = sscanf ( val , " % " SCNu32 " % " SCNu32 " % " SCNu32 " % " SCNu32 ,
& header_key_part [ 0 ] , & header_key_part [ 1 ] , & header_key_part [ 2 ] , & header_key_part [ 3 ] ) ;
& header_key_part [ 0 ] , & header_key_part [ 1 ] , & header_key_part [ 2 ] , & header_key_part [ 3 ] ) ;
if ( ret ! = 4 )
return AVERROR_INVALIDDATA ;
for ( idx = 0 ; idx < 4 ; idx + + ) {
for ( idx = 0 ; idx < 4 ; idx + + ) {
AV_WB32 ( & header_key [ idx * 4 ] , header_key_part [ idx ] ) ; // convert each part to BE!
AV_WB32 ( & header_key [ idx * 4 ] , header_key_part [ idx ] ) ; // convert each part to BE!
}
}