• Home
  • Raw
  • Download

Lines Matching full:cache

3 // frame-cache.c - maintainer of cache for data frame.
9 #include "frame-cache.h"
11 static void align_frames_in_i(struct frame_cache *cache, in align_frames_in_i() argument
14 char *buf = cache->buf; in align_frames_in_i()
18 cache->remained_count -= consumed_count; in align_frames_in_i()
20 offset = cache->bytes_per_sample * cache->samples_per_frame * in align_frames_in_i()
22 size = cache->bytes_per_sample * cache->samples_per_frame * in align_frames_in_i()
23 cache->remained_count; in align_frames_in_i()
26 cache->buf_ptr = buf + size; in align_frames_in_i()
29 static void align_frames_in_n(struct frame_cache *cache, in align_frames_in_n() argument
32 char **bufs = cache->buf; in align_frames_in_n()
33 char **buf_ptrs = cache->buf_ptr; in align_frames_in_n()
38 cache->remained_count -= consumed_count; in align_frames_in_n()
40 for (i = 0; i < cache->samples_per_frame; ++i) { in align_frames_in_n()
41 offset = cache->bytes_per_sample * consumed_count; in align_frames_in_n()
42 size = cache->bytes_per_sample * cache->remained_count; in align_frames_in_n()
48 int frame_cache_init(struct frame_cache *cache, snd_pcm_access_t access, in frame_cache_init() argument
53 cache->access = access; in frame_cache_init()
54 cache->remained_count = 0; in frame_cache_init()
55 cache->bytes_per_sample = bytes_per_sample; in frame_cache_init()
56 cache->samples_per_frame = samples_per_frame; in frame_cache_init()
57 cache->frames_per_cache = frames_per_cache; in frame_cache_init()
60 cache->align_frames = align_frames_in_i; in frame_cache_init()
62 cache->align_frames = align_frames_in_n; in frame_cache_init()
73 cache->buf = buf; in frame_cache_init()
74 cache->buf_ptr = buf; in frame_cache_init()
80 cache->buf = bufs; in frame_cache_init()
81 cache->buf_ptr = buf_ptrs; in frame_cache_init()
96 frame_cache_destroy(cache); in frame_cache_init()
100 void frame_cache_destroy(struct frame_cache *cache) in frame_cache_destroy() argument
102 if (cache->access == SND_PCM_ACCESS_RW_NONINTERLEAVED) { in frame_cache_destroy()
103 char **bufs = cache->buf; in frame_cache_destroy()
106 for (i = 0; i < cache->samples_per_frame; ++i) in frame_cache_destroy()
109 free(cache->buf_ptr); in frame_cache_destroy()
111 free(cache->buf); in frame_cache_destroy()
112 memset(cache, 0, sizeof(*cache)); in frame_cache_destroy()