void _audioQueue_OutputCompleted(object sender, OutputCompletedEventArgs e)
        {
            if (!_isPlaying)
                return;

            outputCallback(e.IntPtrBuffer);
        }
Beispiel #2
0
        /// <summary>
        /// Is called when a buffer is completly read and can be freed up
        /// </summary>
        private void HandleOutputQueueOutputCompleted(object sender, OutputCompletedEventArgs e)
        {
            queuedBufferCount--;
            IntPtr buf = e.IntPtrBuffer;

            foreach (var buffer in outputBuffers)
            {
                if (buffer.Buffer != buf)
                {
                    continue;
                }

                // free Buffer
                buffer.PacketDescriptions.Clear();
                buffer.CurrentOffset = 0;
                lock (buffer) {
                    buffer.IsInUse = false;
                    Monitor.Pulse(buffer);
                }
            }

            if (queuedBufferCount == 0 && Finished != null)
            {
                Finished(this, new EventArgs());
            }
        }
        void _audioQueue_OutputCompleted(object sender, OutputCompletedEventArgs e)
        {
            if (!_isPlaying)
            {
                return;
            }

            outputCallback(e.IntPtrBuffer);
        }
 void _audioQueue_OutputCompleted(object sender, OutputCompletedEventArgs e)
 {
     //Debug.WriteLine("callback");   
     outputCallback(e.IntPtrBuffer);
 }
		/// <summary>
		/// Is called when a buffer is completly read and can be freed up
		/// </summary>
		void HandleOutputQueueOutputCompleted (object sender, OutputCompletedEventArgs e)
		{
			queuedBufferCount--;
			IntPtr buf = e.IntPtrBuffer;
			
			foreach (var buffer in outputBuffers) {
				if (buffer.Buffer != buf)
					continue;
				
				// free Buffer
				buffer.PacketDescriptions.Clear ();
				buffer.CurrentOffset = 0;
				lock (buffer) {
					buffer.IsInUse = false;
					Monitor.Pulse (buffer);
				}
			}
			
			if (queuedBufferCount == 0 && Finished != null)
				Finished (this, new EventArgs ());
		}
		void HandleOutputCompleted (object sender, OutputCompletedEventArgs e)
		{
			audioQueue.FreeBuffer (e.IntPtrBuffer);
		}
 unsafe void HandleOutputBuffer(object sender, OutputCompletedEventArgs e)
 {
     HandleOutputBuffer(e.UnsafeBuffer, false);
 }
 void _audioQueue_OutputCompleted(object sender, OutputCompletedEventArgs e)
 {
     //Debug.WriteLine("callback");
     outputCallback(e.IntPtrBuffer);
 }
        //
        // When the entire audio buffered has been played, the
        // OutputAudioQueue will call us back for more information
        //
        void HandleOutputQueueOutputCompleted(object sender, OutputCompletedEventArgs e)
        {
            IntPtr buf = e.IntPtrBuffer;

            Console.WriteLine ("Buffer done");
            for (int i = 0; i < outputBuffers.Length; i++){
                if (buf == outputBuffers [i]){
                    lock (inuse){
                        inuse [i] = false;
                        Monitor.Pulse (inuse);
                    }
                    outputCompleted.Set ();
                }
            }
        }
 void OnOutputQueueOutputCompleted(object sender, OutputCompletedEventArgs e)
 {
     outputQueue.FreeBuffer (e.IntPtrBuffer);
 }
 void HandleOutputCompleted(object sender, OutputCompletedEventArgs e)
 {
     audioQueue.FreeBuffer(e.IntPtrBuffer);
 }
		unsafe void HandleOutputBuffer(object sender, OutputCompletedEventArgs e)
		{
			HandleOutputBuffer(e.UnsafeBuffer, false);
		}
Beispiel #13
0
 void OnOutputQueueOutputCompleted(object sender, OutputCompletedEventArgs e)
 {
     outputQueue.FreeBuffer(e.IntPtrBuffer);
 }