From 1ce23b854fd7bf0805f1cdd5969ac8c2ead2d5c3 Mon Sep 17 00:00:00 2001 From: Derk-Jan Hartman Date: Tue, 20 Apr 2004 01:00:29 +0000 Subject: [PATCH] * extras/contrib/src - fix goom location - some small url improvements. please test the contrib system. * modules/gui/macosx/* - autodetect Quartz Extreme. Use OpenGL vout if present. - --macosx-vout auto|quartz|opengl to force a vout. * Makefile.am: add share/http/vlm to target. * NEWS: small updates * AUTHORS: updated my email address. --- AUTHORS | 2 +- Makefile.am | 4 ++++ NEWS | 27 +++++++++++++++++++-------- extras/contrib/src/Makefile | 8 ++++---- extras/contrib/src/packages.mak | 19 +++++++++---------- modules/gui/macosx/macosx.m | 14 +++++++++----- modules/gui/macosx/vout.m | 24 ++++++++++++++++++++++-- 7 files changed, 68 insertions(+), 30 deletions(-) diff --git a/AUTHORS b/AUTHORS index b7af110810..1dc72e125d 100644 --- a/AUTHORS +++ b/AUTHORS @@ -169,7 +169,7 @@ D: Gnome and Gtk+ interface enhancements S: United Kingdom N: Derk-Jan Hartman -E: thedj@users.sourceforge.net +E: hartman@videolan.org C: hartman D: Mac OS X interface D: Dutch translation diff --git a/Makefile.am b/Makefile.am index 86a8a751d7..9292267a41 100644 --- a/Makefile.am +++ b/Makefile.am @@ -507,6 +507,10 @@ VLC.app: vlc for i in $(srcdir)/share/http/* ; do \ $(INSTALL) -m 644 $${i} $(top_builddir)/VLC.app/Contents/MacOS/share/http/`basename $${i}` ; \ done ; \ + $(INSTALL) -d $(top_builddir)/VLC.app/Contents/MacOS/share/http/vlm + for i in $(srcdir)/share/http/vlm/* ; do \ + $(INSTALL) -m 644 $${i} $(top_builddir)/VLC.app/Contents/MacOS/share/http/vlm/`basename $${i}` ; \ + done ; \ $(INSTALL) -d $(top_builddir)/VLC.app/Contents/MacOS/share/http/admin for i in $(srcdir)/share/http/admin/* ; do \ $(INSTALL) -m 644 $${i} $(top_builddir)/VLC.app/Contents/MacOS/share/http/admin/`basename $${i}` ; \ diff --git a/NEWS b/NEWS index 96322f9aa4..1e22c712ba 100644 --- a/NEWS +++ b/NEWS @@ -6,27 +6,32 @@ Changes between 0.7.1 and 0.7.2: Core support: * Bookmarks feature for easier seeking/access inside medias. * Support for video output embedded in interfaces. - * Improved http daemon. + * Improved HTTP daemon Codecs: * New Continuous Media Markup Language (CMML) codec. (http://www.annodex.net/overview.html) - * New h261 video decoder using openmash. + * New H.261 video decoder using openmash. * Packetizer interfaced between demux and codec when needed (allows using ffmpeg plugin to decode MPEG streams and better aac decoding). Input: - * mmsh streaming fixes. - * subviewer and subviewer v2 subtitles support. - * Annodex support (http://www.annodex.net). + * --start-time and --stop-time to start and stop playing a + file at the specified amount of seconds. Only works with a few + fileformats (avi, mov, mkv, mp4 ) + * Improved directory access module. * New "file-cat" option to play truncated movies. * Better handling of meta info (title, author, description, etc...). * New options to pass meta info to the input. - * New start-time and stop-time options. + +Demux: + * Annodex (http://www.annodex.net) support + * Subviewer and subviewer v2 subtitles support. + * mmsh streaming fixes. Stream output: * Improved session announcement system. - * Minimize threads useage by default. + * Minimize threads usage by default. * Added faster than realtime stream output (limited by CPU) for file output. * Improved MOV/MP4 muxer. * Improved MPEG TS muxer. @@ -36,8 +41,10 @@ Stream output: VideoLAN manager: * New videolan (media) manager (vlm): a little manager designed to launch and manage multiple streams from within one instance of VLC. + * Supports live streams and VoD. + * Supports scheduling. * Telnet interface for vlm. - * Http interface for vlm. + * HTTP interface for vlm. Interfaces: * Skins II @@ -48,6 +55,10 @@ Interfaces: - New design and set of icons. - Ability to embed video output. +Mac OS X port: + * Support for 'groups' and playlist item properties. + * OpenGL video output is now the default when available. + Win32 port: * DirectShow input plugin should work with more devices. * Disable monitor power down when watching movies. diff --git a/extras/contrib/src/Makefile b/extras/contrib/src/Makefile index 6b685b0e8d..ce32e69ac2 100644 --- a/extras/contrib/src/Makefile +++ b/extras/contrib/src/Makefile @@ -678,10 +678,10 @@ DISTCLEAN_PKG += live.$(LIVEDOTCOM_VERSION).tar.gz # goom # *************************************************************************** -goom-dj.tar.gz: - $(WGET) $(GOOMDJ_URL) +goom-macosx-altivec-bin.tar.gz: + $(WGET) $(GOOM_URL) -goom: goom-dj.tar.gz +goom: goom-mascosx-altivec-bin.tar.gz $(EXTRACT_GZ) .goom: goom @@ -690,7 +690,7 @@ goom: goom-dj.tar.gz CLEAN_FILE += .goom CLEAN_PKG += goom -DISTCLEAN_PKG += goom-dj.tar.gz +DISTCLEAN_PKG += goom-macosx-altivec-bin.tar.gz # *************************************************************************** # libcaca diff --git a/extras/contrib/src/packages.mak b/extras/contrib/src/packages.mak index b7028d632e..823af4d371 100644 --- a/extras/contrib/src/packages.mak +++ b/extras/contrib/src/packages.mak @@ -24,7 +24,7 @@ GNU=http://ftp.gnu.org/pub/gnu SF=http://heanet.dl.sourceforge.net/sourceforge -VIDEOLAN=http://download.videolan.org/pub/testing/contrib +VIDEOLAN=http://download.videolan.org/pub/videolan AUTOCONF_VERSION=2.58 AUTOCONF_URL=$(GNU)/autoconf/autoconf-$(AUTOCONF_VERSION).tar.gz #LIBTOOL_VERSION=1.5 @@ -54,7 +54,6 @@ OGG_URL=http://www.vorbis.com/files/1.0.1/unix/libogg-$(OGG_VERSION).tar.gz OGG_CVSROOT=:pserver:anoncvs@xiph.org:/usr/local/cvsroot VORBIS_VERSION=1.0 VORBIS_URL=http://www.xiph.org/ogg/vorbis/download/libvorbis-$(VORBIS_VERSION).tar.gz -#VORBIS_URL=$(VIDEOLAN)/libvorbis-$(VORBIS_VERSION).tar.gz THEORA_VERSION=1.0alpha2 THEORA_URL=http://www.theora.org/files/libtheora-$(THEORA_VERSION).tar.gz FLAC_VERSION=1.1.0 @@ -62,7 +61,7 @@ FLAC_URL=$(SF)/flac/flac-$(FLAC_VERSION).tar.gz SPEEX_VERSION=1.1.4 SPEEX_URL=http://www.speex.org/download/speex-$(SPEEX_VERSION).tar.gz FAAD2_VERSION=2.0 -FAAD2_URL=$(VIDEOLAN)/faad2-$(FAAD2_VERSION).tar.bz2 +FAAD2_URL=$(VIDEOLAN)/testing/contrib/faad2-$(FAAD2_VERSION).tar.bz2 FAAD2_CVSROOT=:pserver:anonymous@cvs.audiocoding.com:/cvsroot/faac LAME_VERSION=3.93.1 LAME_URL=$(SF)/lame/lame-$(LAME_VERSION).tar.gz @@ -76,24 +75,24 @@ FFMPEG_CVSROOT=:pserver:anonymous@mplayerhq.hu:/cvsroot/ffmpeg OPENSLP_VERSION=1.0.11 OPENSLP_URL=$(SF)/openslp/openslp-$(OPENSLP_VERSION).tar.gz LIBDVDCSS_VERSION=1.2.8 -LIBDVDCSS_URL=http://download.videolan.org/pub/libdvdcss/$(LIBDVDCSS_VERSION)/libdvdcss-$(LIBDVDCSS_VERSION).tar.gz +LIBDVDCSS_URL=$(VIDEOLAN)/libdvdcss/$(LIBDVDCSS_VERSION)/libdvdcss-$(LIBDVDCSS_VERSION).tar.gz LIBDVDREAD_VERSION=0.9.4 LIBDVDREAD_URL=http://www.dtek.chalmers.se/groups/dvd/dist/libdvdread-$(LIBDVDREAD_VERSION).tar.gz LIBDVDPLAY_VERSION=1.0.1 -LIBDVDPLAY_URL=http://download.videolan.org/pub/libdvdplay/$(LIBDVDPLAY_VERSION)/libdvdplay-$(LIBDVDPLAY_VERSION).tar.gz +LIBDVDPLAY_URL=$(VIDEOLAN)/libdvdplay/$(LIBDVDPLAY_VERSION)/libdvdplay-$(LIBDVDPLAY_VERSION).tar.gz LIBDVDNAV_VERSION=0.1.9 LIBDVDNAV_URL=http://ftp.snt.utwente.nl/pub/linux/gentoo/distfiles/libdvdnav-$(LIBDVDNAV_VERSION).tar.gz LIBDVBPSI_VERSION=0.1.4 -LIBDVBPSI_URL=http://download.videolan.org/pub/libdvbpsi/$(LIBDVBPSI_VERSION)/libdvbpsi3-$(LIBDVBPSI_VERSION).tar.gz +LIBDVBPSI_URL=$(VIDEOLAN)/libdvbpsi/$(LIBDVBPSI_VERSION)/libdvbpsi3-$(LIBDVBPSI_VERSION).tar.gz LIVEDOTCOM_VERSION=2004.04.09 -LIVEDOTCOM_URL=http://download.videolan.org/pub/testing/contrib/live.$(LIVEDOTCOM_VERSION).tar.gz -GOOMDJ_URL=http://sidekick.student.utwente.nl/videolan/goom-dj.tar.gz +LIVEDOTCOM_URL=$(VIDEOLAN)/testing/contrib/live.$(LIVEDOTCOM_VERSION).tar.gz +GOOM_URL=$(VIDEOLAN)/testing/contrib/goom-macosx-altivec-bin.tar.gz LIBCACA_VERSION=0.9 LIBCACA_URL=http://sam.zoy.org/projects/libcaca/libcaca-$(LIBCACA_VERSION).tar.gz LIBDTS_VERSION=0.0.2 -LIBDTS_URL=http://download.videolan.org/pub/videolan/libdts/$(LIBDTS_VERSION)/libdts-$(LIBDTS_VERSION).tar.gz +LIBDTS_URL=$(VIDEOLAN)/libdts/$(LIBDTS_VERSION)/libdts-$(LIBDTS_VERSION).tar.gz MODPLUG_VERSION=0.7 -MODPLUG_URL=http://download.videolan.org/pub/videolan/contrib/libmodplug-$(MODPLUG_VERSION).tar.gz +MODPLUG_URL=$(VIDEOLAN)/testing/contrib/libmodplug-$(MODPLUG_VERSION).tar.gz MASH_VERSION=5.2 MASH_URL=$(SF)/openmash/mash-src-$(MASH_VERSION).tar.gz diff --git a/modules/gui/macosx/macosx.m b/modules/gui/macosx/macosx.m index f7a2ea9dcf..f23bf31f8d 100644 --- a/modules/gui/macosx/macosx.m +++ b/modules/gui/macosx/macosx.m @@ -59,9 +59,9 @@ void E_(CloseVideo) ( vlc_object_t * ); "of the movie when resizing the video, stretch the video " \ "to fill the entire window." ) -#define OPENGL_TEXT N_("Use OpenGL") -#define OPENGL_LONGTEXT N_("Use OpenGL instead of QuickTime to " \ - "render the video on the screen.") +#define MACOSX_VOUT_TEXT N_("Force a video rendering mode.") +#define MACOSX_VOUT_LONGTEXT N_("The default method is OpenGL " \ + "for Quartz Extreme machines and Quartz for the others.") #define OPENGL_EFFECT_TEXT N_("OpenGL effect") #define OPENGL_EFFECT_LONGTEXT N_("Use 'None' to display the video " \ @@ -77,6 +77,9 @@ void E_(CloseVideo) ( vlc_object_t * ); static char * effect_list[] = { "none", "cube", "transparent-cube" }; static char * effect_list_text[] = { N_("None"), N_("Cube"), N_("Transparent cube") }; + +static char *ppsz_vout_list[] = { "auto", "quartz", "opengl" }; +static char *ppsz_vout_list_text[] = { N_("Auto"), "Quartz", "OpenGL" }; vlc_module_begin(); set_description( _("MacOS X interface, sound and video") ); @@ -91,8 +94,9 @@ vlc_module_begin(); VLC_FALSE ); add_float_with_range( "macosx-opaqueness", 1, 0, 1, NULL, OPAQUENESS_TEXT, OPAQUENESS_LONGTEXT, VLC_TRUE ); - add_bool( "macosx-opengl", 1, NULL, OPENGL_TEXT, - OPENGL_LONGTEXT, VLC_TRUE ); + add_string( "macosx-vout", "auto", NULL, MACOSX_VOUT_TEXT, + MACOSX_VOUT_LONGTEXT, VLC_TRUE ); + change_string_list( ppsz_vout_list, ppsz_vout_list_text, 0 ); add_string( "macosx-opengl-effect", "none", NULL, OPENGL_EFFECT_TEXT, OPENGL_EFFECT_LONGTEXT, VLC_TRUE ); diff --git a/modules/gui/macosx/vout.m b/modules/gui/macosx/vout.m index 85617e6f73..63cd013f56 100644 --- a/modules/gui/macosx/vout.m +++ b/modules/gui/macosx/vout.m @@ -91,6 +91,7 @@ int E_(OpenVideo) ( vlc_object_t *p_this ) vout_thread_t * p_vout = (vout_thread_t *)p_this; OSErr err; int i_timeout; + char *psz_vout_type; p_vout->p_sys = malloc( sizeof( vout_sys_t ) ); if( p_vout->p_sys == NULL ) @@ -146,8 +147,22 @@ int E_(OpenVideo) ( vlc_object_t *p_this ) p_vout->p_sys->s_rect.size.height = p_vout->i_window_height; /* Check if we should use QuickTime or OpenGL */ - p_vout->p_sys->i_opengl = config_GetInt( p_vout, "macosx-opengl" ); + psz_vout_type = config_GetPsz( p_vout, "macosx-vout" ); + if( !strncmp( psz_vout_type, "auto", 4 ) ) + { + p_vout->p_sys->i_opengl = CGDisplayUsesOpenGLAcceleration( kCGDirectMainDisplay ); + } + else if( !strncmp( psz_vout_type, "opengl", 6 ) ) + { + p_vout->p_sys->i_opengl = VLC_TRUE; + } + else + { + p_vout->p_sys->i_opengl = VLC_FALSE; + } + free( psz_vout_type ); + if( !p_vout->p_sys->i_opengl ) { /* Initialize QuickTime */ @@ -190,6 +205,11 @@ int E_(OpenVideo) ( vlc_object_t *p_this ) free( p_vout->p_sys ); return VLC_EGENERIC; } + msg_Dbg( p_vout, "using Quartz mode" ); + } + else + { + msg_Dbg( p_vout, "using OpenGL mode" ); } NSAutoreleasePool * o_pool = [[NSAutoreleasePool alloc] init]; @@ -1506,7 +1526,7 @@ static void QTFreePicture( vout_thread_t *p_vout, picture_t *p_pic ) NSOpenGLPFADepthSize, 24, NSOpenGLPFAFullScreen, NSOpenGLPFAScreenMask, - /* TODO handle macosxx-vdev */ + /* TODO handle macosx-vdev */ CGDisplayIDToOpenGLDisplayMask( kCGDirectMainDisplay ), 0 }; -- 2.39.2