Commit 56afe807 authored by Sam Hocevar's avatar Sam Hocevar

* Added vlc-arts to the debian package generation.

  * HP-UX port of the DVD ioctls courtesy of David Sieb�rger.
parent ad5c7cef
This diff is collapsed.
...@@ -244,6 +244,10 @@ E: richard@rshepherd.demon.co.uk ...@@ -244,6 +244,10 @@ E: richard@rshepherd.demon.co.uk
C: richards C: richards
D: BeOS video output (BBitmap and Overlay) D: BeOS video output (BBitmap and Overlay)
N: David Siebrger
E: drs-videolan@rucus.ru.ac.za
D: HP-UX port of the DVD ioctls
N: Espen Skoglund N: Espen Skoglund
E: esk@ira.uka.de E: esk@ira.uka.de
D: FreeBSD autoconf and Makefile patches D: FreeBSD autoconf and Makefile patches
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
HEAD HEAD
* Nothing yet * HP-UX port courtesy of David Siebörger <drs-videolan@rucus.ru.ac.za>.
1.0.1 1.0.1
Fri, 7 Dec 2001 20:18:56 +0100 Fri, 7 Dec 2001 20:18:56 +0100
......
This diff is collapsed.
...@@ -512,6 +512,14 @@ AC_CHECK_HEADERS(sys/ioctl.h,[ ...@@ -512,6 +512,14 @@ AC_CHECK_HEADERS(sys/ioctl.h,[
]) ])
]) ])
dnl dnl
dnl HP-UX: sys/scsi.h
dnl
AC_CHECK_HEADER(sys/scsi.h,[
AC_EGREP_HEADER(sctl_io,sys/scsi.h,[
AC_DEFINE(HPUX_SCTL_IO, 1, Define if <sys/scsi.h> defines sctl_io.)
])
])
dnl
dnl Final tests to check what was detected dnl Final tests to check what was detected
dnl dnl
if test x$LINUX_DVD_STRUCT = x1; then if test x$LINUX_DVD_STRUCT = x1; then
......
...@@ -115,4 +115,12 @@ Description: MAD plugin for vlc ...@@ -115,4 +115,12 @@ Description: MAD plugin for vlc
VideoLAN is a free MPEG, MPEG2 and DVD software solution. VideoLAN is a free MPEG, MPEG2 and DVD software solution.
. .
This plugin adds support for libmad, the MPEG audio decoder library, to This plugin adds support for libmad, the MPEG audio decoder library, to
the VideoLAN Client. MAD is 100% fixed-point based. the VideoLAN Client. MAD is 100% fixed-point based.Package: vlc-mad
Architecture: any
Depends: vlc (= ${Source-Version}), ${shlibs:Depends}
Description: aRts plugin for vlc
VideoLAN is a free MPEG, MPEG2 and DVD software solution.
.
This plugin adds support for the aRts Sound System to vlc, the
VideoLAN Client.
...@@ -9,7 +9,7 @@ ...@@ -9,7 +9,7 @@
export DH_COMPAT=3 export DH_COMPAT=3
# Compilation options # Compilation options
export CONFIG_FLAGS="--enable-release --prefix=/usr --enable-gnome --enable-gtk --enable-fb --with-ggi --enable-sdl --enable-esd --enable-qt --with-mad" export CONFIG_FLAGS="--enable-release --prefix=/usr --enable-gnome --enable-gtk --enable-fb --with-ggi --enable-sdl --enable-esd --enable-qt --with-mad --enable-arts"
export LIBDVDCSS_FLAGS="--with-dvdcss=local-shared" export LIBDVDCSS_FLAGS="--with-dvdcss=local-shared"
export VIDDIR="usr/share/videolan" export VIDDIR="usr/share/videolan"
export PIXDIR="usr/share/pixmaps" export PIXDIR="usr/share/pixmaps"
...@@ -59,11 +59,11 @@ install: build ...@@ -59,11 +59,11 @@ install: build
# make symlinks for packages and install plugins # make symlinks for packages and install plugins
case $(DEB_BUILD_ARCH) in \ case $(DEB_BUILD_ARCH) in \
i386) \ i386) \
ARCH_ALIASES="ggi gtk gnome esd sdl qt alsa glide" ;; \ ARCH_ALIASES="ggi gtk gnome esd sdl qt arts alsa glide" ;; \
alpha|ia64|m68k|powerpc) \ alpha|ia64|m68k|powerpc) \
ARCH_ALIASES="ggi gtk gnome esd sdl qt alsa" ;; \ ARCH_ALIASES="ggi gtk gnome esd sdl qt arts alsa" ;; \
*) \ *) \
ARCH_ALIASES="ggi gtk gnome esd sdl qt" ;; \ ARCH_ALIASES="ggi gtk gnome esd sdl qt arts" ;; \
esac ;\ esac ;\
for alias in $$ARCH_ALIASES ; do \ for alias in $$ARCH_ALIASES ; do \
ln -s vlc debian/vlc-$$alias/usr/share/doc/vlc-$$alias ; \ ln -s vlc debian/vlc-$$alias/usr/share/doc/vlc-$$alias ; \
......
...@@ -2,13 +2,14 @@ ...@@ -2,13 +2,14 @@
* ioctl.c: DVD ioctl replacement function * ioctl.c: DVD ioctl replacement function
***************************************************************************** *****************************************************************************
* Copyright (C) 1999-2001 VideoLAN * Copyright (C) 1999-2001 VideoLAN
* $Id: ioctl.c,v 1.15 2001/12/09 17:01:35 sam Exp $ * $Id: ioctl.c,v 1.16 2001/12/11 14:43:38 sam Exp $
* *
* Authors: Markus Kuespert <ltlBeBoy@beosmail.com> * Authors: Markus Kuespert <ltlBeBoy@beosmail.com>
* Samuel Hocevar <sam@zoy.org> * Samuel Hocevar <sam@zoy.org>
* Jon Lech Johansen <jon-vl@nanocrew.net> * Jon Lech Johansen <jon-vl@nanocrew.net>
* Hkan Hjort <d95hjort@dtek.chalmers.se> * Hkan Hjort <d95hjort@dtek.chalmers.se>
* Eugenio Jarosiewicz <ej0@cise.ufl.edu> * Eugenio Jarosiewicz <ej0@cise.ufl.edu>
* David Siebrger <drs-videolan@rucus.ru.ac.za>
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
...@@ -62,6 +63,9 @@ ...@@ -62,6 +63,9 @@
# include <malloc.h> # include <malloc.h>
# include <scsi.h> # include <scsi.h>
#endif #endif
#ifdef HPUX_SCTL_IO
# include <sys/scsi.h>
#endif
#ifdef SOLARIS_USCSI #ifdef SOLARIS_USCSI
# include <unistd.h> # include <unistd.h>
# include <stropts.h> # include <stropts.h>
...@@ -86,6 +90,13 @@ ...@@ -86,6 +90,13 @@
static void BeInitRDC ( raw_device_command *, int ); static void BeInitRDC ( raw_device_command *, int );
#endif #endif
/*****************************************************************************
* Local prototypes, HP-UX specific
*****************************************************************************/
#if defined( HPUX_SCTL_IO )
static void HPUXInitSCTL ( struct sctl_io *sctl_io, int i_type );
#endif
/***************************************************************************** /*****************************************************************************
* Local prototypes, Solaris specific * Local prototypes, Solaris specific
*****************************************************************************/ *****************************************************************************/
...@@ -138,6 +149,16 @@ int ioctl_ReadCopyright( int i_fd, int i_layer, int *pi_copyright ) ...@@ -138,6 +149,16 @@ int ioctl_ReadCopyright( int i_fd, int i_layer, int *pi_copyright )
*pi_copyright = p_buffer[ 4 ]; *pi_copyright = p_buffer[ 4 ];
#elif defined( HPUX_SCTL_IO )
INIT_SCTL_IO( GPCMD_READ_DVD_STRUCTURE, 8 );
sctl_io.cdb[ 6 ] = i_layer;
sctl_io.cdb[ 7 ] = DVD_STRUCT_COPYRIGHT;
i_ret = ioctl( i_fd, SIOC_IO, &sctl_io );
*pi_copyright = p_buffer[ 4 ];
#elif defined( SOLARIS_USCSI ) #elif defined( SOLARIS_USCSI )
INIT_USCSI( GPCMD_READ_DVD_STRUCTURE, 8 ); INIT_USCSI( GPCMD_READ_DVD_STRUCTURE, 8 );
...@@ -290,6 +311,21 @@ int ioctl_ReadDiscKey( int i_fd, int *pi_agid, u8 *p_key ) ...@@ -290,6 +311,21 @@ int ioctl_ReadDiscKey( int i_fd, int *pi_agid, u8 *p_key )
memcpy( p_key, p_buffer + 4, 2048 ); memcpy( p_key, p_buffer + 4, 2048 );
#elif defined( HPUX_SCTL_IO )
INIT_SCTL_IO( GPCMD_READ_DVD_STRUCTURE, 2048 + 4 );
sctl_io.cdb[ 7 ] = DVD_STRUCT_DISCKEY;
sctl_io.cdb[ 10 ] = *pi_agid << 6;
i_ret = ioctl( i_fd, SIOC_IO, &sctl_io );
if( i_ret < 0 )
{
return i_ret;
}
memcpy( p_key, p_buffer + 4, 2048 );
#elif defined( SOLARIS_USCSI ) #elif defined( SOLARIS_USCSI )
INIT_USCSI( GPCMD_READ_DVD_STRUCTURE, 2048 + 4 ); INIT_USCSI( GPCMD_READ_DVD_STRUCTURE, 2048 + 4 );
...@@ -405,6 +441,9 @@ int ioctl_ReadTitleKey( int i_fd, int *pi_agid, int i_pos, u8 *p_key ) ...@@ -405,6 +441,9 @@ int ioctl_ReadTitleKey( int i_fd, int *pi_agid, int i_pos, u8 *p_key )
#elif defined( SYS_BEOS ) #elif defined( SYS_BEOS )
i_ret = -1; i_ret = -1;
#elif defined( HPUX_SCTL_IO )
i_ret = -1;
#elif defined( SOLARIS_USCSI ) #elif defined( SOLARIS_USCSI )
i_ret = -1; i_ret = -1;
...@@ -479,6 +518,15 @@ int ioctl_ReportAgid( int i_fd, int *pi_agid ) ...@@ -479,6 +518,15 @@ int ioctl_ReportAgid( int i_fd, int *pi_agid )
*pi_agid = p_buffer[ 7 ] >> 6; *pi_agid = p_buffer[ 7 ] >> 6;
#elif defined( HPUX_SCTL_IO )
INIT_SCTL_IO( GPCMD_REPORT_KEY, 8 );
sctl_io.cdb[ 10 ] = DVD_REPORT_AGID | (*pi_agid << 6);
i_ret = ioctl( i_fd, SIOC_IO, &sctl_io );
*pi_agid = p_buffer[ 7 ] >> 6;
#elif defined( SOLARIS_USCSI ) #elif defined( SOLARIS_USCSI )
INIT_USCSI( GPCMD_REPORT_KEY, 8 ); INIT_USCSI( GPCMD_REPORT_KEY, 8 );
...@@ -580,6 +628,15 @@ int ioctl_ReportChallenge( int i_fd, int *pi_agid, u8 *p_challenge ) ...@@ -580,6 +628,15 @@ int ioctl_ReportChallenge( int i_fd, int *pi_agid, u8 *p_challenge )
memcpy( p_challenge, p_buffer + 4, 12 ); memcpy( p_challenge, p_buffer + 4, 12 );
#elif defined( HPUX_SCTL_IO )
INIT_SCTL_IO( GPCMD_REPORT_KEY, 16 );
sctl_io.cdb[ 10 ] = DVD_REPORT_CHALLENGE | (*pi_agid << 6);
i_ret = ioctl( i_fd, SIOC_IO, &sctl_io );
memcpy( p_challenge, p_buffer + 4, 12 );
#elif defined( SOLARIS_USCSI ) #elif defined( SOLARIS_USCSI )
INIT_USCSI( GPCMD_REPORT_KEY, 16 ); INIT_USCSI( GPCMD_REPORT_KEY, 16 );
...@@ -694,6 +751,15 @@ int ioctl_ReportASF( int i_fd, int *pi_agid, int *pi_asf ) ...@@ -694,6 +751,15 @@ int ioctl_ReportASF( int i_fd, int *pi_agid, int *pi_asf )
*pi_asf = p_buffer[ 7 ] & 1; *pi_asf = p_buffer[ 7 ] & 1;
#elif defined( HPUX_SCTL_IO )
INIT_SCTL_IO( GPCMD_REPORT_KEY, 8 );
sctl_io.cdb[ 10 ] = DVD_REPORT_ASF | (*pi_agid << 6);
i_ret = ioctl( i_fd, SIOC_IO, &sctl_io );
*pi_asf = p_buffer[ 7 ] & 1;
#elif defined( SOLARIS_USCSI ) #elif defined( SOLARIS_USCSI )
INIT_USCSI( GPCMD_REPORT_KEY, 8 ); INIT_USCSI( GPCMD_REPORT_KEY, 8 );
...@@ -809,6 +875,15 @@ int ioctl_ReportKey1( int i_fd, int *pi_agid, u8 *p_key ) ...@@ -809,6 +875,15 @@ int ioctl_ReportKey1( int i_fd, int *pi_agid, u8 *p_key )
memcpy( p_key, p_buffer + 4, 8 ); memcpy( p_key, p_buffer + 4, 8 );
#elif defined( HPUX_SCTL_IO )
INIT_SCTL_IO( GPCMD_REPORT_KEY, 12 );
sctl_io.cdb[ 10 ] = DVD_REPORT_KEY1 | (*pi_agid << 6);
i_ret = ioctl( i_fd, SIOC_IO, &sctl_io );
memcpy( p_key, p_buffer + 4, 8 );
#elif defined( SOLARIS_USCSI ) #elif defined( SOLARIS_USCSI )
INIT_USCSI( GPCMD_REPORT_KEY, 12 ); INIT_USCSI( GPCMD_REPORT_KEY, 12 );
...@@ -914,6 +989,13 @@ int ioctl_InvalidateAgid( int i_fd, int *pi_agid ) ...@@ -914,6 +989,13 @@ int ioctl_InvalidateAgid( int i_fd, int *pi_agid )
i_ret = ioctl( i_fd, B_RAW_DEVICE_COMMAND, &rdc, sizeof(rdc) ); i_ret = ioctl( i_fd, B_RAW_DEVICE_COMMAND, &rdc, sizeof(rdc) );
#elif defined( HPUX_SCTL_IO )
INIT_SCTL_IO( GPCMD_REPORT_KEY, 0 );
sctl_io.cdb[ 10 ] = DVD_INVALIDATE_AGID | (*pi_agid << 6);
i_ret = ioctl( i_fd, SIOC_IO, &sctl_io );
#elif defined( SOLARIS_USCSI ) #elif defined( SOLARIS_USCSI )
INIT_USCSI( GPCMD_REPORT_KEY, 0 ); INIT_USCSI( GPCMD_REPORT_KEY, 0 );
...@@ -1016,6 +1098,16 @@ int ioctl_SendChallenge( int i_fd, int *pi_agid, u8 *p_challenge ) ...@@ -1016,6 +1098,16 @@ int ioctl_SendChallenge( int i_fd, int *pi_agid, u8 *p_challenge )
return ioctl( i_fd, B_RAW_DEVICE_COMMAND, &rdc, sizeof(rdc) ); return ioctl( i_fd, B_RAW_DEVICE_COMMAND, &rdc, sizeof(rdc) );
#elif defined( HPUX_SCTL_IO )
INIT_SCTL_IO( GPCMD_SEND_KEY, 16 );
sctl_io.cdb[ 10 ] = DVD_SEND_CHALLENGE | (*pi_agid << 6);
p_buffer[ 1 ] = 0xe;
memcpy( p_buffer + 4, p_challenge, 12 );
return ioctl( i_fd, SIOC_IO, &sctl_io );
#elif defined( SOLARIS_USCSI ) #elif defined( SOLARIS_USCSI )
INIT_USCSI( GPCMD_SEND_KEY, 16 ); INIT_USCSI( GPCMD_SEND_KEY, 16 );
...@@ -1126,6 +1218,16 @@ int ioctl_SendKey2( int i_fd, int *pi_agid, u8 *p_key ) ...@@ -1126,6 +1218,16 @@ int ioctl_SendKey2( int i_fd, int *pi_agid, u8 *p_key )
return ioctl( i_fd, B_RAW_DEVICE_COMMAND, &rdc, sizeof(rdc) ); return ioctl( i_fd, B_RAW_DEVICE_COMMAND, &rdc, sizeof(rdc) );
#elif defined( HPUX_SCTL_IO )
INIT_SCTL_IO( GPCMD_SEND_KEY, 12 );
sctl_io.cdb[ 10 ] = DVD_SEND_KEY2 | (*pi_agid << 6);
p_buffer[ 1 ] = 0xa;
memcpy( p_buffer + 4, p_key, 8 );
return ioctl( i_fd, SIOC_IO, &sctl_io );
#elif defined( SOLARIS_USCSI ) #elif defined( SOLARIS_USCSI )
INIT_USCSI( GPCMD_SEND_KEY, 12 ); INIT_USCSI( GPCMD_SEND_KEY, 12 );
...@@ -1237,6 +1339,39 @@ static void BeInitRDC( raw_device_command *p_rdc, int i_type ) ...@@ -1237,6 +1339,39 @@ static void BeInitRDC( raw_device_command *p_rdc, int i_type )
} }
#endif #endif
#if defined( HPUX_SCTL_IO )
/*****************************************************************************
* HPUXInitSCTL: initialize a sctl_io structure for the HP-UX kernel
*****************************************************************************
* This function initializes a HP-UX command structure for future
* use, either a read command or a write command.
*****************************************************************************/
static void HPUXInitSCTL( struct sctl_io *sctl_io, int i_type )
{
memset( sctl_io->data, 0, sctl_io->data_length );
switch( i_type )
{
case GPCMD_SEND_KEY:
/* leave the flags to 0 */
break;
case GPCMD_READ_DVD_STRUCTURE:
case GPCMD_REPORT_KEY:
sctl_io->flags = SCTL_READ;
break;
}
sctl_io->cdb[ 0 ] = i_type;
sctl_io->cdb[ 8 ] = (sctl_io->data_length >> 8) & 0xff;
sctl_io->cdb[ 9 ] = sctl_io->data_length & 0xff;
sctl_io->cdb_length = 12;
sctl_io->max_msecs = 1000000;
}
#endif
#if defined( SOLARIS_USCSI ) #if defined( SOLARIS_USCSI )
/***************************************************************************** /*****************************************************************************
* SolarisInitUSCSI: initialize a USCSICMD structure for the Solaris kernel * SolarisInitUSCSI: initialize a USCSICMD structure for the Solaris kernel
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* ioctl.h: DVD ioctl replacement function * ioctl.h: DVD ioctl replacement function
***************************************************************************** *****************************************************************************
* Copyright (C) 1999-2001 VideoLAN * Copyright (C) 1999-2001 VideoLAN
* $Id: ioctl.h,v 1.9 2001/11/25 22:52:21 gbazin Exp $ * $Id: ioctl.h,v 1.10 2001/12/11 14:43:38 sam Exp $
* *
* Authors: Samuel Hocevar <sam@zoy.org> * Authors: Samuel Hocevar <sam@zoy.org>
* *
...@@ -45,6 +45,19 @@ int ioctl_SendKey2 ( int, int *, u8 * ); ...@@ -45,6 +45,19 @@ int ioctl_SendKey2 ( int, int *, u8 * );
BeInitRDC( &rdc, (TYPE) ); BeInitRDC( &rdc, (TYPE) );
#endif #endif
/*****************************************************************************
* Common macro, HP-UX specific
*****************************************************************************/
#if defined( HPUX_SCTL_IO )
#define INIT_SCTL_IO( TYPE, SIZE ) \
struct sctl_io sctl_io; \
u8 p_buffer[ (SIZE) ]; \
memset( &sctl_io, 0, sizeof( sctl_io ) ); \
sctl_io.data = (void *)p_buffer; \
sctl_io.data_length = (SIZE); \
HPUXInitSCTL( &sctl_io, (TYPE) );
#endif
/***************************************************************************** /*****************************************************************************
* Common macro, Solaris specific * Common macro, Solaris specific
*****************************************************************************/ *****************************************************************************/
...@@ -92,7 +105,7 @@ int ioctl_SendKey2 ( int, int *, u8 * ); ...@@ -92,7 +105,7 @@ int ioctl_SendKey2 ( int, int *, u8 * );
* Various DVD I/O tables * Various DVD I/O tables
*****************************************************************************/ *****************************************************************************/
#if defined( SYS_BEOS ) || defined( WIN32 ) || defined ( SOLARIS_USCSI ) #if defined( SYS_BEOS ) || defined( WIN32 ) || defined ( SOLARIS_USCSI ) || defined ( HPUX_SCTL_IO )
/* The generic packet command opcodes for CD/DVD Logical Units, /* The generic packet command opcodes for CD/DVD Logical Units,
* From Table 57 of the SFF8090 Ver. 3 (Mt. Fuji) draft standard. */ * From Table 57 of the SFF8090 Ver. 3 (Mt. Fuji) draft standard. */
# define GPCMD_READ_DVD_STRUCTURE 0xad # define GPCMD_READ_DVD_STRUCTURE 0xad
......
...@@ -383,6 +383,9 @@ ...@@ -383,6 +383,9 @@
/* Have userspace SCSI headers. */ /* Have userspace SCSI headers. */
#undef SOLARIS_USCSI #undef SOLARIS_USCSI
/* Define if <sys/scsi.h> defines sctl_io. */
#undef HPUX_SCTL_IO
/* Define if Linux-like dvd_struct is defined. */ /* Define if Linux-like dvd_struct is defined. */
#undef HAVE_LINUX_DVD_STRUCT #undef HAVE_LINUX_DVD_STRUCT
......
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