diff options
author | Tom Yan <tom.ty89@gmail.com> | 2018-08-21 08:34:23 +0800 |
---|---|---|
committer | sfan5 <sfan5@live.de> | 2018-09-01 16:14:11 +0200 |
commit | 9d6b15ab32d4c231574f392c193a53e865b2206d (patch) | |
tree | b770e1d379041ebe8cbd6e2b1c6b4e2c0e9c81b6 | |
parent | 91786fa99c15dc64d3bce4be413326ba2dbe59f7 (diff) | |
download | mpv-9d6b15ab32d4c231574f392c193a53e865b2206d.tar.bz2 mpv-9d6b15ab32d4c231574f392c193a53e865b2206d.tar.xz |
ao_pulse: fix tlength calculation
also remove the now unused non-sensical af_fmt_seconds_to_bytes.
-rw-r--r-- | audio/format.c | 11 | ||||
-rw-r--r-- | audio/format.h | 3 | ||||
-rw-r--r-- | audio/out/ao_pulse.c | 6 |
3 files changed, 3 insertions, 17 deletions
diff --git a/audio/format.c b/audio/format.c index a5fcf36e37..f56546a207 100644 --- a/audio/format.c +++ b/audio/format.c @@ -135,17 +135,6 @@ const char *af_fmt_to_str(int format) return "??"; } -int af_fmt_seconds_to_bytes(int format, float seconds, int channels, int samplerate) -{ - assert(!af_fmt_is_planar(format)); - int bps = af_fmt_to_bytes(format); - int framelen = channels * bps; - int bytes = seconds * bps * samplerate; - if (bytes % framelen) - bytes += framelen - (bytes % framelen); - return bytes; -} - void af_fill_silence(void *dst, size_t bytes, int format) { memset(dst, af_fmt_is_unsigned(format) ? 0x80 : 0, bytes); diff --git a/audio/format.h b/audio/format.h index 0afc6567c9..24e1c5404f 100644 --- a/audio/format.h +++ b/audio/format.h @@ -64,9 +64,6 @@ bool af_fmt_is_pcm(int format); int af_fmt_to_planar(int format); int af_fmt_from_planar(int format); -// Amount of bytes that contain audio of the given duration, aligned to frames. -int af_fmt_seconds_to_bytes(int format, float seconds, int channels, int samplerate); - void af_fill_silence(void *dst, size_t bytes, int format); void af_get_best_sample_formats(int src_format, int *out_formats); diff --git a/audio/out/ao_pulse.c b/audio/out/ao_pulse.c index ed45ba6549..e288841788 100644 --- a/audio/out/ao_pulse.c +++ b/audio/out/ao_pulse.c @@ -454,11 +454,11 @@ static int init(struct ao *ao) pa_stream_set_write_callback(priv->stream, stream_request_cb, ao); pa_stream_set_latency_update_callback(priv->stream, stream_latency_update_cb, ao); - int buf_size = af_fmt_seconds_to_bytes(ao->format, priv->cfg_buffer / 1000.0, - ao->channels.num, ao->samplerate); + uint32_t buf_size = ao->samplerate * (priv->cfg_buffer / 1000.0) * + af_fmt_to_bytes(ao->format) * ao->channels.num; pa_buffer_attr bufattr = { .maxlength = -1, - .tlength = buf_size > 0 ? buf_size : (uint32_t)-1, + .tlength = buf_size > 0 ? buf_size : -1, .prebuf = -1, .minreq = -1, .fragsize = -1, |