Stopping multiple osxaudiosink instances leads to AURemoteIO IOThread error
jml5qh
jml5qh at gmail.com
Fri Jan 13 15:46:44 UTC 2017
I think you may be on to something Arun. One thing I also noticed was
removing the pause in the ringbuffer solved the issue. Eventually, this
pause leads to gst_core_audio_remove_render_callback being called. This
method eventually leads to an AudioUnitSetProperty. Since it sounds like
AudioUnitGetProperty is an issue, I wonder if AudioUnitSetProperty is also
an issue.
My question for the GStreamer developers: How safe is it to NULL out the
pause callback when you are about to stop the stream? It looks like
gst_core_audio_io_proc_stop eventually calls
gst_core_audio_remove_render_callback anyway. Here is the current code that
seems to be working:
GstElement *audioSink = gst_bin_get_by_name(this->receiverPipeline,
"audio_sink");
if (audioSink)
{
GstAudioBaseSink *baseSink =
GST_AUDIO_BASE_SINK_CAST(audioSink);
GstAudioRingBuffer *theBuffer = baseSink->ringbuffer;
GstAudioRingBufferClass *theClass =
GST_AUDIO_RING_BUFFER_GET_CLASS(theBuffer);
theClass->pause = NULL;
}
--
View this message in context: http://gstreamer-devel.966125.n4.nabble.com/Stopping-multiple-osxaudiosink-instances-leads-to-AURemoteIO-IOThread-error-tp4681179p4681447.html
Sent from the GStreamer-devel mailing list archive at Nabble.com.
More information about the gstreamer-devel
mailing list