Browse Source

prefetch: add avstat for caching

Alexandre Janniaux 5 years ago
parent
commit
451360664b
  1. 12
      modules/stream_filter/prefetch.c

12
modules/stream_filter/prefetch.c

@ -257,6 +257,11 @@ static void *Thread(void *data)
assert(sys->buffer_length <= sys->buffer_size);
//msg_Dbg(stream, "buffer: %zu/%zu", sys->buffer_length,
// sys->buffer_size);
msg_Dbg(stream, "avstat: [INPUT][PREFETCH][AVAILABLE] ts=%" PRId64
" buffered=%" PRIu64 " buffer_size=%" PRIu64,
NS_FROM_VLC_TICK(vlc_tick_now()),
sys->buffer_length + sys->buffer_offset,
sys->buffer_length);
vlc_cond_signal(&sys->wait_data);
}
@ -334,9 +339,14 @@ static ssize_t Read(stream_t *stream, void *buf, size_t buflen)
copy = sys->buffer_size - offset;
memcpy(buf, sys->buffer + offset, copy);
sys->stream_offset += copy;
uint64_t stream_offset = sys->stream_offset += copy;
vlc_cond_signal(&sys->wait_space);
vlc_mutex_unlock(&sys->lock);
// TODO: tracer
msg_Dbg(stream, "avstat: [INPUT][PREFETCH][CONSUMED] ts=%" PRId64 " stream_offset=%" PRIu64,
NS_FROM_VLC_TICK(vlc_tick_now()), stream_offset);
return copy;
}

Loading…
Cancel
Save