Commit 01284323 by Zhou Weimin

忽略AUD帧;

parent c75c8f38
...@@ -378,7 +378,7 @@ void MultiMediaSourceMuxer::inputFrame(const Frame::Ptr &frame_in) { ...@@ -378,7 +378,7 @@ void MultiMediaSourceMuxer::inputFrame(const Frame::Ptr &frame_in) {
bool MultiMediaSourceMuxer::isEnabled(){ bool MultiMediaSourceMuxer::isEnabled(){
#if defined(ENABLE_RTPPROXY) #if defined(ENABLE_RTPPROXY)
return _muxer->isEnabled() || _ps_rtp_sender return (_muxer->isEnabled() || _ps_rtp_sender);
#endif //ENABLE_RTPPROXY #endif //ENABLE_RTPPROXY
return _muxer->isEnabled(); return _muxer->isEnabled();
} }
......
...@@ -30,10 +30,11 @@ public: ...@@ -30,10 +30,11 @@ public:
typedef std::shared_ptr<H264Frame> Ptr; typedef std::shared_ptr<H264Frame> Ptr;
typedef enum { typedef enum {
NAL_SPS = 7,
NAL_PPS = 8,
NAL_IDR = 5, NAL_IDR = 5,
NAL_SEI = 6, NAL_SEI = 6,
NAL_SPS = 7,
NAL_PPS = 8,
NAL_AUD = 9,
} NalType; } NalType;
H264Frame(){ H264Frame(){
...@@ -179,7 +180,8 @@ public: ...@@ -179,7 +180,8 @@ public:
*/ */
void inputFrame(const Frame::Ptr &frame) override{ void inputFrame(const Frame::Ptr &frame) override{
int type = H264_TYPE(*((uint8_t *)frame->data() + frame->prefixSize())); int type = H264_TYPE(*((uint8_t *)frame->data() + frame->prefixSize()));
if(type == H264Frame::NAL_SPS || type == H264Frame::NAL_PPS || type == H264Frame::NAL_SEI){ if(type == H264Frame::NAL_SPS || type == H264Frame::NAL_PPS || type == H264Frame::NAL_SEI ||
type == H264Frame::NAL_AUD){
//有些设备会把SPS PPS IDR帧当做一个帧打包,所以我们要split一下 //有些设备会把SPS PPS IDR帧当做一个帧打包,所以我们要split一下
splitH264(frame->data(), frame->size(), frame->prefixSize(), [&](const char *ptr, int len, int prefix) { splitH264(frame->data(), frame->size(), frame->prefixSize(), [&](const char *ptr, int len, int prefix) {
H264FrameInternal::Ptr sub_frame = std::make_shared<H264FrameInternal>(frame, (char *)ptr, len, prefix); H264FrameInternal::Ptr sub_frame = std::make_shared<H264FrameInternal>(frame, (char *)ptr, len, prefix);
...@@ -224,6 +226,10 @@ private: ...@@ -224,6 +226,10 @@ private:
VideoTrack::inputFrame(frame); VideoTrack::inputFrame(frame);
} }
break; break;
case H264Frame::NAL_AUD:{
//忽略AUD帧;
}
break;
default: default:
VideoTrack::inputFrame(frame); VideoTrack::inputFrame(frame);
...@@ -326,4 +332,4 @@ private: ...@@ -326,4 +332,4 @@ private:
}; };
}//namespace mediakit }//namespace mediakit
#endif //ZLMEDIAKIT_H264_H #endif //ZLMEDIAKIT_H264_H
\ No newline at end of file
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论