1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-25 01:17:36 +00:00
serenity/Userland/Libraries
Zaggy1024 f6830eaf73 LibVideo: Implement Matroska Cues for faster keyframe lookup
This implements the fastest seeking mode available for tracks with cues
using an array of cue points for each track. It approximates the index
based on the seeking timestamp and then finds the earliest cue point
before the timestamp. The approximation assumes that cues will be on
a regular interval, which I don't believe is always the case, but it
should at least be faster than iterating the whole set of cue points
each time.

Cues are stored per track, but most videos will only have cue points
for the video track(s) that are present. For now, this assumes that it
should only seek based on the cue points for the selected track. To
seek audio in a video file, we should copy the seeked iterator over to
the audio track's iterator after seeking is complete. The iterator will
then skip to the next audio block.
2022-11-25 23:28:39 +01:00
..
LibArchive LibArchive: Do not assert if the provided stream cannot be discarded 2022-11-23 11:19:16 +01:00
LibAudio SoundPlayer: Load cover image from music files 2022-11-13 18:51:18 -07:00
LibC LibC: Implement getgrent_r 2022-11-25 23:13:16 +01:00
LibCards Everywhere: Mark dependencies of most targets as PRIVATE 2022-11-01 14:49:09 +00:00
LibChess Everywhere: Mark dependencies of most targets as PRIVATE 2022-11-01 14:49:09 +00:00
LibCodeComprehension Everywhere: Mark dependencies of most targets as PRIVATE 2022-11-01 14:49:09 +00:00
LibCompress Everywhere: Mark dependencies of most targets as PRIVATE 2022-11-01 14:49:09 +00:00
LibConfig Everywhere: Mark dependencies of most targets as PRIVATE 2022-11-01 14:49:09 +00:00
LibCore LibCore: Sync groups, getgrent to getgrent_r, fix gr_mem bug 2022-11-25 23:13:16 +01:00
LibCoredump Everywhere: Mark dependencies of most targets as PRIVATE 2022-11-01 14:49:09 +00:00
LibCpp Everywhere: Mark dependencies of most targets as PRIVATE 2022-11-01 14:49:09 +00:00
LibCrypt LibCrypt: Clean up crypt_r 2022-11-24 10:52:10 +00:00
LibCrypto AK+LibC+LibCrypto: Move FloatExtractor to AK/FloatingPoint.h 2022-11-03 20:17:09 -06:00
LibDebug Everywhere: Remove redundant inequality comparison operators 2022-11-06 10:25:08 -07:00
LibDesktop Everywhere: Mark dependencies of most targets as PRIVATE 2022-11-01 14:49:09 +00:00
LibDeviceTree Everywhere: Remove redundant inequality comparison operators 2022-11-06 10:25:08 -07:00
LibDiff Everywhere: Explicitly link all binaries against the LibC target 2022-11-01 14:49:09 +00:00
LibDNS Userland: Properly define IPC::encode and IPC::decode specializations 2022-11-15 13:25:51 -05:00
LibDSP Everywhere: Mark dependencies of most targets as PRIVATE 2022-11-01 14:49:09 +00:00
LibEDID Everywhere: Explicitly link all binaries against the LibC target 2022-11-01 14:49:09 +00:00
LibELF LibELF: Drop the "resolve and map" all-in-one 2022-10-31 19:23:02 +00:00
LibFileSystemAccessClient Userland: Remove workarounds for LibIPC include order sensitivity 2022-11-15 13:25:51 -05:00
LibGemini Everywhere: Mark dependencies of most targets as PRIVATE 2022-11-01 14:49:09 +00:00
LibGfx LibGfx: Add Size::match_aspect_ratio 2022-11-25 14:28:33 -07:00
LibGL Everywhere: Mark dependencies of most targets as PRIVATE 2022-11-01 14:49:09 +00:00
LibGPU Everywhere: Mark dependencies of most targets as PRIVATE 2022-11-01 14:49:09 +00:00
LibGUI LibGUI: Disallow shortcut propagation in Blocking modals and Popups 2022-11-19 16:04:42 +01:00
LibHTTP LibHTTP: Always send Content-Length header in POST requests 2022-11-07 14:10:41 +01:00
LibIDL Everywhere: Remove unnecessary mutable attributes from lambdas 2022-11-19 14:37:31 +00:00
LibImageDecoderClient Everywhere: Mark dependencies of most targets as PRIVATE 2022-11-01 14:49:09 +00:00
LibIMAP Everywhere: Mark dependencies of most targets as PRIVATE 2022-11-01 14:49:09 +00:00
LibIPC LibIPC: Handle ECONNRESET when reading from the IPC socket 2022-11-24 14:37:13 +01:00
LibJS LibJS: Unbreak test262-parser-tests after source range caching changes 2022-11-24 18:01:52 +01:00
LibKeyboard Everywhere: Mark dependencies of most targets as PRIVATE 2022-11-01 14:49:09 +00:00
LibLine LibVT/LibLine: Delete words when pressing Ctrl+Backspace in Terminal 2022-11-20 03:57:17 +03:30
LibLocale Everywhere: Mark dependencies of most targets as PRIVATE 2022-11-01 14:49:09 +00:00
LibMain Everywhere: Explicitly link all binaries against the LibC target 2022-11-01 14:49:09 +00:00
LibMarkdown Everywhere: Clean up "the the" comment typos 2022-11-03 17:38:32 +00:00
LibPartition Everywhere: Mark dependencies of most targets as PRIVATE 2022-11-01 14:49:09 +00:00
LibPCIDB Everywhere: Explicitly link all binaries against the LibC target 2022-11-01 14:49:09 +00:00
LibPDF LibPDF: Introduce rendering preferences and show clipping paths 2022-11-25 23:03:24 +01:00
LibProtocol Userland: Remove workarounds for LibIPC include order sensitivity 2022-11-15 13:25:51 -05:00
LibRegex LibRegex: Use spans<4> to avoid allocating small vectors 2022-11-17 20:13:04 +03:30
LibSanitizer LibC: Properly implement stack protectors 2022-11-01 14:49:09 +00:00
LibSoftGPU Everywhere: Mark dependencies of most targets as PRIVATE 2022-11-01 14:49:09 +00:00
LibSQL Everywhere: Remove redundant inequality comparison operators 2022-11-06 10:25:08 -07:00
LibSymbolication Everywhere: Mark dependencies of most targets as PRIVATE 2022-11-01 14:49:09 +00:00
LibSyntax Everywhere: Explicitly link all binaries against the LibC target 2022-11-01 14:49:09 +00:00
LibSystem Meta+Userland: Add ENABLE_USERSPACE_COVERAGE_COLLECTION CMake option 2022-05-02 01:46:18 +02:00
LibTest LibJS: Make Parser::Error a standalone ParserError class 2022-11-23 16:05:59 +00:00
LibTextCodec Everywhere: Explicitly link all binaries against the LibC target 2022-11-01 14:49:09 +00:00
LibThreading LibThreading: Add thread priority controls to Thread 2022-11-13 19:42:39 +00:00
LibTimeZone LibTimeZone: Resolve /etc/localtime with realpath(), not readlink() 2022-10-17 22:19:50 +02:00
LibTLS Everywhere: Clean up "the the" comment typos 2022-11-03 17:38:32 +00:00
LibUnicode Meta+LibUnicode: Avoid relocations for static unicode data 2022-11-06 17:34:06 +01:00
LibUSBDB Everywhere: Explicitly link all binaries against the LibC target 2022-11-01 14:49:09 +00:00
LibVideo LibVideo: Implement Matroska Cues for faster keyframe lookup 2022-11-25 23:28:39 +01:00
LibVT LibVT/LibLine: Delete words when pressing Ctrl+Backspace in Terminal 2022-11-20 03:57:17 +03:30
LibWasm AK+Everywhere: Replace DistinctNumeric bool parameters with named ones 2022-11-11 17:50:53 +03:30
LibWeb LibWeb: Handle disabling of StyleSheet HTMLLinkElements 2022-11-25 22:52:05 +01:00
LibWebSocket LibWebSocket: Buffer incoming frame data until whole frame is available 2022-11-09 02:06:33 +01:00
LibWebView LibWebView: Update OOPWV's URL when a page starts/finishes loading 2022-11-19 16:56:02 +00:00
LibX86 Everywhere: Explicitly link all binaries against the LibC target 2022-11-01 14:49:09 +00:00
LibXML LibXML+LibWeb: Store the XML document's original source 2022-11-03 14:52:16 +00:00
CMakeLists.txt LibIDL+WrapperGenerator: Move IDL code into a library 2022-09-17 21:27:17 +02:00