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"/> <PackageName Value="laz_acs"/>
</Item2> </Item2>
</RequiredPackages> </RequiredPackages>
<Units Count="105"> <Units Count="108">
<Unit0> <Unit0>
<Filename Value="player.lpr"/> <Filename Value="player.lpr"/>
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
<UnitName Value="player"/> <UnitName Value="player"/>
<EditorIndex Value="1"/> <EditorIndex Value="7"/>
<WindowIndex Value="0"/> <WindowIndex Value="0"/>
<TopLine Value="1"/> <TopLine Value="1"/>
<CursorPos X="7" Y="5"/> <CursorPos X="7" Y="5"/>
<UsageCount Value="63"/> <UsageCount Value="64"/>
<Loaded Value="True"/> <Loaded Value="True"/>
<DefaultSyntaxHighlighter Value="Delphi"/> <DefaultSyntaxHighlighter Value="Delphi"/>
</Unit0> </Unit0>
@ -55,12 +55,11 @@
<HasResources Value="True"/> <HasResources Value="True"/>
<ResourceBaseClass Value="Form"/> <ResourceBaseClass Value="Form"/>
<UnitName Value="uMain"/> <UnitName Value="uMain"/>
<IsVisibleTab Value="True"/>
<EditorIndex Value="0"/> <EditorIndex Value="0"/>
<WindowIndex Value="0"/> <WindowIndex Value="0"/>
<TopLine Value="1"/> <TopLine Value="5"/>
<CursorPos X="1" Y="10"/> <CursorPos X="11" Y="20"/>
<UsageCount Value="63"/> <UsageCount Value="64"/>
<Loaded Value="True"/> <Loaded Value="True"/>
<LoadedDesigner Value="True"/> <LoadedDesigner Value="True"/>
<DefaultSyntaxHighlighter Value="Delphi"/> <DefaultSyntaxHighlighter Value="Delphi"/>
@ -145,10 +144,12 @@
<Unit13> <Unit13>
<Filename Value="..\..\Src\classes\acs_classes.pas"/> <Filename Value="..\..\Src\classes\acs_classes.pas"/>
<UnitName Value="acs_classes"/> <UnitName Value="acs_classes"/>
<EditorIndex Value="6"/>
<WindowIndex Value="0"/> <WindowIndex Value="0"/>
<TopLine Value="1148"/> <TopLine Value="215"/>
<CursorPos X="1" Y="1166"/> <CursorPos X="31" Y="117"/>
<UsageCount Value="22"/> <UsageCount Value="22"/>
<Loaded Value="True"/>
<DefaultSyntaxHighlighter Value="Delphi"/> <DefaultSyntaxHighlighter Value="Delphi"/>
</Unit13> </Unit13>
<Unit14> <Unit14>
@ -222,7 +223,7 @@
<UnitName Value="uPlaylist"/> <UnitName Value="uPlaylist"/>
<TopLine Value="17"/> <TopLine Value="17"/>
<CursorPos X="8" Y="32"/> <CursorPos X="8" Y="32"/>
<UsageCount Value="43"/> <UsageCount Value="44"/>
</Unit23> </Unit23>
<Unit24> <Unit24>
<Filename Value="..\..\..\..\lazarus\lcl\interfaces\win32\win32object.inc"/> <Filename Value="..\..\..\..\lazarus\lcl\interfaces\win32\win32object.inc"/>
@ -244,7 +245,7 @@
<UnitName Value="uvis"/> <UnitName Value="uvis"/>
<TopLine Value="58"/> <TopLine Value="58"/>
<CursorPos X="34" Y="9"/> <CursorPos X="34" Y="9"/>
<UsageCount Value="40"/> <UsageCount Value="41"/>
</Unit26> </Unit26>
<Unit27> <Unit27>
<Filename Value="..\..\Src\classes\ACS_Indicator.pas"/> <Filename Value="..\..\Src\classes\ACS_Indicator.pas"/>
@ -721,19 +722,24 @@
<Unit96> <Unit96>
<Filename Value="..\..\Src\drivers\acs_alsaaudio.pas"/> <Filename Value="..\..\Src\drivers\acs_alsaaudio.pas"/>
<UnitName Value="acs_alsaaudio"/> <UnitName Value="acs_alsaaudio"/>
<WindowIndex Value="1"/> <EditorIndex Value="1"/>
<TopLine Value="1"/> <WindowIndex Value="0"/>
<CursorPos X="1" Y="1"/> <TopLine Value="447"/>
<CursorPos X="1" Y="481"/>
<UsageCount Value="10"/> <UsageCount Value="10"/>
<Loaded Value="True"/>
<DefaultSyntaxHighlighter Value="Delphi"/> <DefaultSyntaxHighlighter Value="Delphi"/>
</Unit96> </Unit96>
<Unit97> <Unit97>
<Filename Value="..\..\Src\drivers\linux\alsa.pas"/> <Filename Value="..\..\Src\drivers\linux\alsa.pas"/>
<UnitName Value="alsa"/> <UnitName Value="alsa"/>
<WindowIndex Value="1"/> <IsVisibleTab Value="True"/>
<TopLine Value="58"/> <EditorIndex Value="2"/>
<CursorPos X="31" Y="68"/> <WindowIndex Value="0"/>
<TopLine Value="887"/>
<CursorPos X="25" Y="904"/>
<UsageCount Value="10"/> <UsageCount Value="10"/>
<Loaded Value="True"/>
<DefaultSyntaxHighlighter Value="Delphi"/> <DefaultSyntaxHighlighter Value="Delphi"/>
</Unit97> </Unit97>
<Unit98> <Unit98>
@ -796,24 +802,160 @@
<UsageCount Value="10"/> <UsageCount Value="10"/>
<DefaultSyntaxHighlighter Value="Delphi"/> <DefaultSyntaxHighlighter Value="Delphi"/>
</Unit104> </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> </Units>
<JumpHistory Count="4" HistoryIndex="3"> <JumpHistory Count="30" HistoryIndex="29">
<Position1> <Position1>
<Filename Value="umain.pas"/> <Filename Value="umain.pas"/>
<Caret Line="113" Column="1" TopLine="99"/> <Caret Line="20" Column="11" TopLine="5"/>
</Position1> </Position1>
<Position2> <Position2>
<Filename Value="umain.pas"/> <Filename Value="..\..\Src\drivers\acs_alsaaudio.pas"/>
<Caret Line="20" Column="10" TopLine="5"/> <Caret Line="475" Column="11" TopLine="447"/>
</Position2> </Position2>
<Position3> <Position3>
<Filename Value="umain.pas"/> <Filename Value="..\..\Src\drivers\acs_stdaudio.pas"/>
<Caret Line="23" Column="16" TopLine="5"/> <Caret Line="222" Column="1" TopLine="198"/>
</Position3> </Position3>
<Position4> <Position4>
<Filename Value="umain.pas"/> <Filename Value="..\..\Src\drivers\linux\acs_audio.inc"/>
<Caret Line="20" Column="4" TopLine="5"/> <Caret Line="242" Column="1" TopLine="224"/>
</Position4> </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> </JumpHistory>
</ProjectOptions> </ProjectOptions>
<CompilerOptions> <CompilerOptions>
@ -840,7 +982,7 @@
</Other> </Other>
</CompilerOptions> </CompilerOptions>
<Debugging> <Debugging>
<BreakPoints Count="1"> <BreakPoints Count="2">
<Item1> <Item1>
<Kind Value="bpkSource"/> <Kind Value="bpkSource"/>
<WatchScope Value="wpsGlobal"/> <WatchScope Value="wpsGlobal"/>
@ -848,6 +990,13 @@
<Source Value="..\..\Src\fileformats\ACS_FLAC.pas"/> <Source Value="..\..\Src\fileformats\ACS_FLAC.pas"/>
<Line Value="576"/> <Line Value="576"/>
</Item1> </Item1>
<Item2>
<Kind Value="bpkSource"/>
<WatchScope Value="wpsLocal"/>
<WatchKind Value="wpkWrite"/>
<Source Value="..\..\Src\drivers\linux\alsa.pas"/>
<Line Value="901"/>
</Item2>
</BreakPoints> </BreakPoints>
<Watches Count="2"> <Watches Count="2">
<Item1> <Item1>

View File

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

View File

@ -69,6 +69,7 @@ uses
const const
asoundlib_path = 'libasound.so*'; asoundlib_path = 'libasound.so*';
asoundlib_path_ = 'libasound.so';
var var
AsoundlibLoaded : Boolean = False; AsoundlibLoaded : Boolean = False;
@ -898,7 +899,9 @@ var
initialization initialization
Path := FindLibs(asoundlib_path); 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 if Libhandle <> nil then
begin begin
AsoundlibLoaded := True; AsoundlibLoaded := True;