[Bug 743758] osxaudiosrc supports only 44100 sample rate on iOS

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Sat Mar 21 10:46:08 PDT 2015


https://bugzilla.gnome.org/show_bug.cgi?id=743758

--- Comment #45 from Ilya Konstantinov <ilya.konstantinov at gmail.com> ---
Arun, I just tested on iOS and we have a problem with GST_OBJECT_LOCK
(core_audio->osxbuf) in _audio_unit_property_listener.

See the stack trace with my comments:

TestSendReceive`_audio_unit_property_listener(inRefCon=0x0000000103a26ee0,
inUnit=0x0000000170423d40, inID=8, inScope=1, inElement=1) + 192 at
gstosxcoreaudio.c:87
  ^ trying to recursively lock osxbuf here (gst lock is non-recursive)

AudioToolbox`AUBase::PropertyChanged(unsigned int, unsigned int, unsigned int)
+ 92
AudioToolbox`AUBase::ChangeStreamFormat(unsigned int, unsigned int,
CAStreamBasicDescription const&, CAStreamBasicDescription const&) + 296
AudioToolbox`AUConverterBase::ChangeStreamFormat(unsigned int, unsigned int,
CAStreamBasicDescription const&, CAStreamBasicDescription const&) + 44
AudioToolbox`AURemoteIO::ChangeHardwareFormats(AudioStreamBasicDescription
const*, AudioStreamBasicDescription const*, unsigned int, AudioChannelLayout
const*, unsigned int&, SharableMemoryBlock::ClientToken&,
SharableMemoryBlock::ClientToken&) + 492
  ^ initializing Remote IO sets up the outer scope's hardware formats
AudioToolbox`AURemoteIO::Initialize() + 1196
AudioToolbox`AUBase::DoInitialize() + 48
AudioToolbox`AUMethodInitialize(void*) + 76
TestSendReceive`gst_core_audio_open(core_audio=0x0000000103a26ee0) + 384 at
gstosxcoreaudio.c:163
TestSendReceive`gst_osx_audio_ring_buffer_open_device(buf=0x0000000103cfc130) +
96 at gstosxaudioringbuffer.c:148
  ^ osxbuf is already locked here

What do you suggest I do:
 * go back to the 'cached_caps_valid' boolean flag (which doesn't necessitate
locking to modify it),
 * introduce a new recursive mutex
 * somehow pend handling of the property change (in fact, equivalent to
signalling with the cached_caps_valid boolean flag)

 * or some other solution?

-- 
You are receiving this mail because:
You are the QA Contact for the bug.


More information about the gstreamer-bugs mailing list