优化函数命名

isCfgFrame -> isConfigFrame
getAacCfg -> getConfig
This commit is contained in:
xia-chu 2023-07-22 19:40:28 +08:00
parent 780a1eb9fc
commit 3e9a8b9d8b
13 changed files with 24 additions and 19 deletions

View File

@ -246,7 +246,7 @@ AACTrack::AACTrack(const string &aac_cfg) {
onReady(); onReady();
} }
const string &AACTrack::getAacCfg() const { const string &AACTrack::getConfig() const {
return _cfg; return _cfg;
} }
@ -342,7 +342,7 @@ Sdp::Ptr AACTrack::getSdp() {
WarnL << getCodecName() << " Track未准备好"; WarnL << getCodecName() << " Track未准备好";
return nullptr; return nullptr;
} }
return std::make_shared<AACSdp>(getAacCfg(), getAudioSampleRate(), getAudioChannel(), getBitRate() / 1024); return std::make_shared<AACSdp>(getConfig(), getAudioSampleRate(), getAudioChannel(), getBitRate() / 1024);
} }
}//namespace mediakit }//namespace mediakit

View File

@ -44,7 +44,7 @@ public:
/** /**
* aac * aac
*/ */
const std::string &getAacCfg() const; const std::string &getConfig() const;
bool ready() override; bool ready() override;
CodecId getCodecId() const override; CodecId getCodecId() const override;

View File

@ -16,7 +16,7 @@ using namespace toolkit;
namespace mediakit { namespace mediakit {
static string getAacCfg(const RtmpPacket &thiz) { static string getConfig(const RtmpPacket &thiz) {
string ret; string ret;
if ((RtmpAudioCodec)thiz.getRtmpCodecId() != RtmpAudioCodec::aac) { if ((RtmpAudioCodec)thiz.getRtmpCodecId() != RtmpAudioCodec::aac) {
return ret; return ret;
@ -30,8 +30,8 @@ static string getAacCfg(const RtmpPacket &thiz) {
} }
void AACRtmpDecoder::inputRtmp(const RtmpPacket::Ptr &pkt) { void AACRtmpDecoder::inputRtmp(const RtmpPacket::Ptr &pkt) {
if (pkt->isCfgFrame()) { if (pkt->isConfigFrame()) {
_aac_cfg = getAacCfg(*pkt); _aac_cfg = getConfig(*pkt);
if (!_aac_cfg.empty()) { if (!_aac_cfg.empty()) {
onGetAAC(nullptr, 0, 0); onGetAAC(nullptr, 0, 0);
} }
@ -79,7 +79,7 @@ AACRtmpEncoder::AACRtmpEncoder(const Track::Ptr &track) {
void AACRtmpEncoder::makeConfigPacket() { void AACRtmpEncoder::makeConfigPacket() {
if (_track && _track->ready()) { if (_track && _track->ready()) {
//从track中和获取aac配置信息 //从track中和获取aac配置信息
_aac_cfg = _track->getAacCfg(); _aac_cfg = _track->getConfig();
} }
if (!_aac_cfg.empty()) { if (!_aac_cfg.empty()) {

View File

@ -64,7 +64,7 @@ AACRtpDecoder::AACRtpDecoder(const Track::Ptr &track) {
if (!aacTrack || !aacTrack->ready()) { if (!aacTrack || !aacTrack->ready()) {
WarnL << "该aac track无效!"; WarnL << "该aac track无效!";
} else { } else {
_aac_cfg = aacTrack->getAacCfg(); _aac_cfg = aacTrack->getConfig();
} }
obtainFrame(); obtainFrame();
} }

View File

@ -56,7 +56,7 @@ static bool getH264Config(const RtmpPacket &thiz, string &sps, string &pps) {
} }
void H264RtmpDecoder::inputRtmp(const RtmpPacket::Ptr &pkt) { void H264RtmpDecoder::inputRtmp(const RtmpPacket::Ptr &pkt) {
if (pkt->isCfgFrame()) { if (pkt->isConfigFrame()) {
//缓存sps pps后续插入到I帧之前 //缓存sps pps后续插入到I帧之前
if (!getH264Config(*pkt, _sps, _pps)) { if (!getH264Config(*pkt, _sps, _pps)) {
WarnL << "get h264 sps/pps failed, rtmp packet is: " << hexdump(pkt->data(), pkt->size()); WarnL << "get h264 sps/pps failed, rtmp packet is: " << hexdump(pkt->data(), pkt->size());

View File

@ -124,7 +124,7 @@ void H265RtmpDecoder::inputRtmp(const RtmpPacket::Ptr &pkt) {
} }
// 国内扩展(12) H265 rtmp // 国内扩展(12) H265 rtmp
if (pkt->isCfgFrame()) { if (pkt->isConfigFrame()) {
#ifdef ENABLE_MP4 #ifdef ENABLE_MP4
string config; string config;
if (getH265ConfigFrame(*pkt, config)) { if (getH265ConfigFrame(*pkt, config)) {

View File

@ -247,7 +247,7 @@ Frame::Ptr MP4Demuxer::makeFrame(uint32_t track_id, const Buffer::Ptr &buf, int6
AACTrack::Ptr track = dynamic_pointer_cast<AACTrack>(it->second); AACTrack::Ptr track = dynamic_pointer_cast<AACTrack>(it->second);
assert(track); assert(track);
//加上adts头 //加上adts头
dumpAacConfig(track->getAacCfg(), buf->size() - DATA_OFFSET, (uint8_t *) buf->data() + (DATA_OFFSET - ADTS_HEADER_LEN), ADTS_HEADER_LEN); dumpAacConfig(track->getConfig(), buf->size() - DATA_OFFSET, (uint8_t *) buf->data() + (DATA_OFFSET - ADTS_HEADER_LEN), ADTS_HEADER_LEN);
ret = std::make_shared<FrameWrapper<FrameFromPtr> >(buf, (uint64_t)dts, (uint64_t)pts, ADTS_HEADER_LEN, DATA_OFFSET - ADTS_HEADER_LEN, codec); ret = std::make_shared<FrameWrapper<FrameFromPtr> >(buf, (uint64_t)dts, (uint64_t)pts, ADTS_HEADER_LEN, DATA_OFFSET - ADTS_HEADER_LEN, codec);
break; break;
} }

View File

@ -234,8 +234,8 @@ bool MP4MuxerInterface::addTrack(const Track::Ptr &track) {
audio_track->getAudioChannel(), audio_track->getAudioChannel(),
audio_track->getAudioSampleBit() * audio_track->getAudioChannel(), audio_track->getAudioSampleBit() * audio_track->getAudioChannel(),
audio_track->getAudioSampleRate(), audio_track->getAudioSampleRate(),
audio_track->getAacCfg().data(), audio_track->getConfig().data(),
audio_track->getAacCfg().size()); audio_track->getConfig().size());
if (track_id < 0) { if (track_id < 0) {
WarnL << "添加AAC Track失败:" << track_id; WarnL << "添加AAC Track失败:" << track_id;
return false; return false;

View File

@ -62,7 +62,7 @@ bool FlvPlayer::onRecvMetadata(const AMFValue &metadata) {
} }
void FlvPlayer::onRecvRtmpPacket(RtmpPacket::Ptr packet) { void FlvPlayer::onRecvRtmpPacket(RtmpPacket::Ptr packet) {
if (!_play_result && !packet->isCfgFrame()) { if (!_play_result && !packet->isConfigFrame()) {
_play_result = true; _play_result = true;
onPlayResult(SockException(Err_success, "play http-flv success")); onPlayResult(SockException(Err_success, "play http-flv success"));
} }

View File

@ -167,7 +167,7 @@ bool RtmpPacket::isVideoKeyFrame() const {
return frame_type == RtmpFrameType::key_frame; return frame_type == RtmpFrameType::key_frame;
} }
bool RtmpPacket::isCfgFrame() const { bool RtmpPacket::isConfigFrame() const {
switch (type_id) { switch (type_id) {
case MSG_AUDIO: { case MSG_AUDIO: {
return (RtmpAudioCodec)getRtmpCodecId() == RtmpAudioCodec::aac && (RtmpAACPacketType)buffer[1] == RtmpAACPacketType::aac_config_header; return (RtmpAudioCodec)getRtmpCodecId() == RtmpAudioCodec::aac && (RtmpAACPacketType)buffer[1] == RtmpAACPacketType::aac_config_header;

View File

@ -169,10 +169,15 @@ public:
} }
void clear(); void clear();
// video config frame和key frame都返回true // video config frame和key frame都返回true
// 用于gop缓存定位
bool isVideoKeyFrame() const; bool isVideoKeyFrame() const;
// aac config或h264/h265 config
bool isCfgFrame() const; // aac config或h264/h265 config返回true支持增强型rtmp
// 用于缓存解码配置信息
bool isConfigFrame() const;
int getRtmpCodecId() const; int getRtmpCodecId() const;
int getAudioSampleRate() const; int getAudioSampleRate() const;
int getAudioSampleBit() const; int getAudioSampleBit() const;

View File

@ -54,7 +54,7 @@ void RtmpMediaSource::onWrite(RtmpPacket::Ptr pkt, bool /*= true*/) {
default: break; default: break;
} }
if (pkt->isCfgFrame()) { if (pkt->isConfigFrame()) {
std::lock_guard<std::recursive_mutex> lock(_mtx); std::lock_guard<std::recursive_mutex> lock(_mtx);
_config_frame_map[pkt->type_id] = pkt; _config_frame_map[pkt->type_id] = pkt;
if (!_ring) { if (!_ring) {

View File

@ -339,7 +339,7 @@ void RtmpPlayer::onMediaData_l(RtmpPacket::Ptr chunk_data) {
return; return;
} }
if (chunk_data->isCfgFrame()) { if (chunk_data->isConfigFrame()) {
//输入配置帧以便初始化完成各个track //输入配置帧以便初始化完成各个track
onRtmpPacket(chunk_data); onRtmpPacket(chunk_data);
} else { } else {