pulseaudio/src/pulsecore
David Henningsson 793f46320e introspect: Expose port info per card to clients
For volume control UIs to be able to show ports in inactive profiles,
expose all ports together with the card info. This includes updating
the protocol and the client API to show the connection between ports
and for which profiles the ports are relevant.

Update protocol to 26.

Signed-off-by: David Henningsson <david.henningsson@canonical.com>
2012-03-11 12:23:46 +05:30
..
ffmpeg build: Don't include empty Makefile.am in subdirs 2011-01-31 12:40:43 +00:00
arpa-inet.c win32: Make some unused-variable warnings go away 2011-06-24 00:34:05 +01:00
arpa-inet.h Use pulsecore/arpa-inet.h to make arpa/inet.h functionality available 2011-03-19 13:41:05 +01:00
asyncmsgq.c Remove unnecessary #includes 2011-06-22 23:12:20 +01:00
asyncmsgq.h asyncmsgq: introduce pa_asyncmsgq_dispatching() 2009-08-15 22:22:57 +02:00
asyncq.c Fixup #include directives according to Coding Style 2011-03-11 11:49:39 +00:00
asyncq.h headers: Some trivial fixes for some documentation typos 2010-01-05 21:27:33 +01:00
atomic.h More spelling fixes 2011-08-25 11:27:47 +01:00
aupdate.c aupdate: implicitly call _write_swap() if it wasn't called explicitly 2009-08-16 02:02:51 +02:00
aupdate.h More spelling fixes 2011-08-25 11:27:47 +01:00
auth-cookie.c Remove unnecessary #includes 2011-06-22 23:12:20 +01:00
auth-cookie.h Use LGPL 2.1 on all files previously using LGPL 2 2009-03-03 20:23:02 +00:00
authkey.c More spelling fixes 2011-08-25 11:27:47 +01:00
authkey.h get rid of svn $ keywords 2008-06-18 23:23:21 +03:00
avahi-wrap.c Remove unnecessary #includes 2011-06-22 23:12:20 +01:00
avahi-wrap.h Use LGPL 2.1 on all files previously using LGPL 2 2009-03-03 20:23:02 +00:00
bitset.c Use LGPL 2.1 on all files previously using LGPL 2 2009-03-03 20:23:02 +00:00
bitset.h Use LGPL 2.1 on all files previously using LGPL 2 2009-03-03 20:23:02 +00:00
card.c Cards now has ports directly, and device port has list of profiles 2011-11-26 16:46:42 +02:00
card.h Cards now has ports directly, and device port has list of profiles 2011-11-26 16:46:42 +02:00
cli-command.c Use simple free function in pa_dynarray_free 2011-11-27 15:42:52 +00:00
cli-command.h Use LGPL 2.1 on all files previously using LGPL 2 2009-03-03 20:23:02 +00:00
cli-text.c cli: Ensure source output volumes are printed via cli interface (pacmd ls) 2012-02-14 11:40:14 +00:00
cli-text.h Use LGPL 2.1 on all files previously using LGPL 2 2009-03-03 20:23:02 +00:00
cli.c Remove unnecessary #includes 2011-06-22 23:12:20 +01:00
cli.h Use LGPL 2.1 on all files previously using LGPL 2 2009-03-03 20:23:02 +00:00
client.c Use LGPL 2.1 on all files previously using LGPL 2 2009-03-03 20:23:02 +00:00
client.h Use LGPL 2.1 on all files previously using LGPL 2 2009-03-03 20:23:02 +00:00
conf-parser.c conf-parser: make use of pa_strip() wherever applicable 2010-02-21 22:00:16 +01:00
conf-parser.h conf: add pa_config_parse_not_bool() for parsing inverse boolean configuration options 2009-08-12 20:14:31 +02:00
core-error.c Remove unnecessary #includes 2011-06-22 23:12:20 +01:00
core-error.h Remove unnecessary #includes 2011-06-22 23:12:20 +01:00
core-rtclock.c pulsecore:: Define _POSIX_C_SOURCE locally for rtclock on OSX 2011-04-23 18:23:37 +01:00
core-rtclock.h Apply #ifdefs around functionality not available on win32 2011-02-17 11:58:22 +01:00
core-scache.c Remove unnecessary #includes 2011-06-22 23:12:20 +01:00
core-scache.h Use LGPL 2.1 on all files previously using LGPL 2 2009-03-03 20:23:02 +00:00
core-subscribe.c More spelling fixes 2011-08-25 11:27:47 +01:00
core-subscribe.h Use LGPL 2.1 on all files previously using LGPL 2 2009-03-03 20:23:02 +00:00
core-util.c core: fix potential memory leak 2011-12-20 10:16:39 +05:30
core-util.h core: Add a string list membership check function 2011-10-28 15:21:09 +02:00
core.c volume: Rename 'sync volume' to 'deferred volume'. 2011-09-13 21:15:49 +01:00
core.h Notify port available status changes, and update protocol version 2011-11-26 16:58:37 +02:00
cpu-arm.c core: Fix log message about ARM feature detection 2012-01-11 22:11:00 +05:30
cpu-arm.h core: whitespace typo 2012-02-10 17:21:31 +05:30
cpu-orc.c Include config.h consistently in source files and not in headers 2011-08-11 13:21:31 +02:00
cpu-orc.h Include config.h consistently in source files and not in headers 2011-08-11 13:21:31 +02:00
cpu-x86.c Fix up according to Coding Style 2011-03-11 11:49:35 +00:00
cpu-x86.h cpu: Add CPU information to pa_core 2010-09-23 17:17:03 +05:30
cpu.h cpu: Add CPU information to pa_core 2010-09-23 17:17:03 +05:30
creds.h Remove unnecessary #includes 2011-06-22 23:12:20 +01:00
database-gdbm.c More spelling fixes 2011-08-25 11:27:47 +01:00
database-simple.c More spelling fixes 2011-08-25 11:27:47 +01:00
database-tdb.c tdb: use O_CLOEXEC if available 2009-10-30 04:53:15 +01:00
database.h More spelling fixes 2011-08-25 11:27:47 +01:00
dbus-shared.c Remove unnecessary #includes 2011-06-22 23:12:20 +01:00
dbus-shared.h dbus: split dbus-util into dbus-shared 2009-03-30 20:56:55 +03:00
dbus-util.c dbus: Give NULL as the error parameter to dbus_bus_remove_match(). 2012-01-28 14:15:42 +02:00
dbus-util.h dbus: New helper function: pa_dbus_get_error_message(). 2012-01-14 16:57:00 +02:00
device-port.c device-port: Add a property list to ports. 2011-12-02 18:41:57 +02:00
device-port.h device-port: Add a property list to ports. 2011-12-02 18:41:57 +02:00
dllmain.c win32: Make some unused-variable warnings go away 2011-06-24 00:34:05 +01:00
dynarray.c Use simple free function in pa_dynarray_free 2011-11-27 15:42:52 +00:00
dynarray.h Use simple free function in pa_dynarray_free 2011-11-27 15:42:52 +00:00
endianmacros.h endian: fix LE/BE order for 24 bit accessor functions 2009-05-01 04:13:15 +02:00
esound.h More spelling fixes 2011-08-25 11:27:47 +01:00
fdsem.c Remove unnecessary #includes 2011-06-22 23:12:20 +01:00
fdsem.h Remove unnecessary #includes 2011-06-22 23:12:20 +01:00
flist.c flist: Make name non-const to avoid casting with pa_xfree(). 2012-03-07 09:39:18 +02:00
flist.h More spelling fixes 2011-08-25 11:27:47 +01:00
g711.c merge 'lennart' branch back into trunk. 2007-10-28 19:13:50 +00:00
g711.h fix comment 2007-05-22 23:08:34 +00:00
hashmap.c Remove unnecessary #includes 2011-06-22 23:12:20 +01:00
hashmap.h hashmap: implement pa_hashmap_last() 2009-06-17 03:02:34 +02:00
hook-list.c Remove unnecessary #includes 2011-06-22 23:12:20 +01:00
hook-list.h Remove unnecessary #includes 2011-06-22 23:12:20 +01:00
i18n.c build-sys: Fix building without NLS 2011-12-13 09:03:58 +05:30
i18n.h build-sys: Fix building without NLS 2011-12-13 09:03:58 +05:30
idxset.c Remove unnecessary #includes 2011-06-22 23:12:20 +01:00
idxset.h idxset: Fix _get_by_data() comment. 2010-01-06 10:48:32 +02:00
iochannel.c iochannel: Handle missing un.h correctly 2011-12-13 09:10:08 +05:30
iochannel.h More spelling fixes 2011-08-25 11:27:47 +01:00
ioline.c Remove unnecessary #includes 2011-06-22 23:12:20 +01:00
ioline.h More spelling fixes 2011-08-25 11:27:47 +01:00
ipacl.c Merge remote-tracking branch 'mkbosmans/mingw32-build' 2011-03-20 11:18:19 +00:00
ipacl.h headers: minor cleanups 2009-04-30 02:33:49 +02:00
llist.h llist: add PA_LLIST_FOREACH_SAFE macro for iteration that allows deleting 2009-08-26 20:05:48 +02:00
lock-autospawn.c Move i18n.[ch] to src/pulsecore 2011-08-11 13:23:42 +02:00
lock-autospawn.h move autospawn lock to pulsecore/ since we don't need it in the client anymore 2008-09-08 17:22:27 +03:00
log.c log: Add missing pulsecore/thread.h include 2011-08-12 20:04:15 +05:30
log.h More spelling fixes 2011-08-25 11:27:47 +01:00
ltdl-helper.c Remove unnecessary #includes 2011-06-22 23:12:20 +01:00
ltdl-helper.h modules: introduce PA_MODULE_DEPRECATED() macro for marking modules deprecated 2009-05-28 02:47:36 +02:00
macro.h macro: typedef pa_bool_t to bool instead of _Bool 2011-10-17 16:42:59 +05:30
mcalign.c More spelling fixes 2011-08-25 11:27:47 +01:00
mcalign.h Fix spelling sucess -> success 2011-08-24 17:38:16 +05:30
memblock.c More spelling fixes 2011-08-25 11:27:47 +01:00
memblock.h More spelling fixes 2011-08-25 11:27:47 +01:00
memblockq.c core: Make debugging a bit simpler 2011-11-10 12:43:09 +05:30
memblockq.h memblockq: Improve debuggability by storing a name and a sample spec. 2011-10-01 13:25:16 +01:00
memchunk.c Remove unnecessary #includes 2011-06-22 23:12:20 +01:00
memchunk.h More spelling fixes 2011-08-25 11:27:47 +01:00
memtrap.c Squash the last gcc warnings 2011-09-03 12:17:13 +02:00
memtrap.h memtrap,aupdate: split atomic update from memtrap into seperate aupdate framework 2009-04-22 19:10:09 +02:00
mime-type.c mime: Move assert to correct position 2011-12-13 09:10:08 +05:30
mime-type.h Include config.h consistently in source files and not in headers 2011-08-11 13:21:31 +02:00
modargs.c core: infrastructure for alternate sampling rate 2011-10-17 19:23:26 +05:30
modargs.h core: infrastructure for alternate sampling rate 2011-10-17 19:23:26 +05:30
modinfo.c Remove unnecessary #includes 2011-06-22 23:12:20 +01:00
modinfo.h modules: introduce PA_MODULE_DEPRECATED() macro for marking modules deprecated 2009-05-28 02:47:36 +02:00
module.c Remove unnecessary #includes 2011-06-22 23:12:20 +01:00
module.h core: New function: pa_module_update_proplist(). 2010-08-19 12:10:01 +03:00
msgobject.c object: speed up type verification by not relying on strcmp() 2009-08-21 21:27:44 +02:00
msgobject.h Remove unnecessary #includes 2011-06-22 23:12:20 +01:00
mutex-posix.c mutex: handle gracefully if a PTHREAD_PRIO_INHERIT protocol cannot be set 2012-01-03 00:20:04 +05:30
mutex-win32.c Adapt win32 specific code to current API 2011-02-17 11:58:22 +01:00
mutex.h More spelling fixes 2011-08-25 11:27:47 +01:00
namereg.c namereg: Don't set default sink/source on get() 2011-10-10 16:08:43 +05:30
namereg.h namereg: add new pa_namereg_is_valid_name_or_wildcard() call 2009-08-29 03:56:03 +02:00
native-common.h capture: Implement per-stream volume control for capture streams. 2011-06-22 22:45:27 +01:00
object.c Remove unnecessary #includes 2011-06-22 23:12:20 +01:00
object.h Remove unnecessary #includes 2011-06-22 23:12:20 +01:00
once.c once: make once related variables volatile 2010-02-09 22:31:30 +00:00
once.h Remove unnecessary #includes 2011-06-22 23:12:20 +01:00
packet.c get rid of svn $ keywords 2008-06-18 23:23:21 +03:00
packet.h get rid of svn $ keywords 2008-06-18 23:23:21 +03:00
parseaddr.c Remove unnecessary #includes 2011-06-22 23:12:20 +01:00
parseaddr.h headers: minor cleanups 2009-04-30 02:33:49 +02:00
pdispatch.c capture: Implement per-stream volume control for capture streams. 2011-06-22 22:45:27 +01:00
pdispatch.h pdispatch: various modernizations 2009-08-26 20:07:04 +02:00
pid.c More spelling fixes 2011-08-25 11:27:47 +01:00
pid.h Use LGPL 2.1 on all files previously using LGPL 2 2009-03-03 20:23:02 +00:00
pipe.c Fix dependencies and include necessary headers 2011-02-17 11:58:22 +01:00
pipe.h Use LGPL 2.1 on all files previously using LGPL 2 2009-03-03 20:23:02 +00:00
play-memblockq.c fix the ever-popular 'the the' typo 2012-01-28 17:51:59 +02:00
play-memblockq.h scache: when playing a sample from the cache make sure not queue them up when the sink is suspended 2010-02-21 17:48:55 +01:00
play-memchunk.c memblockq: Improve debuggability by storing a name and a sample spec. 2011-10-01 13:25:16 +01:00
play-memchunk.h scache: when playing a sample from the cache make sure not queue them up when the sink is suspended 2010-02-21 17:48:55 +01:00
poll.c win32: Avoid some compiler warnings when cross-compiling for mingw32 2011-11-27 16:24:48 +00:00
poll.h Fix up according to Coding Style 2011-03-11 11:49:35 +00:00
proplist-util.c build-sys: Fix building without NLS 2011-12-13 09:03:58 +05:30
proplist-util.h proplist: Add internal API to get stream group 2011-11-24 13:03:26 +05:30
protocol-cli.c Use LGPL 2.1 on all files previously using LGPL 2 2009-03-03 20:23:02 +00:00
protocol-cli.h Use LGPL 2.1 on all files previously using LGPL 2 2009-03-03 20:23:02 +00:00
protocol-dbus.c dbus: Use correct free function. 2012-03-06 08:41:10 +02:00
protocol-dbus.h dbus: Handle the cases when a non-existing interface is detected in an incoming message. 2009-12-03 21:50:19 +00:00
protocol-esound.c memblockq: Improve debuggability by storing a name and a sample spec. 2011-10-01 13:25:16 +01:00
protocol-esound.h Use LGPL 2.1 on all files previously using LGPL 2 2009-03-03 20:23:02 +00:00
protocol-http.c memblockq: Improve debuggability by storing a name and a sample spec. 2011-10-01 13:25:16 +01:00
protocol-http.h http: export information about currently active server strings 2009-04-30 01:35:18 +02:00
protocol-native.c introspect: Expose port info per card to clients 2012-03-11 12:23:46 +05:30
protocol-native.h protocol-native: print more volume change debug messages to easy tracking down of feedback loops 2009-08-27 00:05:54 +02:00
protocol-simple.c memblockq: Improve debuggability by storing a name and a sample spec. 2011-10-01 13:25:16 +01:00
protocol-simple.h Use LGPL 2.1 on all files previously using LGPL 2 2009-03-03 20:23:02 +00:00
pstream-util.c get rid of svn $ keywords 2008-06-18 23:23:21 +03:00
pstream-util.h get rid of svn $ keywords 2008-06-18 23:23:21 +03:00
pstream.c pstream: Fix spelling of 'receive'. 2011-12-12 22:36:39 +00:00
pstream.h pstream: Fix spelling of 'receive'. 2011-12-12 22:36:39 +00:00
queue.c Use simple free function in pa_queue_free 2011-11-27 15:42:52 +00:00
queue.h Use simple free function in pa_queue_free 2011-11-27 15:42:52 +00:00
random.c win32: Make some unused-variable warnings go away 2011-06-24 00:34:05 +01:00
random.h get rid of svn $ keywords 2008-06-18 23:23:21 +03:00
ratelimit.c ratelimit: fix log levels of log suppression messages 2011-01-31 11:36:24 +00:00
ratelimit.h ratelimit: fix log levels of log suppression messages 2011-01-31 11:36:24 +00:00
refcnt.h add simple ref counting debugging framework 2009-03-25 02:42:18 +01:00
remap.c Fix up according to Coding Style 2011-03-11 11:49:35 +00:00
remap.h remap: move remapping code in separate file 2009-08-20 18:23:42 +02:00
remap_mmx.c Remove unnecessary #includes 2011-06-22 23:12:20 +01:00
remap_sse.c Remove unnecessary #includes 2011-06-22 23:12:20 +01:00
resampler.c resampler: Move some peak resampler asserts around 2011-12-13 09:26:44 +05:30
resampler.h Use LGPL 2.1 on all files previously using LGPL 2 2009-03-03 20:23:02 +00:00
rtkit.c core: ask RealtimeKit for RT scheduling 2009-06-19 04:19:08 +02:00
rtkit.h core: ask RealtimeKit for RT scheduling 2009-06-19 04:19:08 +02:00
rtpoll.c Remove unnecessary #includes 2011-06-22 23:12:20 +01:00
rtpoll.h rtpoll: Update comment 2011-11-14 10:54:18 +05:30
sample-util.c sample-util: Fix "Darth Vader" panning bug 2012-02-10 15:06:35 +05:30
sample-util.h Remove unnecessary #includes 2011-06-22 23:12:20 +01:00
sconv-s16be.c Use LGPL 2.1 on all files previously using LGPL 2 2009-03-03 20:23:02 +00:00
sconv-s16be.h Use LGPL 2.1 on all files previously using LGPL 2 2009-03-03 20:23:02 +00:00
sconv-s16le.c Remove unnecessary #includes 2011-06-22 23:12:20 +01:00
sconv-s16le.h Use LGPL 2.1 on all files previously using LGPL 2 2009-03-03 20:23:02 +00:00
sconv.c Remove unnecessary #includes 2011-06-22 23:12:20 +01:00
sconv.h Remove unnecessary #includes 2011-06-22 23:12:20 +01:00
sconv_sse.c sconv: Fix generation of floats in SSE test code 2012-01-11 22:11:24 +05:30
semaphore-osx.c Fix up according to Coding Style 2011-03-11 11:49:35 +00:00
semaphore-posix.c semaphore: introduce static semaphores 2009-04-21 21:25:27 +02:00
semaphore-win32.c Fix up according to Coding Style 2011-03-11 11:49:35 +00:00
semaphore.h semaphore: introduce static semaphores 2009-04-21 21:25:27 +02:00
shared.c Remove unnecessary #includes 2011-06-22 23:12:20 +01:00
shared.h Use LGPL 2.1 on all files previously using LGPL 2 2009-03-03 20:23:02 +00:00
shm.c shm: Use a goto rather than early return for consistency. 2011-11-27 16:25:04 +00:00
shm.h get rid of svn $ keywords 2008-06-18 23:23:21 +03:00
shmasyncq.c get rid of svn $ keywords 2008-06-18 23:23:21 +03:00
shmasyncq.h Remove unnecessary #includes 2011-06-22 23:12:20 +01:00
sink-input.c format: Allow format->sample spec conversion for compressed formats 2012-03-05 20:30:33 +05:30
sink-input.h sink-input,source-output: Add an update_rate() function 2011-11-07 15:38:30 +05:30
sink.c i18n: Do not translate strings that cannot have any sensible translations. 2012-01-30 11:17:07 +00:00
sink.h Turn device ports into reference counted objects 2011-11-26 16:46:42 +02:00
sioman.c Use LGPL 2.1 on all files previously using LGPL 2 2009-03-03 20:23:02 +00:00
sioman.h Use LGPL 2.1 on all files previously using LGPL 2 2009-03-03 20:23:02 +00:00
sndfile-util.c sndfile-util: Check return value of sf_command for errors 2011-08-25 18:21:49 +05:30
sndfile-util.h sndfile: big rework of libsndfile interfacing code 2009-05-26 00:05:28 +02:00
socket-client.c Use pulsecore/arpa-inet.h to make arpa/inet.h functionality available 2011-03-19 13:41:05 +01:00
socket-client.h socket-client: modernizations 2009-09-18 22:16:25 +02:00
socket-server.c win32: Avoid some compiler warnings when cross-compiling for mingw32 2011-11-27 16:24:48 +00:00
socket-server.h native: fallback to another port if the default port is taken 2010-01-14 00:13:13 +01:00
socket-util.c win32: Avoid some compiler warnings when cross-compiling for mingw32 2011-11-27 16:24:48 +00:00
socket-util.h Use <pulsecore/socket.h> instead of <sys/socket.h> 2011-02-17 11:58:21 +01:00
socket.h Use <pulsecore/socket.h> instead of <sys/socket.h> 2011-02-17 11:58:21 +01:00
sound-file-stream.c memblockq: Improve debuggability by storing a name and a sample spec. 2011-10-01 13:25:16 +01:00
sound-file-stream.h Use LGPL 2.1 on all files previously using LGPL 2 2009-03-03 20:23:02 +00:00
sound-file.c Remove unnecessary #includes 2011-06-22 23:12:20 +01:00
sound-file.h sndfile: big rework of libsndfile interfacing code 2009-05-26 00:05:28 +02:00
source-output.c format: Allow format->sample spec conversion for compressed formats 2012-03-05 20:30:33 +05:30
source-output.h sink-input,source-output: Add an update_rate() function 2011-11-07 15:38:30 +05:30
source.c core: comment typo 2011-12-20 10:22:37 +05:30
source.h Turn device ports into reference counted objects 2011-11-26 16:46:42 +02:00
start-child.c win32: Make some unused-variable warnings go away 2011-06-24 00:34:05 +01:00
start-child.h get rid of svn $ keywords 2008-06-18 23:23:21 +03:00
strbuf.c Fix up according to Coding Style 2011-03-11 11:49:35 +00:00
strbuf.h strbuf: add new call pa_strbuf_putc() 2009-04-29 01:46:51 +02:00
strlist.c Fix up some double spaces 2011-03-18 09:20:07 +00:00
strlist.h More spelling fixes 2011-08-25 11:27:47 +01:00
svolume.orc orc: Another trivial documentation fix 2012-01-11 13:18:20 +05:30
svolume_arm.c core: svolume tests should generate realistic random volume data 2012-02-10 17:21:31 +05:30
svolume_c.c More spelling fixes 2011-08-25 11:27:47 +01:00
svolume_mmx.c core: svolume tests should generate realistic random volume data 2012-02-10 17:21:31 +05:30
svolume_orc.c core: svolume tests should generate realistic random volume data 2012-02-10 17:21:31 +05:30
svolume_sse.c core: svolume tests should generate realistic random volume data 2012-02-10 17:21:31 +05:30
tagstruct.c pulsecore: Add a couple pa_asserts() on pa_tagstruct* calls. 2011-06-06 14:56:55 +02:00
tagstruct.h Remove unnecessary #includes 2011-06-22 23:12:20 +01:00
thread-mq.c Fix crash in threaded message queues 2011-09-25 13:44:34 +01:00
thread-mq.h Repair some typos 2011-02-17 12:02:30 +01:00
thread-posix.c Remove unnecessary #includes 2011-06-22 23:12:20 +01:00
thread-win32.c win32: Make once-test work 2011-06-24 00:32:22 +01:00
thread.h Remove unnecessary #includes 2011-06-22 23:12:20 +01:00
time-smoother.c More spelling fixes 2011-08-25 11:27:47 +01:00
time-smoother.h alsa: throw timing data away after device resume 2009-07-24 20:13:52 +02:00
tokenizer.c Use simple free function in pa_dynarray_free 2011-11-27 15:42:52 +00:00
tokenizer.h Use LGPL 2.1 on all files previously using LGPL 2 2009-03-03 20:23:02 +00:00
usergroup.c Fix up according to Coding Style 2011-03-11 11:49:35 +00:00
usergroup.h core: Add thread-safe group info functions with dynamic buffers 2009-08-22 00:53:39 +02:00
x11prop.c x11: More XCB fixes. 2011-04-30 14:26:45 +01:00
x11prop.h x11: Use the default screen for X11 properties. 2010-09-18 12:05:38 +01:00
x11wrap.c x11: Partially convert to XCB. 2010-09-18 12:04:09 +01:00
x11wrap.h More spelling fixes 2011-08-25 11:27:47 +01:00