#18779·rpcs3

Only one custom music track plays in NHL Legacy

Author: nik5830Created May 22, 2026Updated Sep 17, 2026
LabelsFirmware: HLEAudio

Quick summary

In NHL Legacy custom music plays only briefly at the start of a match, then becomes permanently silent. Investigation of the log shows this is not a decode failure — cellMusicDecode HLE implementation appears to decode the entire MP3 file at maximum CPU speed instead of at playback rate, causing the game to receive status=1 (decode finished) prematurely and issue SetDecodeCommand2(STOP) before the audio has actually been heard.

Reproduction steps

  1. Place a custom MP3 in dev_hdd0/music/<folder>/
  2. Boot NHL Legacy, configure custom music in EA Trax Manager
  3. Start a match

Observed behavior (from log)

Music Decode Thread decoder timestamps:

  • At wall-clock 0:02:00.262 decoder starts on mix.mp3
  • At wall-clock 0:02:05.654 (5.4 seconds later) decoder logs timestamp_us=14148034560 — i.e. ~3 hours 55 minutes of audio decoded
  • Decoder then logs waiting until track is consumed...

Game-side reaction:

  • At 0:03:14.148 game calls cellMusicDecodeGetDecodeStatus2 → returns status=1
  • Immediately after, game calls cellMusicDecodeSetDecodeCommand2(0x0) (STOP)
  • Decoder logs finished playlist
  • 36 seconds later, EAAudioCore Dac thread begins calling cellMusicDecodeRead2 to consume buffered audio — every call fails with CELL_MUSIC_DECODE_ERROR_NO_LPCM_DATA (8000+ occurrences in the log)
  • No further SetDecodeCommand2(START) is issued — music is silent for the rest of the session

Expected behavior

cellMusicDecode should produce decoded PCM data at approximately the playback rate of the source, not at maximum CPU speed. status=1 should arrive only when the actual audio content has been delivered to the game, not when the source file has been fully read from disk and decoded into a buffer. This matches the real PS3 behavior where decoding and playback are tied to the audio hardware clock.

System configuration

  • RPCS3 build: 0.0.40-19381-2613d7ee Alpha
  • OS: Windows
  • Game: NHL Legacy Edition [serial — подставь свой, BLUS31418 или BLES02220]
  • Custom music: single MP3 file, ~4 hours, re-encoded via ffmpeg -map_metadata -1 -id3v2_version 3 -c:a libmp3lame -b:a 192k -ar 44100 -ac 2

Attachments

Full log: RPCS3.log.gz (attached) Filtered music_lines.txt (attached) showing the complete cellMusicDecode call sequence including the race between Music Decode Thread and EAAudioCore Dac thread.

Related

This may be related to but is distinct from #12309 (which describes decode-level LPCM failures). In the present issue, the decoder works correctly — the failure mode is the racing between decoder output speed and game-side playback consumption.