gstreamer/sys/osxaudio
Ilya Konstantinov 8ca40fa86f osxaudiosrc: iOS resampling causes stuttering
Fixes stuttering audio when iOS AU is resampling. To make AU resample,
one has to request a rate that differs from AVAudioSession's
sampleRate. The resampling itself is not the culprit, but rather our
API misuse.

AudioUnitRender modifies the mDataByteSize members with the
actual read bytes count. Therefore, they must be reinitialized
before each AudioUnitRender. (The buffers themselves can be
preallocated.)

The "stutter" was caused by one AudioUnitRender making the buffer
too small for other AudioUnitRender invocations, making them fail
with -50 (paramErr). By way of luck, when AU didn't resample, all
AudioUnitRender invocations read the same number of bytes.

(This patch addresses some non-interleaved audio concerns, but
at this moment the elements do not support non-interleaved audio
and non-interleaved is untested.)

https://bugzilla.gnome.org/show_bug.cgi?id=744922
2015-02-24 16:21:11 +05:30
..
gstosxaudio.c Fix FSF address 2012-11-04 00:07:18 +00:00
gstosxaudioelement.c osxaudio: port to v.1.0 2013-04-17 09:52:13 +02:00
gstosxaudioelement.h osxaudio: add support for iOS using the RemoteIO AudioUnit 2013-03-08 12:13:56 +01:00
gstosxaudioringbuffer.c osxaudio: Also set the big endian flag for floating point samples 2014-12-22 12:56:05 +01:00
gstosxaudioringbuffer.h osxaudio: Clean up a GstCoreAudio -> GstOsxAudioSrc/Sink reference 2014-12-15 11:19:51 +05:30
gstosxaudiosink.c osxaudio: Directly return the ringbuffer's caps if it is acquired 2014-12-22 15:33:51 +01:00
gstosxaudiosink.h osxaudiosrc: Probe channel layout too 2014-12-15 11:19:52 +05:30
gstosxaudiosrc.c osxaudiosrc: iOS resampling causes stuttering 2015-02-24 16:21:11 +05:30
gstosxaudiosrc.h osxaudiosrc: Implement caps probing 2014-12-15 11:19:52 +05:30
gstosxcoreaudio.c osxaudiosrc: iOS resampling causes stuttering 2015-02-24 16:21:11 +05:30
gstosxcoreaudio.h osxaudiosrc: iOS resampling causes stuttering 2015-02-24 16:21:11 +05:30
gstosxcoreaudiocommon.c osxaudiosrc: iOS resampling causes stuttering 2015-02-24 16:21:11 +05:30
gstosxcoreaudiocommon.h osxaudiosrc: iOS resampling causes stuttering 2015-02-24 16:21:11 +05:30
gstosxcoreaudiohal.c osxaudio: Bind audio device to audio unit early 2014-12-15 11:19:52 +05:30
gstosxcoreaudioremoteio.c osxaudiosrc: Probe channel layout too 2014-12-15 11:19:52 +05:30
Makefile.am osxaudio: port to v.1.0 2013-04-17 09:52:13 +02:00