diff options
author | ahze <ahze@FreeBSD.org> | 2007-05-02 05:56:22 +0800 |
---|---|---|
committer | ahze <ahze@FreeBSD.org> | 2007-05-02 05:56:22 +0800 |
commit | 3de347d744fccd809f38414f9b8177cf7d450269 (patch) | |
tree | b85f7a8652e14f4c956248be0e51d51bf6d15d15 /multimedia/vlc | |
parent | 1bd243c2c12e9f90d6a703530574a9c4643a7bc0 (diff) | |
download | freebsd-ports-gnome-3de347d744fccd809f38414f9b8177cf7d450269.tar.gz freebsd-ports-gnome-3de347d744fccd809f38414f9b8177cf7d450269.tar.zst freebsd-ports-gnome-3de347d744fccd809f38414f9b8177cf7d450269.zip |
- Use dynamic libdca instead of static libdts
Partly obtained from: vlc svn
Diffstat (limited to 'multimedia/vlc')
-rw-r--r-- | multimedia/vlc/Makefile | 3 | ||||
-rw-r--r-- | multimedia/vlc/Makefile.inc | 1 | ||||
-rw-r--r-- | multimedia/vlc/files/patch-configure | 29 | ||||
-rw-r--r-- | multimedia/vlc/files/patch-modules_audio_filter_converter_dtstofloat32.c | 189 |
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 ); + } + |