Commit Diff
Commit:
e24324f1e5f50d7f1ceb3f8ae4c5513fa27d89f5
From:
Omar Polo <op@omarpolo.com>
Date:
Mon Feb 21 17:25:10 2022 UTC
Message:
allow changing sample bit size
commit - b73e68f5b5b551164fdf405f67d4758bc274bce5
commit + e24324f1e5f50d7f1ceb3f8ae4c5513fa27d89f5
blob - 65993a4ee46bf3d75153c371ee0fd4bed0a7543c
blob + f01329e0d66edab94097e8f83217870ca699193a
--- 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);
blob - 80997945fe67bea2dae6ff24b54f4d8cc68721e2
blob + 8dcc0a356a2af59e38690e72bbf3256b173a97ea
--- 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;
}
blob - c35eca5bd8922058df803e4188eade87e12029dc
blob + 94d91e32a4f6dd6d63588d491b2f7d7bafa94fe2
--- 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");
}
}
blob - dde2aa7fba32e8e424d29c03237ab99aa53adb95
blob + 23565c675b73ec5687d981392dfc887517e8a07e
--- 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");
}
blob - 1a021a064be20ce190396b037ba388863c132af9
blob + d6b64076b8d69170c9cf6c22d7cbb9ab80e72a7e
--- 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) {
blob - 9be3933fa1855c6fd8a26e08ea15b1171a530d11
blob + 4a2f92ba4db4355e132cb2d1e3059028b9bb5611
--- 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