Commit Diff
Commit:
e24324f1e5f50d7f1ceb3f8ae4c5513fa27d89f5
Date:
Mon Feb 21 17:25:10 2022
UTC
Message:
allow changing sample bit size
--- amused.h
+++ amused.h
@@ -133,7 +133,7 @@ int player_setup(int, int);
__dead void ctl(int, char **);
/* player.c */
-int player_setup(int, int);
+int player_setup(int, int, int);
void player_senderr(void);
void player_sendeof(void);
int player_shouldstop(void);
--- player.c
+++ player.c
@@ -74,7 +74,7 @@ player_setup(int rate, int channels)
}
int
-player_setup(int rate, int channels)
+player_setup(int bits, int rate, int channels)
{
struct sio_par par;
@@ -83,6 +83,7 @@ player_setup(int rate, int channels)
sio_stop(hdl);
sio_initpar(&par);
+ par.bits = bits;
par.rate = rate;
par.pchan = channels;
if (!sio_setpar(hdl, &par) || !sio_getpar(hdl, &par)) {
@@ -90,7 +91,7 @@ player_setup(int rate, int channels)
return -1;
}
- if (par.pchan != channels) {
+ if (par.bits != bits || par.pchan != channels) {
log_warnx("failed to set params");
return -1;
}
--- player_flac.c
+++ player_flac.c
@@ -74,7 +74,7 @@ metacb(const FLAC__StreamDecoder *decoder, const FLAC_
sample_rate = meta->data.stream_info.sample_rate;
channels = meta->data.stream_info.channels;
- if (player_setup(sample_rate, channels) == -1)
+ if (player_setup(16, sample_rate, channels) == -1)
err(1, "player_setrate");
}
}
--- player_mad.c
+++ player_mad.c
@@ -99,7 +99,7 @@ output(void *data, const struct mad_header *header, st
buffer->channels != pcm->channels) {
buffer->sample_rate = pcm->samplerate;
buffer->channels = pcm->channels;
- if (player_setup(pcm->samplerate, pcm->channels) == -1)
+ if (player_setup(16, pcm->samplerate, pcm->channels) == -1)
err(1, "player_setrate");
}
--- player_oggvorbis.c
+++ player_oggvorbis.c
@@ -63,7 +63,7 @@ play_oggvorbis(int fd)
* previous revision of this file.
*/
vi = ov_info(&vf, -1);
- if (player_setup(vi->rate, vi->channels) == -1)
+ if (player_setup(16, vi->rate, vi->channels) == -1)
err(1, "player_setrate");
while (!eof) {
--- player_opus.c
+++ player_opus.c
@@ -82,7 +82,7 @@ play_opus(int fd)
head = op_head(of, li);
if (head->input_sample_rate &&
- player_setup(head->input_sample_rate, 2) == -1)
+ player_setup(16, head->input_sample_rate, 2) == -1)
err(1, "player_setrate");
}
Omar Polo