diff options
| author | Lennart Poettering <lennart@poettering.net> | 2009-01-08 21:12:03 +0100 | 
|---|---|---|
| committer | Lennart Poettering <lennart@poettering.net> | 2009-01-08 21:12:03 +0100 | 
| commit | aff7768fb1076b53bc8416fdbdcc454e4b52ec41 (patch) | |
| tree | 53a559cebe18b4e74c72bd6f94cf6f3315548332 /src | |
| parent | 2ff20ceccb7334b0d491fec119a324cda1045803 (diff) | |
Add new debuuging API pa_memchunk_dump_to_file()
Diffstat (limited to 'src')
| -rw-r--r-- | src/pulsecore/sample-util.c | 27 | ||||
| -rw-r--r-- | src/pulsecore/sample-util.h | 2 | 
2 files changed, 29 insertions, 0 deletions
diff --git a/src/pulsecore/sample-util.c b/src/pulsecore/sample-util.c index 9f0f795c..414c1c81 100644 --- a/src/pulsecore/sample-util.c +++ b/src/pulsecore/sample-util.c @@ -27,6 +27,7 @@  #include <stdio.h>  #include <string.h>  #include <stdlib.h> +#include <stdio.h>  #include <liboil/liboilfuncs.h>  #include <liboil/liboil.h> @@ -987,3 +988,29 @@ size_t pa_usec_to_bytes_round_up(pa_usec_t t, const pa_sample_spec *spec) {      return (size_t) u;  } + +void pa_memchunk_dump_to_file(pa_memchunk *c, const char *fn) { +    FILE *f; +    void *p; + +    pa_assert(c); +    pa_assert(fn); + +    /* Only for debugging purposes */ + +    f = fopen(fn, "a"); + +    if (!f) { +        pa_log_warn("Failed to open '%s': %s", fn, pa_cstrerror(errno)); +        return; +    } + +    p = pa_memblock_acquire(c->memblock); + +    if (fwrite((uint8_t*) p + c->index, 1, c->length, f) != c->length) +        pa_log_warn("Failed to write to '%s': %s", fn, pa_cstrerror(errno)); + +    pa_memblock_release(c->memblock); + +    fclose(f); +} diff --git a/src/pulsecore/sample-util.h b/src/pulsecore/sample-util.h index 2fe2c81d..36d19e48 100644 --- a/src/pulsecore/sample-util.h +++ b/src/pulsecore/sample-util.h @@ -81,4 +81,6 @@ void pa_sample_clamp(pa_sample_format_t format, void *dst, size_t dstr, const vo  pa_usec_t pa_bytes_to_usec_round_up(uint64_t length, const pa_sample_spec *spec);  size_t pa_usec_to_bytes_round_up(pa_usec_t t, const pa_sample_spec *spec); +void pa_memchunk_dump_to_file(pa_memchunk *c, const char *fn); +  #endif  | 
