修改ref.first判断位置

This commit is contained in:
Waken 2023-12-13 17:20:10 +08:00
parent b4a1997c63
commit 2a91a87255
1 changed files with 7 additions and 5 deletions

View File

@ -110,17 +110,19 @@ void DecoderImp::onDecode(int stream, int codecid, int flags, int64_t pts, int64
if (!ref.first) { if (!ref.first) {
onTrack(stream, Factory::getTrackByCodecId(codec, 8000, 1, 16)); onTrack(stream, Factory::getTrackByCodecId(codec, 8000, 1, 16));
} }
if (!ref.first) {
WarnL << "not support codec :" << getCodecName(codec);
return;
}
auto frame = Factory::getFrameFromPtr(codec, (char *)data, bytes, dts, pts); auto frame = Factory::getFrameFromPtr(codec, (char *)data, bytes, dts, pts);
if (getTrackType(codec) != TrackVideo) { if (getTrackType(codec) != TrackVideo) {
onFrame(stream, frame); onFrame(stream, frame);
return; return;
} }
if(ref.first){
ref.second.inputFrame(frame, [&](uint64_t dts, uint64_t pts, const Buffer::Ptr &buffer, bool) { ref.second.inputFrame(frame, [&](uint64_t dts, uint64_t pts, const Buffer::Ptr &buffer, bool) {
onFrame(stream, Factory::getFrameFromBuffer(codec, buffer, dts, pts)); onFrame(stream, Factory::getFrameFromBuffer(codec, buffer, dts, pts));
}); });
} }
}
#else #else
void DecoderImp::onDecode(int stream,int codecid,int flags,int64_t pts,int64_t dts,const void *data,size_t bytes) {} void DecoderImp::onDecode(int stream,int codecid,int flags,int64_t pts,int64_t dts,const void *data,size_t bytes) {}
void DecoderImp::onStream(int stream,int codecid,const void *extra,size_t bytes,int finish) {} void DecoderImp::onStream(int stream,int codecid,const void *extra,size_t bytes,int finish) {}