Skip to content

Commit 6f68e2f

Browse files
author
Clement Champetier
committed
AudioTransform: set options in a simpler way
Use swr_alloc_set_opts() instead of setting options one by one, with a risk of runtime error if an option we want to set doesn't exist.
1 parent f085e6e commit 6f68e2f

File tree

1 file changed

+4
-8
lines changed

1 file changed

+4
-8
lines changed

src/AvTranscoder/AudioTransform.cpp

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -34,14 +34,10 @@ bool AudioTransform::init( const AudioFrame& src, const AudioFrame& dst )
3434
throw std::runtime_error( "unable to create audio convert context" );
3535
}
3636

37-
av_opt_set_int(m_audioConvertContext, "in_channel_layout", av_get_default_channel_layout( src.desc().getChannels() ), 0);
38-
av_opt_set_int(m_audioConvertContext, "out_channel_layout", av_get_default_channel_layout( dst.desc().getChannels() ), 0);
39-
40-
av_opt_set_int(m_audioConvertContext, "in_sample_rate", src.desc().getSampleRate(), 0);
41-
av_opt_set_int(m_audioConvertContext, "out_sample_rate", dst.desc().getSampleRate(), 0);
42-
43-
av_opt_set_int(m_audioConvertContext, "in_sample_fmt", src.desc().getSampleFormat(), 0);
44-
av_opt_set_int(m_audioConvertContext, "out_sample_fmt", dst.desc().getSampleFormat(), 0);
37+
swr_alloc_set_opts( m_audioConvertContext,
38+
av_get_default_channel_layout( dst.desc().getChannels() ), dst.desc().getSampleFormat(), av_get_default_channel_layout( dst.desc().getSampleRate() ),
39+
av_get_default_channel_layout( src.desc().getChannels() ), src.desc().getSampleFormat(), av_get_default_channel_layout( src.desc().getSampleRate() ),
40+
0, NULL);
4541

4642
if( swr_init( m_audioConvertContext ) < 0 )
4743
{

0 commit comments

Comments
 (0)