ladybird/Libraries/LibMedia
Zaggy1024 0ff330c906 LibMedia: Play audio through PlaybackManager using Providers/Sinks
This commit implements the functionality to play back audio through
PlaybackManager.

To decode the audio data, AudioDataProviders are created for each track
in the provided media data. These providers will fill their audio block
queue, then sit idle until their corresponding tracks are enabled.

In order to output the audio, one AudioMixingSink is created which
manages a PlaybackStream which requests audio blocks from multiple
AudioDataProviders and mixes them into one buffer with sample-perfect
precision.
2025-10-27 17:28:49 -07:00
..
Audio LibMedia+LibWeb: Never return errors when getting PlaybackStream time 2025-10-27 17:28:49 -07:00
Color LibMedia: Support BT.470 System B/G color primaries 2025-10-16 05:12:29 -05:00
Containers/Matroska LibMedia: Support the MP3 and AAC codecs in our demuxer 2025-10-27 17:28:49 -07:00
FFmpeg LibMedia: Play audio through PlaybackManager using Providers/Sinks 2025-10-27 17:28:49 -07:00
Providers LibMedia: Play audio through PlaybackManager using Providers/Sinks 2025-10-27 17:28:49 -07:00
Sinks LibMedia: Play audio through PlaybackManager using Providers/Sinks 2025-10-27 17:28:49 -07:00
AudioBlock.h LibMedia: Play audio through PlaybackManager using Providers/Sinks 2025-10-27 17:28:49 -07:00
AudioDecoder.h LibMedia: Play audio through PlaybackManager using Providers/Sinks 2025-10-27 17:28:49 -07:00
CMakeLists.txt LibMedia: Play audio through PlaybackManager using Providers/Sinks 2025-10-27 17:28:49 -07:00
CodecID.h LibMedia: Support the MP3 and AAC codecs in our demuxer 2025-10-27 17:28:49 -07:00
CodedAudioFrameData.h LibMedia: Support coded audio frames in our demuxers 2025-10-27 17:28:49 -07:00
CodedFrame.h LibMedia: Support coded audio frames in our demuxers 2025-10-27 17:28:49 -07:00
CodedVideoFrameData.h LibMedia: Refer to demuxer outputs as coded frames 2025-09-22 12:04:29 -05:00
DecoderError.h Everywhere: Slap some [[clang::lifetimebound]] where appropriate 2025-09-01 11:11:38 +02:00
Demuxer.h LibMedia: Make Demuxer atomically ref-counted 2025-10-27 17:28:49 -07:00
Forward.h LibMedia: Play audio through PlaybackManager using Providers/Sinks 2025-10-27 17:28:49 -07:00
MutexedDemuxer.h LibMedia: Add separate classes managing decoding and displaying video 2025-10-27 17:28:49 -07:00
PlaybackManager.cpp LibMedia: Play audio through PlaybackManager using Providers/Sinks 2025-10-27 17:28:49 -07:00
PlaybackManager.h LibMedia: Play audio through PlaybackManager using Providers/Sinks 2025-10-27 17:28:49 -07:00
Subsampling.h Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
TimedImage.h LibMedia: Add separate classes managing decoding and displaying video 2025-10-27 17:28:49 -07:00
Track.h LibMedia: Make Track::type() const 2025-10-27 17:28:49 -07:00
VideoDecoder.h LibMedia+Tests: Call decoder input samples "coded data" for clarity 2025-09-22 12:04:29 -05:00
VideoFrame.cpp LibMedia: Port to Windows 2025-02-11 04:07:24 -07:00
VideoFrame.h LibMedia: Clean up #include directives 2024-11-21 14:08:33 +01:00