diff options
author | Artem Dyomin <artem.dyomin@qt.io> | 2023-08-01 17:27:41 +0200 |
---|---|---|
committer | Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> | 2023-08-03 09:44:52 +0000 |
commit | be547a2d14766e41baddedc75313f6a7a330623f (patch) | |
tree | 3fa9bd646a75206b82214cc34a02c128aee36273 | |
parent | 506a6f855a1e04bdfd9c6dada5f7f1fad37de01d (diff) |
Implement debug output for AVRational
We print AVRational in several places, let's reuse the code.
Change-Id: Idbadae656af54337350bb7872d75f309592b010d
Reviewed-by: Pavel Dubsky <pavel.dubsky@qt.io>
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
Reviewed-by: Jøger Hansegård <joger.hansegard@qt.io>
(cherry picked from commit a992f2dc2fbe71f114ca4b7d69689c745d754e0e)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
-rw-r--r-- | src/plugins/multimedia/ffmpeg/qffmpeg.cpp | 6 | ||||
-rw-r--r-- | src/plugins/multimedia/ffmpeg/qffmpeg_p.h | 2 | ||||
-rw-r--r-- | src/plugins/multimedia/ffmpeg/qffmpegencoder.cpp | 3 | ||||
-rw-r--r-- | src/plugins/multimedia/ffmpeg/qffmpegvideoframeencoder.cpp | 11 |
4 files changed, 13 insertions, 9 deletions
diff --git a/src/plugins/multimedia/ffmpeg/qffmpeg.cpp b/src/plugins/multimedia/ffmpeg/qffmpeg.cpp index a64358481..8755cde2b 100644 --- a/src/plugins/multimedia/ffmpeg/qffmpeg.cpp +++ b/src/plugins/multimedia/ffmpeg/qffmpeg.cpp @@ -350,4 +350,10 @@ std::string cvFormatToString(uint32_t cvFormat) } // namespace QFFmpeg +QDebug operator<<(QDebug dbg, const AVRational &value) +{ + dbg << value.num << "/" << value.den; + return dbg; +} + QT_END_NAMESPACE diff --git a/src/plugins/multimedia/ffmpeg/qffmpeg_p.h b/src/plugins/multimedia/ffmpeg/qffmpeg_p.h index 2dc97c7e1..f11bfbe80 100644 --- a/src/plugins/multimedia/ffmpeg/qffmpeg_p.h +++ b/src/plugins/multimedia/ffmpeg/qffmpeg_p.h @@ -205,6 +205,8 @@ std::string cvFormatToString(uint32_t format); #endif } +QDebug operator<<(QDebug, const AVRational &); + QT_END_NAMESPACE #endif diff --git a/src/plugins/multimedia/ffmpeg/qffmpegencoder.cpp b/src/plugins/multimedia/ffmpeg/qffmpegencoder.cpp index a9579c417..0351cea6a 100644 --- a/src/plugins/multimedia/ffmpeg/qffmpegencoder.cpp +++ b/src/plugins/multimedia/ffmpeg/qffmpegencoder.cpp @@ -326,8 +326,7 @@ void AudioEncoder::open() if (stream->time_base.num != 1 || stream->time_base.den != format.sampleRate()) { qCDebug(qLcFFmpegEncoder) << "Most likely, av_format_write_header changed time base from" - << 1 << "/" << format.sampleRate() << "to" - << stream->time_base.num << "/" << stream->time_base.den; + << 1 << "/" << format.sampleRate() << "to" << stream->time_base; } codecContext->time_base = stream->time_base; diff --git a/src/plugins/multimedia/ffmpeg/qffmpegvideoframeencoder.cpp b/src/plugins/multimedia/ffmpeg/qffmpegvideoframeencoder.cpp index bbd7f9407..8e3b74929 100644 --- a/src/plugins/multimedia/ffmpeg/qffmpegvideoframeencoder.cpp +++ b/src/plugins/multimedia/ffmpeg/qffmpegvideoframeencoder.cpp @@ -95,12 +95,10 @@ bool VideoFrameEncoder::initCodec() if (m_codec->supported_framerates && qLcVideoFrameEncoder().isEnabled(QtDebugMsg)) for (auto rate = m_codec->supported_framerates; rate->num && rate->den; ++rate) - qCDebug(qLcVideoFrameEncoder) - << "supported frame rate:" << rate->num << "/" << rate->den; + qCDebug(qLcVideoFrameEncoder) << "supported frame rate:" << *rate; m_codecFrameRate = adjustFrameRate(m_codec->supported_framerates, m_settings.videoFrameRate()); - qCDebug(qLcVideoFrameEncoder) << "Adjusted frame rate:" << m_codecFrameRate.num << "/" - << m_codecFrameRate.den; + qCDebug(qLcVideoFrameEncoder) << "Adjusted frame rate:" << m_codecFrameRate; return true; } @@ -203,7 +201,7 @@ bool VideoFrameEncoder::open() return false; } qCDebug(qLcVideoFrameEncoder) << "video codec opened" << res << "time base" - << m_codecContext->time_base.num << m_codecContext->time_base.den; + << m_codecContext->time_base; return true; } @@ -300,8 +298,7 @@ int VideoFrameEncoder::sendFrame(AVFrameUPtr frame) frame = std::move(f); } - qCDebug(qLcVideoFrameEncoder) << "sending frame" << pts << "*" << timeBase.num << "/" - << timeBase.den; + qCDebug(qLcVideoFrameEncoder) << "sending frame" << pts << "*" << timeBase; setAVFrameTime(*frame, pts, timeBase); return avcodec_send_frame(m_codecContext.get(), frame.get()); |