Commit 2adc12c4 by cqm

修复只有aac的Rtmp流无法注册bug

parent 442df29c
...@@ -623,7 +623,7 @@ bool MultiMediaSourceMuxer::onTrackFrame(const Frame::Ptr &frame_in) { ...@@ -623,7 +623,7 @@ bool MultiMediaSourceMuxer::onTrackFrame(const Frame::Ptr &frame_in) {
} }
else if (frame->getTrackType() == TrackAudio) { else if (frame->getTrackType() == TrackAudio) {
if (rtmp) { if (rtmp) {
if (_audio_dec && rtmp->readerCount()) if (_audio_dec && (rtmp->readerCount() || !rtmp->isRegisted()))
_audio_dec->inputFrame(frame, true, false, false); _audio_dec->inputFrame(frame, true, false, false);
rtmp = nullptr; rtmp = nullptr;
} }
......
...@@ -43,7 +43,11 @@ public: ...@@ -43,7 +43,11 @@ public:
int readerCount() const{ int readerCount() const{
return _media_src->readerCount(); return _media_src->readerCount();
} }
bool isRegisted() const { return _is_registed; }
void onRegist(MediaSource& sender, bool regist) override {
MediaSourceEventInterceptor::onRegist(sender, regist);
_is_registed = regist;
}
void addTrackCompleted() override { void addTrackCompleted() override {
RtmpMuxer::addTrackCompleted(); RtmpMuxer::addTrackCompleted();
makeConfigPacket(); makeConfigPacket();
...@@ -76,6 +80,7 @@ public: ...@@ -76,6 +80,7 @@ public:
private: private:
bool _enabled = true; bool _enabled = true;
bool _is_registed = false;
bool _clear_cache = false; bool _clear_cache = false;
ProtocolOption _option; ProtocolOption _option;
RtmpMediaSource::Ptr _media_src; RtmpMediaSource::Ptr _media_src;
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论