Previous 199869 Revisions Next

r36936 Saturday 4th April, 2015 at 15:38:41 UTC by Vasantha Crabb
the AudioUnit is happier if we don't stop it for silence (nw)
[src/osd/modules/sound]coreaudio_sound.c

trunk/src/osd/modules/sound/coreaudio_sound.c
r245447r245448
2626      osd_module(OSD_SOUND_PROVIDER, "coreaudio"),
2727      sound_module(),
2828      m_open(false),
29      m_started(false),
3029      m_attenuation(0),
3130      m_scale(128),
3231      m_sample_bytes(0),
r245447r245448
8786         AudioBufferList             *data);
8887
8988   bool        m_open;
90   bool        m_started;
9189   AudioUnit   m_output;
9290   int         m_attenuation;
93   UINT32      m_scale;
91   INT32       m_scale;
9492   UINT32      m_sample_bytes;
9593   UINT32      m_headroom;
9694   UINT32      m_buffer_size;
r245447r245448
200198      return -1;
201199   }
202200   m_open = true;
203   m_started = true;
204201   osd_printf_verbose("Audio: End initialization\n");
205202   return 0;
206203}
r245447r245448
215212      AudioUnitUninitialize(m_output);
216213      CloseComponent(m_output);
217214      m_open = false;
218      m_started = false;
219215   }
220216   if (m_buffer)
221217   {
r245447r245448
257253
258254void sound_coreaudio::set_mastervolume(int attenuation)
259255{
260   m_attenuation   = MAX(MIN(attenuation, 0), -32);
261   m_scale         = (UINT32)(pow(10.0, m_attenuation / 20.0) * 128);
262   if (m_open)
263   {
264      if (-32 == m_attenuation)
265      {
266         if (m_started)
267         {
268            if (noErr == AudioOutputUnitStop(m_output))
269               m_started = false;
270         }
271      }
272      else
273      {
274         if (!m_started)
275         {
276            if (noErr == AudioOutputUnitStart(m_output))
277               m_started = true;
278         }
279      }
280   }
256   m_attenuation = MAX(MIN(attenuation, 0), -32);
257   m_scale = (-32 == m_attenuation) ? 0 : (INT32)(pow(10.0, m_attenuation / 20.0) * 128);
281258}
282259
283260


Previous 199869 Revisions Next


© 1997-2024 The MAME Team