mirror of
https://github.com/genodelabs/genode.git
synced 2024-12-23 23:42:32 +00:00
17c79a9e23
Besides adapting the components to the use of base/log.h, the patch cleans up a few base headers, i.e., it removes unused includes from root/component.h, specifically base/heap.h and ram_session/ram_session.h. Hence, components that relied on the implicit inclusion of those headers have to manually include those headers now. While adjusting the log messages, I repeatedly stumbled over the problem that printing char * arguments is ambiguous. It is unclear whether to print the argument as pointer or null-terminated string. To overcome this problem, the patch introduces a new type 'Cstring' that allows the caller to express that the argument should be handled as null-terminated string. As a nice side effect, with this type in place, the optional len argument of the 'String' class could be removed. Instead of supplying a pair of (char const *, size_t), the constructor accepts a 'Cstring'. This, in turn, clears the way let the 'String' constructor use the new output mechanism to assemble a string from multiple arguments (and thereby getting rid of snprintf within Genode in the near future). To enforce the explicit resolution of the char * ambiguity, the 'char *' overload of the 'print' function is marked as deleted. Issue #1987 |
||
---|---|---|
.. | ||
include/audio | ||
lib | ||
patches | ||
ports | ||
run | ||
src | ||
audio.list | ||
README |
This repository contains device drivers ported from OpenBSD. Audio ##### The audio driver is ported from OpenBSD 5.7 and includes support for Intel HD Audio as well as for Ensoniq AudioPCI (ES1370) compatible soundcards. The HDA driver works on real hardware and Virtualbox whereas the ES1370 driver is only used in Qemu. Usage ===== You have to prepare the contrib sources for this repository by executing _./tool/ports/prepare_port dde_bsd_. Also you need to make sure to add the 'dde_bsd' repository to the REPOSITORIES variable in your 'etc/build.conf'. Example ======= The driver can be tested by executing the run script 'run/audio_out.run'. This example plays a sample file in a loop. The file format is header less two channel float 32 at 44100 Hz. You may use the 'sox' utility to create these audio files: ! sox -c 2 -r 44100 foo.wav foo.f32