summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/plugins/multimedia/ffmpeg/qffmpegdecoder.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/plugins/multimedia/ffmpeg/qffmpegdecoder.cpp b/src/plugins/multimedia/ffmpeg/qffmpegdecoder.cpp
index 7bfc8b31d..399501c41 100644
--- a/src/plugins/multimedia/ffmpeg/qffmpegdecoder.cpp
+++ b/src/plugins/multimedia/ffmpeg/qffmpegdecoder.cpp
@@ -663,6 +663,12 @@ void VideoRenderer::loop()
// qCDebug(qLcVideoRenderer) << "RHI:" << accel.isNull() << accel.rhi() << sink->rhi();
// in practice this only happens with mediacodec
+#ifdef Q_OS_ANDROID
+ // QTBUG-108446
+ // In general case, just creation of frames context is not correct since
+ // frames may require additional specific data for hw contexts, so
+ // just setting of hw_frames_ctx is not enough.
+ // TODO: investigate the case in order to remove or fix the code.
if (frame.codec()->hwAccel() && !frame.avFrame()->hw_frames_ctx) {
HWAccel *hwaccel = frame.codec()->hwAccel();
AVFrame *avframe = frame.avFrame();
@@ -672,6 +678,7 @@ void VideoRenderer::loop()
avframe->hw_frames_ctx = av_buffer_ref(hwaccel->hwFramesContextAsBuffer());
}
+#endif
QFFmpegVideoBuffer *buffer = new QFFmpegVideoBuffer(frame.takeAVFrame());
QVideoFrameFormat format(buffer->size(), buffer->pixelFormat());