|
|
@@ -2,6 +2,7 @@
|
|
|
|
|
|
#include "basic/basic.h"
|
|
|
#include "basic/frame.h"
|
|
|
+#include "libavutil/error.h"
|
|
|
|
|
|
#include <QDebug>
|
|
|
|
|
|
@@ -150,12 +151,18 @@ bool Resampler::Convert(uint8_t* data, int size)
|
|
|
if (frame.frame == nullptr) {
|
|
|
break;
|
|
|
}
|
|
|
- __CheckBool(swr_convert(_swrCtx,
|
|
|
- _swrFrame->data,
|
|
|
- _swrFrame->nb_samples,
|
|
|
- (const uint8_t**) frame.frame->data,
|
|
|
- frame.frame->nb_samples)
|
|
|
- > 0);
|
|
|
+ int ret = swr_convert(_swrCtx,
|
|
|
+ _swrFrame->data,
|
|
|
+ _swrFrame->nb_samples,
|
|
|
+ (const uint8_t**) frame.frame->data,
|
|
|
+ frame.frame->nb_samples);
|
|
|
+ if (ret < 0) {
|
|
|
+ char buffer[AV_ERROR_MAX_STRING_SIZE];
|
|
|
+ av_strerror(ret, buffer, sizeof(buffer));
|
|
|
+ qDebug() << "swr_convert ----------" << ret << QString::fromLatin1(buffer);
|
|
|
+ break;
|
|
|
+ }
|
|
|
+
|
|
|
_toQueue.Push(_swrFrame->data[0], _swrFrame->linesize[0]);
|
|
|
}
|
|
|
return true;
|
|
|
@@ -168,11 +175,10 @@ AVFrame* AudioMixer::Convert(uint32_t index, uint8_t* inBuf, uint32_t size)
|
|
|
__CheckNullptr(iter != _audioInputInfos.end());
|
|
|
|
|
|
// // 添加调试信息
|
|
|
- // static int debugCounter = 0;
|
|
|
- // if (++debugCounter % 100 == 0) {
|
|
|
- // qDebug() << "AudioMixer::Convert - Input size:" << size
|
|
|
- // << "bytes, Input index: " << index;
|
|
|
- // }
|
|
|
+ static int debugCounter = 0;
|
|
|
+ if (++debugCounter % 100 == 0) {
|
|
|
+ qDebug() << "AudioMixer::Convert - Input size:" << size << "bytes, Input index: " << index;
|
|
|
+ }
|
|
|
|
|
|
__CheckNullptr(iter->second.resampler->Convert(inBuf, size));
|
|
|
return _AdjustVolume() ? _outputFrame : nullptr;
|