diff --git a/framework/base/media/AVAFPacket.cpp b/framework/base/media/AVAFPacket.cpp index ec16e7aab..40942bbf7 100644 --- a/framework/base/media/AVAFPacket.cpp +++ b/framework/base/media/AVAFPacket.cpp @@ -69,7 +69,7 @@ int64_t AVAFPacket::getSize() return mpkt->size; } -const AVPacket *AVAFPacket::ToAVPacket() +AVPacket *AVAFPacket::ToAVPacket() { return mpkt; } @@ -100,7 +100,7 @@ AVAFFrame::AVAFFrame(AVFrame **frame, IAFFrame::FrameType type) : mType(type) AVAFFrame::AVAFFrame(AVFrame *frame, FrameType type) : mAvFrame(av_frame_clone(frame)), - mType(type) + mType(type) { assert(mAvFrame != nullptr); copyInfo(); diff --git a/framework/base/media/AVAFPacket.h b/framework/base/media/AVAFPacket.h index 2934c8e36..4ca4cbff0 100644 --- a/framework/base/media/AVAFPacket.h +++ b/framework/base/media/AVAFPacket.h @@ -30,7 +30,7 @@ class AVAFPacket : public IAFPacket { int64_t getSize() override; - const AVPacket *ToAVPacket(); + AVPacket *ToAVPacket(); explicit operator AVPacket *(); diff --git a/framework/codec/avcodecDecoder.cpp b/framework/codec/avcodecDecoder.cpp index 67bfaee0f..9e5437579 100644 --- a/framework/codec/avcodecDecoder.cpp +++ b/framework/codec/avcodecDecoder.cpp @@ -251,7 +251,7 @@ namespace Cicada { int avcodecDecoder::enqueue_decoder(unique_ptr &pPacket) { int ret; - const AVPacket *pkt = nullptr; + AVPacket *pkt = nullptr; if (pPacket) { auto *avAFPacket = dynamic_cast(pPacket.get()); @@ -261,6 +261,8 @@ namespace Cicada { // TODO: tobe impl } else { pkt = avAFPacket->ToAVPacket(); + pkt->pts = pPacket->getInfo().pts; + pkt->dts = pPacket->getInfo().dts; assert(pkt != nullptr); } }