From owner-freebsd-multimedia@FreeBSD.ORG Sat Aug 11 21:21:40 2007 Return-Path: Delivered-To: multimedia@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 110E816A469 for ; Sat, 11 Aug 2007 21:21:40 +0000 (UTC) (envelope-from thierry@pompo.net) Received: from postfix1-g20.free.fr (postfix1-g20.free.fr [212.27.60.42]) by mx1.freebsd.org (Postfix) with ESMTP id 9F78113C467 for ; Sat, 11 Aug 2007 21:21:39 +0000 (UTC) (envelope-from thierry@pompo.net) Received: from smtp7-g19.free.fr (smtp7-g19.free.fr [212.27.42.64]) by postfix1-g20.free.fr (Postfix) with ESMTP id 94069187C903 for ; Sat, 11 Aug 2007 22:58:46 +0200 (CEST) Received: from smtp7-g19.free.fr (localhost [127.0.0.1]) by smtp7-g19.free.fr (Postfix) with ESMTP id 43EAB1A34E for ; Sat, 11 Aug 2007 22:58:45 +0200 (CEST) Received: from graf.pompo.net (graf.pompo.net [81.56.186.139]) by smtp7-g19.free.fr (Postfix) with ESMTP id 0C4081A357 for ; Sat, 11 Aug 2007 22:58:44 +0200 (CEST) Received: by graf.pompo.net (Postfix, from userid 1001) id 9D59011436; Sat, 11 Aug 2007 22:58:37 +0200 (CEST) To: FreeBSD-gnats-submit@freebsd.org From: Thierry Thomas X-send-pr-version: 3.113 X-GNATS-Notify: Message-Id: <20070811205837.9D59011436@graf.pompo.net> Date: Sat, 11 Aug 2007 22:58:37 +0200 (CEST) Cc: Liste multimedia Subject: multimedia/ffmpeg & multimedia/vlc: fix ffmpeg support in VLC. X-BeenThere: freebsd-multimedia@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: Thierry Thomas List-Id: Multimedia discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 11 Aug 2007 21:21:40 -0000 >Submitter-Id: current-users >Originator: Thierry Thomas >Organization: Kabbale Eros >Confidential: no >Synopsis: multimedia/ffmpeg & multimedia/vlc: fix ffmpeg support in VLC. >Severity: non-critical >Priority: medium >Category: ports >Class: update >Release: FreeBSD 6.2-STABLE i386 >Environment: System: FreeBSD graf.pompo.net 6.2-STABLE >Description: VLC 0.8.6c does not support ffmeg when it has been built with swscaler; that means that you cannot watch TV streams with VLC (e.g. from http://tv.freebox.fr/). The following patches: - add a knob WITHOUT_SWSCALER to disable the software scaler; - add a warning message in VLC if ffmeg has been built with swscaler. Note: this won't fix the problem for packages, but anyway to use the concerned features you have to enable many knobs and build them from ports. Since I'm there: - re-activate Theora support in ffmpeg (seems OK now); - remove ancient bits from DTS; - define CONFIGURE_LOG to track possible failures. >How-To-Repeat: Before applying these patches, run vlc --list | grep ffmpeg it won't report anything. Run it again after these patches, and it should report something like: VLC media player 0.8.6c Janus ffmpeg FFmpeg audio/video decoder/encoder ((MS)MPEG4,SVQ1,H263,WMV,WMA) ffmpeg FFmpeg chroma conversion ffmpeg FFmpeg audio/video encoder ffmpeg FFmpeg demuxer ffmpeg FFmpeg muxer ffmpeg FFmpeg video filter ffmpeg FFmpeg crop padd filter ffmpeg FFmpeg deinterlace video filter And then you can enjoy TV broadcasts ;-) >Fix: Please apply the following patches: --- ffmpeg.diff begins here --- diff -urN multimedia/ffmpeg.orig/Makefile multimedia/ffmpeg/Makefile --- multimedia/ffmpeg.orig/Makefile Tue Jul 31 21:36:46 2007 +++ multimedia/ffmpeg/Makefile Sat Aug 11 19:33:22 2007 @@ -7,7 +7,7 @@ PORTNAME= ffmpeg DISTVERSION= 2007-07-12 -PORTREVISION= 1 +PORTREVISION= 2 CATEGORIES= multimedia audio ipv6 net MASTER_SITES= ${MASTER_SITE_LOCAL} MASTER_SITE_SUBDIR= ahze @@ -16,6 +16,7 @@ COMMENT= Hyper fast realtime audio/video encoder/converter, streaming server HAS_CONFIGURE= yes +CONFIGURE_LOG= config.err USE_BZIP2= yes USE_GMAKE= yes WANT_SDL= yes @@ -32,8 +33,7 @@ --extra-ldflags="-L${LOCALBASE}/lib" \ --extra-libs="${PTHREAD_LIBS}" \ --enable-gpl \ - --enable-pthreads \ - --enable-swscaler + --enable-pthreads CONFIGURE_ENV+= LANG=C MAKE_ENV= INSTALL="${INSTALL}" SHLIB_VER= 1 @@ -96,9 +96,6 @@ .endif USE_RC_SUBR= ffserver -#### BROKEN LIST ##### -WITHOUT_THEORA= yes - .if ${MACHINE_CPU:Mmmx}=="" CONFIGURE_ARGS+= --disable-mmx @@ -134,6 +131,19 @@ .else CONFIGURE_ARGS+= --disable-ffplay .endif + +## swscaler +.if exists(${LOCALBASE}/bin/vlc) +WITHOUT_SWSCALER= yes +.endif +.if !defined(WITHOUT_SWSCALER) +CONFIGURE_ARGS+= --enable-swscaler +PLIST_SUB+= SWSCAL="" +.else +PLIST_SUB+= SWSCAL="@comment " +.endif + +## theora .if !defined(WITHOUT_THEORA) WITH_OGG= yes LIB_DEPENDS+= theora.2:${PORTSDIR}/multimedia/libtheora @@ -216,6 +226,15 @@ @${ECHO_MSG} 'by defining WITH_OPTIMIZED_CFLAGS' @${ECHO_MSG} .endif +.ifndef(WITHOUT_SWSCALER) + @${ECHO_MSG} 'Define WITHOUT_SWSCALER to disable software scaler support' + @${ECHO_MSG} 'Warning: swscaler does not work with VLC!' + @${ECHO_MSG} +.endif +.ifndef(WITHOUT_THEORA) + @${ECHO_MSG} 'Define WITHOUT_THEORA to disable libtheora support' + @${ECHO_MSG} +.endif .ifndef(WITHOUT_VORBIS) @${ECHO_MSG} 'Define WITHOUT_VORBIS to enable libvorbisenc VORBIS codec' @${ECHO_MSG} @@ -289,13 +308,13 @@ .endif post-configure: -.ifdef(WITH_DTS) - @${REINPLACE_CMD} -E \ - -e 's|-ldts|${LOCALBASE}/lib/libdts_pic.a|' \ - -e 's|(-lx264)|-L${LOCALBASE}/lib \1|' \ - ${WRKSRC}/config.mak \ - ${WRKSRC}/libavcodec/Makefile -.endif +#.ifdef(WITH_DTS) +# @${REINPLACE_CMD} -E \ +# -e 's|-ldts|${LOCALBASE}/lib/libdts_pic.a|' \ +# -e 's|(-lx264)|-L${LOCALBASE}/lib \1|' \ +# ${WRKSRC}/config.mak \ +# ${WRKSRC}/libavcodec/Makefile +#.endif .ifdef(WITHOUT_THEORA) @${REINPLACE_CMD} -E \ -e 's|^(CONFIG_LIBTHEORA).*$$|\1=no|' \ diff -urN multimedia/ffmpeg.orig/pkg-plist multimedia/ffmpeg/pkg-plist --- multimedia/ffmpeg.orig/pkg-plist Tue Jul 31 21:36:46 2007 +++ multimedia/ffmpeg/pkg-plist Sat Aug 11 19:32:06 2007 @@ -43,10 +43,10 @@ lib/libpostproc.so lib/libpostproc.so.%%SHLIB_VER%% lib/libpostproc.so.51.1.0 -lib/libswscale.a -lib/libswscale.so -lib/libswscale.so.%%SHLIB_VER%% -lib/libswscale.so.0.5.0 +%%SWSCAL%%lib/libswscale.a +%%SWSCAL%%lib/libswscale.so +%%SWSCAL%%lib/libswscale.so.%%SHLIB_VER%% +%%SWSCAL%%lib/libswscale.so.0.5.0 lib/vhook/fish.so lib/vhook/null.so lib/vhook/ppm.so --- ffmpeg.diff ends here --- --- vlc.diff begins here --- diff -urN multimedia/vlc.orig/Makefile multimedia/vlc/Makefile --- multimedia/vlc.orig/Makefile Tue Jul 31 21:36:52 2007 +++ multimedia/vlc/Makefile Sat Aug 11 19:57:07 2007 @@ -10,7 +10,7 @@ PORTNAME= vlc DISTVERSION= 0.8.6c -PORTREVISION= 2 +PORTREVISION= 3 PORTEPOCH= 2 CATEGORIES= multimedia audio ipv6 net www MASTER_SITES= http://download.videolan.org/pub/videolan/vlc/${DISTVERSION}/ \ diff -urN multimedia/vlc.orig/Makefile.inc multimedia/vlc/Makefile.inc --- multimedia/vlc.orig/Makefile.inc Fri Jun 22 18:14:10 2007 +++ multimedia/vlc/Makefile.inc Sat Aug 11 19:57:10 2007 @@ -225,6 +225,14 @@ # Do not install Vlc's Documents # +pre-everything:: +.if exists(${LOCALBASE}/lib/libswscale.so) + @${ECHO_CMD} + @${ECHO_CMD} 'VLC cannot find ffmpeg if it has been built with the software scaler,' + @${ECHO_CMD} 'be sure to define WITHOUT_SWSCALER to build it.' + @${ECHO_CMD} +.endif + post-patch: # Subtitle default font @${REINPLACE_CMD} -e \ --- vlc.diff ends here ---