Merge pull request #35 from padenot/master

Sync back gecko changes
winmm: Pass valid pointer to waveOutGetCaps, and fix get_preferred_sample_rate signature.
sndio: Include assert.h.
Add missing cubeb_stream_get_latency wrapper.

From 1b8702d0003f93b24974432ab667bee2ed4b041f.
audiotrack: Look up getOutputSamplingRate for all versions of Android.
audiotrack: round up minimum latency value.  (bug 930189)
wasapi: Remove hardcoded 30ms latency limit.  (Bug 933198)
wasapi: Support mono output configurations.  (Bug 929009)
audiounit: Only set the audio output latency on mac if it is lower than the default.  (Bug 928797)
pulse: Return error from pulse_stream_init rather than assuming pa_stream_new can't fail.  (Bug 934232)
wasapi: Call GetDefaultAudioEndpoint when needed rather than caching its result when called at cubeb init time.  (Bug 923992)
Return an error from get_min_latency and get_preferred_sample_rate if the context is null.
wasapi: Fetch default audio endpoint in WASAPI so that backend selection continues to work.  Without this, wasapi_init can succeed on platforms where WASAPI is not available.
whitespace cleanup.
make 1kHz the minimum supported rate.  1Hz seems to be accepted on many platforms but subsequently fails to work.
wasapi: Remove fatal assert from unhandled IsFormatSupported error to allow fallback. (Bug950026)
opensl: Compute audio clock with improved precision.  (Bug 944132)
opensl: Get more accurate latency numbers. (Bug 940707)
opensl: Be more robust when getting the preferred sample rate.  (Bug 947431)
opensl: Refill queues before starting playback to avoid a race.  (Bug 940177)