mirror of
https://git.vladimir.cc/vladimir/ewsdr.git
synced 2026-08-25 20:37:33 +00:00
chore(audio): убраны временные зонды PortAudio
other/padump.lpr, patest2.lpr, patest3.lpr писались для диагностики
зависания при выборе входа на слайсе (двойное открытие устройства, дамп
PA-списка). Баг закрыт как невоспроизводимый, зонды в сборку не входят и
ниоткуда не вызываются — при надобности достаются из истории (4aa180e).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -1,25 +0,0 @@
|
|||||||
program padump;
|
|
||||||
{$MODE Delphi}
|
|
||||||
uses SysUtils, Classes, AudioInput, AudioOutput;
|
|
||||||
var
|
|
||||||
AI: TAudioInput;
|
|
||||||
AO: TAudioOutput;
|
|
||||||
Names: TStringList;
|
|
||||||
Idx: array[0..63] of Integer;
|
|
||||||
Cnt, i: Integer;
|
|
||||||
begin
|
|
||||||
AI := TAudioInput.Create(48000);
|
|
||||||
AO := TAudioOutput.Create(48000);
|
|
||||||
Names := TStringList.Create;
|
|
||||||
Cnt := 0;
|
|
||||||
AI.EnumInputDevices(Names, Idx, Cnt);
|
|
||||||
WriteLn('--- INPUT devices (', Cnt, ') ---');
|
|
||||||
for i := 0 to Cnt - 1 do WriteLn(Format('%3d %s', [Idx[i], Names[i]]));
|
|
||||||
WriteLn('FindDeviceByName(Direwolf_TX_Output) = ',
|
|
||||||
AI.FindDeviceByName('Direwolf_TX_Output'));
|
|
||||||
Names.Clear; Cnt := 0;
|
|
||||||
AO.EnumOutputDevices(Names, Idx, Cnt);
|
|
||||||
WriteLn('--- OUTPUT devices (', Cnt, ') ---');
|
|
||||||
for i := 0 to Cnt - 1 do WriteLn(Format('%3d %s', [Idx[i], Names[i]]));
|
|
||||||
Names.Free; AI.Free; AO.Free;
|
|
||||||
end.
|
|
||||||
@@ -1,19 +0,0 @@
|
|||||||
program patest2;
|
|
||||||
{$MODE Delphi}
|
|
||||||
uses SysUtils, AudioInput;
|
|
||||||
var A, B: TAudioInput;
|
|
||||||
begin
|
|
||||||
A := TAudioInput.Create(48000);
|
|
||||||
A.DeviceIndex := 15; // DireWolf_TX_Output
|
|
||||||
WriteLn('open #1 ...'); Flush(Output);
|
|
||||||
WriteLn(' -> ', A.Open, ' err=', A.LastError); Flush(Output);
|
|
||||||
B := TAudioInput.Create(48000);
|
|
||||||
B.DeviceIndex := 15; // то же устройство вторым потоком
|
|
||||||
WriteLn('open #2 ...'); Flush(Output);
|
|
||||||
WriteLn(' -> ', B.Open, ' err=', B.LastError); Flush(Output);
|
|
||||||
Sleep(300);
|
|
||||||
WriteLn('avail #1=', A.Available, ' #2=', B.Available); Flush(Output);
|
|
||||||
B.Close; A.Close;
|
|
||||||
B.Free; A.Free;
|
|
||||||
WriteLn('done');
|
|
||||||
end.
|
|
||||||
@@ -1,29 +0,0 @@
|
|||||||
program patest3;
|
|
||||||
{$MODE Delphi}
|
|
||||||
uses SysUtils, Classes, AudioInput;
|
|
||||||
var
|
|
||||||
E: TAudioInput;
|
|
||||||
A: TAudioInput;
|
|
||||||
Names: TStringList;
|
|
||||||
Idx: array[0..63] of Integer;
|
|
||||||
Cnt, i: Integer;
|
|
||||||
OK: Boolean;
|
|
||||||
begin
|
|
||||||
E := TAudioInput.Create(48000);
|
|
||||||
Names := TStringList.Create;
|
|
||||||
Cnt := 0;
|
|
||||||
E.EnumInputDevices(Names, Idx, Cnt);
|
|
||||||
for i := 0 to Cnt - 1 do
|
|
||||||
begin
|
|
||||||
WriteLn(Format('>>> try %3d %s', [Idx[i], Names[i]])); Flush(Output);
|
|
||||||
A := TAudioInput.Create(48000);
|
|
||||||
A.DeviceIndex := Idx[i];
|
|
||||||
OK := A.Open;
|
|
||||||
WriteLn(Format(' %3d open=%s %s', [Idx[i], BoolToStr(OK, True), A.LastError]));
|
|
||||||
Flush(Output);
|
|
||||||
A.Close;
|
|
||||||
A.Free;
|
|
||||||
end;
|
|
||||||
Names.Free; E.Free;
|
|
||||||
WriteLn('ALL DONE');
|
|
||||||
end.
|
|
||||||
Reference in New Issue
Block a user