const time = require('../time.js');
function hexStrToBitStr(str){
    // 移除0x 以及空格
    str = str.replace(/0x/g,'').replace(/\s/g,'');
    // 转换为二进制
    return parseInt(str,16).toString(2);
}

function parseRtpHeader(hexStr){
    // console.log(hexStr);
    let bitStr = hexStrToBitStr(hexStr);
    let version = parseInt(bitStr.substr(0,2),2);
    let padding = bitStr.substr(2,1);
    let extension = bitStr.substr(3,1);
    let csrcCount = bitStr.substr(4,4);
    let marker = bitStr.substr(8,1);
    let payloadType = parseInt(bitStr.substr(9,7),2);
    let sequenceNumber = parseInt(bitStr.substr(16,16),2);
    let timestamp = parseInt(bitStr.substr(32,32),2);
    // 格式化时间戳
    let _time = time.timestr(timestamp )
    let ssrc = bitStr.substr(64,32);
    let csrc = bitStr.substr(96,32);
    return {
        version,
        padding,
        extension,
        csrcCount,
        marker,
        payloadType,
        sequenceNumber,
        timestamp,
        ssrc,
        csrc,
        time: _time
    }
}



module.exports = {
    parseRtpHeader,

}