[PR #1520] [MERGED] ajm: handle single-frame decode jobs (+mp3 imrovements) #2149

Closed
opened 2026-02-27 21:15:23 +03:00 by kerem · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/shadps4-emu/shadPS4/pull/1520
Author: @roamic
Created: 11/11/2024
Status: Merged
Merged: 11/14/2024
Merged by: @georgemoralis

Base: mainHead: fix-ajm-single-frame


📝 Commits (3)

  • 5f63f46 ajm: handle single-frame decode jobs (+mp3 imrovements)
  • 4d4d9d5 disable breaking the loop in multi-frame if storage is insufficient
  • 6dcf249 simplified gapless decoding

📊 Changes

7 files changed (+442 additions, -148 deletions)

View changed files

📝 src/core/libraries/ajm/ajm_at9.cpp (+34 -32)
📝 src/core/libraries/ajm/ajm_at9.h (+4 -6)
📝 src/core/libraries/ajm/ajm_batch.cpp (+15 -4)
📝 src/core/libraries/ajm/ajm_instance.cpp (+49 -22)
📝 src/core/libraries/ajm/ajm_instance.h (+23 -11)
📝 src/core/libraries/ajm/ajm_mp3.cpp (+291 -60)
📝 src/core/libraries/ajm/ajm_mp3.h (+26 -13)

📄 Description

  • Break after a single frame if multi-frame decoding was not requested (fixes sound in Journey)
  • Return AJM_RESULT_NOT_ENOUGH_ROOM if no frames fit the buffer
  • mp3: implemented GetCodecInfo
  • mp3: implemented FGH OFL header parser (used by Journey)
  • Reworked gapless decoding to simplify the comprehension
  • added error logs for outstanding cases
  • minor code improvements

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/shadps4-emu/shadPS4/pull/1520 **Author:** [@roamic](https://github.com/roamic) **Created:** 11/11/2024 **Status:** ✅ Merged **Merged:** 11/14/2024 **Merged by:** [@georgemoralis](https://github.com/georgemoralis) **Base:** `main` ← **Head:** `fix-ajm-single-frame` --- ### 📝 Commits (3) - [`5f63f46`](https://github.com/shadps4-emu/shadPS4/commit/5f63f462040799cef0b2b18d7245538fddcc7a46) ajm: handle single-frame decode jobs (+mp3 imrovements) - [`4d4d9d5`](https://github.com/shadps4-emu/shadPS4/commit/4d4d9d5e2cd05509744bb71e4b169823d32d6dc5) disable breaking the loop in multi-frame if storage is insufficient - [`6dcf249`](https://github.com/shadps4-emu/shadPS4/commit/6dcf249b78d92b714116cd828e3388f2eaaaaa58) simplified gapless decoding ### 📊 Changes **7 files changed** (+442 additions, -148 deletions) <details> <summary>View changed files</summary> 📝 `src/core/libraries/ajm/ajm_at9.cpp` (+34 -32) 📝 `src/core/libraries/ajm/ajm_at9.h` (+4 -6) 📝 `src/core/libraries/ajm/ajm_batch.cpp` (+15 -4) 📝 `src/core/libraries/ajm/ajm_instance.cpp` (+49 -22) 📝 `src/core/libraries/ajm/ajm_instance.h` (+23 -11) 📝 `src/core/libraries/ajm/ajm_mp3.cpp` (+291 -60) 📝 `src/core/libraries/ajm/ajm_mp3.h` (+26 -13) </details> ### 📄 Description * Break after a single frame if multi-frame decoding was not requested (fixes sound in Journey) * Return `AJM_RESULT_NOT_ENOUGH_ROOM` if no frames fit the buffer * mp3: implemented `GetCodecInfo` * mp3: implemented FGH OFL header parser (used by Journey) * Reworked gapless decoding to simplify the comprehension * added error logs for outstanding cases * minor code improvements --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
kerem 2026-02-27 21:15:23 +03:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/shadPS4#2149
No description provided.