summaryrefslogtreecommitdiff
path: root/src/audio_out/audio_oss_out.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/audio_out/audio_oss_out.c')
-rw-r--r--src/audio_out/audio_oss_out.c16
1 files changed, 7 insertions, 9 deletions
diff --git a/src/audio_out/audio_oss_out.c b/src/audio_out/audio_oss_out.c
index cf1608a25..06d9115ef 100644
--- a/src/audio_out/audio_oss_out.c
+++ b/src/audio_out/audio_oss_out.c
@@ -134,7 +134,6 @@ typedef struct oss_driver_s {
int buffer_size;
struct {
- char *name;
int fd;
int prop;
int volume;
@@ -374,7 +373,7 @@ static int ao_oss_delay(ao_driver_t *this_gen) {
count_info info;
oss_driver_t *this = (oss_driver_t *) this_gen;
- int bytes_left;
+ int bytes_left = 0;
int frames;
struct timeval tv;
@@ -507,7 +506,6 @@ static void ao_oss_exit(ao_driver_t *this_gen) {
if (this->audio_fd != -1)
close(this->audio_fd);
- free (this->mixer.name);
free (this);
}
@@ -1019,6 +1017,7 @@ static ao_driver_t *open_plugin (audio_driver_class_t *class_gen, const void *da
*/
{
char mixer_name[32];
+ char mixer_dev[32];
int mixer_num;
int audio_devs;
char *parse;
@@ -1040,15 +1039,14 @@ static ao_driver_t *open_plugin (audio_driver_class_t *class_gen, const void *da
parse[0] = '\0';
parse += 3;
if (devname_val == 0)
- asprintf(&this->mixer.name, "%smixer%s", mixer_name, parse);
+ snprintf(mixer_dev, sizeof(mixer_dev), "%smixer%s", mixer_name, parse);
else if (mixer_num == -1)
- asprintf(&this->mixer.name, "%smixer", mixer_name);
+ snprintf(mixer_dev, sizeof(mixer_dev), "%smixer", mixer_name);
else
- asprintf(&this->mixer.name, "%smixer%d", mixer_name, mixer_num);
+ snprintf(mixer_dev, sizeof(mixer_dev), "%smixer%d", mixer_name, mixer_num);
}
- _x_assert(this->mixer.name);
- this->mixer.fd = xine_open_cloexec(this->mixer.name, O_RDONLY);
+ this->mixer.fd = xine_open_cloexec(mixer_dev, O_RDONLY);
if(this->mixer.fd != -1) {
@@ -1076,7 +1074,7 @@ static ao_driver_t *open_plugin (audio_driver_class_t *class_gen, const void *da
} else
xprintf (class->xine, XINE_VERBOSITY_LOG,
- _("audio_oss_out: open() mixer %s failed: %s\n"), this->mixer.name, strerror(errno));
+ _("audio_oss_out: open() mixer %s failed: %s\n"), mixer_dev, strerror(errno));
this->mixer.mute = 0;
this->mixer.volume = ao_oss_get_property (&this->ao_driver, this->mixer.prop);