mirror of
https://gitlab.freedesktop.org/pulseaudio/pulseaudio.git
synced 2025-10-29 05:40:23 -04:00
replace memory allocation function calls with pa_xXXXX()
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@916 fefdeb5f-60dc-0310-8127-8f9354f1896f
This commit is contained in:
parent
43813dcce8
commit
fbdb063513
3 changed files with 54 additions and 63 deletions
|
|
@ -34,8 +34,6 @@
|
|||
#include <fcntl.h>
|
||||
|
||||
#include <polyp/polypaudio.h>
|
||||
#include <polyp/mainloop.h>
|
||||
#include <polyp/mainloop-signal.h>
|
||||
#include <polypcore/util.h>
|
||||
|
||||
#define TIME_EVENT_USEC 50000
|
||||
|
|
@ -97,7 +95,7 @@ static void do_stream_write(size_t length) {
|
|||
buffer_index += l;
|
||||
|
||||
if (!buffer_length) {
|
||||
free(buffer);
|
||||
pa_xfree(buffer);
|
||||
buffer = NULL;
|
||||
buffer_index = buffer_length = 0;
|
||||
}
|
||||
|
|
@ -141,8 +139,7 @@ static void stream_read_callback(pa_stream *s, size_t length, void *userdata) {
|
|||
return;
|
||||
}
|
||||
|
||||
buffer = malloc(buffer_length = length);
|
||||
assert(buffer);
|
||||
buffer = pa_xmalloc(buffer_length = length);
|
||||
memcpy(buffer, data, length);
|
||||
buffer_index = 0;
|
||||
pa_stream_drop(s);
|
||||
|
|
@ -273,8 +270,8 @@ static void stdin_callback(pa_mainloop_api*a, pa_io_event *e, int fd, pa_io_even
|
|||
if (!stream || pa_stream_get_state(stream) != PA_STREAM_READY || !(l = w = pa_stream_writable_size(stream)))
|
||||
l = 4096;
|
||||
|
||||
buffer = malloc(l);
|
||||
assert(buffer);
|
||||
buffer = pa_xmalloc(l);
|
||||
|
||||
if ((r = read(fd, buffer, l)) <= 0) {
|
||||
if (r == 0) {
|
||||
pa_operation *o;
|
||||
|
|
@ -331,7 +328,7 @@ static void stdout_callback(pa_mainloop_api*a, pa_io_event *e, int fd, pa_io_eve
|
|||
buffer_index += r;
|
||||
|
||||
if (!buffer_length) {
|
||||
free(buffer);
|
||||
pa_xfree(buffer);
|
||||
buffer = NULL;
|
||||
buffer_length = buffer_index = 0;
|
||||
}
|
||||
|
|
@ -342,7 +339,6 @@ static void exit_signal_callback(pa_mainloop_api*m, pa_signal_event *e, int sig,
|
|||
if (verbose)
|
||||
fprintf(stderr, "Got signal, exiting.\n");
|
||||
quit(0);
|
||||
|
||||
}
|
||||
|
||||
/* Show the current latency */
|
||||
|
|
@ -479,23 +475,23 @@ int main(int argc, char *argv[]) {
|
|||
break;
|
||||
|
||||
case 'd':
|
||||
free(device);
|
||||
device = strdup(optarg);
|
||||
pa_xfree(device);
|
||||
device = pa_xstrdup(optarg);
|
||||
break;
|
||||
|
||||
case 's':
|
||||
free(server);
|
||||
server = strdup(optarg);
|
||||
pa_xfree(server);
|
||||
server = pa_xstrdup(optarg);
|
||||
break;
|
||||
|
||||
case 'n':
|
||||
free(client_name);
|
||||
client_name = strdup(optarg);
|
||||
pa_xfree(client_name);
|
||||
client_name = pa_xstrdup(optarg);
|
||||
break;
|
||||
|
||||
case ARG_STREAM_NAME:
|
||||
free(stream_name);
|
||||
stream_name = strdup(optarg);
|
||||
pa_xfree(stream_name);
|
||||
stream_name = pa_xstrdup(optarg);
|
||||
break;
|
||||
|
||||
case 'v':
|
||||
|
|
@ -567,7 +563,7 @@ int main(int argc, char *argv[]) {
|
|||
close(fd);
|
||||
|
||||
if (!stream_name)
|
||||
stream_name = strdup(argv[optind]);
|
||||
stream_name = pa_xstrdup(argv[optind]);
|
||||
|
||||
} else {
|
||||
fprintf(stderr, "Too many arguments.\n");
|
||||
|
|
@ -576,10 +572,10 @@ int main(int argc, char *argv[]) {
|
|||
}
|
||||
|
||||
if (!client_name)
|
||||
client_name = strdup(bn);
|
||||
client_name = pa_xstrdup(bn);
|
||||
|
||||
if (!stream_name)
|
||||
stream_name = strdup(client_name);
|
||||
stream_name = pa_xstrdup(client_name);
|
||||
|
||||
/* Set up a new main loop */
|
||||
if (!(m = pa_mainloop_new())) {
|
||||
|
|
@ -659,12 +655,12 @@ quit:
|
|||
pa_mainloop_free(m);
|
||||
}
|
||||
|
||||
free(buffer);
|
||||
pa_xfree(buffer);
|
||||
|
||||
free(server);
|
||||
free(device);
|
||||
free(client_name);
|
||||
free(stream_name);
|
||||
pa_xfree(server);
|
||||
pa_xfree(device);
|
||||
pa_xfree(client_name);
|
||||
pa_xfree(stream_name);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -36,8 +36,6 @@
|
|||
#include <sndfile.h>
|
||||
|
||||
#include <polyp/polypaudio.h>
|
||||
#include <polyp/mainloop.h>
|
||||
#include <polyp/mainloop-signal.h>
|
||||
|
||||
#if PA_API_VERSION != 9
|
||||
#error Invalid Polypaudio API version
|
||||
|
|
@ -511,19 +509,18 @@ static void stream_write_callback(pa_stream *s, size_t length, void *userdata) {
|
|||
float *d;
|
||||
assert(s && length && sndfile);
|
||||
|
||||
d = malloc(length);
|
||||
assert(d);
|
||||
d = pa_xmalloc(length);
|
||||
|
||||
assert(sample_length >= length);
|
||||
l = length/pa_frame_size(&sample_spec);
|
||||
|
||||
if ((sf_readf_float(sndfile, d, l)) != l) {
|
||||
free(d);
|
||||
pa_xfree(d);
|
||||
fprintf(stderr, "Premature end of file\n");
|
||||
quit(1);
|
||||
}
|
||||
|
||||
pa_stream_write(s, d, length, free, 0, PA_SEEK_RELATIVE);
|
||||
pa_stream_write(s, d, length, pa_xfree, 0, PA_SEEK_RELATIVE);
|
||||
|
||||
sample_length -= length;
|
||||
|
||||
|
|
@ -652,13 +649,13 @@ int main(int argc, char *argv[]) {
|
|||
goto quit;
|
||||
|
||||
case 's':
|
||||
free(server);
|
||||
server = strdup(optarg);
|
||||
pa_xfree(server);
|
||||
server = pa_xstrdup(optarg);
|
||||
break;
|
||||
|
||||
case 'n':
|
||||
free(client_name);
|
||||
client_name = strdup(optarg);
|
||||
pa_xfree(client_name);
|
||||
client_name = pa_xstrdup(optarg);
|
||||
break;
|
||||
|
||||
default:
|
||||
|
|
@ -667,7 +664,7 @@ int main(int argc, char *argv[]) {
|
|||
}
|
||||
|
||||
if (!client_name)
|
||||
client_name = strdup(bn);
|
||||
client_name = pa_xstrdup(bn);
|
||||
|
||||
if (optind < argc) {
|
||||
if (!strcmp(argv[optind], "stat"))
|
||||
|
|
@ -686,7 +683,7 @@ int main(int argc, char *argv[]) {
|
|||
}
|
||||
|
||||
if (optind+2 < argc)
|
||||
sample_name = strdup(argv[optind+2]);
|
||||
sample_name = pa_xstrdup(argv[optind+2]);
|
||||
else {
|
||||
char *f = strrchr(argv[optind+1], '/');
|
||||
size_t n;
|
||||
|
|
@ -698,7 +695,7 @@ int main(int argc, char *argv[]) {
|
|||
n = strcspn(f, ".");
|
||||
strncpy(tmp, f, n);
|
||||
tmp[n] = 0;
|
||||
sample_name = strdup(tmp);
|
||||
sample_name = pa_xstrdup(tmp);
|
||||
}
|
||||
|
||||
memset(&sfinfo, 0, sizeof(sfinfo));
|
||||
|
|
@ -719,10 +716,10 @@ int main(int argc, char *argv[]) {
|
|||
goto quit;
|
||||
}
|
||||
|
||||
sample_name = strdup(argv[optind+1]);
|
||||
sample_name = pa_xstrdup(argv[optind+1]);
|
||||
|
||||
if (optind+2 < argc)
|
||||
device = strdup(argv[optind+2]);
|
||||
device = pa_xstrdup(argv[optind+2]);
|
||||
|
||||
} else if (!strcmp(argv[optind], "remove-sample")) {
|
||||
action = REMOVE_SAMPLE;
|
||||
|
|
@ -731,7 +728,7 @@ int main(int argc, char *argv[]) {
|
|||
goto quit;
|
||||
}
|
||||
|
||||
sample_name = strdup(argv[optind+1]);
|
||||
sample_name = pa_xstrdup(argv[optind+1]);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -782,9 +779,9 @@ quit:
|
|||
if (sndfile)
|
||||
sf_close(sndfile);
|
||||
|
||||
free(server);
|
||||
free(device);
|
||||
free(sample_name);
|
||||
pa_xfree(server);
|
||||
pa_xfree(device);
|
||||
pa_xfree(sample_name);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -35,8 +35,6 @@
|
|||
#include <sndfile.h>
|
||||
|
||||
#include <polyp/polypaudio.h>
|
||||
#include <polyp/mainloop.h>
|
||||
#include <polyp/mainloop-signal.h>
|
||||
|
||||
#if PA_API_VERSION != 9
|
||||
#error Invalid Polypaudio API version
|
||||
|
|
@ -105,7 +103,7 @@ static void stream_write_callback(pa_stream *s, size_t length, void *userdata) {
|
|||
if (!sndfile)
|
||||
return;
|
||||
|
||||
data = malloc(length);
|
||||
data = pa_xmalloc(length);
|
||||
|
||||
if (readf_function) {
|
||||
size_t k = pa_frame_size(&sample_spec);
|
||||
|
|
@ -117,9 +115,9 @@ static void stream_write_callback(pa_stream *s, size_t length, void *userdata) {
|
|||
bytes = sf_read_raw(sndfile, data, length);
|
||||
|
||||
if (bytes > 0)
|
||||
pa_stream_write(s, data, bytes, free, 0, PA_SEEK_RELATIVE);
|
||||
pa_stream_write(s, data, bytes, pa_xfree, 0, PA_SEEK_RELATIVE);
|
||||
else
|
||||
free(data);
|
||||
pa_xfree(data);
|
||||
|
||||
if (bytes < length) {
|
||||
sf_close(sndfile);
|
||||
|
|
@ -257,23 +255,23 @@ int main(int argc, char *argv[]) {
|
|||
goto quit;
|
||||
|
||||
case 'd':
|
||||
free(device);
|
||||
device = strdup(optarg);
|
||||
pa_xfree(device);
|
||||
device = pa_xstrdup(optarg);
|
||||
break;
|
||||
|
||||
case 's':
|
||||
free(server);
|
||||
server = strdup(optarg);
|
||||
pa_xfree(server);
|
||||
server = pa_xstrdup(optarg);
|
||||
break;
|
||||
|
||||
case 'n':
|
||||
free(client_name);
|
||||
client_name = strdup(optarg);
|
||||
pa_xfree(client_name);
|
||||
client_name = pa_xstrdup(optarg);
|
||||
break;
|
||||
|
||||
case ARG_STREAM_NAME:
|
||||
free(stream_name);
|
||||
stream_name = strdup(optarg);
|
||||
pa_xfree(stream_name);
|
||||
stream_name = pa_xstrdup(optarg);
|
||||
break;
|
||||
|
||||
case 'v':
|
||||
|
|
@ -351,11 +349,11 @@ int main(int argc, char *argv[]) {
|
|||
}
|
||||
|
||||
if (!client_name)
|
||||
client_name = strdup(bn);
|
||||
client_name = pa_xstrdup(bn);
|
||||
|
||||
if (!stream_name) {
|
||||
const char *n = sf_get_string(sndfile, SF_STR_TITLE);
|
||||
stream_name = strdup(n ? n : filename);
|
||||
stream_name = pa_xstrdup(n ? n : filename);
|
||||
}
|
||||
|
||||
if (verbose) {
|
||||
|
|
@ -408,10 +406,10 @@ quit:
|
|||
pa_mainloop_free(m);
|
||||
}
|
||||
|
||||
free(server);
|
||||
free(device);
|
||||
free(client_name);
|
||||
free(stream_name);
|
||||
pa_xfree(server);
|
||||
pa_xfree(device);
|
||||
pa_xfree(client_name);
|
||||
pa_xfree(stream_name);
|
||||
|
||||
if (sndfile)
|
||||
sf_close(sndfile);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue