aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--multimedia/vlc/Makefile17
-rw-r--r--multimedia/vlc/files/extra-patch-modules__access__v4l2.c71
2 files changed, 11 insertions, 77 deletions
diff --git a/multimedia/vlc/Makefile b/multimedia/vlc/Makefile
index f63cb2cb9681..0b22169bd814 100644
--- a/multimedia/vlc/Makefile
+++ b/multimedia/vlc/Makefile
@@ -55,6 +55,7 @@ OPTIONS= A52 "A52 DVD audio decoder" On \
OGG "Ogg audio decoder support" On \
OPENGL "OpenGL acceleration support" Off \
PNG "PNG graphics format support" On \
+ PORTAUDIO "Portaudio library support" Off \
PULSE "Pulse Audio support" Off \
QT4 "Qt4 Interface" On \
REALAUDIO "Real Audio(R) support" On \
@@ -172,17 +173,12 @@ EXTRA_PATCHES+= ${FILESDIR}/extra-patch-modules__access__file.c \
${FILESDIR}/extra-patch-modules__access__fs.c
.endif
-.if (${OSVERSION} < 700042) && defined(WITH_QT4)
-IGNORE= does not build on FreeBSD 6.x with Qt4.x, set this OPTION to off or\
- define WITHOUT_QT4 to build CLI only version
-.endif
-
.if (${OSVERSION} < 701000)
CFLAGS+= -DHAVE_SYS_MOUNT_H
.endif
.if (${OSVERSION} < 700000)
-EXTRA_PATCHES+= ${FILESDIR}/extra-patch-modules_access_v4l2.c
+BROKEN= VLC 1.1.0 does not work on FreeBSD 6.x
.endif
.if ${PERL_LEVEL} < 500800
@@ -445,6 +441,13 @@ LIB_DEPENDS+= png.6:${PORTSDIR}/graphics/png
CONFIGURE_ARGS+=--enable-png
.endif
+.if defined(WITH_PORTAUDIO)
+LIB_DEPENDS+= portaudio.2:${PORTSDIR}/audio/portaudio2
+CONFIGURE_ARGS+=--enable-portaudio
+.else
+CONFIGURE_ARGS+=--disable-portaudio
+.endif
+
.if defined(WITH_PULSE)
CONFIGURE_ARGS+=--enable-pulse
.else
@@ -635,6 +638,8 @@ post-patch:
@${REINPLACE_CMD} -e 's|/dev/cdrom|${WITH_CDROM_DEVICE}|g' \
-e 's|/dev/dvd|${WITH_DVD_DEVICE}|g' \
${WRKSRC}/include/vlc_config.h
+ ${REINPLACE_CMD} -e 's|portaudio\.h|portaudio2/&|g' \
+ ${WRKSRC}/modules/audio_output/portaudio.c
pre-install:
${RM} -rf ${PLIST} ${FAKEDIR}
diff --git a/multimedia/vlc/files/extra-patch-modules__access__v4l2.c b/multimedia/vlc/files/extra-patch-modules__access__v4l2.c
deleted file mode 100644
index 02ac708d65d2..000000000000
--- a/multimedia/vlc/files/extra-patch-modules__access__v4l2.c
+++ /dev/null
@@ -1,71 +0,0 @@
---- modules/access/v4l2.c.orig 2009-12-21 04:43:39.000000000 +1100
-+++ modules/access/v4l2.c 2010-02-19 13:29:51.000000000 +1100
-@@ -492,6 +492,9 @@
- {
- void * start;
- size_t length;
-+#if !defined (HAVE_POSIX_MEMALIGN) && !defined (HAVE_MEMALIGN)
-+ void * free;
-+#endif
- };
-
- struct demux_sys_t
-@@ -1038,7 +1041,12 @@
- switch( p_sys->io )
- {
- case IO_METHOD_READ:
-- free( p_sys->p_buffers[0].start );
-+#if !defined (HAVE_POSIX_MEMALIGN) && !defined (HAVE_MEMALIGN)
-+ if (p_sys->p_buffers[0].free)
-+ free( p_sys->p_buffers[0].free );
-+ else
-+#endif
-+ free( p_sys->p_buffers[0].start );
- break;
-
- case IO_METHOD_MMAP:
-@@ -1054,7 +1062,12 @@
- case IO_METHOD_USERPTR:
- for( i = 0; i < p_sys->i_nbuffers; ++i )
- {
-- free( p_sys->p_buffers[i].start );
-+#if !defined (HAVE_POSIX_MEMALIGN) && !defined (HAVE_MEMALIGN)
-+ if (p_sys->p_buffers[0].free)
-+ free( p_sys->p_buffers[i].free );
-+ else
-+#endif
-+ free( p_sys->p_buffers[i].start );
- }
- break;
-
-@@ -1600,10 +1613,31 @@
-
- for( p_sys->i_nbuffers = 0; p_sys->i_nbuffers < 4; ++p_sys->i_nbuffers )
- {
-+#if defined (HAVE_POSIX_MEMALIGN)
- p_sys->p_buffers[p_sys->i_nbuffers].length = i_buffer_size;
- if( posix_memalign( &p_sys->p_buffers[p_sys->i_nbuffers].start,
- /* boundary */ i_page_size, i_buffer_size ) )
- goto open_failed;
-+#elif defined (HAVE_MEMALIGN)
-+ p_sys->p_buffers[p_sys->i_nbuffers].length = i_buffer_size;
-+ p_sys->p_buffers[p_sys->i_nbuffers].start =
-+ memalign ( /* boundary */ i_page_size, i_buffer_size );
-+ if (p_sys->p_buffers[p_sys->i_nbuffers].start == NULL)
-+ goto open_failed;
-+#else
-+ unsigned char *ptr;
-+ size_t align = i_page_size - 1;
-+
-+ p_sys->p_buffers[p_sys->i_nbuffers].length = i_buffer_size;
-+ ptr = malloc (i_buffer_size + align);
-+ if ( ptr == NULL )
-+ goto open_failed;
-+
-+ p_sys->p_buffers[p_sys->i_nbuffers].free = ptr;
-+ ptr += align;
-+ p_sys->p_buffers[p_sys->i_nbuffers].start =
-+ (void *)(((uintptr_t)ptr) & ~align);
-+#endif
- }
- return VLC_SUCCESS;