1
0
mirror of https://github.com/mpv-player/mpv synced 2025-01-15 03:23:23 +00:00
mpv/demux
Sultan Alsawaf eb29aa4839 demux: add --demuxer-hysteresis-secs option to save power with caching
Buffering ahead nonstop into the cache results in nonstop disk or network
activity to read stream data from wherever it may originate. Currently,
there's no way to configure the demuxer to back off once it's buffered
ahead enough data, since the cache limit will be perpetually not-reached as
a stream continues to play, until the entire stream is eventually buffered.

On a laptop with an i9-12900H with decoding performed by the iGPU,
watching a locally-saved 1080p video which hasn't been buffered into the
page cache consumes approximately 15 W even with caching enabled. When
configuring a hysteresis to make the demuxer back off, power consumption
drops to 9 W when watching the same video, resulting in a whopping 6 W of
power savings.

To make it possible to attain significant power savings via caching, add
a --demuxer-hysteresis-secs option to configure a hysteresis to make the
demuxer back off until there's only the configured number of seconds
remaining in the cache from the current playback position.

This feature is disabled by default.
2022-12-30 10:30:22 +01:00
..
cache.c options: change option macros and all option declarations 2020-03-18 19:52:01 +01:00
cache.h
codec_tags.c demux/codec_tags: support more WAVEFORMATEXTENSIBLE tags 2022-11-01 09:52:27 -04:00
codec_tags.h
cue.c
cue.h
demux_cue.c options: change option macros and all option declarations 2020-03-18 19:52:01 +01:00
demux_disc.c
demux_edl.c edl: add a way to add tags 2021-05-11 22:18:40 +02:00
demux_lavf.c demux: replace deprecated usage of stack allocated AVPackets 2022-12-24 09:55:37 -08:00
demux_libarchive.c stream_libarchive: remember archive headers from initial open 2020-04-28 22:13:03 -07:00
demux_mf.c demux_mf: add support for QOI, PHM and HDR images 2022-10-15 21:31:43 +03:00
demux_mkv_timeline.c demux_mkv: warn against some other aspects of mismatching codec data 2020-08-16 01:00:29 +02:00
demux_mkv.c demux_mkv: add AVS2 and AVS3 to tag list 2022-10-21 18:12:08 +03:00
demux_null.c
demux_playlist.c demux_playlist: extend maximum line size (again) to 2M 2021-09-06 10:16:25 +03:00
demux_raw.c options: cleanup .min use for OPT_CHANNELS 2020-04-09 11:27:38 +02:00
demux_timeline.c player: add track-list/N/image sub-property 2021-10-14 15:39:07 +00:00
demux.c demux: add --demuxer-hysteresis-secs option to save power with caching 2022-12-30 10:30:22 +01:00
demux.h demux: Move demuxer help to new standard mechanism 2021-03-28 19:46:32 +03:00
ebml.c demux_edl: rename ebml_defs.c to ebml_defs.inc 2021-11-14 19:13:10 +00:00
ebml.h build: change filenames of generated files 2020-06-04 16:59:05 +02:00
matroska.h
packet.c demux: replace deprecated usage of stack allocated AVPackets 2022-12-24 09:55:37 -08:00
packet.h
stheader.h player: add track-list/N/image sub-property 2021-10-14 15:39:07 +00:00
timeline.c
timeline.h