diff options
Diffstat (limited to 'mail/thunderbird/files/patch-bug1467882')
-rw-r--r-- | mail/thunderbird/files/patch-bug1467882 | 70 |
1 files changed, 0 insertions, 70 deletions
diff --git a/mail/thunderbird/files/patch-bug1467882 b/mail/thunderbird/files/patch-bug1467882 deleted file mode 100644 index a90748178de3..000000000000 --- a/mail/thunderbird/files/patch-bug1467882 +++ /dev/null @@ -1,70 +0,0 @@ ---- mozilla/media/libcubeb/src/cubeb_sndio.c.orig 2018-04-04 00:35:17 UTC -+++ mozilla/media/libcubeb/src/cubeb_sndio.c -@@ -43,17 +43,33 @@ struct cubeb_stream { - cubeb_data_callback data_cb; /* cb to preapare data */ - cubeb_state_callback state_cb; /* cb to notify about state changes */ - void *arg; /* user arg to {data,state}_cb */ -+ float volume; /* current volume */ - }; - - static void --float_to_s16(void *ptr, long nsamp) -+s16_setvol(void *ptr, long nsamp, float volume) - { - int16_t *dst = ptr; -+ int32_t mult = volume * 32768; -+ int32_t s; -+ -+ while (nsamp-- > 0) { -+ s = *dst; -+ s = (s * mult) >> 15; -+ *(dst++) = s; -+ } -+} -+ -+static void -+float_to_s16(void *ptr, long nsamp, float volume) -+{ -+ int16_t *dst = ptr; - float *src = ptr; -+ float mult = volume * 32768; - int s; - - while (nsamp-- > 0) { -- s = lrintf(*(src++) * 32768); -+ s = lrintf(*(src++) * mult); - if (s < -32768) - s = -32768; - else if (s > 32767) -@@ -111,7 +127,9 @@ sndio_mainloop(void *arg) - break; - } - if (s->conv) -- float_to_s16(s->buf, nfr * s->pchan); -+ float_to_s16(s->buf, nfr * s->pchan, s->volume); -+ else -+ s16_setvol(s->buf, nfr * s->pchan, s->volume); - start = 0; - end = nfr * s->bpf; - } -@@ -260,6 +278,7 @@ sndio_stream_init(cubeb * context, - free(s); - return CUBEB_ERROR; - } -+ s->volume = 1.; - *stream = s; - DPR("sndio_stream_init() end, ok\n"); - (void)context; -@@ -346,7 +365,11 @@ sndio_stream_set_volume(cubeb_stream *s, float volume) - { - DPR("sndio_stream_set_volume(%f)\n", volume); - pthread_mutex_lock(&s->mtx); -- sio_setvol(s->hdl, SIO_MAXVOL * volume); -+ if (volume < 0.) -+ volume = 0.; -+ else if (volume > 1.0) -+ volume = 1.; -+ s->volume = volume; - pthread_mutex_unlock(&s->mtx); - return CUBEB_OK; - } |