Date: Sat, 11 Aug 2007 22:58:37 +0200 (CEST) From: Thierry Thomas <thierry@FreeBSD.org> To: FreeBSD-gnats-submit@FreeBSD.org Cc: Liste multimedia <multimedia@FreeBSD.org> Subject: ports/115428: multimedia/ffmpeg & multimedia/vlc: fix ffmpeg support in VLC. Message-ID: <20070811205837.9D59011436@graf.pompo.net> Resent-Message-ID: <200708112100.l7BL057M030155@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 115428 >Category: ports >Synopsis: multimedia/ffmpeg & multimedia/vlc: fix ffmpeg support in VLC. >Confidential: no >Severity: non-critical >Priority: medium >Responsible: freebsd-ports-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: update >Submitter-Id: current-users >Arrival-Date: Sat Aug 11 21:00:05 GMT 2007 >Closed-Date: >Last-Modified: >Originator: Thierry Thomas >Release: FreeBSD 6.2-STABLE i386 >Organization: Kabbale Eros >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 --- >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20070811205837.9D59011436>