Skip to content

Commit 1ab31ca

Browse files
committed
Merge pull request #13 from cchampet/fix_message_error_buffer_size
Clean use of av_strerror
2 parents 4565048 + 34084cd commit 1ab31ca

File tree

6 files changed

+29
-34
lines changed

6 files changed

+29
-34
lines changed

src/AvTranscoder/essenceStream/AvInputAudio.cpp

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -59,13 +59,13 @@ void AvInputAudio::setup()
5959
msg += avCodec->long_name;
6060
msg += " (";
6161
msg += avCodec->name;
62-
msg += ")";
62+
msg += ") ";
6363
avcodec_close( avCodecContext );
6464

65-
char err[250];
65+
char err[AV_ERROR_MAX_STRING_SIZE];
66+
av_strerror( ret, err, sizeof(err) );
67+
msg += err;
6668

67-
av_strerror( ret, err, 250 );
68-
std::cout << err << std::endl;
6969
throw std::runtime_error( msg );
7070
}
7171

@@ -173,12 +173,10 @@ bool AvInputAudio::decodeNextFrame()
173173
packet.size = data.getSize();
174174

175175
int ret = avcodec_decode_audio4( _codec->getAVCodecContext(), _frame, &got_frame, &packet );
176-
177176
if( ret < 0 )
178177
{
179-
char err[250];
180-
av_strerror( ret, err, 250 );
181-
178+
char err[AV_ERROR_MAX_STRING_SIZE];
179+
av_strerror( ret, err, sizeof(err) );
182180
throw std::runtime_error( "an error occured during audio decoding" + std::string( err ) );
183181
}
184182

src/AvTranscoder/essenceStream/AvInputVideo.cpp

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -119,9 +119,8 @@ bool AvInputVideo::decodeNextFrame()
119119
int ret = avcodec_decode_video2( _codec->getAVCodecContext(), _frame, &got_frame, &packet );
120120
if( ret < 0 )
121121
{
122-
char err[250];
123-
av_strerror( ret, err, 250);
124-
122+
char err[AV_ERROR_MAX_STRING_SIZE];
123+
av_strerror( ret, err, sizeof(err) );
125124
throw std::runtime_error( "an error occured during video decoding - " + std::string(err) );
126125
}
127126
av_free_packet( &packet );

src/AvTranscoder/essenceStream/AvOutputAudio.cpp

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -34,8 +34,8 @@ void AvOutputAudio::setup()
3434
int ret = avcodec_open2( codecContext, _codec.getAVCodec(), NULL );
3535
if( ret < 0 )
3636
{
37-
char err[250];
38-
av_strerror( ret, err, 250);
37+
char err[AV_ERROR_MAX_STRING_SIZE];
38+
av_strerror( ret, err, sizeof(err) );
3939
std::string msg = "could not open audio encoder: ";
4040
msg += err;
4141
throw std::runtime_error( msg );
@@ -69,18 +69,16 @@ bool AvOutputAudio::encodeFrame( const Frame& sourceFrame, Frame& codedFrame )
6969
int buffer_size = av_samples_get_buffer_size( NULL, codecContext->channels, frame->nb_samples, codecContext->sample_fmt, 0 );
7070
if( buffer_size < 0 )
7171
{
72-
char err[250];
73-
av_strerror( buffer_size, err, 250 );
74-
72+
char err[AV_ERROR_MAX_STRING_SIZE];
73+
av_strerror( buffer_size, err, sizeof(err) );
7574
throw std::runtime_error( "EncodeFrame error: buffer size < 0 - " + std::string(err) );
7675
}
7776

7877
int retvalue = avcodec_fill_audio_frame( frame, codecContext->channels, codecContext->sample_fmt, sourceAudioFrame.getPtr(), buffer_size, 0 );
7978
if( retvalue < 0 )
8079
{
81-
char err[250];
82-
av_strerror( retvalue, err, 250);
83-
80+
char err[AV_ERROR_MAX_STRING_SIZE];
81+
av_strerror( retvalue, err, sizeof(err) );
8482
throw std::runtime_error( "EncodeFrame error: avcodec fill audio frame - " + std::string( err ) );
8583
}
8684

src/AvTranscoder/essenceStream/AvOutputVideo.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,8 +35,8 @@ void AvOutputVideo::setup( )
3535
int ret = avcodec_open2( codecContext, _codec.getAVCodec(), NULL );
3636
if( ret < 0 )
3737
{
38-
char err[250];
39-
av_strerror( ret, err, 250);
38+
char err[AV_ERROR_MAX_STRING_SIZE];
39+
av_strerror( ret, err, sizeof(err) );
4040
std::string msg = "could not open video encoder: ";
4141
msg += err;
4242
throw std::runtime_error( msg );

src/AvTranscoder/file/OutputFile.cpp

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -136,8 +136,8 @@ bool OutputFile::beginWrap( )
136136
int ret = avformat_write_header( _formatContext, NULL );
137137
if( ret != 0 )
138138
{
139-
char err[250];
140-
av_strerror( ret, err, 250);
139+
char err[AV_ERROR_MAX_STRING_SIZE];
140+
av_strerror( ret, err, sizeof(err) );
141141
std::string msg = "could not write header: ";
142142
msg += err;
143143
throw std::runtime_error( msg );
@@ -170,8 +170,8 @@ IOutputStream::EWrappingStatus OutputFile::wrap( const CodedData& data, const si
170170

171171
if( ret != 0 )
172172
{
173-
char err[250];
174-
av_strerror( ret, err, 250);
173+
char err[AV_ERROR_MAX_STRING_SIZE];
174+
av_strerror( ret, err, sizeof(err) );
175175
std::string msg = "error when writting packet in stream: ";
176176
msg += err;
177177
// throw std::runtime_error( msg );
@@ -229,8 +229,8 @@ void OutputFile::addMetadata( const std::string& key, const std::string& value )
229229
int ret = av_dict_set( &_formatContext->metadata, key.c_str(), value.c_str(), 0 );
230230
if( ret < 0 )
231231
{
232-
char err[250];
233-
av_strerror( ret, err, 250 );
232+
char err[AV_ERROR_MAX_STRING_SIZE];
233+
av_strerror( ret, err, sizeof(err) );
234234
std::cout << err << std::endl;
235235
}
236236
}

src/AvTranscoder/option/Option.cpp

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,7 @@ void Option::setFlag( const std::string& flag, const bool enable )
9898
if( error )
9999
{
100100
char err[AV_ERROR_MAX_STRING_SIZE];
101-
av_strerror( error, err, AV_ERROR_MAX_STRING_SIZE );
101+
av_strerror( error, err, sizeof(err) );
102102
throw std::runtime_error( "unknown key " + getName() + ": " + err );
103103
}
104104

@@ -111,7 +111,7 @@ void Option::setFlag( const std::string& flag, const bool enable )
111111
if( error )
112112
{
113113
char err[AV_ERROR_MAX_STRING_SIZE];
114-
av_strerror( error, err, AV_ERROR_MAX_STRING_SIZE );
114+
av_strerror( error, err, sizeof(err) );
115115
throw std::runtime_error( "setting " + getName() + " parameter to " + flag + ": " + err );
116116
}
117117
}
@@ -122,7 +122,7 @@ void Option::setBool( const bool value )
122122
if( error )
123123
{
124124
char err[AV_ERROR_MAX_STRING_SIZE];
125-
av_strerror( error, err, AV_ERROR_MAX_STRING_SIZE );
125+
av_strerror( error, err, sizeof(err) );
126126
throw std::runtime_error( "setting " + getName() + " parameter to " + ( value ? "true" : "false" ) + ": " + err );
127127
}
128128
}
@@ -135,7 +135,7 @@ void Option::setInt( const int value )
135135
std::ostringstream os;
136136
os << value;
137137
char err[AV_ERROR_MAX_STRING_SIZE];
138-
av_strerror( error, err, AV_ERROR_MAX_STRING_SIZE );
138+
av_strerror( error, err, sizeof(err) );
139139
throw std::runtime_error( "setting " + getName() + " parameter to " + os.str() + ": " + err );
140140
}
141141
}
@@ -151,7 +151,7 @@ void Option::setRatio( const int num, const int den )
151151
std::ostringstream os;
152152
os << num << "/" << den;
153153
char err[AV_ERROR_MAX_STRING_SIZE];
154-
av_strerror( error, err, AV_ERROR_MAX_STRING_SIZE );
154+
av_strerror( error, err, sizeof(err) );
155155
throw std::runtime_error( "setting " + getName() + " parameter to " + os.str() + ": " + err );
156156
}
157157
}
@@ -164,7 +164,7 @@ void Option::setDouble( const double value )
164164
std::ostringstream os;
165165
os << value;
166166
char err[AV_ERROR_MAX_STRING_SIZE];
167-
av_strerror( error, err, AV_ERROR_MAX_STRING_SIZE );
167+
av_strerror( error, err, sizeof(err) );
168168
throw std::runtime_error( "setting " + getName() + " parameter to " + os.str() + ": " + err );
169169
}
170170
}
@@ -175,7 +175,7 @@ void Option::setString( const std::string& value )
175175
if( error )
176176
{
177177
char err[AV_ERROR_MAX_STRING_SIZE];
178-
av_strerror( error, err, AV_ERROR_MAX_STRING_SIZE );
178+
av_strerror( error, err, sizeof(err) );
179179
throw std::runtime_error( "setting " + getName() + " parameter to " + value + ": " + err );
180180
}
181181
}

0 commit comments

Comments
 (0)