… | |
… | |
17 | use common::sense; |
17 | use common::sense; |
18 | use DC (); |
18 | use DC (); |
19 | |
19 | |
20 | our $SDL_MIXER; |
20 | our $SDL_MIXER; |
21 | |
21 | |
22 | sub init { |
22 | sub init() { |
23 | unless ($::SDL_MIXER) { |
23 | unless ($::SDL_MIXER) { |
24 | if (length $::CFG->{audio_driver}) { |
24 | if (length $::CFG->{audio_driver}) { |
25 | local $ENV{SDL_AUDIODRIVER} = $::CFG->{audio_driver}; |
25 | local $ENV{SDL_AUDIODRIVER} = $::CFG->{audio_driver}; |
26 | DC::SDL_InitSubSystem DC::SDL_INIT_AUDIO |
26 | DC::SDL_InitSubSystem DC::SDL_INIT_AUDIO |
27 | and die "SDL::Init failed!\n"; |
27 | and die "SDL::Init failed!\n"; |
… | |
… | |
67 | # simply unreliable. |
67 | # simply unreliable. |
68 | |
68 | |
69 | # let's check whether the default config and a few others segfault, |
69 | # let's check whether the default config and a few others segfault, |
70 | # then decide |
70 | # then decide |
71 | |
71 | |
72 | # user selected config |
72 | return if _probe; # user selected config |
73 | return if _probe; |
73 | $::CFG->{audio_driver} = "" ; return if _probe; # default sdl config |
74 | |
|
|
75 | # default sdl config |
|
|
76 | delete $ENV{SDL_AUDIODRIVER}; |
|
|
77 | $::CFG->{audio_driver} = ""; |
|
|
78 | return if _probe; |
|
|
79 | |
|
|
80 | $::CFG->{audio_driver} = "pulse"; |
74 | $::CFG->{audio_driver} = "pulse"; return if _probe; |
81 | return if _probe; |
|
|
82 | |
|
|
83 | $::CFG->{audio_driver} = "alsa"; |
75 | $::CFG->{audio_driver} = "alsa" ; return if _probe; |
84 | return if _probe; |
76 | $::CFG->{audio_driver} = "esd" ; return if _probe; |
85 | |
|
|
86 | $::CFG->{audio_driver} = "dsp"; |
77 | $::CFG->{audio_driver} = "dsp" ; return if _probe; |
87 | return if _probe; |
|
|
88 | |
|
|
89 | $::CFG->{audio_driver} = "none"; |
78 | $::CFG->{audio_driver} = "none" ; |
90 | } |
79 | } |
91 | |
80 | |
92 | 1; |
81 | 1; |
93 | |
82 | |
94 | =back |
83 | =back |