From dbcfed44014c7064b2f1740522e751b02c0d96de Mon Sep 17 00:00:00 2001 From: Clement Champetier Date: Thu, 21 Apr 2016 14:24:06 +0200 Subject: [PATCH 1/9] Video/AudioEncoder: fixed size of encoded data allocated within avcodec The AVPacket data attribut should be set to NULL: the encoder will allocate it. --- src/AvTranscoder/encoder/AudioEncoder.cpp | 2 ++ src/AvTranscoder/encoder/VideoEncoder.cpp | 2 ++ 2 files changed, 4 insertions(+) diff --git a/src/AvTranscoder/encoder/AudioEncoder.cpp b/src/AvTranscoder/encoder/AudioEncoder.cpp index afede6e4..6539f9da 100644 --- a/src/AvTranscoder/encoder/AudioEncoder.cpp +++ b/src/AvTranscoder/encoder/AudioEncoder.cpp @@ -96,6 +96,7 @@ bool AudioEncoder::encodeFrame(const Frame& sourceFrame, CodedData& codedFrame) AVCodecContext& avCodecContext = _codec.getAVCodecContext(); AVPacket& packet = codedFrame.getAVPacket(); + packet.data = NULL; packet.stream_index = 0; if((avCodecContext.coded_frame) && (avCodecContext.coded_frame->pts != (int)AV_NOPTS_VALUE)) @@ -136,6 +137,7 @@ bool AudioEncoder::encodeFrame(CodedData& codedFrame) AVCodecContext& avCodecContext = _codec.getAVCodecContext(); AVPacket& packet = codedFrame.getAVPacket(); + packet.data = NULL; packet.stream_index = 0; #if LIBAVCODEC_VERSION_MAJOR > 53 diff --git a/src/AvTranscoder/encoder/VideoEncoder.cpp b/src/AvTranscoder/encoder/VideoEncoder.cpp index dc6e2973..822b6ea1 100644 --- a/src/AvTranscoder/encoder/VideoEncoder.cpp +++ b/src/AvTranscoder/encoder/VideoEncoder.cpp @@ -109,6 +109,7 @@ bool VideoEncoder::encodeFrame(const Frame& sourceFrame, CodedData& codedFrame) AVCodecContext& avCodecContext = _codec.getAVCodecContext(); AVPacket& packet = codedFrame.getAVPacket(); + packet.data = NULL; packet.stream_index = 0; if((avCodecContext.coded_frame) && (avCodecContext.coded_frame->pts != (int)AV_NOPTS_VALUE)) @@ -149,6 +150,7 @@ bool VideoEncoder::encodeFrame(CodedData& codedFrame) AVCodecContext& avCodecContext = _codec.getAVCodecContext(); AVPacket& packet = codedFrame.getAVPacket(); + packet.data = NULL; packet.stream_index = 0; #if LIBAVCODEC_VERSION_MAJOR > 53 From af03c26cc639d660a253ebd3f19b89b221defd41 Mon Sep 17 00:00:00 2001 From: Clement Champetier Date: Thu, 21 Apr 2016 14:26:08 +0200 Subject: [PATCH 2/9] Video/AudioEncoder: fixed how to detect an error in the encoded process * Only the returned value of the avcodec function is needed. * Indeed, the encoded process could be a success, without any data encoded (end of process). --- src/AvTranscoder/encoder/AudioEncoder.cpp | 11 ++++------- src/AvTranscoder/encoder/VideoEncoder.cpp | 11 ++++------- 2 files changed, 8 insertions(+), 14 deletions(-) diff --git a/src/AvTranscoder/encoder/AudioEncoder.cpp b/src/AvTranscoder/encoder/AudioEncoder.cpp index 6539f9da..69a11b24 100644 --- a/src/AvTranscoder/encoder/AudioEncoder.cpp +++ b/src/AvTranscoder/encoder/AudioEncoder.cpp @@ -112,11 +112,12 @@ bool AudioEncoder::encodeFrame(const Frame& sourceFrame, CodedData& codedFrame) #if LIBAVCODEC_VERSION_MAJOR > 53 int gotPacket = 0; int ret = avcodec_encode_audio2(&avCodecContext, &packet, &sourceFrame.getAVFrame(), &gotPacket); - if(ret != 0 && gotPacket == 0) + if(ret != 0) { throw std::runtime_error("Encode audio frame error: avcodec encode audio frame - " + getDescriptionFromErrorCode(ret)); } + return ret == 0 && gotPacket == 1; #else int ret = avcodec_encode_audio(&avCodecContext, packet.data, packet.size, &sourceFrame.getAVFrame()); if(ret < 0) @@ -124,12 +125,8 @@ bool AudioEncoder::encodeFrame(const Frame& sourceFrame, CodedData& codedFrame) throw std::runtime_error("Encode audio frame error: avcodec encode audio frame - " + getDescriptionFromErrorCode(ret)); } -#endif - -#if LIBAVCODEC_VERSION_MAJOR > 53 - return ret == 0 && gotPacket == 1; -#endif return ret == 0; +#endif } bool AudioEncoder::encodeFrame(CodedData& codedFrame) @@ -143,7 +140,7 @@ bool AudioEncoder::encodeFrame(CodedData& codedFrame) #if LIBAVCODEC_VERSION_MAJOR > 53 int gotPacket = 0; int ret = avcodec_encode_audio2(&avCodecContext, &packet, NULL, &gotPacket); - if(ret != 0 && gotPacket == 0) + if(ret != 0) { throw std::runtime_error("Encode audio frame error: avcodec encode last audio frame - " + getDescriptionFromErrorCode(ret)); diff --git a/src/AvTranscoder/encoder/VideoEncoder.cpp b/src/AvTranscoder/encoder/VideoEncoder.cpp index 822b6ea1..fcd35742 100644 --- a/src/AvTranscoder/encoder/VideoEncoder.cpp +++ b/src/AvTranscoder/encoder/VideoEncoder.cpp @@ -125,11 +125,12 @@ bool VideoEncoder::encodeFrame(const Frame& sourceFrame, CodedData& codedFrame) #if LIBAVCODEC_VERSION_MAJOR > 53 int gotPacket = 0; int ret = avcodec_encode_video2(&avCodecContext, &packet, &sourceFrame.getAVFrame(), &gotPacket); - if(ret != 0 && gotPacket == 0) + if(ret != 0) { throw std::runtime_error("Encode video frame error: avcodec encode video frame - " + getDescriptionFromErrorCode(ret)); } + return ret == 0 && gotPacket == 1; #else int ret = avcodec_encode_video(&avCodecContext, packet.data, packet.size, &sourceFrame.getAVFrame()); if(ret < 0) @@ -137,12 +138,8 @@ bool VideoEncoder::encodeFrame(const Frame& sourceFrame, CodedData& codedFrame) throw std::runtime_error("Encode video frame error: avcodec encode video frame - " + getDescriptionFromErrorCode(ret)); } -#endif - -#if LIBAVCODEC_VERSION_MAJOR > 53 - return ret == 0 && gotPacket == 1; -#endif return ret == 0; +#endif } bool VideoEncoder::encodeFrame(CodedData& codedFrame) @@ -156,7 +153,7 @@ bool VideoEncoder::encodeFrame(CodedData& codedFrame) #if LIBAVCODEC_VERSION_MAJOR > 53 int gotPacket = 0; int ret = avcodec_encode_video2(&avCodecContext, &packet, NULL, &gotPacket); - if(ret != 0 && gotPacket == 0) + if(ret != 0) { throw std::runtime_error("Encode video frame error: avcodec encode last video frame - " + getDescriptionFromErrorCode(ret)); From 1f1279552c02653e4d7b407c32e13205f8785cdc Mon Sep 17 00:00:00 2001 From: Clement Champetier Date: Thu, 21 Apr 2016 14:26:30 +0200 Subject: [PATCH 3/9] IEncoder: updated doc of encodeFrame methods --- src/AvTranscoder/encoder/IEncoder.hpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/AvTranscoder/encoder/IEncoder.hpp b/src/AvTranscoder/encoder/IEncoder.hpp index 1ba57a74..695aaf27 100644 --- a/src/AvTranscoder/encoder/IEncoder.hpp +++ b/src/AvTranscoder/encoder/IEncoder.hpp @@ -23,16 +23,18 @@ class AvExport IEncoder /** * @brief Encode a new frame, and get coded frame - * @param sourceFrame frame need to be encoded - * @param codedFrame data of the coded frame if present (first frames can be delayed) + * @param sourceFrame: frame that needs to be encoded + * @param codedFrame: output encoded coded data (first frames can be delayed) * @return status of encoding + * @throw runtime_error if the encoded process failed. */ virtual bool encodeFrame(const Frame& sourceFrame, CodedData& codedFrame) = 0; /** * @brief Get delayed encoded frames - * @param codedFrame data of the coded frame if present (first frames can be delayed) + * @param codedFrame: output encoded coded data of last frames * @return status of encoding + * @throw runtime_error if the encoded process failed. */ virtual bool encodeFrame(CodedData& codedFrame) = 0; From bd2cf1528c64b7d7bc9696bd15caa97189fb94ca Mon Sep 17 00:00:00 2001 From: Clement Champetier Date: Thu, 21 Apr 2016 14:40:12 +0200 Subject: [PATCH 4/9] VideoEncoder: refactored encodeFrame method Add private method encode. --- src/AvTranscoder/encoder/VideoEncoder.cpp | 42 +++++++---------------- src/AvTranscoder/encoder/VideoEncoder.hpp | 3 ++ 2 files changed, 16 insertions(+), 29 deletions(-) diff --git a/src/AvTranscoder/encoder/VideoEncoder.cpp b/src/AvTranscoder/encoder/VideoEncoder.cpp index fcd35742..3e36dfa2 100644 --- a/src/AvTranscoder/encoder/VideoEncoder.cpp +++ b/src/AvTranscoder/encoder/VideoEncoder.cpp @@ -109,9 +109,6 @@ bool VideoEncoder::encodeFrame(const Frame& sourceFrame, CodedData& codedFrame) AVCodecContext& avCodecContext = _codec.getAVCodecContext(); AVPacket& packet = codedFrame.getAVPacket(); - packet.data = NULL; - packet.stream_index = 0; - if((avCodecContext.coded_frame) && (avCodecContext.coded_frame->pts != (int)AV_NOPTS_VALUE)) { packet.pts = avCodecContext.coded_frame->pts; @@ -122,51 +119,38 @@ bool VideoEncoder::encodeFrame(const Frame& sourceFrame, CodedData& codedFrame) packet.flags |= AV_PKT_FLAG_KEY; } -#if LIBAVCODEC_VERSION_MAJOR > 53 - int gotPacket = 0; - int ret = avcodec_encode_video2(&avCodecContext, &packet, &sourceFrame.getAVFrame(), &gotPacket); - if(ret != 0) - { - throw std::runtime_error("Encode video frame error: avcodec encode video frame - " + - getDescriptionFromErrorCode(ret)); - } - return ret == 0 && gotPacket == 1; -#else - int ret = avcodec_encode_video(&avCodecContext, packet.data, packet.size, &sourceFrame.getAVFrame()); - if(ret < 0) - { - throw std::runtime_error("Encode video frame error: avcodec encode video frame - " + - getDescriptionFromErrorCode(ret)); - } - return ret == 0; -#endif + return encode(&sourceFrame.getAVFrame(), packet); } bool VideoEncoder::encodeFrame(CodedData& codedFrame) { - AVCodecContext& avCodecContext = _codec.getAVCodecContext(); + return encode(NULL, codedFrame.getAVPacket()); +} - AVPacket& packet = codedFrame.getAVPacket(); - packet.data = NULL; - packet.stream_index = 0; +bool VideoEncoder::encode(const AVFrame* decodedData, AVPacket& encodedData) +{ + encodedData.data = NULL; + encodedData.stream_index = 0; + AVCodecContext& avCodecContext = _codec.getAVCodecContext(); #if LIBAVCODEC_VERSION_MAJOR > 53 int gotPacket = 0; - int ret = avcodec_encode_video2(&avCodecContext, &packet, NULL, &gotPacket); + int ret = avcodec_encode_video2(&avCodecContext, &encodedData, decodedData, &gotPacket); if(ret != 0) { - throw std::runtime_error("Encode video frame error: avcodec encode last video frame - " + + throw std::runtime_error("Encode video frame error: avcodec encode video frame - " + getDescriptionFromErrorCode(ret)); } return ret == 0 && gotPacket == 1; #else - int ret = avcodec_encode_video(&avCodecContext, packet.data, packet.size, NULL); + int ret = avcodec_encode_video(&avCodecContext, encodedData.data, encodedData.size, decodedData); if(ret < 0) { - throw std::runtime_error("Encode video frame error: avcodec encode last video frame - " + + throw std::runtime_error("Encode video frame error: avcodec encode video frame - " + getDescriptionFromErrorCode(ret)); } return ret == 0; #endif } + } diff --git a/src/AvTranscoder/encoder/VideoEncoder.hpp b/src/AvTranscoder/encoder/VideoEncoder.hpp index 05d513ce..0a45b7e8 100644 --- a/src/AvTranscoder/encoder/VideoEncoder.hpp +++ b/src/AvTranscoder/encoder/VideoEncoder.hpp @@ -24,6 +24,9 @@ class AvExport VideoEncoder : public IEncoder ICodec& getCodec() { return _codec; } VideoCodec& getVideoCodec() { return _codec; } +private: + bool encode(const AVFrame* decodedData, AVPacket& encodedData); + private: VideoCodec _codec; }; From 5828fe317fbe425b771c1b01d69efe693a731116 Mon Sep 17 00:00:00 2001 From: Clement Champetier Date: Thu, 21 Apr 2016 14:42:03 +0200 Subject: [PATCH 5/9] VideoEncoder: refactored private method encode * Add a comment. * Add const keyword. --- src/AvTranscoder/encoder/VideoEncoder.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/AvTranscoder/encoder/VideoEncoder.cpp b/src/AvTranscoder/encoder/VideoEncoder.cpp index 3e36dfa2..748d728a 100644 --- a/src/AvTranscoder/encoder/VideoEncoder.cpp +++ b/src/AvTranscoder/encoder/VideoEncoder.cpp @@ -129,13 +129,14 @@ bool VideoEncoder::encodeFrame(CodedData& codedFrame) bool VideoEncoder::encode(const AVFrame* decodedData, AVPacket& encodedData) { + // Be sure that data of AVPacket is NULL so that the encoder will allocate it encodedData.data = NULL; encodedData.stream_index = 0; AVCodecContext& avCodecContext = _codec.getAVCodecContext(); #if LIBAVCODEC_VERSION_MAJOR > 53 int gotPacket = 0; - int ret = avcodec_encode_video2(&avCodecContext, &encodedData, decodedData, &gotPacket); + const int ret = avcodec_encode_video2(&avCodecContext, &encodedData, decodedData, &gotPacket); if(ret != 0) { throw std::runtime_error("Encode video frame error: avcodec encode video frame - " + @@ -143,7 +144,7 @@ bool VideoEncoder::encode(const AVFrame* decodedData, AVPacket& encodedData) } return ret == 0 && gotPacket == 1; #else - int ret = avcodec_encode_video(&avCodecContext, encodedData.data, encodedData.size, decodedData); + const int ret = avcodec_encode_video(&avCodecContext, encodedData.data, encodedData.size, decodedData); if(ret < 0) { throw std::runtime_error("Encode video frame error: avcodec encode video frame - " + From d5a155a9f9ff7bdf208bfa8bed612ebe158c8469 Mon Sep 17 00:00:00 2001 From: Clement Champetier Date: Thu, 21 Apr 2016 14:46:11 +0200 Subject: [PATCH 6/9] AudioEncoder: refactored encodeFrame method Add private method encode. --- src/AvTranscoder/encoder/AudioEncoder.cpp | 45 +++++++---------------- src/AvTranscoder/encoder/AudioEncoder.hpp | 3 ++ 2 files changed, 17 insertions(+), 31 deletions(-) diff --git a/src/AvTranscoder/encoder/AudioEncoder.cpp b/src/AvTranscoder/encoder/AudioEncoder.cpp index 69a11b24..69551bc4 100644 --- a/src/AvTranscoder/encoder/AudioEncoder.cpp +++ b/src/AvTranscoder/encoder/AudioEncoder.cpp @@ -96,9 +96,6 @@ bool AudioEncoder::encodeFrame(const Frame& sourceFrame, CodedData& codedFrame) AVCodecContext& avCodecContext = _codec.getAVCodecContext(); AVPacket& packet = codedFrame.getAVPacket(); - packet.data = NULL; - packet.stream_index = 0; - if((avCodecContext.coded_frame) && (avCodecContext.coded_frame->pts != (int)AV_NOPTS_VALUE)) { packet.pts = avCodecContext.coded_frame->pts; @@ -109,53 +106,39 @@ bool AudioEncoder::encodeFrame(const Frame& sourceFrame, CodedData& codedFrame) packet.flags |= AV_PKT_FLAG_KEY; } -#if LIBAVCODEC_VERSION_MAJOR > 53 - int gotPacket = 0; - int ret = avcodec_encode_audio2(&avCodecContext, &packet, &sourceFrame.getAVFrame(), &gotPacket); - if(ret != 0) - { - throw std::runtime_error("Encode audio frame error: avcodec encode audio frame - " + - getDescriptionFromErrorCode(ret)); - } - return ret == 0 && gotPacket == 1; -#else - int ret = avcodec_encode_audio(&avCodecContext, packet.data, packet.size, &sourceFrame.getAVFrame()); - if(ret < 0) - { - throw std::runtime_error("Encode audio frame error: avcodec encode audio frame - " + - getDescriptionFromErrorCode(ret)); - } - return ret == 0; -#endif + return encode(&sourceFrame.getAVFrame(), packet); } bool AudioEncoder::encodeFrame(CodedData& codedFrame) { - AVCodecContext& avCodecContext = _codec.getAVCodecContext(); + return encode(NULL, codedFrame.getAVPacket()); +} - AVPacket& packet = codedFrame.getAVPacket(); - packet.data = NULL; - packet.stream_index = 0; +bool AudioEncoder::encode(const AVFrame* decodedData, AVPacket& encodedData) +{ + // Be sure that data of AVPacket is NULL so that the encoder will allocate it + encodedData.data = NULL; + encodedData.stream_index = 0; + AVCodecContext& avCodecContext = _codec.getAVCodecContext(); #if LIBAVCODEC_VERSION_MAJOR > 53 int gotPacket = 0; - int ret = avcodec_encode_audio2(&avCodecContext, &packet, NULL, &gotPacket); + const int ret = avcodec_encode_audio2(&avCodecContext, &encodedData, decodedData, &gotPacket); if(ret != 0) { - throw std::runtime_error("Encode audio frame error: avcodec encode last audio frame - " + + throw std::runtime_error("Encode audio frame error: avcodec encode audio frame - " + getDescriptionFromErrorCode(ret)); } return ret == 0 && gotPacket == 1; - #else - int ret = avcodec_encode_audio(&avCodecContext, packet.data, packet.size, NULL); + const int ret = avcodec_encode_audio(&avCodecContext, encodedData.data, encodedData.size, decodedData); if(ret < 0) { - throw std::runtime_error("Encode audio frame error: avcodec encode last audio frame - " + + throw std::runtime_error("Encode audio frame error: avcodec encode audio frame - " + getDescriptionFromErrorCode(ret)); } return ret == 0; - #endif } + } diff --git a/src/AvTranscoder/encoder/AudioEncoder.hpp b/src/AvTranscoder/encoder/AudioEncoder.hpp index 149fb8f6..35ea2bef 100644 --- a/src/AvTranscoder/encoder/AudioEncoder.hpp +++ b/src/AvTranscoder/encoder/AudioEncoder.hpp @@ -24,6 +24,9 @@ class AvExport AudioEncoder : public IEncoder ICodec& getCodec() { return _codec; } AudioCodec& getAudioCodec() { return _codec; } +private: + bool encode(const AVFrame* decodedData, AVPacket& encodedData); + private: AudioCodec _codec; }; From eb29b44fb5d1ebbf2b7c97358c1e574485d92c39 Mon Sep 17 00:00:00 2001 From: Clement Champetier Date: Thu, 21 Apr 2016 14:57:33 +0200 Subject: [PATCH 7/9] Video/AudioEncoder: removed set of output AVPacket stream_index Override in avcodec encoded method. --- src/AvTranscoder/encoder/AudioEncoder.cpp | 1 - src/AvTranscoder/encoder/VideoEncoder.cpp | 1 - 2 files changed, 2 deletions(-) diff --git a/src/AvTranscoder/encoder/AudioEncoder.cpp b/src/AvTranscoder/encoder/AudioEncoder.cpp index 69551bc4..14262d05 100644 --- a/src/AvTranscoder/encoder/AudioEncoder.cpp +++ b/src/AvTranscoder/encoder/AudioEncoder.cpp @@ -118,7 +118,6 @@ bool AudioEncoder::encode(const AVFrame* decodedData, AVPacket& encodedData) { // Be sure that data of AVPacket is NULL so that the encoder will allocate it encodedData.data = NULL; - encodedData.stream_index = 0; AVCodecContext& avCodecContext = _codec.getAVCodecContext(); #if LIBAVCODEC_VERSION_MAJOR > 53 diff --git a/src/AvTranscoder/encoder/VideoEncoder.cpp b/src/AvTranscoder/encoder/VideoEncoder.cpp index 748d728a..920a3d13 100644 --- a/src/AvTranscoder/encoder/VideoEncoder.cpp +++ b/src/AvTranscoder/encoder/VideoEncoder.cpp @@ -131,7 +131,6 @@ bool VideoEncoder::encode(const AVFrame* decodedData, AVPacket& encodedData) { // Be sure that data of AVPacket is NULL so that the encoder will allocate it encodedData.data = NULL; - encodedData.stream_index = 0; AVCodecContext& avCodecContext = _codec.getAVCodecContext(); #if LIBAVCODEC_VERSION_MAJOR > 53 From dea73eeef430aaea0d4cacb32269725f17d058ba Mon Sep 17 00:00:00 2001 From: Clement Champetier Date: Fri, 22 Apr 2016 14:51:39 +0200 Subject: [PATCH 8/9] Video/AudioEncoder: refactored returned value when encode data Unecessary to check returned value of avcodec encode method twice. --- src/AvTranscoder/encoder/AudioEncoder.cpp | 4 ++-- src/AvTranscoder/encoder/VideoEncoder.cpp | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/AvTranscoder/encoder/AudioEncoder.cpp b/src/AvTranscoder/encoder/AudioEncoder.cpp index 14262d05..0e615466 100644 --- a/src/AvTranscoder/encoder/AudioEncoder.cpp +++ b/src/AvTranscoder/encoder/AudioEncoder.cpp @@ -128,7 +128,7 @@ bool AudioEncoder::encode(const AVFrame* decodedData, AVPacket& encodedData) throw std::runtime_error("Encode audio frame error: avcodec encode audio frame - " + getDescriptionFromErrorCode(ret)); } - return ret == 0 && gotPacket == 1; + return gotPacket == 1; #else const int ret = avcodec_encode_audio(&avCodecContext, encodedData.data, encodedData.size, decodedData); if(ret < 0) @@ -136,7 +136,7 @@ bool AudioEncoder::encode(const AVFrame* decodedData, AVPacket& encodedData) throw std::runtime_error("Encode audio frame error: avcodec encode audio frame - " + getDescriptionFromErrorCode(ret)); } - return ret == 0; + return true; #endif } diff --git a/src/AvTranscoder/encoder/VideoEncoder.cpp b/src/AvTranscoder/encoder/VideoEncoder.cpp index 920a3d13..a4dd7424 100644 --- a/src/AvTranscoder/encoder/VideoEncoder.cpp +++ b/src/AvTranscoder/encoder/VideoEncoder.cpp @@ -141,7 +141,7 @@ bool VideoEncoder::encode(const AVFrame* decodedData, AVPacket& encodedData) throw std::runtime_error("Encode video frame error: avcodec encode video frame - " + getDescriptionFromErrorCode(ret)); } - return ret == 0 && gotPacket == 1; + return gotPacket == 1; #else const int ret = avcodec_encode_video(&avCodecContext, encodedData.data, encodedData.size, decodedData); if(ret < 0) @@ -149,7 +149,7 @@ bool VideoEncoder::encode(const AVFrame* decodedData, AVPacket& encodedData) throw std::runtime_error("Encode video frame error: avcodec encode video frame - " + getDescriptionFromErrorCode(ret)); } - return ret == 0; + return true; #endif } From cdf2697dfc4dcab0ca11c913b7ee994e84372c0e Mon Sep 17 00:00:00 2001 From: Clement Champetier Date: Fri, 22 Apr 2016 14:52:10 +0200 Subject: [PATCH 9/9] IEncoder: improved doc of encodeFrame --- src/AvTranscoder/encoder/IEncoder.hpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/AvTranscoder/encoder/IEncoder.hpp b/src/AvTranscoder/encoder/IEncoder.hpp index 695aaf27..33ef1f38 100644 --- a/src/AvTranscoder/encoder/IEncoder.hpp +++ b/src/AvTranscoder/encoder/IEncoder.hpp @@ -31,8 +31,8 @@ class AvExport IEncoder virtual bool encodeFrame(const Frame& sourceFrame, CodedData& codedFrame) = 0; /** - * @brief Get delayed encoded frames - * @param codedFrame: output encoded coded data of last frames + * @brief Get the frames remaining into the encoder + * @param codedFrame: output encoded data * @return status of encoding * @throw runtime_error if the encoded process failed. */