Example #1
0
    ~QAuBucketNAS()
    {
	if ( nas ) {
	    AuSync(nas, FALSE);
	    AuDestroyBucket(nas, id, NULL);

	    AuEvent ev;
	    while (AuScanEvents(nas, AuEventsQueuedAfterFlush, TRUE, eventPred, &flow, &ev))
		;
        }
    }
Example #2
0
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;
}