mirror of https://github.com/mpv-player/mpv
demux, command: export bof/eof flags
Export these flags with demuxer-cache-state. Useful for debugging, but any client API users could also make use of it.
This commit is contained in:
parent
f57fad4a4d
commit
a3991078bd
|
@ -1450,6 +1450,13 @@ Property list
|
|||
buffering amount, while the seek ranges represent the buffered data that
|
||||
can actually be used for cached seeking.
|
||||
|
||||
``bof-cached`` indicates whether the seek range with the lowest timestamp
|
||||
points to the beginning of the stream (BOF). This implies you cannot seek
|
||||
before this position at all. ``eof-cached`` indicates whether the seek range
|
||||
with the highest timestamp points to the end of the stream (EOF). If both
|
||||
``bof-cached`` and ``eof-cached`` are set to ``yes``, the entire stream is
|
||||
cached.
|
||||
|
||||
``fw-bytes`` is the number of bytes of packets buffered in the range
|
||||
starting from the current decoding position.
|
||||
|
||||
|
@ -1464,6 +1471,8 @@ Property list
|
|||
MPV_FORMAT_NODE_MAP
|
||||
"start" MPV_FORMAT_DOUBLE
|
||||
"end" MPV_FORMAT_DOUBLE
|
||||
"bof-cached" MPV_FORMAT_FLAG
|
||||
"eof-cached" MPV_FORMAT_FLAG
|
||||
"fw-bytes" MPV_FORMAT_INT64
|
||||
|
||||
Other fields (might be changed or removed in the future):
|
||||
|
|
|
@ -3227,6 +3227,8 @@ void demux_get_reader_state(struct demuxer *demuxer, struct demux_reader_state *
|
|||
.start = MP_ADD_PTS(range->seek_start, in->ts_offset),
|
||||
.end = MP_ADD_PTS(range->seek_end, in->ts_offset),
|
||||
};
|
||||
r->bof_cached |= range->is_bof;
|
||||
r->eof_cached |= range->is_eof;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -38,6 +38,7 @@ struct demux_seek_range {
|
|||
|
||||
struct demux_reader_state {
|
||||
bool eof, underrun, idle;
|
||||
bool bof_cached, eof_cached;
|
||||
double ts_duration;
|
||||
double ts_reader; // approx. timerstamp of decoder position
|
||||
double ts_end; // approx. timestamp of end of buffered range
|
||||
|
|
|
@ -1502,6 +1502,9 @@ static int mp_property_demuxer_cache_state(void *ctx, struct m_property *prop,
|
|||
struct mpv_node *r = (struct mpv_node *)arg;
|
||||
node_init(r, MPV_FORMAT_NODE_MAP, NULL);
|
||||
|
||||
node_map_add_flag(r, "bof-cached", s.bof_cached);
|
||||
node_map_add_flag(r, "eof-cached", s.eof_cached);
|
||||
|
||||
struct mpv_node *ranges =
|
||||
node_map_add(r, "seekable-ranges", MPV_FORMAT_NODE_ARRAY);
|
||||
for (int n = 0; n < s.num_seek_ranges; n++) {
|
||||
|
|
Loading…
Reference in New Issue