diff options
author | wm4 <wm4@nowhere> | 2018-08-24 12:56:41 +0200 |
---|---|---|
committer | wm4 <wm4@nowhere> | 2018-08-24 12:56:41 +0200 |
commit | 120dcdf5ccac8f7ea7d4c5de34d5a28c90bc521b (patch) | |
tree | 58fdda9617c490eddf6487aed45bf324faa8dfbf /demux/demux.c | |
parent | 9467e90c5bc1c15245acf27afd6dc83287beba9d (diff) | |
download | mpv-120dcdf5ccac8f7ea7d4c5de34d5a28c90bc521b.tar.bz2 mpv-120dcdf5ccac8f7ea7d4c5de34d5a28c90bc521b.tar.xz |
demux: allow cache sizes > 2GB
There was no reason to limit this. Only some int fields had to be
changed to size_t.
Diffstat (limited to 'demux/demux.c')
-rw-r--r-- | demux/demux.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/demux/demux.c b/demux/demux.c index c31dfcf809..3e9d897bb2 100644 --- a/demux/demux.c +++ b/demux/demux.c @@ -98,11 +98,15 @@ struct demux_opts { #define OPT_BASE_STRUCT struct demux_opts +#define MAX_BYTES MPMIN(INT64_MAX, (size_t)-1 / 2) + const struct m_sub_options demux_conf = { .opts = (const struct m_option[]){ OPT_DOUBLE("demuxer-readahead-secs", min_secs, M_OPT_MIN, .min = 0), - OPT_BYTE_SIZE("demuxer-max-bytes", max_bytes, 0, 0, INT_MAX), - OPT_BYTE_SIZE("demuxer-max-back-bytes", max_bytes_bw, 0, 0, INT_MAX), + // (The MAX_BYTES sizes may not be accurate because the max field is + // of double type.) + OPT_BYTE_SIZE("demuxer-max-bytes", max_bytes, 0, 0, MAX_BYTES), + OPT_BYTE_SIZE("demuxer-max-back-bytes", max_bytes_bw, 0, 0, MAX_BYTES), OPT_FLAG("force-seekable", force_seekable, 0), OPT_DOUBLE("cache-secs", min_secs_cache, M_OPT_MIN, .min = 0), OPT_FLAG("access-references", access_references, 0), @@ -164,8 +168,8 @@ struct demux_internal { bool idle; bool autoselect; double min_secs; - int max_bytes; - int max_bytes_bw; + size_t max_bytes; + size_t max_bytes_bw; bool seekable_cache; // At least one decoder actually requested data since init or the last seek. |