From cb595db7456daa17add58615303fa8b8d1cff183 Mon Sep 17 00:00:00 2001 From: beveloper Date: Sun, 29 Jun 2003 14:55:46 +0000 Subject: [PATCH] added an additional sanity check git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3732 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- .../media/media-add-ons/mixer/AudioMixer.cpp | 20 +++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/src/add-ons/media/media-add-ons/mixer/AudioMixer.cpp b/src/add-ons/media/media-add-ons/mixer/AudioMixer.cpp index 2987a8a65f..736a4d8ddf 100644 --- a/src/add-ons/media/media-add-ons/mixer/AudioMixer.cpp +++ b/src/add-ons/media/media-add-ons/mixer/AudioMixer.cpp @@ -196,7 +196,12 @@ AudioMixer::BufferReceived(BBuffer *buffer) return; } -// printf("buffer received at %12Ld, should arrive at %12Ld, delta %12Ld\n", TimeSource()->Now(), buffer->Header()->start_time, TimeSource()->Now() - buffer->Header()->start_time); + //printf("buffer received at %12Ld, should arrive at %12Ld, delta %12Ld\n", TimeSource()->Now(), buffer->Header()->start_time, TimeSource()->Now() - buffer->Header()->start_time); + +// HandleInputBuffer(buffer, 0); +// buffer->Recycle(); +// return; + // to receive the buffer at the right time, // push it through the event looper @@ -223,6 +228,8 @@ AudioMixer::HandleInputBuffer(BBuffer *buffer, bigtime_t lateness) } } */ + +// printf("Received buffer with lateness %Ld\n", lateness); fCore->Lock(); fCore->BufferReceived(buffer, lateness); @@ -610,6 +617,15 @@ AudioMixer::Connect(status_t error, const media_source &source, const media_dest { printf("AudioMixer::Connect\n"); + fCore->Lock(); + // are we still connected? + if (fCore->Output() == 0) { + fCore->Unlock(); + ERROR("AudioMixer::Connect: no longer connected\n"); + return; + } + fCore->Unlock(); + if (error != B_OK) { // if an error occured, remove output from core printf("AudioMixer::Connect failed with error 0x%08lX, removing connction\n", error); @@ -618,7 +634,7 @@ AudioMixer::Connect(status_t error, const media_source &source, const media_dest fCore->Unlock(); return; } - + // if the connection has no name, we set it now if (strlen(io_name) == 0) strcpy(io_name, "Mixer Output");