// Lua: drv:pause(self) static int pcm_drv_pause( lua_State *L ) { GET_PUD(); // throttle ISR and reader cfg->isr_throttled = -1; pud->drv->stop( cfg ); dispatch_callback( L, cfg->self_ref, cfg->cb_paused_ref, 0 ); return 0; }
// Lua: drv:stop(self) static int pcm_drv_stop( lua_State *L ) { GET_PUD(); // throttle ISR and reader cfg->isr_throttled = -1; pud->drv->stop( cfg ); // invalidate the buffers cfg->bufs[0].empty = cfg->bufs[1].empty = TRUE; dispatch_callback( L, cfg->self_ref, cfg->cb_stopped_ref, 0 ); return 0; }
static void cb_void__pointer_pointer_pointer(void *arg1, void *arg2, void *arg3, void *data) { dispatch_callback((SignalData*)data, ((SignalData*)data)->num_vals, arg1, arg2, arg3); }