diff options
Diffstat (limited to 'mediaplugin/src/media/UAudioPlayback_SoftMixer.pas')
-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; |