diff options
author | nox <nox@FreeBSD.org> | 2014-04-28 02:20:50 +0800 |
---|---|---|
committer | nox <nox@FreeBSD.org> | 2014-04-28 02:20:50 +0800 |
commit | 601d987aff73f8d78727352e0974506f7fd0a600 (patch) | |
tree | ff216d6b45ff3e16b82801bad1728d70e427d2e1 /multimedia | |
parent | 9e3cf8a3fe4535100b81b3bf4fd94889c768e715 (diff) | |
download | freebsd-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ć" <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/Makefile | 1 | ||||
-rw-r--r-- | multimedia/vlc/files/patch-c1622c2c6e0e15a38fef723086ca8bf75a75b46b-2.1.4 | 37 |
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; |