diff options
author | Piotr Srebrny <piotr.srebrny@qt.io> | 2022-03-28 12:49:25 +0200 |
---|---|---|
committer | Piotr Srebrny <piotr.srebrny@qt.io> | 2022-04-07 13:02:42 +0200 |
commit | e63a4582db68d438d7fa9a47cb8bb030950635d9 (patch) | |
tree | 56e23c4e6b67c15826b831d2bb0f63bd5849e7f7 /src/plugins/multimedia/ffmpeg/qffmpegvideoframeencoder.cpp | |
parent | 23888e00fb6ce76765dd0da772eee09e1133a264 (diff) |
Replace av_err2str macro that does not compile on MSVC
The syntax of av_err2str macro does not work with MSVC compiler due to
a non-standard explicit type conversion syntax. This patch replaces it
with a simple function that additionally takes care of memory
management of the allocated string.
Change-Id: Ic443fab4a4db987ca0dcba0d94ef9959e8ee200e
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Diffstat (limited to 'src/plugins/multimedia/ffmpeg/qffmpegvideoframeencoder.cpp')
-rw-r--r-- | src/plugins/multimedia/ffmpeg/qffmpegvideoframeencoder.cpp | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/plugins/multimedia/ffmpeg/qffmpegvideoframeencoder.cpp b/src/plugins/multimedia/ffmpeg/qffmpegvideoframeencoder.cpp index 5b18c8d41..32ff70b6d 100644 --- a/src/plugins/multimedia/ffmpeg/qffmpegvideoframeencoder.cpp +++ b/src/plugins/multimedia/ffmpeg/qffmpegvideoframeencoder.cpp @@ -305,7 +305,7 @@ void QFFmpeg::VideoFrameEncoder::initWithFormatContext(AVFormatContext *formatCo int res = avcodec_open2(d->codecContext, d->codec, &opts); if (res < 0) { avcodec_free_context(&d->codecContext); - qWarning() << "Couldn't open codec for writing" << av_err2str(res); + qWarning() << "Couldn't open codec for writing" << err2str(res); d = {}; return; } @@ -331,7 +331,7 @@ int VideoFrameEncoder::sendFrame(AVFrame *frame) f->format = d->sourceSWFormat; int err = av_hwframe_transfer_data(f, frame, 0); if (err < 0) { - qCDebug(qLcVideoFrameEncoder) << "Error transferring frame data to surface." << av_err2str(err); + qCDebug(qLcVideoFrameEncoder) << "Error transferring frame data to surface." << err2str(err); return err; } av_frame_free(&frame); @@ -357,7 +357,7 @@ int VideoFrameEncoder::sendFrame(AVFrame *frame) return AVERROR(ENOMEM); int err = av_hwframe_get_buffer(hwFramesContext, f, 0); if (err < 0) { - qCDebug(qLcVideoFrameEncoder) << "Error getting HW buffer" << av_err2str(err); + qCDebug(qLcVideoFrameEncoder) << "Error getting HW buffer" << err2str(err); return err; } else { qCDebug(qLcVideoFrameEncoder) << "got HW buffer"; @@ -368,7 +368,7 @@ int VideoFrameEncoder::sendFrame(AVFrame *frame) } err = av_hwframe_transfer_data(f, frame, 0); if (err < 0) { - qCDebug(qLcVideoFrameEncoder) << "Error transferring frame data to surface." << av_err2str(err); + qCDebug(qLcVideoFrameEncoder) << "Error transferring frame data to surface." << err2str(err); return err; } av_frame_free(&frame); @@ -391,7 +391,7 @@ AVPacket *VideoFrameEncoder::retrievePacket() if (ret < 0) { av_packet_free(&packet); if (ret != AVERROR(EOF) && ret != AVERROR(EAGAIN) && ret != AVERROR_EOF) - qCDebug(qLcVideoFrameEncoder) << "Error receiving packet" << ret << av_err2str(ret); + qCDebug(qLcVideoFrameEncoder) << "Error receiving packet" << ret << err2str(ret); return nullptr; } qCDebug(qLcVideoFrameEncoder) << "got a packet" << packet->pts << timeStamp(packet->pts, d->stream->time_base); |