Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix audio playback buffer #787

Merged
merged 2 commits into from
Dec 24, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions src/base/UMusic.pas
Original file line number Diff line number Diff line change
Expand Up @@ -285,7 +285,7 @@ TAudioSourceStream = class(TAudioProcessingStream)
function IsEOF(): boolean; virtual; abstract;
function IsError(): boolean; virtual; abstract;
public
function ReadData(Buffer: PByteArray; BufferSize: integer): integer; virtual; abstract;
function ReadData(Buffer: PByte; BufferSize: integer): integer; virtual; abstract;

property EOF: boolean read IsEOF;
property Error: boolean read IsError;
Expand Down Expand Up @@ -790,7 +790,7 @@ procedure InitializeSound;
CurrentAudioDecoder := InterfaceList[i] as IAudioDecoder;
if (not CurrentAudioDecoder.InitializeDecoder()) then
begin
Log.LogError('Initialize failed, Removing - '+ CurrentAudioDecoder.GetName);
Log.LogError('Initialize failed, Removing decoder: '+ CurrentAudioDecoder.GetName);
MediaManager.Remove(CurrentAudioDecoder);
end;
end;
Expand All @@ -810,7 +810,7 @@ procedure InitializeSound;
DefaultAudioPlayback := CurrentAudioPlayback;
break;
end;
Log.LogError('Initialize failed, Removing - '+ CurrentAudioPlayback.GetName);
Log.LogError('Initialize failed, Removing playback: '+ CurrentAudioPlayback.GetName);
MediaManager.Remove(CurrentAudioPlayback);
end;

Expand All @@ -825,7 +825,7 @@ procedure InitializeSound;
DefaultAudioInput := CurrentAudioInput;
break;
end;
Log.LogError('Initialize failed, Removing - '+ CurrentAudioInput.GetName);
Log.LogError('Initialize failed, Removing input: '+ CurrentAudioInput.GetName);
MediaManager.Remove(CurrentAudioInput);
end;

Expand Down
4 changes: 2 additions & 2 deletions src/base/URingBuffer.pas
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ TRingBuffer = class
public
constructor Create(Size: integer);
destructor Destroy; override;
function Read(Buffer: PByteArray; Count: integer): integer;
function Read(Buffer: PByte; Count: integer): integer;
function Write(Buffer: PByteArray; Count: integer): integer;
function Size(): integer;
function Available(): integer;
Expand All @@ -73,7 +73,7 @@ destructor TRingBuffer.Destroy;
FreeMem(RingBuffer);
end;

function TRingBuffer.Read(Buffer: PByteArray; Count: integer): integer;
function TRingBuffer.Read(Buffer: PByte; Count: integer): integer;
var
PartCount: integer;
begin
Expand Down
4 changes: 2 additions & 2 deletions src/media/UAudioDecoder_Bass.pas
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ TBassDecodeStream = class(TAudioDecodeStream)
function IsEOF(): boolean; override;
function IsError(): boolean; override;

function ReadData(Buffer: PByteArray; BufSize: integer): integer; override;
function ReadData(Buffer: PByte; BufSize: integer): integer; override;
end;

type
Expand Down Expand Up @@ -194,7 +194,7 @@ function TBassDecodeStream.IsError(): boolean;
Result := Error;
end;

function TBassDecodeStream.ReadData(Buffer: PByteArray; BufSize: integer): integer;
function TBassDecodeStream.ReadData(Buffer: PByte; BufSize: integer): integer;
var
Report: string;
I: Integer;
Expand Down
4 changes: 2 additions & 2 deletions src/media/UAudioDecoder_FFmpeg.pas
Original file line number Diff line number Diff line change
Expand Up @@ -204,7 +204,7 @@ TFFmpegDecodeStream = class(TAudioDecodeStream)
function IsEOF(): boolean; override;
function IsError(): boolean; override;

function ReadData(Buffer: PByteArray; BufferSize: integer): integer; override;
function ReadData(Buffer: PByte; BufferSize: integer): integer; override;
end;

type
Expand Down Expand Up @@ -1302,7 +1302,7 @@ function TFFmpegDecodeStream.DecodeFrame(): integer;
end;
end;

function TFFmpegDecodeStream.ReadData(Buffer: PByteArray; BufferSize: integer): integer;
function TFFmpegDecodeStream.ReadData(Buffer: PByte; BufferSize: integer): integer;
var
CopyByteCount: integer; // number of bytes to copy
RemainByteCount: integer; // number of bytes left (remain) to read
Expand Down
4 changes: 2 additions & 2 deletions src/media/UAudioPlaybackBase.pas
Original file line number Diff line number Diff line change
Expand Up @@ -122,7 +122,7 @@ TAudioBufferSourceStream = class(TAudioSourceStream)
procedure SetLoop(Enabled: boolean); override;
public
constructor Create(Buffer: TStream; Format: TAudioFormatInfo);
function ReadData(Buffer: PByteArray; BufferSize: integer): integer; override;
function ReadData(Buffer: PByte; BufferSize: integer): integer; override;
function GetAudioFormatInfo(): TAudioFormatInfo; override;
procedure Close(); override;
end;
Expand Down Expand Up @@ -432,7 +432,7 @@ procedure TAudioBufferSourceStream.SetLoop(Enabled: boolean);
fLoop := Enabled;
end;

function TAudioBufferSourceStream.ReadData(Buffer: PByteArray; BufferSize: integer): integer;
function TAudioBufferSourceStream.ReadData(Buffer: PByte; BufferSize: integer): integer;
var
BufSizeLeft: integer;
NumRead: integer;
Expand Down
8 changes: 4 additions & 4 deletions src/media/UAudioPlayback_Bass.pas
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,7 @@ TBassPlaybackStream = class(TAudioPlaybackStream)

function GetAudioFormatInfo(): TAudioFormatInfo; override;

function ReadData(Buffer: PByteArray; BufferSize: integer): integer;
function ReadData(Buffer: PByte; BufferSize: integer): integer;

property EOF: boolean READ IsEOF;
end;
Expand All @@ -110,7 +110,7 @@ TBassVoiceStream = class(TAudioVoiceStream)
procedure Close(); override;

procedure WriteData(Buffer: PByteArray; BufferSize: integer); override;
function ReadData(Buffer: PByteArray; BufferSize: integer): integer; override;
function ReadData(Buffer: PByte; BufferSize: integer): integer; override;
function IsEOF(): boolean; override;
function IsError(): boolean; override;
end;
Expand Down Expand Up @@ -185,7 +185,7 @@ function PlaybackStreamHandler(handle: HSTREAM; buffer: Pointer; length: DWORD;
Result := BytesRead;
end;

function TBassPlaybackStream.ReadData(Buffer: PByteArray; BufferSize: integer): integer;
function TBassPlaybackStream.ReadData(Buffer: PByte; BufferSize: integer): integer;
var
AdjustedSize: integer;
RequestedSourceSize, SourceSize: integer;
Expand Down Expand Up @@ -655,7 +655,7 @@ procedure TBassVoiceStream.WriteData(Buffer: PByteArray; BufferSize: integer);
end;

// Note: we do not need the read-function for the BASS implementation
function TBassVoiceStream.ReadData(Buffer: PByteArray; BufferSize: integer): integer;
function TBassVoiceStream.ReadData(Buffer: PByte; BufferSize: integer): integer;
begin
Result := -1;
end;
Expand Down
4 changes: 2 additions & 2 deletions src/media/UAudioPlayback_SoftMixer.pas
Original file line number Diff line number Diff line change
Expand Up @@ -175,7 +175,7 @@ TGenericVoiceStream = class(TAudioVoiceStream)
function Open(ChannelMap: integer; FormatInfo: TAudioFormatInfo): boolean; override;
procedure Close(); override;
procedure WriteData(Buffer: PByteArray; BufferSize: integer); override;
function ReadData(Buffer: PByteArray; BufferSize: integer): integer; override;
function ReadData(Buffer: PByte; BufferSize: integer): integer; override;
function IsEOF(): boolean; override;
function IsError(): boolean; override;
end;
Expand Down Expand Up @@ -1026,7 +1026,7 @@ procedure TGenericVoiceStream.WriteData(Buffer: PByteArray; BufferSize: integer)
end;
end;

function TGenericVoiceStream.ReadData(Buffer: PByteArray; BufferSize: integer): integer;
function TGenericVoiceStream.ReadData(Buffer: PByte; BufferSize: integer): integer;
begin
Result := -1;

Expand Down