Skip to content
This repository has been archived by the owner on Feb 11, 2021. It is now read-only.

Commit

Permalink
Fixed bug 1679 - Error in buffer size setting in Haiku/BeOS audio driver
Browse files Browse the repository at this point in the history
PulkoMandy

Just like in SDL, audio buffer sizes for BeOS and Haiku BSoundPlayer are sized
in bytes, not frames. SDL was feeding the wrong value, leading to buffers
smaller than expected and weird behaviour in some unsuspecting programs
(noticed it in HivelyTracker but others are likely affected as well. The fix is
fortunately very simple
  • Loading branch information
slouken committed Feb 12, 2013
1 parent 61d1d98 commit cc862b2
Showing 1 changed file with 2 additions and 2 deletions.
4 changes: 2 additions & 2 deletions src/audio/baudio/SDL_beaudio.cc
Expand Up @@ -151,8 +151,6 @@ BEOSAUDIO_OpenDevice(_THIS, const char *devname, int iscapture)
}
}

format.buffer_size = _this->spec.samples;

if (!valid_datatype) { /* shouldn't happen, but just in case... */
BEOSAUDIO_CloseDevice(_this);
SDL_SetError("Unsupported audio format");
Expand All @@ -162,6 +160,8 @@ BEOSAUDIO_OpenDevice(_THIS, const char *devname, int iscapture)
/* Calculate the final parameters for this audio specification */
SDL_CalculateAudioSpec(&_this->spec);

format.buffer_size = _this->spec.size;

/* Subscribe to the audio stream (creates a new thread) */
sigset_t omask;
SDL_MaskSignals(&omask);
Expand Down

0 comments on commit cc862b2

Please sign in to comment.