~QAuBucketNAS() { if ( nas ) { AuSync(nas, FALSE); AuDestroyBucket(nas, id, NULL); AuEvent ev; while (AuScanEvents(nas, AuEventsQueuedAfterFlush, TRUE, eventPred, &flow, &ev)) ; } }
static guint gst_nas_sink_write (GstAudioSink * asink, gpointer data, guint length) { GstNasSink *nassink = GST_NAS_SINK (asink); int used = 0; NAS_flush (nassink); if (!nassink->mute && nassink->audio != NULL && nassink->flow != AuNone) { if (nassink->need_data == 0) return 0; used = nassink->need_data > length ? length : nassink->need_data; AuWriteElement (nassink->audio, nassink->flow, 0, used, data, AuFalse, NULL); nassink->need_data -= used; if (used == length) AuSync (nassink->audio, AuFalse); } else used = length; return used; }