Project

General

Profile

Bug #2483

ALSA buffer overrun causes program exit

Added by fixeria about 2 years ago. Updated about 2 years ago.

Status:
Closed
Priority:
High
Assignee:
Target version:
-
Start date:
09/02/2017
Due date:
% Done:

100%


Description

When a sound device is active, data is transferred continuously between the hardware and application buffers. In the case of data capture (recording), if the application does not read the data in the buffer rapidly enough, the circular buffer is overwritten with new data. The resulting data loss is known as overrun. During playback, if the application does not pass data into the buffer quickly enough, it becomes starved for data, resulting in an error called underrun. The ALSA documentation sometimes refers to both of these conditions using the term XRUN. Properly designed applications can minimize XRUN and recover if it occurs.

When the buffer underrun happens, GAPK stops processing with the following message:

[+] PQ: Adding ALSA output (dev='default', blk_len=320)
[!] pq_execute(): abort, item returned -1
[+] Processed X frames

The snd_pcm_prepare() should be called to recover pcm_handle from buffer underrun state.

History

#1 Updated by fixeria about 2 years ago

  • % Done changed from 0 to 90

#2 Updated by fixeria about 2 years ago

  • Status changed from New to Feedback
  • % Done changed from 90 to 100

#3 Updated by fixeria about 2 years ago

  • Status changed from Feedback to Closed

Also available in: Atom PDF

Add picture from clipboard (Maximum size: 48.8 MB)