void bc_prepare(struct bufferchain *bc, size_t pool_size, size_t bufblock) { bc_poolsize(bc, pool_size, bufblock); bc->pool = NULL; bc->pool_fill = 0; bc_init(bc); /* Ensure that members are zeroed for read-only use. */ }
int attribute_align_arg mpg123_param(mpg123_handle *mh, enum mpg123_parms key, long val, double fval) { int r; if(mh == NULL) return MPG123_BAD_HANDLE; r = mpg123_par(&mh->p, key, val, fval); if(r != MPG123_OK){ mh->err = r; r = MPG123_ERR; } else { /* Special treatment for some settings. */ #ifdef FRAME_INDEX if(key == MPG123_INDEX_SIZE) { /* Apply frame index size and grow property on the fly. */ r = frame_index_setup(mh); if(r != MPG123_OK) mh->err = MPG123_INDEX_FAIL; } #endif #ifndef NO_FEEDER /* Feeder pool size is applied right away, reader will react to that. */ if(key == MPG123_FEEDPOOL || key == MPG123_FEEDBUFFER) bc_poolsize(&mh->rdat.buffer, mh->p.feedpool, mh->p.feedbuffer); #endif } return r; }
void bc_prepare(struct bufferchain *bc, size_t pool_size, size_t bufblock) { bc_poolsize(bc, pool_size, bufblock); bc->pool = NULL; bc->pool_fill = 0; }