use opensles on all samsung devices with 4.4
opensles should be used at preferred sample rate, which workaround latency problems.
Fix timestamp bug
fix old bug in flow controller, resulting in all samples being dropped for an entire flow control duration.
request pulseaudio a not too high max buffer length for playback, in order to avoid unnecessary latency.
make C++ android sound module working on 4.4.
The issue in 4.4 is because we are not managing AudioRecord and AudioTrack object through strong pointers (android::sp).
As a result we don't own any reference to the object we are creating, and for some reason on 4.4 they are deleted before us (in stop() methods actually).
The c++ module is still disabled for the moment until two things are done:
- use RefBase::incStrong() and RefBase::decStrong() on the real object to make sure this will not happen anymore
- since this module is at risk, make it load only for versions we've checked manually (currently 2.3->4.4). Otherwise opensles + java should be used.
MKVRecorder: Fix timestamp discontinuity when buffers'timestamp exceed the max encodable value (2^32-1)