diff --git a/src/FFmpegUtilities.h b/src/FFmpegUtilities.h index f095e72a..42358eed 100644 --- a/src/FFmpegUtilities.h +++ b/src/FFmpegUtilities.h @@ -102,16 +102,16 @@ extern "C" { #endif // This wraps an unsafe C macro to be C++ compatible function -inline static const std::string av_make_error_string(int errnum) +inline static const std::string av_err2string(int errnum) { char errbuf[AV_ERROR_MAX_STRING_SIZE]; av_strerror(errnum, errbuf, AV_ERROR_MAX_STRING_SIZE); - return (std::string)errbuf; + return static_cast(errbuf); } // Redefine the C macro to use our new C++ function #undef av_err2str -#define av_err2str(errnum) av_make_error_string(errnum).c_str() +#define av_err2str(errnum) av_err2string(errnum).c_str() // Define this for compatibility #ifndef PixelFormat diff --git a/src/FFmpegWriter.cpp b/src/FFmpegWriter.cpp index d1ad3e63..8707756c 100644 --- a/src/FFmpegWriter.cpp +++ b/src/FFmpegWriter.cpp @@ -67,7 +67,7 @@ static int set_hwframe_ctx(AVCodecContext *ctx, AVBufferRef *hw_device_ctx, int6 frames_ctx->initial_pool_size = 20; if ((err = av_hwframe_ctx_init(hw_frames_ref)) < 0) { std::clog << "Failed to initialize HW frame context. " << - "Error code: " << av_err2str(err) << "\n"; + "Error code: " << av_err2string(err) << "\n"; av_buffer_unref(&hw_frames_ref); return err; } @@ -882,7 +882,7 @@ void FFmpegWriter::flush_encoders() { #endif // IS_FFMPEG_3_2 if (error_code < 0) { - ZmqLogger::Instance()->AppendDebugMethod("FFmpegWriter::flush_encoders ERROR [" + (std::string) av_err2str(error_code) + "]", "error_code", error_code); + ZmqLogger::Instance()->AppendDebugMethod("FFmpegWriter::flush_encoders ERROR [" + av_err2string(error_code) + "]", "error_code", error_code); } if (!got_packet) { break; @@ -895,7 +895,7 @@ void FFmpegWriter::flush_encoders() { // Write packet error_code = av_interleaved_write_frame(oc, &pkt); if (error_code < 0) { - ZmqLogger::Instance()->AppendDebugMethod("FFmpegWriter::flush_encoders ERROR [" + (std::string)av_err2str(error_code) + "]", "error_code", error_code); + ZmqLogger::Instance()->AppendDebugMethod("FFmpegWriter::flush_encoders ERROR [" + av_err2string(error_code) + "]", "error_code", error_code); } } @@ -918,7 +918,7 @@ void FFmpegWriter::flush_encoders() { #endif if (error_code < 0) { ZmqLogger::Instance()->AppendDebugMethod( - "FFmpegWriter::flush_encoders ERROR [" + (std::string) av_err2str(error_code) + "]", + "FFmpegWriter::flush_encoders ERROR [" + av_err2string(error_code) + "]", "error_code", error_code); } if (!got_packet) { @@ -940,7 +940,7 @@ void FFmpegWriter::flush_encoders() { error_code = av_interleaved_write_frame(oc, &pkt); if (error_code < 0) { ZmqLogger::Instance()->AppendDebugMethod( - "FFmpegWriter::flush_encoders ERROR [" + (std::string) av_err2str(error_code) + "]", + "FFmpegWriter::flush_encoders ERROR [" + av_err2string(error_code) + "]", "error_code", error_code); } @@ -1492,7 +1492,7 @@ void FFmpegWriter::open_video(AVFormatContext *oc, AVStream *st) { int err; if ((err = set_hwframe_ctx(video_codec_ctx, hw_device_ctx, info.width, info.height)) < 0) { ZmqLogger::Instance()->AppendDebugMethod("FFmpegWriter::open_video (set_hwframe_ctx) ERROR faled to set hwframe context", - "width", info.width, "height", info.height, av_err2str(err), -1); + "width", info.width, "height", info.height, av_err2string(err), -1); } } #endif // USE_HW_ACCEL @@ -1598,7 +1598,7 @@ void FFmpegWriter::write_audio_packets(bool is_final) { // Fill input frame with sample data int error_code = avcodec_fill_audio_frame(audio_frame, channels_in_frame, AV_SAMPLE_FMT_S16, (uint8_t *) all_queued_samples, all_queued_samples_size, 0); if (error_code < 0) { - ZmqLogger::Instance()->AppendDebugMethod("FFmpegWriter::write_audio_packets ERROR [" + (std::string) av_err2str(error_code) + "]", "error_code", error_code); + ZmqLogger::Instance()->AppendDebugMethod("FFmpegWriter::write_audio_packets ERROR [" + av_err2string(error_code) + "]", "error_code", error_code); } // Do not convert audio to planar format (yet). We need to keep everything interleaved at this point. @@ -1885,7 +1885,7 @@ void FFmpegWriter::write_audio_packets(bool is_final) { } if (error_code < 0) { - ZmqLogger::Instance()->AppendDebugMethod("FFmpegWriter::write_audio_packets ERROR [" + (std::string) av_err2str(error_code) + "]", "error_code", error_code); + ZmqLogger::Instance()->AppendDebugMethod("FFmpegWriter::write_audio_packets ERROR [" + av_err2string(error_code) + "]", "error_code", error_code); } // Increment PTS (no pkt.duration, so calculate with maths) @@ -2035,7 +2035,7 @@ bool FFmpegWriter::write_video_packet(std::shared_ptr frame, AVFrame *fra /* write the compressed frame in the media file */ int error_code = av_interleaved_write_frame(oc, &pkt); if (error_code < 0) { - ZmqLogger::Instance()->AppendDebugMethod("FFmpegWriter::write_video_packet ERROR [" + (std::string) av_err2str(error_code) + "]", "error_code", error_code); + ZmqLogger::Instance()->AppendDebugMethod("FFmpegWriter::write_video_packet ERROR [" + av_err2string(error_code) + "]", "error_code", error_code); return false; } @@ -2116,7 +2116,7 @@ bool FFmpegWriter::write_video_packet(std::shared_ptr frame, AVFrame *fra // Write video packet (older than FFmpeg 3.2) error_code = avcodec_encode_video2(video_codec_ctx, &pkt, frame_final, &got_packet_ptr); if (error_code != 0) { - ZmqLogger::Instance()->AppendDebugMethod("FFmpegWriter::write_video_packet ERROR [" + (std::string) av_err2str(error_code) + "]", "error_code", error_code); + ZmqLogger::Instance()->AppendDebugMethod("FFmpegWriter::write_video_packet ERROR [" + av_err2string(error_code) + "]", "error_code", error_code); } if (got_packet_ptr == 0) { ZmqLogger::Instance()->AppendDebugMethod("FFmpegWriter::write_video_packet (Frame gotpacket error)"); @@ -2132,7 +2132,7 @@ bool FFmpegWriter::write_video_packet(std::shared_ptr frame, AVFrame *fra /* write the compressed frame in the media file */ int result = av_interleaved_write_frame(oc, &pkt); if (result < 0) { - ZmqLogger::Instance()->AppendDebugMethod("FFmpegWriter::write_video_packet ERROR [" + (std::string) av_err2str(result) + "]", "result", result); + ZmqLogger::Instance()->AppendDebugMethod("FFmpegWriter::write_video_packet ERROR [" + av_err2string(result) + "]", "result", result); return false; } } diff --git a/src/FrameMapper.cpp b/src/FrameMapper.cpp index 0e3b0272..9700b6ea 100644 --- a/src/FrameMapper.cpp +++ b/src/FrameMapper.cpp @@ -828,7 +828,9 @@ void FrameMapper::ResampleMappedAudio(std::shared_ptr frame, int64_t orig if (error_code < 0) { - ZmqLogger::Instance()->AppendDebugMethod("FrameMapper::ResampleMappedAudio ERROR [" + (std::string)av_err2str(error_code) + "]", "error_code", error_code); + ZmqLogger::Instance()->AppendDebugMethod( + "FrameMapper::ResampleMappedAudio ERROR [" + av_err2string(error_code) + "]", + "error_code", error_code); throw ErrorEncodingVideo("Error while resampling audio in frame mapper", frame->number); }