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