Revert "buffering: remove bufgettail/bufcuttail"

This reverts commit 9e93796407.

Fixes FS#13626, which is caused by non-audio ID3v1/APE tags at
the end of the audio data stream.

Change-Id: Ic69af14a5d1264b7896a54b5f2ad314022dd98ac
This commit is contained in:
Solomon Peachy 2025-05-20 07:33:10 -04:00
parent 3cb4e63253
commit 2bd88936f7
5 changed files with 107 additions and 2 deletions

View file

@ -1255,7 +1255,7 @@ void allocate_playback_log(void)
playback_log_handle = core_alloc(PLAYBACK_LOG_BUFSZ);
if (playback_log_handle > 0)
{
DEBUGF("%s Allocated %d bytes\n", __func__, PLAYBACK_LOG_BUFSZ);
DEBUGF("%s Allocated %d bytes\n", __func__, PLAYBACK_LOG_BUFSZ);
char *buf = core_get_data(playback_log_handle);
buf[0] = '\0';
}
@ -3748,6 +3748,11 @@ static void buffer_event_finished_callback(unsigned short id, void *ev_data)
break;
case TYPE_PACKET_AUDIO:
/* Strip any useless trailing tags that are left.
Note this is needed to prevent playback noise at the
end of MP3 files with ID3v1 or APEv2 tags! */
strip_tags(hid);
/* Fall-through */
case TYPE_ATOMIC_AUDIO:
LOGFQUEUE("buffering > audio Q_AUDIO_HANDLE_FINISHED: %d", hid);
audio_queue_post(Q_AUDIO_HANDLE_FINISHED, hid);