fix alsa loading

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@2821 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
christian_u
2013-11-01 23:10:36 +00:00
parent b827644c2a
commit 1e4133108f
3 changed files with 180 additions and 28 deletions

View File

@ -35,16 +35,16 @@
<PackageName Value="laz_acs"/>
</Item2>
</RequiredPackages>
<Units Count="105">
<Units Count="108">
<Unit0>
<Filename Value="player.lpr"/>
<IsPartOfProject Value="True"/>
<UnitName Value="player"/>
<EditorIndex Value="1"/>
<EditorIndex Value="7"/>
<WindowIndex Value="0"/>
<TopLine Value="1"/>
<CursorPos X="7" Y="5"/>
<UsageCount Value="63"/>
<UsageCount Value="64"/>
<Loaded Value="True"/>
<DefaultSyntaxHighlighter Value="Delphi"/>
</Unit0>
@ -55,12 +55,11 @@
<HasResources Value="True"/>
<ResourceBaseClass Value="Form"/>
<UnitName Value="uMain"/>
<IsVisibleTab Value="True"/>
<EditorIndex Value="0"/>
<WindowIndex Value="0"/>
<TopLine Value="1"/>
<CursorPos X="1" Y="10"/>
<UsageCount Value="63"/>
<TopLine Value="5"/>
<CursorPos X="11" Y="20"/>
<UsageCount Value="64"/>
<Loaded Value="True"/>
<LoadedDesigner Value="True"/>
<DefaultSyntaxHighlighter Value="Delphi"/>
@ -145,10 +144,12 @@
<Unit13>
<Filename Value="..\..\Src\classes\acs_classes.pas"/>
<UnitName Value="acs_classes"/>
<EditorIndex Value="6"/>
<WindowIndex Value="0"/>
<TopLine Value="1148"/>
<CursorPos X="1" Y="1166"/>
<TopLine Value="215"/>
<CursorPos X="31" Y="117"/>
<UsageCount Value="22"/>
<Loaded Value="True"/>
<DefaultSyntaxHighlighter Value="Delphi"/>
</Unit13>
<Unit14>
@ -222,7 +223,7 @@
<UnitName Value="uPlaylist"/>
<TopLine Value="17"/>
<CursorPos X="8" Y="32"/>
<UsageCount Value="43"/>
<UsageCount Value="44"/>
</Unit23>
<Unit24>
<Filename Value="..\..\..\..\lazarus\lcl\interfaces\win32\win32object.inc"/>
@ -244,7 +245,7 @@
<UnitName Value="uvis"/>
<TopLine Value="58"/>
<CursorPos X="34" Y="9"/>
<UsageCount Value="40"/>
<UsageCount Value="41"/>
</Unit26>
<Unit27>
<Filename Value="..\..\Src\classes\ACS_Indicator.pas"/>
@ -721,19 +722,24 @@
<Unit96>
<Filename Value="..\..\Src\drivers\acs_alsaaudio.pas"/>
<UnitName Value="acs_alsaaudio"/>
<WindowIndex Value="1"/>
<TopLine Value="1"/>
<CursorPos X="1" Y="1"/>
<EditorIndex Value="1"/>
<WindowIndex Value="0"/>
<TopLine Value="447"/>
<CursorPos X="1" Y="481"/>
<UsageCount Value="10"/>
<Loaded Value="True"/>
<DefaultSyntaxHighlighter Value="Delphi"/>
</Unit96>
<Unit97>
<Filename Value="..\..\Src\drivers\linux\alsa.pas"/>
<UnitName Value="alsa"/>
<WindowIndex Value="1"/>
<TopLine Value="58"/>
<CursorPos X="31" Y="68"/>
<IsVisibleTab Value="True"/>
<EditorIndex Value="2"/>
<WindowIndex Value="0"/>
<TopLine Value="887"/>
<CursorPos X="25" Y="904"/>
<UsageCount Value="10"/>
<Loaded Value="True"/>
<DefaultSyntaxHighlighter Value="Delphi"/>
</Unit97>
<Unit98>
@ -796,24 +802,160 @@
<UsageCount Value="10"/>
<DefaultSyntaxHighlighter Value="Delphi"/>
</Unit104>
<Unit105>
<Filename Value="..\..\Src\drivers\acs_stdaudio.pas"/>
<UnitName Value="acs_stdaudio"/>
<EditorIndex Value="4"/>
<WindowIndex Value="0"/>
<TopLine Value="198"/>
<CursorPos X="1" Y="215"/>
<UsageCount Value="10"/>
<Loaded Value="True"/>
<DefaultSyntaxHighlighter Value="Delphi"/>
</Unit105>
<Unit106>
<Filename Value="..\..\Src\drivers\linux\acs_audio.inc"/>
<EditorIndex Value="5"/>
<WindowIndex Value="0"/>
<TopLine Value="232"/>
<CursorPos X="1" Y="265"/>
<UsageCount Value="10"/>
<Loaded Value="True"/>
<DefaultSyntaxHighlighter Value="Delphi"/>
</Unit106>
<Unit107>
<Filename Value="..\..\Src\classes\acs_procs.pas"/>
<UnitName Value="acs_procs"/>
<EditorIndex Value="3"/>
<WindowIndex Value="0"/>
<TopLine Value="28"/>
<CursorPos X="12" Y="46"/>
<UsageCount Value="10"/>
<Loaded Value="True"/>
<DefaultSyntaxHighlighter Value="Delphi"/>
</Unit107>
</Units>
<JumpHistory Count="4" HistoryIndex="3">
<JumpHistory Count="30" HistoryIndex="29">
<Position1>
<Filename Value="umain.pas"/>
<Caret Line="113" Column="1" TopLine="99"/>
<Caret Line="20" Column="11" TopLine="5"/>
</Position1>
<Position2>
<Filename Value="umain.pas"/>
<Caret Line="20" Column="10" TopLine="5"/>
<Filename Value="..\..\Src\drivers\acs_alsaaudio.pas"/>
<Caret Line="475" Column="11" TopLine="447"/>
</Position2>
<Position3>
<Filename Value="umain.pas"/>
<Caret Line="23" Column="16" TopLine="5"/>
<Filename Value="..\..\Src\drivers\acs_stdaudio.pas"/>
<Caret Line="222" Column="1" TopLine="198"/>
</Position3>
<Position4>
<Filename Value="umain.pas"/>
<Caret Line="20" Column="4" TopLine="5"/>
<Filename Value="..\..\Src\drivers\linux\acs_audio.inc"/>
<Caret Line="242" Column="1" TopLine="224"/>
</Position4>
<Position5>
<Filename Value="..\..\Src\drivers\linux\acs_audio.inc"/>
<Caret Line="243" Column="1" TopLine="224"/>
</Position5>
<Position6>
<Filename Value="..\..\Src\drivers\linux\acs_audio.inc"/>
<Caret Line="244" Column="1" TopLine="224"/>
</Position6>
<Position7>
<Filename Value="..\..\Src\drivers\linux\acs_audio.inc"/>
<Caret Line="245" Column="1" TopLine="224"/>
</Position7>
<Position8>
<Filename Value="..\..\Src\drivers\linux\acs_audio.inc"/>
<Caret Line="246" Column="1" TopLine="224"/>
</Position8>
<Position9>
<Filename Value="..\..\Src\drivers\acs_alsaaudio.pas"/>
<Caret Line="475" Column="12" TopLine="447"/>
</Position9>
<Position10>
<Filename Value="..\..\Src\drivers\linux\alsa.pas"/>
<Caret Line="900" Column="27" TopLine="889"/>
</Position10>
<Position11>
<Filename Value="..\..\Src\drivers\linux\alsa.pas"/>
<Caret Line="904" Column="41" TopLine="890"/>
</Position11>
<Position12>
<Filename Value="..\..\Src\drivers\acs_stdaudio.pas"/>
<Caret Line="222" Column="1" TopLine="198"/>
</Position12>
<Position13>
<Filename Value="..\..\Src\drivers\linux\acs_audio.inc"/>
<Caret Line="242" Column="1" TopLine="232"/>
</Position13>
<Position14>
<Filename Value="..\..\Src\drivers\linux\acs_audio.inc"/>
<Caret Line="243" Column="1" TopLine="232"/>
</Position14>
<Position15>
<Filename Value="..\..\Src\drivers\linux\acs_audio.inc"/>
<Caret Line="244" Column="1" TopLine="232"/>
</Position15>
<Position16>
<Filename Value="..\..\Src\drivers\linux\acs_audio.inc"/>
<Caret Line="245" Column="1" TopLine="232"/>
</Position16>
<Position17>
<Filename Value="..\..\Src\drivers\linux\acs_audio.inc"/>
<Caret Line="246" Column="1" TopLine="232"/>
</Position17>
<Position18>
<Filename Value="..\..\Src\drivers\linux\acs_audio.inc"/>
<Caret Line="249" Column="1" TopLine="232"/>
</Position18>
<Position19>
<Filename Value="..\..\Src\drivers\linux\acs_audio.inc"/>
<Caret Line="250" Column="1" TopLine="232"/>
</Position19>
<Position20>
<Filename Value="..\..\Src\drivers\linux\acs_audio.inc"/>
<Caret Line="251" Column="1" TopLine="232"/>
</Position20>
<Position21>
<Filename Value="..\..\Src\drivers\linux\acs_audio.inc"/>
<Caret Line="265" Column="1" TopLine="232"/>
</Position21>
<Position22>
<Filename Value="..\..\Src\drivers\acs_stdaudio.pas"/>
<Caret Line="223" Column="1" TopLine="198"/>
</Position22>
<Position23>
<Filename Value="..\..\Src\drivers\acs_stdaudio.pas"/>
<Caret Line="224" Column="1" TopLine="198"/>
</Position23>
<Position24>
<Filename Value="..\..\Src\drivers\acs_alsaaudio.pas"/>
<Caret Line="475" Column="1" TopLine="447"/>
</Position24>
<Position25>
<Filename Value="..\..\Src\drivers\acs_alsaaudio.pas"/>
<Caret Line="465" Column="23" TopLine="447"/>
</Position25>
<Position26>
<Filename Value="..\..\Src\drivers\acs_alsaaudio.pas"/>
<Caret Line="475" Column="1" TopLine="447"/>
</Position26>
<Position27>
<Filename Value="..\..\Src\drivers\linux\alsa.pas"/>
<Caret Line="904" Column="41" TopLine="890"/>
</Position27>
<Position28>
<Filename Value="..\..\Src\drivers\linux\alsa.pas"/>
<Caret Line="901" Column="1" TopLine="890"/>
</Position28>
<Position29>
<Filename Value="..\..\Src\drivers\linux\alsa.pas"/>
<Caret Line="902" Column="1" TopLine="890"/>
</Position29>
<Position30>
<Filename Value="..\..\Src\drivers\linux\alsa.pas"/>
<Caret Line="937" Column="1" TopLine="880"/>
</Position30>
</JumpHistory>
</ProjectOptions>
<CompilerOptions>
@ -840,7 +982,7 @@
</Other>
</CompilerOptions>
<Debugging>
<BreakPoints Count="1">
<BreakPoints Count="2">
<Item1>
<Kind Value="bpkSource"/>
<WatchScope Value="wpsGlobal"/>
@ -848,6 +990,13 @@
<Source Value="..\..\Src\fileformats\ACS_FLAC.pas"/>
<Line Value="576"/>
</Item1>
<Item2>
<Kind Value="bpkSource"/>
<WatchScope Value="wpsLocal"/>
<WatchKind Value="wpkWrite"/>
<Source Value="..\..\Src\drivers\linux\alsa.pas"/>
<Line Value="901"/>
</Item2>
</BreakPoints>
<Watches Count="2">
<Item1>

View File

@ -142,7 +142,7 @@ begin
FStopped := True;
if (AudioOut1.Status <> tosIdle) then
AudioOut1.Stop;
while (AudioOut1.Status <> tosIdle) do
while (AudioOut1.Status <> tosIdle) and (AudioOut1.Status <> tosUndefined) do
Application.Processmessages;
end;

View File

@ -69,6 +69,7 @@ uses
const
asoundlib_path = 'libasound.so*';
asoundlib_path_ = 'libasound.so';
var
AsoundlibLoaded : Boolean = False;
@ -898,7 +899,9 @@ var
initialization
Path := FindLibs(asoundlib_path);
if Path <> '' then Libhandle := dlopen(@Path[1], RTLD_NOW or RTLD_GLOBAL);
if Path <> '' then Libhandle := dlopen(@Path, RTLD_NOW or RTLD_GLOBAL);
if Libhandle=nil then
Libhandle := dlopen(asoundlib_path_, RTLD_NOW or RTLD_GLOBAL);
if Libhandle <> nil then
begin
AsoundlibLoaded := True;