Commit b29f85e0 authored by Sam Hocevar's avatar Sam Hocevar

* ./src/video_output/video_output.c: fixed a vout4 image starvation bug.

  * ./plugins/dvd/dvd.c: we look for libdvdcss.so.2 as well as -.so.1.
  * ./configure.in: BSD/OS fixes thanks to Steven M. Schultz.
  * ./Makefile: renamed the `snapshot' rule to `dist'.
  * ./Makefile: removed the `snapshot-nocss' rule which isn't needed anymore.
parent 66d7e1da
......@@ -4,6 +4,11 @@
HEAD
* ./src/video_output/video_output.c: fixed a vout4 image starvation bug.
* ./plugins/dvd/dvd.c: we look for libdvdcss.so.2 as well as -.so.1.
* ./configure.in: BSD/OS fixes thanks to Steven M. Schultz.
* ./Makefile: renamed the `snapshot' rule to `dist'.
* ./Makefile: removed the `snapshot-nocss' rule which isn't needed anymore.
* ./Makefile.modules: modules now depend on Makefile.opts.
* ./configure.in: added (hopefully) explicit messages on how to get
libdvdcss and link vlc with it.
......
......@@ -323,7 +323,7 @@ po-uninstall:
#
# Package generation rules
#
snapshot-common:
dist:
# Check that tmp isn't in the way
@if test -e tmp; then \
echo "Error: please remove ./tmp, it is in the way"; false; \
......@@ -371,8 +371,6 @@ snapshot-common:
cp $$file tmp/vlc/share ; done
for file in vlc_beos.rsrc vlc.icns gvlc_win32.ico vlc_win32_rc.rc ; do \
cp share/$$file tmp/vlc/share/ ; done
snapshot: snapshot-common
# Build archives
F=vlc-${VLC_QUICKVERSION}; \
mv tmp/vlc tmp/$$F; (cd tmp ; tar cf $$F.tar $$F); \
......@@ -381,23 +379,6 @@ snapshot: snapshot-common
# Clean up
rm -Rf tmp
snapshot-nocss: snapshot-common
# Fix debian information
rm -f tmp/vlc/debian/control
sed -e 's#^ DVDs# unencrypted DVDs#' < debian/control \
> tmp/vlc/debian/control
rm -f tmp/vlc/debian/rules
sed -e 's#^\(export DVDCSS_FLAGS=\).*#\1"--enable-dvd --without-dvdcss"#' < debian/rules \
> tmp/vlc/debian/rules
chmod +x tmp/vlc/debian/rules
# Build css-disabled archives
F=vlc-${VLC_QUICKVERSION}; G=vlc-${VLC_QUICKVERSION}-nocss; \
mv tmp/vlc tmp/$$F; (cd tmp ; tar cf $$G.tar $$F); \
bzip2 -f -9 < tmp/$$G.tar > $$G.tar.bz2; \
gzip -f -9 tmp/$$G.tar ; mv tmp/$$G.tar.gz .
# Clean up
rm -Rf tmp
package-win32:
# XXX: this rule is probably only useful to you if you have exactly
# the same setup as me. Contact sam@zoy.org if you need to use it.
......@@ -471,9 +452,6 @@ package-macosx:
# Clean up
rm -Rf tmp
deb:
dpkg-buildpackage -rfakeroot -us -uc
#
# Gtk/Gnome/* aliases and OS X application
#
......
This diff is collapsed.
......@@ -58,6 +58,8 @@ case x"${target_os}" in
;;
xbsdi*)
SYS=bsdi
LIB_DVD="${LIB_DVD} -ldvd"
LIB_VCD="${LIB_VCD} -ldvd"
;;
xdarwin*)
SYS=darwin
......@@ -81,12 +83,13 @@ case x"${target_os}" in
PLDFLAGS="${PLDFLAGS} -nostart"
;;
x*)
SYS=${target_os}
SYS="${target_os}"
;;
esac
dnl Check for system libs needed
AC_CHECK_FUNCS(gettimeofday select strerror strtod strtol isatty)
AC_CHECK_FUNCS(gettimeofday select strerror strtod strtol isatty usleep vasprintf swab sigrelse getpwuid memalign valloc)
AC_CHECK_FUNC(connect,,[
AC_CHECK_LIB(socket,connect,
LIB_IPV4="${LIB_IPV4} -lsocket"
......@@ -103,19 +106,12 @@ AC_CHECK_FUNC(nanosleep,,[
AC_CHECK_LIB(posix4,nanosleep,LIB_VLC="${LIB_VLC} -lposix4")
])
])
AC_CHECK_FUNCS(usleep)
AC_CHECK_FUNC(inet_aton,,[
AC_CHECK_LIB(resolv,inet_aton,LIB_VLC="${LIB_IPV4} -lresolv")
AC_CHECK_LIB(resolv,inet_aton,LIB_IPV4="${LIB_IPV4} -lresolv")
])
AC_CHECK_FUNC(textdomain,,[
AC_CHECK_LIB(intl,textdomain,LIB_VLC="${LIB_VLC} -lintl")
])
AC_CHECK_FUNCS(vasprintf)
AC_CHECK_FUNCS(swab)
AC_CHECK_FUNCS([memalign valloc])
AC_CHECK_FUNCS(sigrelse)
AC_CHECK_FUNCS(getpwuid)
dnl Check for getopt
NEED_GETOPT=0
......@@ -365,7 +361,7 @@ case x"${target_cpu}" in
ARCH=unknown
;;
*)
ARCH=${target_cpu}
ARCH="${target_cpu}"
;;
esac
......@@ -562,7 +558,7 @@ then
AC_ARG_WITH(dvdcss-tree,
[ --with-dvdcss-tree=PATH libdvdcss tree for static linking])
case "x$with_dvdcss" in
x)
x|xyes)
if test "x$with_dvdcss_tree" = x
then
AC_CHECK_HEADERS(dvdcss/dvdcss.h,
......@@ -606,7 +602,7 @@ then
dnl Use ${with_dvdcss}/include/dvdcss/dvdcss.h
AC_MSG_RESULT(yes)
PLUGINS="${PLUGINS} dvd"
LIB_DVD="${LIB_DVD} -L${with_dvdcss}/lib -ldvd"
LIB_DVD="${LIB_DVD} -L${with_dvdcss}/lib -ldvdcss"
CFLAGS_DVD="${CFLAGS_DVD} -I${with_dvdcss}/include"
else
dnl No libdvdcss could be found, sorry
......
......@@ -10,7 +10,9 @@ export DH_COMPAT=3
# Compilation options
export CONFIG_FLAGS="--enable-release --prefix=/usr --enable-gnome --enable-gtk --enable-fb --enable-ggi --enable-sdl --enable-esd --enable-qt --enable-mad --enable-arts --enable-alsa --enable-lirc --enable-a52 --enable-kde --enable-aa"
# Change this to --without-dvdcss in totalitarian countries
export DVDCSS_FLAGS="--enable-dvd"
export VIDDIR="usr/share/videolan"
export PIXDIR="usr/share/pixmaps"
export GNOMEDIR="usr/share/gnome/apps/Multimedia"
......
/* include/defs.h.in. Generated automatically from configure.in by autoheader. */
/* include/defs.h.in. Generated automatically from configure.in by autoheader 2.13. */
/* Define if using alloca.c. */
#undef C_ALLOCA
......
......@@ -5,7 +5,7 @@
* thread, and destroy a previously opened video output thread.
*****************************************************************************
* Copyright (C) 1999, 2000 VideoLAN
* $Id: video_output.h,v 1.72 2002/03/21 22:10:32 gbazin Exp $
* $Id: video_output.h,v 1.73 2002/04/04 05:08:05 sam Exp $
*
* Authors: Vincent Seguin <seguin@via.ecp.fr>
*
......@@ -148,7 +148,7 @@ typedef struct vout_thread_s
vout_chroma_t chroma; /* translation tables */
/* Picture and subpicture heaps */
picture_t p_picture[VOUT_MAX_PICTURES]; /* pictures */
picture_t p_picture[2*VOUT_MAX_PICTURES]; /* pictures */
subpicture_t p_subpicture[VOUT_MAX_PICTURES]; /* subpictures */
/* Bitmap fonts */
......
......@@ -2,7 +2,7 @@
* dvd.c : DVD input module for vlc
*****************************************************************************
* Copyright (C) 2000-2001 VideoLAN
* $Id: dvd.c,v 1.28 2002/04/03 16:22:23 sam Exp $
* $Id: dvd.c,v 1.29 2002/04/04 05:08:05 sam Exp $
*
* Authors: Samuel Hocevar <sam@zoy.org>
*
......@@ -105,10 +105,13 @@ MODULE_DEACTIVATE_STOP
*****************************************************************************/
static void ProbeLibDVDCSS( void )
{
char *pp_filelist[4] = { "libdvdcss.so.1",
"./libdvdcss.so.1",
"./lib/libdvdcss.so.1",
NULL };
static char *pp_filelist[4] = { "libdvdcss.so.2",
"./libdvdcss.so.2",
"./lib/libdvdcss.so.2",
"libdvdcss.so.1",
"./libdvdcss.so.1",
"./lib/libdvdcss.so.1",
NULL };
char **pp_file = pp_filelist;
/* Try to open the dynamic object */
......@@ -128,7 +131,7 @@ static void ProbeLibDVDCSS( void )
/* If libdvdcss.so was found, check that it's valid */
if( p_libdvdcss == NULL )
{
intf_ErrMsg( "dvd warning: libdvdcss.so.1 not present" );
intf_ErrMsg( "dvd warning: libdvdcss.so.2 not present" );
}
else
{
......@@ -145,7 +148,7 @@ static void ProbeLibDVDCSS( void )
|| ____dvdcss_read == NULL || ____dvdcss_readv == NULL
|| ____dvdcss_error == NULL )
{
intf_ErrMsg( "dvd warning: missing symbols in libdvdcss.so.1, "
intf_ErrMsg( "dvd warning: missing symbols in libdvdcss.so.2, "
"this shouldn't happen !" );
dlclose( p_libdvdcss );
p_libdvdcss = NULL;
......
......@@ -2,7 +2,7 @@
* ipv4.c: IPv4 network abstraction layer
*****************************************************************************
* Copyright (C) 2001, 2002 VideoLAN
* $Id: ipv4.c,v 1.8 2002/03/19 05:49:31 sam Exp $
* $Id: ipv4.c,v 1.9 2002/04/04 05:08:05 sam Exp $
*
* Authors: Christophe Massiot <massiot@via.ecp.fr>
* Mathias Kretschmer <mathias@research.att.com>
......@@ -142,7 +142,7 @@ static int BuildAddr( struct sockaddr_in * p_socket,
* OpenUDP: open a UDP socket
*****************************************************************************
* psz_bind_addr, i_bind_port : address and port used for the bind()
* system call. If psz_bind_addr == NULL, the socket is bound to
* system call. If psz_bind_addr == "", the socket is bound to
* INADDR_ANY and broadcast reception is enabled. If i_bind_port == 0,
* 1234 is used. If psz_bind_addr is a multicast (class D) address,
* join the multicast group.
......
......@@ -2,7 +2,7 @@
* cdrom_tools.c: cdrom tools
*****************************************************************************
* Copyright (C) 1998-2001 VideoLAN
* $Id: cdrom_tools.c,v 1.1 2002/02/20 05:50:00 jlj Exp $
* $Id: cdrom_tools.c,v 1.2 2002/04/04 05:08:05 sam Exp $
*
* Author: Johan Bilien <jobi@via.ecp.fr>
* Jon Lech Johansen <jon-vl@nanocrew.net>
......@@ -41,9 +41,7 @@
#include <sys/ioctl.h>
#if defined(HAVE_BSD_DVD_STRUCT) || \
defined(DVD_STRUCT_IN_BSDI_DVDIOCTL_DVD_H) || \
defined(DVD_STRUCT_IN_DVD_H)
#if defined(SYS_BSDI)
# include <dvd.h>
#elif defined ( SYS_DARWIN )
# include <CoreFoundation/CFBase.h>
......
......@@ -2,7 +2,7 @@
* xcommon.c: Functions common to the X11 and XVideo plugins
*****************************************************************************
* Copyright (C) 1998-2001 VideoLAN
* $Id: xcommon.c,v 1.26 2002/03/25 19:16:20 gbazin Exp $
* $Id: xcommon.c,v 1.27 2002/04/04 05:08:05 sam Exp $
*
* Authors: Vincent Seguin <seguin@via.ecp.fr>
* Samuel Hocevar <sam@zoy.org>
......@@ -399,16 +399,14 @@ static void vout_Destroy( vout_thread_t *p_vout )
ToggleCursor( p_vout );
}
#ifdef MODULE_NAME_IS_xvideo
XVideoReleasePort( p_vout->p_sys->p_display, p_vout->p_sys->i_xvport );
#else
#if 0
#ifdef MODULE_NAME_IS_x11
/* Destroy colormap */
if( p_vout->p_sys->i_screen_depth == 8 )
if( XDefaultDepth(p_vout->p_sys->p_display, p_vout->p_sys->i_screen) == 8 )
{
XFreeColormap( p_vout->p_sys->p_display, p_vout->p_sys->colormap );
}
#endif
#else
XVideoReleasePort( p_vout->p_sys->p_display, p_vout->p_sys->i_xvport );
#endif
DestroyCursor( p_vout );
......
......@@ -2,7 +2,7 @@
* intf_eject.c: CD/DVD-ROM ejection handling functions
*****************************************************************************
* Copyright (C) 2001, 2002 VideoLAN
* $Id: intf_eject.c,v 1.7 2002/04/04 00:23:36 jlj Exp $
* $Id: intf_eject.c,v 1.8 2002/04/04 05:08:05 sam Exp $
*
* Author: Julien Blache <jb@technologeek.org> for the Linux part
* with code taken from the Linux "eject" command
......@@ -53,15 +53,16 @@
# include <sys/ioctl.h>
# include <sys/ioctl.h>
# include <sys/mount.h>
# include <linux/cdrom.h>
# if LINUX_VERSION_CODE < KERNEL_VERSION(2,1,0)
# include <linux/ucdrom.h>
# endif
# include <sys/mount.h>
# include <scsi/scsi.h>
# include <scsi/sg.h>
# ifdef HAVE_SCSI_SCSI_IOCTL_H
# include <scsi/scsi.h>
# include <scsi/sg.h>
# include <scsi/scsi_ioctl.h>
# endif
#endif
......
......@@ -5,7 +5,7 @@
* thread, and destroy a previously oppened video output thread.
*****************************************************************************
* Copyright (C) 2000-2001 VideoLAN
* $Id: video_output.c,v 1.169 2002/03/21 22:10:33 gbazin Exp $
* $Id: video_output.c,v 1.170 2002/04/04 05:08:05 sam Exp $
*
* Authors: Vincent Seguin <seguin@via.ecp.fr>
*
......@@ -125,7 +125,7 @@ vout_thread_t * vout_CreateThread ( int *pi_status,
/* Initialize pictures and subpictures - translation tables and functions
* will be initialized later in InitThread */
for( i_index = 0; i_index < VOUT_MAX_PICTURES; i_index++)
for( i_index = 0; i_index < 2 * VOUT_MAX_PICTURES; i_index++)
{
p_vout->p_picture[i_index].i_status = FREE_PICTURE;
p_vout->p_picture[i_index].i_type = EMPTY_PICTURE;
......@@ -374,22 +374,24 @@ static int InitThread( vout_thread_t *p_vout )
p_vout->chroma.pf_end = f.pf_end;
#undef f
if( I_OUTPUTPICTURES < VOUT_MAX_PICTURES )
if( I_OUTPUTPICTURES < 2 * VOUT_MAX_PICTURES )
{
intf_WarnMsg( 2, "vout info: indirect render, mapping "
"render pictures %i-%i to system pictures %i-%i",
I_OUTPUTPICTURES - 1, VOUT_MAX_PICTURES - 2,
I_OUTPUTPICTURES, VOUT_MAX_PICTURES - 1 );
I_OUTPUTPICTURES - 1, 2 * VOUT_MAX_PICTURES - 2,
I_OUTPUTPICTURES, 2 * VOUT_MAX_PICTURES - 1 );
}
else
{
/* FIXME: if this happens, we don't have any render picture left */
intf_WarnMsg( 2, "vout info: indirect render, no system "
"pictures needed, we have %i directbuffers",
I_OUTPUTPICTURES );
intf_ErrMsg( "vout: this is a bug!\n");
}
/* Append render buffers after the direct buffers */
for( i = I_OUTPUTPICTURES; i < VOUT_MAX_PICTURES; i++ )
for( i = I_OUTPUTPICTURES; i < 2 * VOUT_MAX_PICTURES; i++ )
{
PP_RENDERPICTURE[ I_RENDERPICTURES ] = &p_vout->p_picture[ i ];
I_RENDERPICTURES++;
......@@ -668,7 +670,7 @@ static void EndThread( vout_thread_t *p_vout )
}
/* Destroy all remaining pictures */
for( i_index = 0; i_index < VOUT_MAX_PICTURES; i_index++ )
for( i_index = 0; i_index < 2 * VOUT_MAX_PICTURES; i_index++ )
{
if ( p_vout->p_picture[i_index].i_type == MEMORY_PICTURE )
{
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment