Lines Matching defs:device
54 device_t* device = (device_t*) cookie;
57 switch (device->playback_stream.rate) {
69 sleepTime = (device->playback_stream.buffer_length * 1000000LL) / sampleRate;
71 while (device->running) {
74 acquire_spinlock(&device->playback_stream.lock);
75 device->playback_stream.real_time = system_time();
76 device->playback_stream.frames_count += device->playback_stream.buffer_length;
77 device->playback_stream.buffer_cycle = (device->playback_stream.buffer_cycle +1) % device->playback_stream.num_buffers;
78 release_spinlock(&device->playback_stream.lock);
81 // the virtual device actually returns something useful
82 acquire_spinlock(&device->record_stream.lock);
83 device->record_stream.real_time = device->playback_stream.real_time;
84 device->record_stream.frames_count += device->record_stream.buffer_length;
85 device->record_stream.buffer_cycle = (device->record_stream.buffer_cycle +1) % device->record_stream.num_buffers;
86 release_spinlock(&device->record_stream.lock);
90 release_sem_etc(device->playback_stream.buffer_ready_sem, 1, B_DO_NOT_RESCHEDULE);
91 release_sem_etc(device->record_stream.buffer_ready_sem, 1, B_DO_NOT_RESCHEDULE);
99 null_start_hardware(device_t* device)
102 device->running = true;
103 device->interrupt_thread = spawn_kernel_thread(null_fake_interrupt, "null_audio interrupter",
104 B_REAL_TIME_PRIORITY, (void*)device);
105 return resume_thread(device->interrupt_thread);
110 null_stop_hardware(device_t* device)
112 device->running = false;