1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 22:08:10 +00:00
serenity/Userland/Utilities
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
..
abench.cpp Everywhere: Add sv suffix to strings relying on StringView(char const*) 2022-07-12 23:11:35 +02:00
adjtime.cpp Userland: Remove unecessary uses of __serenity__ macro 2022-10-10 12:23:12 +02:00
allocate.cpp allocate: Port to LibMain :^) 2021-11-27 11:14:16 +01:00
aplay.cpp Utilities: Use new global variables at /sys/kernel/ directory 2022-10-25 15:33:34 -06:00
arp.cpp arp: Port to Core::Stream 2022-11-19 17:00:10 +00:00
asctl.cpp LibAudio: Rename ConnectionFromClient to ConnectionToServer 2022-07-19 11:17:45 +01:00
base64.cpp base64: Port to Core::Stream 2022-11-19 17:00:10 +00:00
basename.cpp Everywhere: Use default execpromises argument for Core::System::pledge 2021-11-28 08:04:57 +01:00
beep.cpp beep: Port to LibMain :^) 2022-01-09 11:16:00 +03:30
blockdev.cpp Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
bt.cpp Everywhere: Use my fairly new and shiny serenityos.org email :^) 2022-06-30 15:59:42 +01:00
cal.cpp Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
cat.cpp cat: Return a non-null value if an error occurred 2022-11-24 21:01:54 -05:00
checksum.cpp checksum: Support the '--check' option 2022-10-12 12:01:40 -06:00
chgrp.cpp Userland: Convert command line arguments to String/StringView 2022-07-12 23:11:35 +02:00
chmod.cpp chmod: Implement the --recursive flag 2022-07-25 15:32:46 +02:00
chown.cpp AK+Everywhere: Turn bool keep_empty to an enum in split* functions 2022-10-24 23:29:18 +01:00
chres.cpp Userland: Always construct Application with try_create() 2022-04-18 12:57:34 +02:00
cksum.cpp cksum: Manually count file size instead of using stat() 2022-11-19 17:00:10 +00:00
clear.cpp Utilities: Use default execpromises parameter to pledge(..) 2022-04-03 17:13:51 -07:00
CMakeLists.txt headless-browser: Add a mode for being controlled by WebDriver 2022-11-24 00:10:56 +00:00
cmp.cpp cmp: Implement cmp(1) 2022-03-19 11:01:49 -07:00
comm.cpp comm: Port to Core::Stream 2022-11-19 17:00:10 +00:00
config.cpp config: Enable adding and removing groups 2022-10-01 13:39:10 +03:30
copy.cpp copy: Port to Core::Stream 2022-11-19 17:00:10 +00:00
cp.cpp AK+Everywhere: Turn bool keep_empty to an enum in split* functions 2022-10-24 23:29:18 +01:00
cpp-lexer.cpp Utilities: Port cpp utilities to Core::Stream 2022-11-19 17:00:10 +00:00
cpp-parser.cpp Utilities: Port cpp utilities to Core::Stream 2022-11-19 17:00:10 +00:00
cpp-preprocessor.cpp Utilities: Port cpp utilities to Core::Stream 2022-11-19 17:00:10 +00:00
cut.cpp Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
date.cpp Everywhere: Add sv suffix to strings relying on StringView(char const*) 2022-07-12 23:11:35 +02:00
dd.cpp AK+Everywhere: Turn bool keep_empty to an enum in split* functions 2022-10-24 23:29:18 +01:00
df.cpp df: Port to Core::Stream 2022-11-19 17:00:10 +00:00
diff.cpp diff: Port to Core::Stream 2022-11-19 17:00:10 +00:00
dirname.cpp dirname: Port to LibMain 2021-12-16 02:10:47 -08:00
disasm.cpp Userland: Convert command line arguments to String/StringView 2022-07-12 23:11:35 +02:00
disk_benchmark.cpp LibCore+Userland: Use StringViews when calling Core::System::open 2022-07-09 09:25:20 +01:00
dmesg.cpp dmesg: Port to Core::Stream 2022-11-19 17:00:10 +00:00
du.cpp du: Port to Core::Stream 2022-11-19 17:00:10 +00:00
echo.cpp Utilities: Read positional arguments as Strings not char*s 2022-04-11 21:09:42 +02:00
env.cpp Userland: Convert command line arguments to String/StringView 2022-07-12 23:11:35 +02:00
errno.cpp errno: Port to LibMain 2022-01-01 14:40:41 +01:00
expr.cpp Everywhere: Explicitly specify the size in StringView constructors 2022-07-12 23:11:35 +02:00
false.cpp false: Port to LibMain 2022-01-14 19:42:19 +02:00
fdtdump.cpp fdtdump: Port to LibMain 2021-12-16 02:10:47 -08:00
fgrep.cpp Everywhere: Explicitly specify the size in StringView constructors 2022-07-12 23:11:35 +02:00
file.cpp file: Port to Core::Stream 2022-11-19 17:00:10 +00:00
find.cpp Everywhere: Explicitly specify the size in StringView constructors 2022-07-12 23:11:35 +02:00
flock.cpp LibCore+flock: Make Core::System::waitpid more ergonomic 2022-01-11 16:04:29 +01:00
fortune.cpp fortune: Port to Core::Stream 2022-11-19 17:00:10 +00:00
functrace.cpp AK+Userland: Stub out code that isn't currently implemented on AARCH64 2022-10-14 13:01:13 +02:00
gml-format.cpp gml-format: Port to Core::Stream 2022-11-19 17:00:10 +00:00
grep.cpp AK+Everywhere: Fix data corruption due to code-point-to-char conversion 2022-10-09 10:37:20 -06:00
gron.cpp gron: Port to Core::Stream 2022-11-19 17:00:10 +00:00
groupadd.cpp Everywhere: Use my fairly new and shiny serenityos.org email :^) 2022-06-30 15:59:42 +01:00
groupdel.cpp Everywhere: Explicitly specify the size in StringView constructors 2022-07-12 23:11:35 +02:00
groups.cpp LibCore: Use StringView instead of char * in Account 2022-09-27 21:29:44 +01:00
gunzip.cpp Everywhere: Add sv suffix to strings relying on StringView(char const*) 2022-07-12 23:11:35 +02:00
gzip.cpp gzip: Don't fail when trying to compress empty files 2022-01-08 15:29:38 +01:00
head.cpp Utilities: Read positional arguments as Strings not char*s 2022-04-11 21:09:42 +02:00
headless-browser.cpp headless-browser: Add a mode for being controlled by WebDriver 2022-11-24 00:10:56 +00:00
hello-world.jakt Meta+Userland: Add jakt as an optional Lagom Tool 2022-05-23 23:05:45 +02:00
hexdump.cpp hexdump: Support truncating output with -n 2022-11-14 14:54:45 +00:00
host.cpp Userland: Convert command line arguments to String/StringView 2022-07-12 23:11:35 +02:00
hostname.cpp Userland: Convert command line arguments to String/StringView 2022-07-12 23:11:35 +02:00
id.cpp LibCore: Use StringView instead of char * in Account 2022-09-27 21:29:44 +01:00
ifconfig.cpp ifconfig: Port to Core::Stream and Core::System 2022-11-19 17:00:10 +00:00
ini.cpp ini: Use String for arguments 2022-04-25 10:47:56 +02:00
install.cpp LibCore+Userland: Remove File::ensure_parent_directories 2022-04-11 00:08:48 +02:00
jail-attach.cpp Userland: Add support for jails 2022-11-05 18:00:58 -06:00
jail-create.cpp Userland: Add support for jails 2022-11-05 18:00:58 -06:00
js.cpp Userland+Tests: Remove a few more LibJS/{AST.h,Parser.h} includes 2022-11-23 16:05:59 +00:00
json.cpp json: Port to Core::Stream 2022-11-19 17:00:10 +00:00
kcov-example.cpp Everywhere: Add sv suffix to strings relying on StringView(char const*) 2022-07-12 23:11:35 +02:00
keymap.cpp Keymap: Fix switching selected keymap 2022-06-16 14:58:43 +01:00
kill.cpp kill: Parse CLI arguments using Arguments.strings 2022-02-12 10:53:07 -05:00
killall.cpp Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
less.cpp less: Use LibLine to compute line arrangement with fixed line width 2022-11-10 12:34:21 +03:30
ln.cpp ln: Implement correct handling of directories as link targets 2022-07-25 22:21:01 +01:00
logout.cpp Utilities: Use new global variables at /sys/kernel/ directory 2022-10-25 15:33:34 -06:00
ls.cpp Everywhere: Add sv suffix to strings relying on StringView(char const*) 2022-07-12 23:11:35 +02:00
lsblk.cpp lsblk: Port to Core::Stream 2022-11-19 17:00:10 +00:00
lscpu.cpp lscpu: Port to Core::Stream 2022-11-19 17:00:10 +00:00
lsirq.cpp lsirq: Port to Core::Stream 2022-11-19 17:00:10 +00:00
lsjails.cpp Userland: Add support for jails 2022-11-05 18:00:58 -06:00
lsof.cpp lsof: Port to Core::Stream 2022-11-19 17:00:10 +00:00
lspci.cpp lspci: Port to Core::Stream 2022-11-19 17:00:10 +00:00
lsusb.cpp lsusb: Port to Core::Stream 2022-11-19 17:00:10 +00:00
man.cpp man: Port to Core::Stream 2022-11-19 17:00:10 +00:00
markdown-check.cpp markdown-check: Port to Core::Stream 2022-11-19 17:00:10 +00:00
matroska.cpp LibVideo: Implement Matroska Cues for faster keyframe lookup 2022-11-25 23:28:39 +01:00
md.cpp md: Port to Core::Stream 2022-11-19 17:00:10 +00:00
mkdir.cpp Everywhere: Replace single-char StringView op. arguments with chars 2022-07-12 23:11:35 +02:00
mkfifo.cpp mkfifo: Add support for setting permissions with -m 2022-04-20 18:35:08 +02:00
mknod.cpp mknod: Port to LibMain 2022-01-24 14:01:58 +03:30
mktemp.cpp Everywhere: Add sv suffix to strings relying on StringView(char const*) 2022-07-12 23:11:35 +02:00
mount.cpp mount: Port to Core::Stream 2022-11-19 17:00:10 +00:00
mv.cpp mv: Support the '--no-clobber' option 2022-10-24 23:48:14 +01:00
nc.cpp Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
netstat.cpp netstat: Port to Core::Stream 2022-11-19 17:00:10 +00:00
nl.cpp LibCore: Replace the ArgsParser option argument setting with an enum 2022-07-14 00:24:24 +01:00
nologin.cpp nologin: Use proper format strings with out() and outln() 2022-10-31 11:22:39 -04:00
notify.cpp Userland: Convert command line arguments to String/StringView 2022-07-12 23:11:35 +02:00
nproc.cpp nproc: Port to Core::Stream 2022-11-19 17:00:10 +00:00
ntpquery.cpp ntpquery: Unveil paths after parsing arguments 2022-10-31 22:10:14 +00:00
open.cpp open: Use more StringView instead of const char* 2022-01-31 15:25:07 +01:00
passwd.cpp LibCore: Use StringView instead of char * in Account 2022-09-27 21:29:44 +01:00
paste.cpp Everywhere: Use default StringView constructor over nullptr 2022-07-12 23:11:35 +02:00
pathchk.cpp Utilities: Read positional arguments as Strings not char*s 2022-04-11 21:09:42 +02:00
pgrep.cpp Utilities: Use new global variables at /sys/kernel/ directory 2022-10-25 15:33:34 -06:00
pidof.cpp Utilities: Use new global variables at /sys/kernel/ directory 2022-10-25 15:33:34 -06:00
ping.cpp Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
pkill.cpp Utilities: Use new global variables at /sys/kernel/ directory 2022-10-25 15:33:34 -06:00
pledge.cpp Userland: Consolidate most PATH resolving into a single implementation 2022-08-23 19:00:04 +01:00
pls.cpp Userland/pls: Use Core::System::exec_command method to execute a command 2022-11-05 18:00:58 -06:00
pmap.cpp pmap: Port to Core::Stream 2022-11-19 17:00:10 +00:00
pmemdump.cpp Userland: Introduce the pmemdump utility 2022-01-08 13:21:16 +02:00
printf.cpp AK: Differ between long and long long formats 2022-04-14 03:12:56 +04:30
pro.cpp pro: Stop closing stdout early 2022-10-11 21:52:13 +02:00
profile.cpp Utilities: Use new global variables at /sys/kernel/ directory 2022-10-25 15:33:34 -06:00
ps.cpp Utilities: Use new global variables at /sys/kernel/ directory 2022-10-25 15:33:34 -06:00
purge.cpp purge: Port to LibMain 2022-03-22 11:39:20 +01:00
pwd.cpp pwd: Add missing rpath pledge 2022-01-21 22:10:23 +01:00
readelf.cpp LibELF: Drop the separate file name member from DynamicLoader 2022-10-31 19:23:02 +00:00
readlink.cpp readlink: Use StringView instead of const char* 2022-03-24 11:57:51 +01:00
realpath.cpp Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
reboot.cpp Kernel+Userland: Move /sys/firmware/power_state to /sys/kernel directory 2022-10-25 15:33:34 -06:00
rev.cpp rev: Read from stdin if the filename '-' is given 2022-10-06 16:06:50 +01:00
rm.cpp rm: Port to LibMain 2022-01-25 02:50:10 +00:00
rmdir.cpp Utilities: Read positional arguments as Strings not char*s 2022-04-11 21:09:42 +02:00
route.cpp route: Port to Core::Stream 2022-11-19 17:00:10 +00:00
run-tests.cpp Everywhere: Replace uses of __serenity__ with AK_OS_SERENITY 2022-10-10 12:23:12 +02:00
seq.cpp seq: Fix clang-tidy warnings 2022-11-14 14:38:23 +00:00
shot.cpp shot: Port to Core::Stream 2022-11-19 17:00:10 +00:00
shuf.cpp shuf: Support splitting on null bytes with -z 2022-11-25 22:59:27 +01:00
shutdown.cpp Kernel+Userland: Move /sys/firmware/power_state to /sys/kernel directory 2022-10-25 15:33:34 -06:00
sleep.cpp Utilities: Use default execpromises parameter to pledge(..) 2022-04-03 17:13:51 -07:00
sort.cpp sort: Port to LibMain 2022-01-24 05:38:30 +00:00
sql.cpp sql: Port to Core::Stream 2022-11-19 17:00:10 +00:00
stat.cpp stat: Show nanosecond part of file timestamps 2022-11-24 16:56:27 +01:00
strace.cpp strace: Port to Core::Stream 2022-11-19 17:00:10 +00:00
stty.cpp Everywhere: Replace single-char StringView op. arguments with chars 2022-07-12 23:11:35 +02:00
su.cpp LibCore: Propagate errors from LibCore::Account::login() 2022-09-27 21:29:44 +01:00
sync.cpp sync: Port to LibMain 2022-02-01 04:58:24 +00:00
syscall.cpp Everywhere: Add sv suffix to strings relying on StringView(char const*) 2022-07-12 23:11:35 +02:00
sysctl.cpp sysctl: Port to Core::Stream 2022-11-19 17:00:10 +00:00
tac.cpp Userland: Port tac to LibMain 2022-01-09 04:26:16 -08:00
tail.cpp tail: Port to Core::Stream, use Core::FileWatcher 2022-11-02 21:29:20 -06:00
tar.cpp LibArchive: Simplify error handling 2022-11-23 11:19:16 +01:00
tee.cpp Everywhere: Use my fairly new and shiny serenityos.org email :^) 2022-06-30 15:59:42 +01:00
telws.cpp Everywhere: Replace single-char StringView op. arguments with chars 2022-07-12 23:11:35 +02:00
test-bindtodevice.cpp test-bindtodevice: Port to LibMain 2022-03-29 21:28:29 -07:00
test-fuzz.cpp test-fuzz: Port to Core::Stream 2022-11-19 17:00:10 +00:00
test-imap.cpp Everywhere: Add sv suffix to strings relying on StringView(char const*) 2022-07-12 23:11:35 +02:00
test-pthread.cpp test-pthread: Port to LibMain and let local functions return ErrorOr<T> 2022-03-29 21:28:29 -07:00
test-unveil.cpp LibCore: Replace the ArgsParser option argument setting with an enum 2022-07-14 00:24:24 +01:00
test.cpp test: Guard code paths that may lead to a null pointer dereference 2022-10-11 23:38:13 -06:00
test_env.cpp Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
timezone.cpp Everywhere: Update copyrights with my new serenityos.org e-mail :^) 2022-01-31 18:23:22 +00:00
top.cpp Utilities: Use new global variables at /sys/kernel/ directory 2022-10-25 15:33:34 -06:00
touch.cpp touch: Support custom timestamps 2022-05-21 18:15:00 +02:00
tr.cpp Userland: Convert command line arguments to String/StringView 2022-07-12 23:11:35 +02:00
traceroute.cpp Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
tree.cpp Utilities: Read positional arguments as Strings not char*s 2022-04-11 21:09:42 +02:00
true.cpp true: Port to LibMain 2022-03-22 11:39:20 +01:00
truncate.cpp Userland: Convert command line arguments to String/StringView 2022-07-12 23:11:35 +02:00
tt.cpp Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
tty.cpp tty: Port to LibMain 2022-03-29 21:28:29 -07:00
umount.cpp umount: Port to LibMain 2022-01-22 13:31:52 +02:00
uname.cpp uname: Report system revision version aka git commit hash 2022-10-14 13:45:33 +02:00
uniq.cpp uniq: Improve POSIX compliance 2022-09-09 14:11:52 +01:00
unzip.cpp Everywhere: Add sv suffix to strings relying on StringView(char const*) 2022-07-12 23:11:35 +02:00
update-cpp-test-results.cpp Everywhere: Add sv suffix to strings relying on StringView(char const*) 2022-07-12 23:11:35 +02:00
uptime.cpp Utilities: Use new global variables at /sys/kernel/ directory 2022-10-25 15:33:34 -06:00
useradd.cpp Everywhere: Add sv suffix to strings relying on StringView(char const*) 2022-07-12 23:11:35 +02:00
userdel.cpp LibCore: Use StringView instead of char * in Account 2022-09-27 21:29:44 +01:00
usermod.cpp LibCore: Use StringView instead of char * in Account 2022-09-27 21:29:44 +01:00
utmpupdate.cpp utmpupdate: Port to Core::Stream 2022-11-19 17:00:10 +00:00
w.cpp Utilities/w: Port to Core::Stream 2022-11-19 17:00:10 +00:00
wallpaper.cpp wallpaper: Add pledge promises 2022-08-02 04:04:08 +00:00
wasm.cpp wasm: Map the entire input wasm file instead of using Core::File 2022-10-24 15:54:20 +02:00
watch.cpp LibCore: Replace the ArgsParser option argument setting with an enum 2022-07-14 00:24:24 +01:00
wc.cpp Utilities: Read positional arguments as Strings not char*s 2022-04-11 21:09:42 +02:00
which.cpp Userland: Consolidate most PATH resolving into a single implementation 2022-08-23 19:00:04 +01:00
whoami.cpp whoami: Port to LibMain :^) 2021-11-30 23:34:40 +01:00
wsctl.cpp Userland: Always construct Application with try_create() 2022-04-18 12:57:34 +02:00
xargs.cpp AK+Everywhere: Turn bool keep_empty to an enum in split* functions 2022-10-24 23:29:18 +01:00
xml.cpp xml: Port to Core::Stream 2022-11-19 17:00:10 +00:00
yes.cpp Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
zip.cpp Everywhere: Add sv suffix to strings relying on StringView(char const*) 2022-07-12 23:11:35 +02:00