From cd1e222e4a922778f97feb50dba6ee1f4e897d92 Mon Sep 17 00:00:00 2001 From: eagleychen Date: Tue, 31 Dec 2024 17:40:20 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0flushcache?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ijkmedia/ijkplayer/ff_ffplay.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/ijkmedia/ijkplayer/ff_ffplay.c b/ijkmedia/ijkplayer/ff_ffplay.c index ca85e44c..dcb81e44 100755 --- a/ijkmedia/ijkplayer/ff_ffplay.c +++ b/ijkmedia/ijkplayer/ff_ffplay.c @@ -275,8 +275,8 @@ static void packet_queue_flush_videocache(PacketQueue *q) #ifdef FFP_MERGE av_freep(&pkt); #else - pkt->next = q->recycle_pkt; - q->recycle_pkt = pkt; +// pkt->next = q->recycle_pkt; +// q->recycle_pkt = pkt; #endif } // q->last_pkt = NULL; @@ -600,6 +600,9 @@ static int convert_image(FFPlayer *ffp, AVFrame *src_frame, int64_t src_frame_pt static int decoder_decode_frame(FFPlayer *ffp, Decoder *d, AVFrame *frame, AVSubtitle *sub) { int ret = AVERROR(EAGAIN); + // 这里没有 AV_FRAME_DATA_SEI,可能需要使用其他标识符 +// AVFrameSideData *sei_data_frame = av_frame_get_side_data(frame, AV_FRAME_DATA_NEW_EXTRADATA); + for (;;) { AVPacket pkt; @@ -3746,6 +3749,7 @@ static int read_thread(void *arg) // } if (ic->iformat->name != NULL && strcmp(ic->iformat->name, "flv") == 0 && is->video_st && is->video_st->codecpar) { +// AVPacketSideData *sei_data = av_packet_get_side_data(pkt, AV_PKT_DATA_NEW_EXTRADATA, NULL); AVCodecParameters *in_codecpar = is->video_st->codecpar; // if (in_codecpar->codec_type == AVMEDIA_TYPE_VIDEO && in_codecpar->codec_id == AV_CODEC_ID_H264) { if (pkt->stream_index == is->video_stream) {