added an additional sanity check

git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3732 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
beveloper 2003-06-29 14:55:46 +00:00
parent 7d970b3122
commit cb595db745

View File

@ -198,6 +198,11 @@ AudioMixer::BufferReceived(BBuffer *buffer)
//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
media_timed_event event(buffer->Header()->start_time,
@ -224,6 +229,8 @@ AudioMixer::HandleInputBuffer(BBuffer *buffer, bigtime_t lateness)
}
*/
// printf("Received buffer with lateness %Ld\n", lateness);
fCore->Lock();
fCore->BufferReceived(buffer, lateness);
fCore->Unlock();
@ -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);