Build system.
Review comments: cubeb_resampler_speex_one_way ctor should take uint32_t.
Review comments: Use the default device for test_record.cpp
Review comments: use the correct path to include cubeb.h.
Review comments: use std::unique_ptr instead of auto_ptr, and remove auto_ptr implementation.
Review comments: Add test_duplex{,.exe} to .gitignore.
Review comments: Formatting in noop_resampler::fill.
Review comments: rename auto_array::resize to auto_array::reserve.
Review comments: Rename the method that push silence in an auto_array push_silence.
Review comments: Make test_duplex work with backend that use integers.
Review comments: indent in cubeb_resampler.cpp.
Review comments: call the target rate in the public interface of the resampler `target_rate`.
Review comments: Clarify the comment on cubeb_speex_resampler_one_way::drain.
Review comments: trailing space in cubeb_resampler_one_way::output assert.
Review comments: space between T and *.
Review comments: s/outut/output/.
Review comments: return before {.
Review comments: Use unique_ptr to create resampler objects.
We can't really use std::move here, as we appear to target platforms that don't
have it (Gecko on Android uses stlport that does not have std::move).
Review comments: check that the delay lign creation succeeded.
Review comments: Remove frame_count_at_rate.
Review comments: assert speex resampling suceeds.
Review comments: s/l atency/latency/.
Review comments: Remove comment.
Review comments: skip the tests that require an available audio input if none is available.
Depending on if its used for input or output audio, it can be used in two
different ways, so it has to expose its input buffer to minimise copy (when the
input of the resampler is output audio, directly written inside an audio
callback), and to be able to expose an internal buffer so that the output of
the resampling process can directly be passed to a callback.
When created, additional latency can be added to the pipeline so that multiple
resamplers of different filter length (=latency) can be synchronized.
The auto pointer frees in the dtor.
The auto array has a number of feature that are useful to work with real-time
streaming audio: push back and pop front (because we're dealing with temporal
data), insert silence, auto resize, no compaction when it's resized down, bound
check, direct internal access to work nicely with other APIs.