diff options
author | tobigun <tobigun@b956fd51-792f-4845-bead-9b4dfca2ff2c> | 2010-11-01 20:13:59 +0000 |
---|---|---|
committer | tobigun <tobigun@b956fd51-792f-4845-bead-9b4dfca2ff2c> | 2010-11-01 20:13:59 +0000 |
commit | 0b833c98bc6e9f79320b45dfc331cd5121078150 (patch) | |
tree | 2bb362f67ab82c8be0a5503b55c33fbab077b4fd /mediaplugin/src/media/UAudioPlayback_SoftMixer.pas | |
parent | 4063388c8b0df5be7b1877d32e89723aae612618 (diff) | |
download | usdx-0b833c98bc6e9f79320b45dfc331cd5121078150.tar.gz usdx-0b833c98bc6e9f79320b45dfc331cd5121078150.tar.xz usdx-0b833c98bc6e9f79320b45dfc331cd5121078150.zip |
- audio converter managed by media interface handler
- added (yet unused) interface priorities
git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/branches/experimental@2700 b956fd51-792f-4845-bead-9b4dfca2ff2c
Diffstat (limited to '')
-rw-r--r-- | mediaplugin/src/media/UAudioPlayback_SoftMixer.pas | 29 |
1 files changed, 4 insertions, 25 deletions
diff --git a/mediaplugin/src/media/UAudioPlayback_SoftMixer.pas b/mediaplugin/src/media/UAudioPlayback_SoftMixer.pas index b8148b4a..39f71147 100644 --- a/mediaplugin/src/media/UAudioPlayback_SoftMixer.pas +++ b/mediaplugin/src/media/UAudioPlayback_SoftMixer.pas @@ -59,7 +59,7 @@ type SourceBufferSize: integer; SourceBufferCount: integer; // number of available bytes in SourceBuffer - Converter: TAudioConverter; + Converter: TAudioConvertStream; Status: TStreamStatus; InternalLock: PSDL_Mutex; SoundEffects: TList; @@ -73,7 +73,6 @@ type procedure Reset(); procedure ApplySoundEffects(Buffer: PByteArray; BufferSize: integer); - function InitFormatConversion(): boolean; procedure FlushBuffers(); procedure LockSampleBuffer(); {$IFDEF HasInline}inline;{$ENDIF} @@ -387,7 +386,9 @@ begin Exit; Self.SourceStream := SourceStream; - if not InitFormatConversion() then + Converter := AudioConverter.Open(SourceStream.GetAudioFormatInfo(), + GetAudioFormatInfo()); + if (Converter = nil) then begin // reset decode-stream so it will not be freed on destruction Self.SourceStream := nil; @@ -422,28 +423,6 @@ begin SDL_mutexV(InternalLock); end; -function TGenericPlaybackStream.InitFormatConversion(): boolean; -var - SrcFormatInfo: TAudioFormatInfo; - DstFormatInfo: TAudioFormatInfo; -begin - Result := false; - - SrcFormatInfo := SourceStream.GetAudioFormatInfo(); - DstFormatInfo := GetAudioFormatInfo(); - - // TODO: selection should not be done here, use a factory (TAudioConverterFactory) instead - {$IF Defined(UseFFmpegResample)} - Converter := TAudioConverterPlugin.Create(); - {$ELSEIF Defined(UseSRCResample)} - Converter := TAudioConverter_SRC.Create(); - {$ELSE} - Converter := TAudioConverter_SDL.Create(); - {$IFEND} - - Result := Converter.Init(SrcFormatInfo, DstFormatInfo); -end; - procedure TGenericPlaybackStream.Play(); var Mixer: TAudioMixerStream; |