aboutsummaryrefslogtreecommitdiff
path: root/multimedia
diff options
context:
space:
mode:
authorMichael Johnson <ahze@FreeBSD.org>2007-05-01 21:56:22 +0000
committerMichael Johnson <ahze@FreeBSD.org>2007-05-01 21:56:22 +0000
commitd1965b56b328a9fbe68d1793b2f4ed59ca229286 (patch)
tree9f2ca7e351ae6cd0c662f05c3e286093856e7f07 /multimedia
parentfa4cd49d32b70ba45bc330f4481a9f11770a4f8c (diff)
downloadports-d1965b56b328a9fbe68d1793b2f4ed59ca229286.tar.gz
ports-d1965b56b328a9fbe68d1793b2f4ed59ca229286.zip
- Use dynamic libdca instead of static libdts
Partly obtained from: vlc svn
Notes
Notes: svn path=/head/; revision=191332
Diffstat (limited to 'multimedia')
-rw-r--r--multimedia/vlc/Makefile3
-rw-r--r--multimedia/vlc/Makefile.inc1
-rw-r--r--multimedia/vlc/files/patch-configure29
-rw-r--r--multimedia/vlc/files/patch-modules_audio_filter_converter_dtstofloat32.c189
4 files changed, 215 insertions, 7 deletions
diff --git a/multimedia/vlc/Makefile b/multimedia/vlc/Makefile
index e5378e991c6c..75c56f57269e 100644
--- a/multimedia/vlc/Makefile
+++ b/multimedia/vlc/Makefile
@@ -10,6 +10,7 @@
PORTNAME= vlc
DISTVERSION= 0.8.6b
+PORTREVISION= 1
PORTEPOCH= 2
CATEGORIES= multimedia audio ipv6 net www
MASTER_SITES= http://download.videolan.org/pub/videolan/vlc/${DISTVERSION}/ \
@@ -334,7 +335,7 @@ CONFIGURE_ARGS+=--disable-daap
.endif
.if !defined(WITHOUT_DTS)
-LIB_DEPENDS+= dca.0:${PORTSDIR}/multimedia/libdca
+BUILD_DEPENDS+= ${LOCALBASE}/lib/libdts.a:${PORTSDIR}/multimedia/libdts
CONFIGURE_ARGS+=--enable-dts
.else
CONFIGURE_ARGS+=--disable-dts
diff --git a/multimedia/vlc/Makefile.inc b/multimedia/vlc/Makefile.inc
index 503fe2b03a17..83a544970fb3 100644
--- a/multimedia/vlc/Makefile.inc
+++ b/multimedia/vlc/Makefile.inc
@@ -260,6 +260,7 @@ post-patch:
@${REINPLACE_CMD} -e 's|/usr/lib/win32|${LOCALBASE}/lib/win32|' \
${WRKSRC}/loader/module.c
.endif
+ @${REINPLACE_CMD} -e 's|dts|dca|g' ${WRKSRC}/configure
pre-configure:
.if !exists(${LOCALBASE}/libdata/pkgconfig/libavcodec.pc) && exists(${LOCALBASE}/lib/libavformat.a)
diff --git a/multimedia/vlc/files/patch-configure b/multimedia/vlc/files/patch-configure
index e7e6e9e29b77..808fff207d4e 100644
--- a/multimedia/vlc/files/patch-configure
+++ b/multimedia/vlc/files/patch-configure
@@ -1,6 +1,6 @@
---- configure.orig Fri Dec 8 20:33:49 2006
-+++ configure Sun Dec 10 09:40:46 2006
-@@ -2412,8 +2412,7 @@
+--- configure.orig Tue Apr 17 17:46:17 2007
++++ configure Tue May 1 08:56:07 2007
+@@ -2444,8 +2444,7 @@
done
if test -z "$ac_aux_dir"; then
{ { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in autotools \"$srcdir\"/autotools" >&5
@@ -10,7 +10,7 @@
fi
# These three variables are undocumented and unsupported,
-@@ -37873,8 +37872,7 @@
+@@ -37905,8 +37904,7 @@
if test -n "${enable_dv}"
then
{ { echo "$as_me:$LINENO: error: cannot find libraw1394 headers" >&5
@@ -20,7 +20,7 @@
fi
fi
-@@ -37893,8 +37891,7 @@
+@@ -37925,8 +37923,7 @@
{ echo "$as_me:$LINENO: result: no" >&5
echo "${ECHO_T}no" >&6; }
{ { echo "$as_me:$LINENO: error: cannot cd to ${real_dv_raw1394_tree}" >&5
@@ -30,7 +30,7 @@
fi
if test -f "${real_dv_raw1394_tree}/src/.libs/libraw1394.a"
then
-@@ -38113,8 +38110,7 @@
+@@ -38145,8 +38142,7 @@
if test -n "${enable_dv}"
then
{ { echo "$as_me:$LINENO: error: cannot find libavc1394 headers" >&5
@@ -40,3 +40,20 @@
fi
fi
+@@ -43314,15 +43310,11 @@
+ echo "${ECHO_T}$ac_cv_lib_dts_pic_dts_free" >&6; }
+ if test $ac_cv_lib_dts_pic_dts_free = yes; then
+
+- for element in ffmpeg; do
+- eval "LDFLAGS_${element}="'"'"-ldts_pic "'$'"{LDFLAGS_${element}} "'"'
+- am_modules_with_ldflags="${am_modules_with_ldflags} ${element}"
+- done
+
+ else
+
+ for element in ffmpeg; do
+- eval "LDFLAGS_${element}="'"'"-ldts "'$'"{LDFLAGS_${element}} "'"'
++ eval "LDFLAGS_${element}="'"'"-ldca "'$'"{LDFLAGS_${element}} "'"'
+ am_modules_with_ldflags="${am_modules_with_ldflags} ${element}"
+ done
+
diff --git a/multimedia/vlc/files/patch-modules_audio_filter_converter_dtstofloat32.c b/multimedia/vlc/files/patch-modules_audio_filter_converter_dtstofloat32.c
new file mode 100644
index 000000000000..25a05e38dc9b
--- /dev/null
+++ b/multimedia/vlc/files/patch-modules_audio_filter_converter_dtstofloat32.c
@@ -0,0 +1,189 @@
+--- modules/audio_filter/converter/dtstofloat32.c.orig Tue Apr 17 17:45:06 2007
++++ modules/audio_filter/converter/dtstofloat32.c
+@@ -4,7 +4,7 @@
+ * (http://developers.videolan.org/libdca.html).
+ *****************************************************************************
+ * Copyright (C) 2001, 2002libdca the VideoLAN team
+- * $Id: dtstofloat32.c 15172 2006-04-11 13:17:20Z zorglub $
++ * $Id: dtstofloat32.c 19787 2007-04-14 15:07:46Z courmisch $
+ *
+ * Author: Gildas Bazin <gbazin@videolan.org>
+ *
+@@ -31,10 +31,10 @@
+ #include <stdlib.h> /* malloc(), free() */
+ #include <string.h> /* strdup() */
+
+-#include <dts.h> /* libdca header file */
++#include <dca.h> /* libdca header file */
+
+-#include <vlc/decoder.h>
+-#include "aout_internal.h"
++#include <vlc_aout.h>
++#include <vlc_block.h>
+ #include "vlc_filter.h"
+
+ /*****************************************************************************
+@@ -66,7 +66,7 @@
+ *****************************************************************************/
+ struct filter_sys_t
+ {
+- dts_state_t * p_libdts; /* libdca internal structure */
++ dca_state_t * p_libdca; /* libdca internal structure */
+ vlc_bool_t b_dynrng; /* see below */
+ int i_flags; /* libdca flags, see dtsdec/doc/libdts.txt */
+ vlc_bool_t b_dontwarn;
+@@ -158,50 +158,50 @@
+ || (output.i_original_channels
+ & (AOUT_CHAN_LEFT | AOUT_CHAN_RIGHT)) )
+ {
+- p_sys->i_flags = DTS_MONO;
++ p_sys->i_flags = DCA_MONO;
+ }
+ break;
+
+ case AOUT_CHAN_LEFT | AOUT_CHAN_RIGHT:
+ if ( output.i_original_channels & AOUT_CHAN_DOLBYSTEREO )
+ {
+- p_sys->i_flags = DTS_DOLBY;
++ p_sys->i_flags = DCA_DOLBY;
+ }
+ else if ( input.i_original_channels == AOUT_CHAN_CENTER )
+ {
+- p_sys->i_flags = DTS_MONO;
++ p_sys->i_flags = DCA_MONO;
+ }
+ else if ( input.i_original_channels & AOUT_CHAN_DUALMONO )
+ {
+- p_sys->i_flags = DTS_CHANNEL;
++ p_sys->i_flags = DCA_CHANNEL;
+ }
+ else
+ {
+- p_sys->i_flags = DTS_STEREO;
++ p_sys->i_flags = DCA_STEREO;
+ }
+ break;
+
+ case AOUT_CHAN_LEFT | AOUT_CHAN_RIGHT | AOUT_CHAN_CENTER:
+- p_sys->i_flags = DTS_3F;
++ p_sys->i_flags = DCA_3F;
+ break;
+
+ case AOUT_CHAN_LEFT | AOUT_CHAN_RIGHT | AOUT_CHAN_REARCENTER:
+- p_sys->i_flags = DTS_2F1R;
++ p_sys->i_flags = DCA_2F1R;
+ break;
+
+ case AOUT_CHAN_LEFT | AOUT_CHAN_RIGHT | AOUT_CHAN_CENTER
+ | AOUT_CHAN_REARCENTER:
+- p_sys->i_flags = DTS_3F1R;
++ p_sys->i_flags = DCA_3F1R;
+ break;
+
+ case AOUT_CHAN_LEFT | AOUT_CHAN_RIGHT
+ | AOUT_CHAN_REARLEFT | AOUT_CHAN_REARRIGHT:
+- p_sys->i_flags = DTS_2F2R;
++ p_sys->i_flags = DCA_2F2R;
+ break;
+
+ case AOUT_CHAN_LEFT | AOUT_CHAN_RIGHT | AOUT_CHAN_CENTER
+ | AOUT_CHAN_REARLEFT | AOUT_CHAN_REARRIGHT:
+- p_sys->i_flags = DTS_3F2R;
++ p_sys->i_flags = DCA_3F2R;
+ break;
+
+ default:
+@@ -211,13 +211,13 @@
+ }
+ if ( output.i_physical_channels & AOUT_CHAN_LFE )
+ {
+- p_sys->i_flags |= DTS_LFE;
++ p_sys->i_flags |= DCA_LFE;
+ }
+- //p_sys->i_flags |= DTS_ADJUST_LEVEL;
++ //p_sys->i_flags |= DCA_ADJUST_LEVEL;
+
+ /* Initialize libdca */
+- p_sys->p_libdts = dts_init( 0 );
+- if( p_sys->p_libdts == NULL )
++ p_sys->p_libdca = dca_init( 0 );
++ if( p_sys->p_libdca == NULL )
+ {
+ msg_Err( p_this, "unable to initialize libdca" );
+ return VLC_EGENERIC;
+@@ -300,7 +300,7 @@
+ /* Needs to be called so the decoder knows which type of bitstream it is
+ * dealing with. */
+ int i_sample_rate, i_bit_rate, i_frame_length;
+- if( !dts_syncinfo( p_sys->p_libdts, p_in_buf->p_buffer, &i_flags,
++ if( !dca_syncinfo( p_sys->p_libdca, p_in_buf->p_buffer, &i_flags,
+ &i_sample_rate, &i_bit_rate, &i_frame_length ) )
+ {
+ msg_Warn( p_aout, "libdca couldn't sync on frame" );
+@@ -309,38 +309,38 @@
+ }
+
+ i_flags = p_sys->i_flags;
+- dts_frame( p_sys->p_libdts, p_in_buf->p_buffer,
++ dca_frame( p_sys->p_libdca, p_in_buf->p_buffer,
+ &i_flags, &i_sample_level, 0 );
+
+- if ( (i_flags & DTS_CHANNEL_MASK) != (p_sys->i_flags & DTS_CHANNEL_MASK)
++ if ( (i_flags & DCA_CHANNEL_MASK) != (p_sys->i_flags & DCA_CHANNEL_MASK)
+ && !p_sys->b_dontwarn )
+ {
+ msg_Warn( p_aout,
+ "libdca couldn't do the requested downmix 0x%x->0x%x",
+- p_sys->i_flags & DTS_CHANNEL_MASK,
+- i_flags & DTS_CHANNEL_MASK );
++ p_sys->i_flags & DCA_CHANNEL_MASK,
++ i_flags & DCA_CHANNEL_MASK );
+
+ p_sys->b_dontwarn = 1;
+ }
+
+ if( 0)//!p_sys->b_dynrng )
+ {
+- dts_dynrng( p_sys->p_libdts, NULL, NULL );
++ dca_dynrng( p_sys->p_libdca, NULL, NULL );
+ }
+
+- for ( i = 0; i < dts_blocks_num(p_sys->p_libdts); i++ )
++ for ( i = 0; i < dca_blocks_num(p_sys->p_libdca); i++ )
+ {
+ sample_t * p_samples;
+
+- if( dts_block( p_sys->p_libdts ) )
++ if( dca_block( p_sys->p_libdca ) )
+ {
+- msg_Warn( p_aout, "dts_block failed for block %d", i );
++ msg_Warn( p_aout, "dca_block failed for block %d", i );
+ break;
+ }
+
+- p_samples = dts_samples( p_sys->p_libdts );
++ p_samples = dca_samples( p_sys->p_libdca );
+
+- if ( (p_sys->i_flags & DTS_CHANNEL_MASK) == DTS_MONO
++ if ( (p_sys->i_flags & DCA_CHANNEL_MASK) == DCA_MONO
+ && (p_filter->output.i_physical_channels
+ & (AOUT_CHAN_LEFT | AOUT_CHAN_RIGHT)) )
+ {
+@@ -373,7 +373,7 @@
+ aout_filter_t *p_filter = (aout_filter_t *)p_this;
+ filter_sys_t *p_sys = (filter_sys_t *)p_filter->p_sys;
+
+- dts_free( p_sys->p_libdts );
++ dca_free( p_sys->p_libdca );
+ free( p_sys );
+ }
+
+@@ -427,7 +427,7 @@
+ filter_t *p_filter = (filter_t *)p_this;
+ filter_sys_t *p_sys = p_filter->p_sys;
+
+- dts_free( p_sys->p_libdts );
++ dca_free( p_sys->p_libdca );
+ free( p_sys );
+ }
+