diff --git a/libeplayer3/container/container_ffmpeg.c b/libeplayer3/container/container_ffmpeg.c index 74274f3..b450125 100644 --- a/libeplayer3/container/container_ffmpeg.c +++ b/libeplayer3/container/container_ffmpeg.c @@ -780,7 +780,19 @@ static void FFMPEGThread(Context_t *context) } } - if (!isWaitingForFinish && (ffmpegStatus = av_read_frame(avContextTab[cAVIdx], &packet)) == 0) + if (bufferSize > 0) + { + LinuxDvbBuffSetStamp(stamp); + } + + if (!isWaitingForFinish) + { + releaseMutex(__FILE__, __FUNCTION__, __LINE__); + ffmpegStatus = av_read_frame(avContextTab[cAVIdx], &packet); + getMutex(__FILE__, __FUNCTION__, __LINE__); + } + + if (!isWaitingForFinish && (ffmpegStatus == 0)) { int64_t pts = 0; int64_t dts = 0;