试图解决编译错误
This commit is contained in:
@@ -439,8 +439,8 @@ FootageDescription FFmpegDecoder::Probe(const QString &filename, CancelAtom *can
|
||||
} else if (avstream->codecpar->codec_type == AVMEDIA_TYPE_AUDIO) {
|
||||
|
||||
// Create an audio stream object
|
||||
AVChannelLayout channel_layout = avstream->codecpar->ch_layout;
|
||||
if (!channel_layout.nb_channels==0) {
|
||||
AVChannelLayout &channel_layout = avstream->codecpar->ch_layout;
|
||||
if (!av_channel_layout_check(&channel_layout)) {
|
||||
av_channel_layout_default(&channel_layout,avstream->codecpar->ch_layout.nb_channels);
|
||||
}
|
||||
|
||||
@@ -557,10 +557,10 @@ bool FFmpegDecoder::ConformAudioInternal(const QVector<QString> &filenames, cons
|
||||
return false;
|
||||
}
|
||||
// Create resampling context
|
||||
AVChannelLayout layout=params.channel_layout();
|
||||
std::shared_ptr<AVChannelLayout> layout=params.channel_layout();
|
||||
SwrContext* resampler;
|
||||
swr_alloc_set_opts2(&resampler,
|
||||
&layout,
|
||||
layout.get(),
|
||||
FFmpegUtils::GetFFmpegSampleFormat(params.format()),
|
||||
params.sample_rate(),
|
||||
&channel_layout,
|
||||
|
||||
@@ -334,7 +334,7 @@ bool FFmpegEncoder::WriteAudioData(const AudioParams &audio_params, const uint8_
|
||||
int output_sample_count = input_sample_count ? swr_get_out_samples(audio_resample_ctx_, input_sample_count) : 102400;
|
||||
uint8_t** output_data = nullptr;
|
||||
int output_linesize;
|
||||
av_samples_alloc_array_and_samples(&output_data, &output_linesize, audio_stream_->codecpar->channels,
|
||||
av_samples_alloc_array_and_samples(&output_data, &output_linesize, audio_stream_->codecpar->ch_layout.nb_channels,
|
||||
output_sample_count, static_cast<AVSampleFormat>(audio_stream_->codecpar->format), 0);
|
||||
|
||||
// Perform conversion
|
||||
|
||||
Reference in New Issue
Block a user