mirror of
https://github.com/shadps4-emu/shadPS4.git
synced 2026-04-26 08:15:59 +03:00
[PR #400] [MERGED] Basic AvPlayer implementation #1541
Labels
No labels
Bloodborne
bug
contributor wanted
documentation
enhancement
frontend
good first issue
help wanted
linux
pull-request
question
release
verification progress
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/shadPS4#1541
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 Pull Request Information
Original PR: https://github.com/shadps4-emu/shadPS4/pull/400
Author: @roamic
Created: 8/11/2024
Status: ✅ Merged
Merged: 8/16/2024
Merged by: @georgemoralis
Base:
main← Head:basic-av-player📝 Commits (6)
b5c6918avplayer WIPe33ff10Added some logs, fixed some crashes, fixed align.0d6e8e2Fixed some sound and threading issues.5c4ac98fixing build on linux and macb3ef959Fixed threading, migrated to CVs, added looping23dddcalast minute fixes📊 Changes
25 files changed (+2616 additions, -104 deletions)
View changed files
📝
.gitmodules(+3 -0)📝
CMakeLists.txt(+11 -1)📝
externals/CMakeLists.txt(+5 -0)➕
externals/ffmpeg-core(+1 -0)📝
src/audio_core/sdl_audio.cpp(+12 -8)📝
src/audio_core/sdl_audio.h(+2 -2)📝
src/common/logging/filter.cpp(+1 -1)📝
src/core/file_sys/fs.cpp(+2 -2)📝
src/core/file_sys/fs.h(+1 -1)📝
src/core/libraries/audio/audioout.cpp(+1 -2)📝
src/core/libraries/avplayer/avplayer.cpp(+192 -57)📝
src/core/libraries/avplayer/avplayer.h(+277 -28)➕
src/core/libraries/avplayer/avplayer_common.cpp(+61 -0)➕
src/core/libraries/avplayer/avplayer_common.h(+91 -0)➕
src/core/libraries/avplayer/avplayer_data_streamer.h(+20 -0)➕
src/core/libraries/avplayer/avplayer_file_streamer.cpp(+86 -0)➕
src/core/libraries/avplayer/avplayer_file_streamer.h(+37 -0)➕
src/core/libraries/avplayer/avplayer_impl.cpp(+200 -0)➕
src/core/libraries/avplayer/avplayer_impl.h(+68 -0)➕
src/core/libraries/avplayer/avplayer_source.cpp(+730 -0)...and 5 more files
📄 Description
Basic implementation of sceLibAvPlayer.
Details:
This library is used to demux and decode audio and video data from various sources.
The game provides the number of Video Frame Buffers and this library allocates the memory for them using the provided memory callbacks. The alignment of
0x100for Video Frame Buffers was chosen by trial and error and might not be correct. I could not find the correct alignment in RE.There are 4 total working threads per AV Player instance:
Missing Features:
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.