diff options
author | Jan Beich <jbeich@FreeBSD.org> | 2016-09-19 21:58:53 +0000 |
---|---|---|
committer | Jan Beich <jbeich@FreeBSD.org> | 2016-09-19 21:58:53 +0000 |
commit | 5a8879add2c41027705ce0cc7d3f659ab4d4bb7f (patch) | |
tree | 81c47587275f8be50c263ea870820f9ebbada17b | |
parent | 0b373b2ae1420b8fefe6dce2712999822854cd24 (diff) |
Notes
-rw-r--r-- | mail/thunderbird/Makefile | 2 | ||||
-rw-r--r-- | mail/thunderbird/files/patch-bug1021761 | 75 | ||||
-rw-r--r-- | www/firefox-esr/Makefile | 2 | ||||
-rw-r--r-- | www/firefox-esr/files/patch-bug1021761 | 75 | ||||
-rw-r--r-- | www/firefox/Makefile | 2 | ||||
-rw-r--r-- | www/firefox/files/patch-bug1021761 | 77 | ||||
-rw-r--r-- | www/libxul/Makefile | 2 | ||||
-rw-r--r-- | www/libxul/files/patch-bug1021761 | 75 | ||||
-rw-r--r-- | www/seamonkey/Makefile | 2 | ||||
-rw-r--r-- | www/seamonkey/files/patch-bug1021761 | 77 |
10 files changed, 332 insertions, 57 deletions
diff --git a/mail/thunderbird/Makefile b/mail/thunderbird/Makefile index 6099959b47a9..ad547dcdaf5d 100644 --- a/mail/thunderbird/Makefile +++ b/mail/thunderbird/Makefile @@ -3,7 +3,7 @@ PORTNAME= thunderbird DISTVERSION= 45.3.0 -PORTREVISION= 1 +PORTREVISION= 2 CATEGORIES= mail news net-im ipv6 MASTER_SITES= MOZILLA/${PORTNAME}/releases/${DISTVERSION}/source \ MOZILLA/${PORTNAME}/candidates/${DISTVERSION}-candidates/build1/source diff --git a/mail/thunderbird/files/patch-bug1021761 b/mail/thunderbird/files/patch-bug1021761 index 7cd9cfb5d77f..826912b321c9 100644 --- a/mail/thunderbird/files/patch-bug1021761 +++ b/mail/thunderbird/files/patch-bug1021761 @@ -51,7 +51,7 @@ index 48e60c0..ec08417 100644 + + if test "$ac_cv_header_sys_soundcard_h" != "yes" -a \ + "$ac_cv_header_soundcard_h" != "yes"; then -+ AC_MSG_ERROR([Need OSS for Ogg, Wave or WebM decoding on $OS_TARGET. Disable with --disable-ogg --disable-wave --disable-webm.]) ++ AC_MSG_ERROR([Need OSS for Ogg, Wave or WebM decoding on $OS_TARGET. Disable with --without-oss.]) + fi + + dnl Assume NetBSD implementation over SunAudio @@ -643,7 +643,7 @@ new file mode 100644 index 0000000..5e38e27 --- /dev/null +++ mozilla/media/libcubeb/src/cubeb_oss.c -@@ -0,0 +1,402 @@ +@@ -0,0 +1,432 @@ +/* + * Copyright © 2014 Mozilla Foundation + * @@ -769,8 +769,8 @@ index 0000000..5e38e27 + return got; +} + -+static void apply_volume(int16_t* buffer, unsigned int n, -+ float volume, float panning) ++static void apply_volume_int(int16_t* buffer, unsigned int n, ++ float volume, float panning) +{ + float left = volume; + float right = volume; @@ -788,6 +788,26 @@ index 0000000..5e38e27 + } +} + ++static void apply_volume_float(float* buffer, unsigned int n, ++ float volume, float panning) ++{ ++ float left = volume; ++ float right = volume; ++ unsigned int i; ++ float pan[2]; ++ if (panning<0) { ++ right *= (1+panning); ++ } else { ++ left *= (1-panning); ++ } ++ pan[0] = left; ++ pan[1] = right; ++ for(i=0; i<n; i++){ ++ buffer[i] = buffer[i]*pan[i%2]; ++ } ++} ++ ++ +static void *writer(void *stm) +{ + cubeb_stream* stream = (cubeb_stream*)stm; @@ -812,15 +832,25 @@ index 0000000..5e38e27 + if (stream->floating) { + got = run_data_callback(stream, f_buffer, + OSS_BUFFER_SIZE/stream->params.channels); ++ apply_volume_float(f_buffer, got*stream->params.channels, ++ stream->volume, stream->panning); + for (i=0; i<((unsigned long)got)*stream->params.channels; i++) { -+ buffer[i] = f_buffer[i]*32767.0; ++ /* Clipping is prefered to overflow */ ++ if(f_buffer[i]>=1.0){ ++ f_buffer[i]=1.0; ++ } ++ if(f_buffer[i]<=-1.0){ ++ f_buffer[i]=-1.0; ++ } ++ /* One might think that multipling by 32767.0 is logical but results in clipping */ ++ buffer[i] = f_buffer[i]*32767.0; + } + } else { + got = run_data_callback(stream, buffer, + OSS_BUFFER_SIZE/stream->params.channels); ++ apply_volume_int(buffer, got*stream->params.channels, ++ stream->volume, stream->panning); + } -+ apply_volume(buffer, got*stream->params.channels, -+ stream->volume, stream->panning); + if (got<0) { + run_state_callback(stream, CUBEB_STATE_ERROR); + break; @@ -891,9 +921,9 @@ index 0000000..5e38e27 + oss_try_set_latency(stream, latency); + + stream->floating = 0; -+ SET(SNDCTL_DSP_CHANNELS, stream_params.channels); -+ SET(SNDCTL_DSP_SPEED, stream_params.rate); -+ switch (stream_params.format) { ++ SET(SNDCTL_DSP_CHANNELS, stream->params.channels); ++ SET(SNDCTL_DSP_SPEED, stream->params.rate); ++ switch (stream->params.format) { + case CUBEB_SAMPLE_S16LE: + SET(SNDCTL_DSP_SETFMT, AFMT_S16_LE); + break; @@ -1070,6 +1100,31 @@ index 8b7a0dd..31212ce 100644 +CFLAGS += CONFIG['MOZ_OSS_CFLAGS'] CFLAGS += CONFIG['MOZ_ALSA_CFLAGS'] CFLAGS += CONFIG['MOZ_PULSEAUDIO_CFLAGS'] + +diff --git media/libcubeb/tests/moz.build media/libcubeb/tests/moz.build +index 1b17c7b..48b56c2 100644 +--- mozilla/media/libcubeb/tests/moz.build ++++ mozilla/media/libcubeb/tests/moz.build +@@ -73,7 +73,6 @@ elif CONFIG['OS_TARGET'] == 'OpenBSD': + 'sndio', + ] + else: +- OS_LIBS += CONFIG['MOZ_ALSA_LIBS'] + OS_LIBS += CONFIG['MOZ_PULSEAUDIO_LIBS'] + + if CONFIG['GNU_CXX']: +diff --git media/libcubeb/update.sh media/libcubeb/update.sh +index a96badd..2f9585e 100755 +--- mozilla/media/libcubeb/update.sh ++++ mozilla/media/libcubeb/update.sh +@@ -10,6 +10,7 @@ cp $1/src/cubeb_audiounit.c src + cp $1/src/cubeb_pulse.c src + cp $1/src/cubeb_sndio.c src + cp $1/src/cubeb_opensl.c src ++cp $1/src/cubeb_oss.c src + cp $1/src/cubeb_audiotrack.c src + cp $1/src/cubeb_wasapi.cpp src + cp $1/src/cubeb_resampler.h src diff --git media/webrtc/signaling/test/common.build media/webrtc/signaling/test/common.build index 991f03f..3d99eb5 100644 --- mozilla/media/webrtc/signaling/test/common.build diff --git a/www/firefox-esr/Makefile b/www/firefox-esr/Makefile index 66d1478a942a..0c211d09823c 100644 --- a/www/firefox-esr/Makefile +++ b/www/firefox-esr/Makefile @@ -4,7 +4,7 @@ PORTNAME= firefox DISTVERSION= 45.4.0 DISTVERSIONSUFFIX=esr.source -PORTREVISION= 2 +PORTREVISION= 3 PORTEPOCH= 1 CATEGORIES= www ipv6 MASTER_SITES= MOZILLA/${PORTNAME}/releases/${DISTVERSION}esr/source \ diff --git a/www/firefox-esr/files/patch-bug1021761 b/www/firefox-esr/files/patch-bug1021761 index 86c4d9b0f19b..3d6ff7781bb0 100644 --- a/www/firefox-esr/files/patch-bug1021761 +++ b/www/firefox-esr/files/patch-bug1021761 @@ -51,7 +51,7 @@ index 48e60c0..ec08417 100644 + + if test "$ac_cv_header_sys_soundcard_h" != "yes" -a \ + "$ac_cv_header_soundcard_h" != "yes"; then -+ AC_MSG_ERROR([Need OSS for Ogg, Wave or WebM decoding on $OS_TARGET. Disable with --disable-ogg --disable-wave --disable-webm.]) ++ AC_MSG_ERROR([Need OSS for Ogg, Wave or WebM decoding on $OS_TARGET. Disable with --without-oss.]) + fi + + dnl Assume NetBSD implementation over SunAudio @@ -643,7 +643,7 @@ new file mode 100644 index 0000000..5e38e27 --- /dev/null +++ media/libcubeb/src/cubeb_oss.c -@@ -0,0 +1,402 @@ +@@ -0,0 +1,432 @@ +/* + * Copyright © 2014 Mozilla Foundation + * @@ -769,8 +769,8 @@ index 0000000..5e38e27 + return got; +} + -+static void apply_volume(int16_t* buffer, unsigned int n, -+ float volume, float panning) ++static void apply_volume_int(int16_t* buffer, unsigned int n, ++ float volume, float panning) +{ + float left = volume; + float right = volume; @@ -788,6 +788,26 @@ index 0000000..5e38e27 + } +} + ++static void apply_volume_float(float* buffer, unsigned int n, ++ float volume, float panning) ++{ ++ float left = volume; ++ float right = volume; ++ unsigned int i; ++ float pan[2]; ++ if (panning<0) { ++ right *= (1+panning); ++ } else { ++ left *= (1-panning); ++ } ++ pan[0] = left; ++ pan[1] = right; ++ for(i=0; i<n; i++){ ++ buffer[i] = buffer[i]*pan[i%2]; ++ } ++} ++ ++ +static void *writer(void *stm) +{ + cubeb_stream* stream = (cubeb_stream*)stm; @@ -812,15 +832,25 @@ index 0000000..5e38e27 + if (stream->floating) { + got = run_data_callback(stream, f_buffer, + OSS_BUFFER_SIZE/stream->params.channels); ++ apply_volume_float(f_buffer, got*stream->params.channels, ++ stream->volume, stream->panning); + for (i=0; i<((unsigned long)got)*stream->params.channels; i++) { -+ buffer[i] = f_buffer[i]*32767.0; ++ /* Clipping is prefered to overflow */ ++ if(f_buffer[i]>=1.0){ ++ f_buffer[i]=1.0; ++ } ++ if(f_buffer[i]<=-1.0){ ++ f_buffer[i]=-1.0; ++ } ++ /* One might think that multipling by 32767.0 is logical but results in clipping */ ++ buffer[i] = f_buffer[i]*32767.0; + } + } else { + got = run_data_callback(stream, buffer, + OSS_BUFFER_SIZE/stream->params.channels); ++ apply_volume_int(buffer, got*stream->params.channels, ++ stream->volume, stream->panning); + } -+ apply_volume(buffer, got*stream->params.channels, -+ stream->volume, stream->panning); + if (got<0) { + run_state_callback(stream, CUBEB_STATE_ERROR); + break; @@ -891,9 +921,9 @@ index 0000000..5e38e27 + oss_try_set_latency(stream, latency); + + stream->floating = 0; -+ SET(SNDCTL_DSP_CHANNELS, stream_params.channels); -+ SET(SNDCTL_DSP_SPEED, stream_params.rate); -+ switch (stream_params.format) { ++ SET(SNDCTL_DSP_CHANNELS, stream->params.channels); ++ SET(SNDCTL_DSP_SPEED, stream->params.rate); ++ switch (stream->params.format) { + case CUBEB_SAMPLE_S16LE: + SET(SNDCTL_DSP_SETFMT, AFMT_S16_LE); + break; @@ -1070,6 +1100,31 @@ index 8b7a0dd..31212ce 100644 +CFLAGS += CONFIG['MOZ_OSS_CFLAGS'] CFLAGS += CONFIG['MOZ_ALSA_CFLAGS'] CFLAGS += CONFIG['MOZ_PULSEAUDIO_CFLAGS'] + +diff --git media/libcubeb/tests/moz.build media/libcubeb/tests/moz.build +index 1b17c7b..48b56c2 100644 +--- media/libcubeb/tests/moz.build ++++ media/libcubeb/tests/moz.build +@@ -73,7 +73,6 @@ elif CONFIG['OS_TARGET'] == 'OpenBSD': + 'sndio', + ] + else: +- OS_LIBS += CONFIG['MOZ_ALSA_LIBS'] + OS_LIBS += CONFIG['MOZ_PULSEAUDIO_LIBS'] + + if CONFIG['GNU_CXX']: +diff --git media/libcubeb/update.sh media/libcubeb/update.sh +index a96badd..2f9585e 100755 +--- media/libcubeb/update.sh ++++ media/libcubeb/update.sh +@@ -10,6 +10,7 @@ cp $1/src/cubeb_audiounit.c src + cp $1/src/cubeb_pulse.c src + cp $1/src/cubeb_sndio.c src + cp $1/src/cubeb_opensl.c src ++cp $1/src/cubeb_oss.c src + cp $1/src/cubeb_audiotrack.c src + cp $1/src/cubeb_wasapi.cpp src + cp $1/src/cubeb_resampler.h src diff --git media/webrtc/signaling/test/common.build media/webrtc/signaling/test/common.build index 991f03f..3d99eb5 100644 --- media/webrtc/signaling/test/common.build diff --git a/www/firefox/Makefile b/www/firefox/Makefile index e562c90065cd..ddc5b0dfdeeb 100644 --- a/www/firefox/Makefile +++ b/www/firefox/Makefile @@ -4,7 +4,7 @@ PORTNAME= firefox DISTVERSION= 49.0 DISTVERSIONSUFFIX=.source -PORTREVISION= 4 +PORTREVISION= 5 PORTEPOCH= 1 CATEGORIES= www ipv6 MASTER_SITES= MOZILLA/${PORTNAME}/releases/${DISTVERSION}/source \ diff --git a/www/firefox/files/patch-bug1021761 b/www/firefox/files/patch-bug1021761 index 64852e42e62d..2b0096c41869 100644 --- a/www/firefox/files/patch-bug1021761 +++ b/www/firefox/files/patch-bug1021761 @@ -23,7 +23,7 @@ index 48e60c0..ec08417 100644 + +dnl If using Linux, Solaris or BSDs, ensure that OSS is available +case "$OS_TARGET" in -+Linux|SunOS|DragonFly|FreeBSD|GNU/kFreeBSD) ++Linux|SunOS|DragonFly|FreeBSD|NetBSD|GNU/kFreeBSD) + MOZ_OSS=1 + ;; +esac @@ -63,7 +63,7 @@ index 48e60c0..ec08417 100644 + + if test "$ac_cv_header_sys_soundcard_h" != "yes" -a \ + "$ac_cv_header_soundcard_h" != "yes"; then -+ AC_MSG_ERROR([Need OSS for Ogg, Wave or WebM decoding on $OS_TARGET. Disable with --disable-ogg --disable-wave --disable-webm.]) ++ AC_MSG_ERROR([Need OSS for Ogg, Wave or WebM decoding on $OS_TARGET. Disable with --without-oss.]) + fi + + dnl Assume NetBSD implementation over SunAudio @@ -653,7 +653,7 @@ new file mode 100644 index 0000000..5e38e27 --- /dev/null +++ media/libcubeb/src/cubeb_oss.c -@@ -0,0 +1,412 @@ +@@ -0,0 +1,442 @@ +/* + * Copyright © 2014 Mozilla Foundation + * @@ -780,8 +780,8 @@ index 0000000..5e38e27 + return got; +} + -+static void apply_volume(int16_t* buffer, unsigned int n, -+ float volume, float panning) ++static void apply_volume_int(int16_t* buffer, unsigned int n, ++ float volume, float panning) +{ + float left = volume; + float right = volume; @@ -799,6 +799,26 @@ index 0000000..5e38e27 + } +} + ++static void apply_volume_float(float* buffer, unsigned int n, ++ float volume, float panning) ++{ ++ float left = volume; ++ float right = volume; ++ unsigned int i; ++ float pan[2]; ++ if (panning<0) { ++ right *= (1+panning); ++ } else { ++ left *= (1-panning); ++ } ++ pan[0] = left; ++ pan[1] = right; ++ for(i=0; i<n; i++){ ++ buffer[i] = buffer[i]*pan[i%2]; ++ } ++} ++ ++ +static void *writer(void *stm) +{ + cubeb_stream* stream = (cubeb_stream*)stm; @@ -823,15 +843,25 @@ index 0000000..5e38e27 + if (stream->floating) { + got = run_data_callback(stream, f_buffer, + OSS_BUFFER_SIZE/stream->params.channels); ++ apply_volume_float(f_buffer, got*stream->params.channels, ++ stream->volume, stream->panning); + for (i=0; i<((unsigned long)got)*stream->params.channels; i++) { -+ buffer[i] = f_buffer[i]*32767.0; ++ /* Clipping is prefered to overflow */ ++ if(f_buffer[i]>=1.0){ ++ f_buffer[i]=1.0; ++ } ++ if(f_buffer[i]<=-1.0){ ++ f_buffer[i]=-1.0; ++ } ++ /* One might think that multipling by 32767.0 is logical but results in clipping */ ++ buffer[i] = f_buffer[i]*32767.0; + } + } else { + got = run_data_callback(stream, buffer, + OSS_BUFFER_SIZE/stream->params.channels); ++ apply_volume_int(buffer, got*stream->params.channels, ++ stream->volume, stream->panning); + } -+ apply_volume(buffer, got*stream->params.channels, -+ stream->volume, stream->panning); + if (got<0) { + run_state_callback(stream, CUBEB_STATE_ERROR); + break; @@ -911,9 +941,9 @@ index 0000000..5e38e27 + oss_try_set_latency(stream, latency); + + stream->floating = 0; -+ SET(SNDCTL_DSP_CHANNELS, output_stream_params->channels); -+ SET(SNDCTL_DSP_SPEED, output_stream_params->rate); -+ switch (output_stream_params->format) { ++ SET(SNDCTL_DSP_CHANNELS, stream->params.channels); ++ SET(SNDCTL_DSP_SPEED, stream->params.rate); ++ switch (stream->params.format) { + case CUBEB_SAMPLE_S16LE: + SET(SNDCTL_DSP_SETFMT, AFMT_S16_LE); + break; @@ -1090,6 +1120,31 @@ index 8b7a0dd..31212ce 100644 +CFLAGS += CONFIG['MOZ_OSS_CFLAGS'] CFLAGS += CONFIG['MOZ_ALSA_CFLAGS'] CFLAGS += CONFIG['MOZ_PULSEAUDIO_CFLAGS'] + +diff --git media/libcubeb/tests/moz.build media/libcubeb/tests/moz.build +index 1b17c7b..48b56c2 100644 +--- media/libcubeb/tests/moz.build ++++ media/libcubeb/tests/moz.build +@@ -73,7 +73,6 @@ elif CONFIG['OS_TARGET'] == 'OpenBSD': + 'sndio', + ] + else: +- OS_LIBS += CONFIG['MOZ_ALSA_LIBS'] + OS_LIBS += CONFIG['MOZ_PULSEAUDIO_LIBS'] + + if CONFIG['GNU_CXX']: +diff --git media/libcubeb/update.sh media/libcubeb/update.sh +index a96badd..2f9585e 100755 +--- media/libcubeb/update.sh ++++ media/libcubeb/update.sh +@@ -10,6 +10,7 @@ cp $1/src/cubeb_audiounit.c src + cp $1/src/cubeb_pulse.c src + cp $1/src/cubeb_sndio.c src + cp $1/src/cubeb_opensl.c src ++cp $1/src/cubeb_oss.c src + cp $1/src/cubeb_audiotrack.c src + cp $1/src/cubeb_wasapi.cpp src + cp $1/src/cubeb_resampler.h src diff --git media/webrtc/signaling/test/common.build media/webrtc/signaling/test/common.build index 991f03f..3d99eb5 100644 --- media/webrtc/signaling/test/common.build diff --git a/www/libxul/Makefile b/www/libxul/Makefile index b1ad8a1d26a9..a067620e0c0d 100644 --- a/www/libxul/Makefile +++ b/www/libxul/Makefile @@ -3,7 +3,7 @@ PORTNAME= libxul DISTVERSION= 45.4.0 -PORTREVISION= 2 +PORTREVISION= 3 CATEGORIES?= www devel MASTER_SITES= MOZILLA/firefox/releases/${DISTVERSION}esr/source \ MOZILLA/firefox/candidates/${DISTVERSION}esr-candidates/build2/source diff --git a/www/libxul/files/patch-bug1021761 b/www/libxul/files/patch-bug1021761 index 86c4d9b0f19b..3d6ff7781bb0 100644 --- a/www/libxul/files/patch-bug1021761 +++ b/www/libxul/files/patch-bug1021761 @@ -51,7 +51,7 @@ index 48e60c0..ec08417 100644 + + if test "$ac_cv_header_sys_soundcard_h" != "yes" -a \ + "$ac_cv_header_soundcard_h" != "yes"; then -+ AC_MSG_ERROR([Need OSS for Ogg, Wave or WebM decoding on $OS_TARGET. Disable with --disable-ogg --disable-wave --disable-webm.]) ++ AC_MSG_ERROR([Need OSS for Ogg, Wave or WebM decoding on $OS_TARGET. Disable with --without-oss.]) + fi + + dnl Assume NetBSD implementation over SunAudio @@ -643,7 +643,7 @@ new file mode 100644 index 0000000..5e38e27 --- /dev/null +++ media/libcubeb/src/cubeb_oss.c -@@ -0,0 +1,402 @@ +@@ -0,0 +1,432 @@ +/* + * Copyright © 2014 Mozilla Foundation + * @@ -769,8 +769,8 @@ index 0000000..5e38e27 + return got; +} + -+static void apply_volume(int16_t* buffer, unsigned int n, -+ float volume, float panning) ++static void apply_volume_int(int16_t* buffer, unsigned int n, ++ float volume, float panning) +{ + float left = volume; + float right = volume; @@ -788,6 +788,26 @@ index 0000000..5e38e27 + } +} + ++static void apply_volume_float(float* buffer, unsigned int n, ++ float volume, float panning) ++{ ++ float left = volume; ++ float right = volume; ++ unsigned int i; ++ float pan[2]; ++ if (panning<0) { ++ right *= (1+panning); ++ } else { ++ left *= (1-panning); ++ } ++ pan[0] = left; ++ pan[1] = right; ++ for(i=0; i<n; i++){ ++ buffer[i] = buffer[i]*pan[i%2]; ++ } ++} ++ ++ +static void *writer(void *stm) +{ + cubeb_stream* stream = (cubeb_stream*)stm; @@ -812,15 +832,25 @@ index 0000000..5e38e27 + if (stream->floating) { + got = run_data_callback(stream, f_buffer, + OSS_BUFFER_SIZE/stream->params.channels); ++ apply_volume_float(f_buffer, got*stream->params.channels, ++ stream->volume, stream->panning); + for (i=0; i<((unsigned long)got)*stream->params.channels; i++) { -+ buffer[i] = f_buffer[i]*32767.0; ++ /* Clipping is prefered to overflow */ ++ if(f_buffer[i]>=1.0){ ++ f_buffer[i]=1.0; ++ } ++ if(f_buffer[i]<=-1.0){ ++ f_buffer[i]=-1.0; ++ } ++ /* One might think that multipling by 32767.0 is logical but results in clipping */ ++ buffer[i] = f_buffer[i]*32767.0; + } + } else { + got = run_data_callback(stream, buffer, + OSS_BUFFER_SIZE/stream->params.channels); ++ apply_volume_int(buffer, got*stream->params.channels, ++ stream->volume, stream->panning); + } -+ apply_volume(buffer, got*stream->params.channels, -+ stream->volume, stream->panning); + if (got<0) { + run_state_callback(stream, CUBEB_STATE_ERROR); + break; @@ -891,9 +921,9 @@ index 0000000..5e38e27 + oss_try_set_latency(stream, latency); + + stream->floating = 0; -+ SET(SNDCTL_DSP_CHANNELS, stream_params.channels); -+ SET(SNDCTL_DSP_SPEED, stream_params.rate); -+ switch (stream_params.format) { ++ SET(SNDCTL_DSP_CHANNELS, stream->params.channels); ++ SET(SNDCTL_DSP_SPEED, stream->params.rate); ++ switch (stream->params.format) { + case CUBEB_SAMPLE_S16LE: + SET(SNDCTL_DSP_SETFMT, AFMT_S16_LE); + break; @@ -1070,6 +1100,31 @@ index 8b7a0dd..31212ce 100644 +CFLAGS += CONFIG['MOZ_OSS_CFLAGS'] CFLAGS += CONFIG['MOZ_ALSA_CFLAGS'] CFLAGS += CONFIG['MOZ_PULSEAUDIO_CFLAGS'] + +diff --git media/libcubeb/tests/moz.build media/libcubeb/tests/moz.build +index 1b17c7b..48b56c2 100644 +--- media/libcubeb/tests/moz.build ++++ media/libcubeb/tests/moz.build +@@ -73,7 +73,6 @@ elif CONFIG['OS_TARGET'] == 'OpenBSD': + 'sndio', + ] + else: +- OS_LIBS += CONFIG['MOZ_ALSA_LIBS'] + OS_LIBS += CONFIG['MOZ_PULSEAUDIO_LIBS'] + + if CONFIG['GNU_CXX']: +diff --git media/libcubeb/update.sh media/libcubeb/update.sh +index a96badd..2f9585e 100755 +--- media/libcubeb/update.sh ++++ media/libcubeb/update.sh +@@ -10,6 +10,7 @@ cp $1/src/cubeb_audiounit.c src + cp $1/src/cubeb_pulse.c src + cp $1/src/cubeb_sndio.c src + cp $1/src/cubeb_opensl.c src ++cp $1/src/cubeb_oss.c src + cp $1/src/cubeb_audiotrack.c src + cp $1/src/cubeb_wasapi.cpp src + cp $1/src/cubeb_resampler.h src diff --git media/webrtc/signaling/test/common.build media/webrtc/signaling/test/common.build index 991f03f..3d99eb5 100644 --- media/webrtc/signaling/test/common.build diff --git a/www/seamonkey/Makefile b/www/seamonkey/Makefile index 2d60ed61020c..c3c82b9d4504 100644 --- a/www/seamonkey/Makefile +++ b/www/seamonkey/Makefile @@ -4,7 +4,7 @@ PORTNAME= seamonkey DISTVERSION= 2.39 MOZILLA_VER= 42 # above + 3 -PORTREVISION= 12 +PORTREVISION= 13 CATEGORIES?= www mail news editors irc ipv6 MASTER_SITES= MOZILLA/${PORTNAME}/releases/${DISTVERSION}/source \ MOZILLA/${PORTNAME}/candidates/${DISTVERSION}-candidates/build1/source diff --git a/www/seamonkey/files/patch-bug1021761 b/www/seamonkey/files/patch-bug1021761 index e211a7087f69..f65f852007ed 100644 --- a/www/seamonkey/files/patch-bug1021761 +++ b/www/seamonkey/files/patch-bug1021761 @@ -51,7 +51,7 @@ index 48e60c0..ec08417 100644 + + if test "$ac_cv_header_sys_soundcard_h" != "yes" -a \ + "$ac_cv_header_soundcard_h" != "yes"; then -+ AC_MSG_ERROR([Need OSS for Ogg, Wave or WebM decoding on $OS_TARGET. Disable with --disable-ogg --disable-wave --disable-webm.]) ++ AC_MSG_ERROR([Need OSS for Ogg, Wave or WebM decoding on $OS_TARGET. Disable with --without-oss.]) + fi + + dnl Assume NetBSD implementation over SunAudio @@ -562,7 +562,7 @@ index a962553..1f780f4 100644 /* get a pcm, disabling resampling, so we get a rate the * hardware/dmix/pulse/etc. supports. */ - r = snd_pcm_open(&pcm, "default", SND_PCM_STREAM_PLAYBACK | SND_PCM_NO_AUTO_RESAMPLE, 0); -+ r = WRAP(snd_pcm_open)(&pcm, "default", SND_PCM_STREAM_PLAYBACK | SND_PCM_NO_AUTO_RESAMPLE, 0); ++ r = WRAP(snd_pcm_open)(&pcm, CUBEB_ALSA_PCM_NAME, SND_PCM_STREAM_PLAYBACK | SND_PCM_NO_AUTO_RESAMPLE, 0); if (r < 0) { return CUBEB_ERROR; } @@ -643,7 +643,7 @@ new file mode 100644 index 0000000..5e38e27 --- /dev/null +++ mozilla/media/libcubeb/src/cubeb_oss.c -@@ -0,0 +1,402 @@ +@@ -0,0 +1,432 @@ +/* + * Copyright © 2014 Mozilla Foundation + * @@ -769,8 +769,8 @@ index 0000000..5e38e27 + return got; +} + -+static void apply_volume(int16_t* buffer, unsigned int n, -+ float volume, float panning) ++static void apply_volume_int(int16_t* buffer, unsigned int n, ++ float volume, float panning) +{ + float left = volume; + float right = volume; @@ -788,6 +788,26 @@ index 0000000..5e38e27 + } +} + ++static void apply_volume_float(float* buffer, unsigned int n, ++ float volume, float panning) ++{ ++ float left = volume; ++ float right = volume; ++ unsigned int i; ++ float pan[2]; ++ if (panning<0) { ++ right *= (1+panning); ++ } else { ++ left *= (1-panning); ++ } ++ pan[0] = left; ++ pan[1] = right; ++ for(i=0; i<n; i++){ ++ buffer[i] = buffer[i]*pan[i%2]; ++ } ++} ++ ++ +static void *writer(void *stm) +{ + cubeb_stream* stream = (cubeb_stream*)stm; @@ -812,15 +832,25 @@ index 0000000..5e38e27 + if (stream->floating) { + got = run_data_callback(stream, f_buffer, + OSS_BUFFER_SIZE/stream->params.channels); ++ apply_volume_float(f_buffer, got*stream->params.channels, ++ stream->volume, stream->panning); + for (i=0; i<((unsigned long)got)*stream->params.channels; i++) { -+ buffer[i] = f_buffer[i]*32767.0; ++ /* Clipping is prefered to overflow */ ++ if(f_buffer[i]>=1.0){ ++ f_buffer[i]=1.0; ++ } ++ if(f_buffer[i]<=-1.0){ ++ f_buffer[i]=-1.0; ++ } ++ /* One might think that multipling by 32767.0 is logical but results in clipping */ ++ buffer[i] = f_buffer[i]*32767.0; + } + } else { + got = run_data_callback(stream, buffer, + OSS_BUFFER_SIZE/stream->params.channels); ++ apply_volume_int(buffer, got*stream->params.channels, ++ stream->volume, stream->panning); + } -+ apply_volume(buffer, got*stream->params.channels, -+ stream->volume, stream->panning); + if (got<0) { + run_state_callback(stream, CUBEB_STATE_ERROR); + break; @@ -891,9 +921,9 @@ index 0000000..5e38e27 + oss_try_set_latency(stream, latency); + + stream->floating = 0; -+ SET(SNDCTL_DSP_CHANNELS, stream_params.channels); -+ SET(SNDCTL_DSP_SPEED, stream_params.rate); -+ switch (stream_params.format) { ++ SET(SNDCTL_DSP_CHANNELS, stream->params.channels); ++ SET(SNDCTL_DSP_SPEED, stream->params.rate); ++ switch (stream->params.format) { + case CUBEB_SAMPLE_S16LE: + SET(SNDCTL_DSP_SETFMT, AFMT_S16_LE); + break; @@ -1070,6 +1100,31 @@ index 8b7a0dd..31212ce 100644 +CFLAGS += CONFIG['MOZ_OSS_CFLAGS'] CFLAGS += CONFIG['MOZ_ALSA_CFLAGS'] CFLAGS += CONFIG['MOZ_PULSEAUDIO_CFLAGS'] + +diff --git media/libcubeb/tests/moz.build media/libcubeb/tests/moz.build +index 1b17c7b..48b56c2 100644 +--- mozilla/media/libcubeb/tests/moz.build ++++ mozilla/media/libcubeb/tests/moz.build +@@ -73,7 +73,6 @@ elif CONFIG['OS_TARGET'] == 'OpenBSD': + 'sndio', + ] + else: +- OS_LIBS += CONFIG['MOZ_ALSA_LIBS'] + OS_LIBS += CONFIG['MOZ_PULSEAUDIO_LIBS'] + + if CONFIG['GNU_CXX']: +diff --git media/libcubeb/update.sh media/libcubeb/update.sh +index a96badd..2f9585e 100755 +--- mozilla/media/libcubeb/update.sh ++++ mozilla/media/libcubeb/update.sh +@@ -10,6 +10,7 @@ cp $1/src/cubeb_audiounit.c src + cp $1/src/cubeb_pulse.c src + cp $1/src/cubeb_sndio.c src + cp $1/src/cubeb_opensl.c src ++cp $1/src/cubeb_oss.c src + cp $1/src/cubeb_audiotrack.c src + cp $1/src/cubeb_wasapi.cpp src + cp $1/src/cubeb_resampler.h src diff --git media/webrtc/signaling/test/common.build media/webrtc/signaling/test/common.build index 991f03f..3d99eb5 100644 --- mozilla/media/webrtc/signaling/test/common.build |