mirror of
https://github.com/hrydgard/ppsspp.git
synced 2026-10-17 16:30:30 +02:00
Remove "SetExtraData" from AudioDecoder, pass in the data at creation instead
This commit is contained in:
1 parent
33ba30694a
commit
bf280eb410
5 files changed
+38
-41
No files matched your search
@@ -117,8 +117,6 @@ public:
|
||||
return srcPos;
|
||||
}
|
||||
|
||||
// Not save stated, only used by UI. Used for ATRAC3 (non+) files.
|
||||
void SetExtraData(const uint8_t *data, int size, int wav_bytes_per_packet) override;
|
||||
void SetChannels(int channels) override;
|
||||
|
||||
// These two are only here because of save states.
|
||||
@@ -144,13 +142,14 @@ private:
|
||||
bool codecOpen_;
|
||||
};
|
||||
|
||||
AudioDecoder *CreateAudioDecoder(PSPAudioType audioType, int sampleRateHz, int channels) {
|
||||
AudioDecoder *CreateAudioDecoder(PSPAudioType audioType, int sampleRateHz, int channels, size_t blockAlign, const uint8_t *extraData, size_t extraDataSize) {
|
||||
switch (audioType) {
|
||||
case PSP_CODEC_MP3:
|
||||
return new MiniMp3Audio();
|
||||
case PSP_CODEC_AT3:
|
||||
return CreateAtrac3Audio(channels, blockAlign, extraData, extraDataSize);
|
||||
case PSP_CODEC_AT3PLUS:
|
||||
return CreateAtrac3Audio(audioType);
|
||||
return CreateAtrac3PlusAudio(channels, blockAlign);
|
||||
default:
|
||||
// Only AAC falls back to FFMPEG now.
|
||||
return new SimpleAudio(audioType, sampleRateHz, channels);
|
||||
@@ -240,21 +239,6 @@ bool SimpleAudio::OpenCodec(int block_align) {
|
||||
#endif // USE_FFMPEG
|
||||
}
|
||||
|
||||
void SimpleAudio::SetExtraData(const uint8_t *data, int size, int wav_bytes_per_packet) {
|
||||
#ifdef USE_FFMPEG
|
||||
if (codecCtx_) {
|
||||
codecCtx_->extradata = (uint8_t *)av_mallocz(size);
|
||||
codecCtx_->extradata_size = size;
|
||||
codecCtx_->block_align = wav_bytes_per_packet;
|
||||
codecOpen_ = false;
|
||||
|
||||
if (data != nullptr) {
|
||||
memcpy(codecCtx_->extradata, data, size);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
void SimpleAudio::SetChannels(int channels) {
|
||||
if (channels_ == channels) {
|
||||
// Do nothing, already set.
|
||||
|
||||
Reference in new issue
Block a user