aboutsummaryrefslogtreecommitdiffstats
path: root/multimedia
diff options
context:
space:
mode:
authornox <nox@FreeBSD.org>2014-04-28 02:20:50 +0800
committernox <nox@FreeBSD.org>2014-04-28 02:20:50 +0800
commit601d987aff73f8d78727352e0974506f7fd0a600 (patch)
treeff216d6b45ff3e16b82801bad1728d70e427d2e1 /multimedia
parent9e3cf8a3fe4535100b81b3bf4fd94889c768e715 (diff)
downloadfreebsd-ports-gnome-601d987aff73f8d78727352e0974506f7fd0a600.tar.gz
freebsd-ports-gnome-601d987aff73f8d78727352e0974506f7fd0a600.tar.zst
freebsd-ports-gnome-601d987aff73f8d78727352e0974506f7fd0a600.zip
- Backport upstream fix for .mkv playback stutter using oss audio.
- Bump PORTREVISION. PR: ports/186093 Submitted by: "Marko Cupa&#263;" <marko.cupac@mimar.rs> (PR) Obtained from: http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=c1622c2c6e0e15a38fef723086ca8bf75a75b46b
Diffstat (limited to 'multimedia')
-rw-r--r--multimedia/vlc/Makefile1
-rw-r--r--multimedia/vlc/files/patch-c1622c2c6e0e15a38fef723086ca8bf75a75b46b-2.1.437
2 files changed, 38 insertions, 0 deletions
diff --git a/multimedia/vlc/Makefile b/multimedia/vlc/Makefile
index dab3e714341b..f580d7e2f572 100644
--- a/multimedia/vlc/Makefile
+++ b/multimedia/vlc/Makefile
@@ -3,6 +3,7 @@
PORTNAME= vlc
DISTVERSION= 2.1.4
+PORTREVISION= 1
PORTEPOCH= 4
CATEGORIES= multimedia audio ipv6 net www
MASTER_SITES= http://download.videolan.org/pub/videolan/${PORTNAME}/${DISTVERSION:S/a$//}/ \
diff --git a/multimedia/vlc/files/patch-c1622c2c6e0e15a38fef723086ca8bf75a75b46b-2.1.4 b/multimedia/vlc/files/patch-c1622c2c6e0e15a38fef723086ca8bf75a75b46b-2.1.4
new file mode 100644
index 000000000000..0a3c04c7ad82
--- /dev/null
+++ b/multimedia/vlc/files/patch-c1622c2c6e0e15a38fef723086ca8bf75a75b46b-2.1.4
@@ -0,0 +1,37 @@
+Backported from:
+
+ http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=c1622c2c6e0e15a38fef723086ca8bf75a75b46b
+
+--- modules/audio_output/oss.c.orig
++++ modules/audio_output/oss.c
+@@ -37,6 +37,7 @@
+ #else
+ # include <sys/soundcard.h>
+ #endif
++#include <errno.h>
+
+ #ifndef SNDCTL_DSP_HALT
+ # define SNDCTL_DSP_HALT SNDCTL_DSP_RESET
+@@ -210,6 +211,22 @@ static int Start (audio_output_t *aout,
+ }
+ aout_FormatPrepare (fmt);
+
++ /* Select timing */
++ unsigned bytes;
++ char buf[1024];
++
++ if (spdif)
++ bytes = AOUT_SPDIF_SIZE;
++ else
++ bytes = fmt->i_rate / (CLOCK_FREQ / AOUT_MIN_PREPARE_TIME)
++ * fmt->i_bytes_per_frame;
++
++ int frag = (AOUT_MAX_ADVANCE_TIME / AOUT_MIN_PREPARE_TIME) << 16
++ | (32 - clz32(bytes - 1));
++ if (ioctl (fd, SNDCTL_DSP_SETFRAGMENT, &frag) < 0)
++ msg_Err (aout, "cannot set 0x%08x fragment: %s", frag,
++ strerror_r(errno, buf, sizeof(buf) - 1));
++
+ VolumeSync (aout);
+ sys->starting = true;
+ sys->format = *fmt;