As of FFmpeg-1.1, some decoders started to output planar audio.
This fixes track ticket 13944.
m_layout = 0;
m_bLpcmMode = false;
+ m_bNeedConversion = false;
m_pFrame1 = NULL;
m_iSampleFormat = AV_SAMPLE_FMT_NONE;
else
m_iBuffered = 0;
- if(m_bLpcmMode)
+ if(m_bLpcmMode || m_bNeedConversion)
ConvertToFloat();
return iBytesUsed;
case AV_SAMPLE_FMT_S32: return AE_FMT_S32NE;
case AV_SAMPLE_FMT_FLT: return AE_FMT_FLOAT;
case AV_SAMPLE_FMT_DBL: return AE_FMT_DOUBLE;
- default:
+ case AV_SAMPLE_FMT_NONE:
assert(false);
return AE_FMT_INVALID;
+ default:
+ m_bNeedConversion = true;
+ return AE_FMT_FLOAT;
}
}
}
enum AVSampleFormat m_iSampleFormat;
CAEChannelInfo m_channelLayout;
bool m_bLpcmMode;
+ bool m_bNeedConversion;
AVFrame* m_pFrame1;
int m_iBufferSize1;