* Fixes to aout_darwin.c by Colin Delacroix <colin@zoy.org>.
* Fixes to configure.in, Makefile.in and main.c (Altivec detection)
by Eugenio Jarosiewicz <ej0@cise.ufl.edu>.
* Added Colin and Eugenio to the AUTHORS file.
E: reno@via.ecp.fr
D: AC3 decoder
+N: Colin Delacroix
+E: colin@zoy.org
+D: MacOS X sound support
+
N: Jean-Marc Dressler
E: polux@via.ecp.fr
D: BeOS port
D: Gnome and Gtk+ interfaces, Glide and fb video outputs, Esound audio output
D: DVD subtitles decoder
+N: Eugenio Jarosiewicz
+E: ej0@cise.ufl.edu
+D: MacOS X interface and fixes
+
N: Brieuc Jeunhomme
E: bbp@via.ecp.fr
D: Bug fixes
endif
ifneq (,$(findstring darwin,$(SYS)))
-LIB += -ldl -framework Carbon
+LIB += -ldl
endif
ifeq ($(SYS),beos)
$(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS)
lib/idctaltivec.so: $(PLUGIN_IDCTALTIVEC) $(PLUGIN_IDCTCOMMON)
- $(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS) -framework VecLib
+ $(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS) -framework vecLib
lib/kde.so: $(PLUGIN_KDE)
$(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS) -lkdeui -lkdecore -lqt -ldl
ac_help="$ac_help
--disable-mmx Disable MMX optimizations (default enabled for x86)"
ac_help="$ac_help
- --enable-activec Enable altivec optimizations (default enabled for PPC)"
+ --enable-altivec Enable altivec optimizations (default enabled for PPC)"
ac_help="$ac_help
--disable-css Disable DVD CSS decryption (default enabled)"
ac_help="$ac_help
[ if test x$enableval = xyes; then ARCH=${ARCH}" mmx"; PLUGINS=${PLUGINS}${ACCEL_PLUGINS}; fi ],
[ if test x${host_cpu} = xi686 -o x${host_cpu} = xi586 -o x${host_cpu} = xx86; then ARCH=${ARCH}" mmx"; PLUGINS=${PLUGINS}${ACCEL_PLUGINS}; fi ])
AC_ARG_ENABLE(altivec,
-[ --enable-activec Enable altivec optimizations (default enabled for PPC)],
+[ --enable-altivec Enable altivec optimizations (default enabled for PPC)],
[ if test x$enableval = xyes; then ARCH=${ARCH}" altivec"; PLUGINS=${PLUGINS}"idctaltivec "; fi ],
[ if test -d /System/Library/Frameworks/vecLib.framework; then ARCH=${ARCH}" altivec"; PLUGINS=${PLUGINS}"idctaltivec "; fi ])
AC_ARG_ENABLE(css,
* audio_output.h : audio output thread interface
*****************************************************************************
* Copyright (C) 1999, 2000 VideoLAN
+ * $Id: audio_output.h,v 1.31 2001/03/21 13:42:33 sam Exp $
*
- * Authors:
- * Michel Kaempf <maxx@via.ecp.fr>
+ * Authors: Michel Kaempf <maxx@via.ecp.fr>
*
* 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
* beos_init.h: Initialization for BeOS specific features
*****************************************************************************
* Copyright (C) 1999, 2000 VideoLAN
+ * $Id: beos_specific.h,v 1.4 2001/03/21 13:42:33 sam Exp $
*
- * Authors:
- * Jean-Marc Dressler
+ * Authors: Jean-Marc Dressler <polux@via.ecp.fr>
*
* 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
* Stand alone file
*****************************************************************************
* Copyright (C) 1999, 2000 VideoLAN
+ * $Id: debug.h,v 1.8 2001/03/21 13:42:33 sam Exp $
*
* Authors: Benoît Steiner <benny@via.ecp.fr>
*
* int_types.h: internal types
*****************************************************************************
* Copyright (C) 1999, 2000 VideoLAN
+ * $Id: int_types.h,v 1.6 2001/03/21 13:42:33 sam Exp $
*
* Authors: Vincent Seguin <seguin@via.ecp.fr>
*
* interface, such as message output.
*****************************************************************************
* Copyright (C) 1999, 2000 VideoLAN
+ * $Id: interface.h,v 1.22 2001/03/21 13:42:33 sam Exp $
*
- * Authors:
+ * Authors: Vincent Seguin <seguin@via.ecp.fr>
*
* 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
* interface, such as message output. See config.h for output configuration.
*****************************************************************************
* Copyright (C) 1999, 2000 VideoLAN
+ * $Id: intf_msg.h,v 1.11 2001/03/21 13:42:33 sam Exp $
*
- * Authors:
+ * Authors: Vincent Seguin <seguin@via.ecp.fr>
*
* 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
* intf_playlist.h : Playlist functions
*****************************************************************************
* Copyright (C) 1999, 2000 VideoLAN
+ * $Id: intf_playlist.h,v 1.2 2001/03/21 13:42:33 sam Exp $
*
* Authors: Samuel Hocevar <sam@zoy.org>
*
* Declaration and extern access to global program object.
*****************************************************************************
* Copyright (C) 1999, 2000 VideoLAN
+ * $Id: main.h,v 1.14 2001/03/21 13:42:33 sam Exp $
*
* Authors: Vincent Seguin <seguin@via.ecp.fr>
*
* modules.h : Module management functions.
*****************************************************************************
* Copyright (C) 2001 VideoLAN
+ * $Id: modules.h,v 1.19 2001/03/21 13:42:33 sam Exp $
*
* Authors: Samuel Hocevar <sam@zoy.org>
*
* modules_core.h : Module management functions used by the core application.
*****************************************************************************
* Copyright (C) 2001 VideoLAN
+ * $Id: modules_core.h,v 1.5 2001/03/21 13:42:33 sam Exp $
*
* Authors: Samuel Hocevar <sam@zoy.org>
*
* modules_inner.h : Macros used from within a module.
*****************************************************************************
* Copyright (C) 2001 VideoLAN
+ * $Id: modules_inner.h,v 1.6 2001/03/21 13:42:33 sam Exp $
*
* Authors: Samuel Hocevar <sam@zoy.org>
*
* and TS system layers
*****************************************************************************
* Copyright (C) 1999, 2000 VideoLAN
- * $Id: mpeg_system.h,v 1.2 2001/02/21 04:38:59 henri Exp $
+ * $Id: mpeg_system.h,v 1.3 2001/03/21 13:42:33 sam Exp $
*
- * Authors:
+ * Authors: Christophe Massiot <massiot@via.ecp.fr>
*
* 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
* Functions prototyped are implemented in interface/mtime.c.
*****************************************************************************
* Copyright (C) 1996, 1997, 1998, 1999, 2000 VideoLAN
+ * $Id: mtime.h,v 1.7 2001/03/21 13:42:33 sam Exp $
*
* Authors: Vincent Seguin <seguin@via.ecp.fr>
*
* modules.
*****************************************************************************
* Copyright (C) 1999, 2000, 2001 VideoLAN
+ * $Id: netutils.h,v 1.9 2001/03/21 13:42:33 sam Exp $
*
* Authors: Vincent Seguin <seguin@via.ecp.fr>
* Henri Fallon <henri@videolan.org>
* can be anything, including pictures, audio streams, and so on.
*****************************************************************************
* Copyright (C) 1999, 2000 VideoLAN
+ * $Id: rsc_files.h,v 1.7 2001/03/21 13:42:33 sam Exp $
*
* Authors: Vincent Seguin <seguin@via.ecp.fr>
*
* tests.h: several test functions needed by the plugins
*****************************************************************************
* Copyright (C) 1996, 1997, 1998, 1999, 2000 VideoLAN
+ * $Id: tests.h,v 1.9 2001/03/21 13:42:33 sam Exp $
*
* Authors: Samuel Hocevar <sam@zoy.org>
*
* This header provides a portable threads implementation.
*****************************************************************************
* Copyright (C) 1999, 2000 VideoLAN
+ * $Id: threads.h,v 1.16 2001/03/21 13:42:33 sam Exp $
*
* Authors: Jean-Marc Dressler <polux@via.ecp.fr>
* Samuel Hocevar <sam@via.ecp.fr>
* includes all common video types and constants.
*****************************************************************************
* Copyright (C) 1999, 2000 VideoLAN
+ * $Id: video.h,v 1.29 2001/03/21 13:42:33 sam Exp $
*
* Authors: Vincent Seguin <seguin@via.ecp.fr>
*
* thread, and destroy a previously oppenned video output thread.
*****************************************************************************
* Copyright (C) 1999, 2000 VideoLAN
+ * $Id: video_output.h,v 1.57 2001/03/21 13:42:33 sam Exp $
*
* Authors: Vincent Seguin <seguin@via.ecp.fr>
*
* alsa.c : alsa plugin for vlc
*****************************************************************************
* Copyright (C) 2000 VideoLAN
+ * $Id: alsa.c,v 1.8 2001/03/21 13:42:33 sam Exp $
*
- * Authors:
- * Henri Fallon <henri@videolan.org>
+ * Authors: Henri Fallon <henri@videolan.org>
*
* 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
* aout_alsa.c : Alsa functions library
*****************************************************************************
* Copyright (C) 2000 VideoLAN
+ * $Id: aout_alsa.c,v 1.12 2001/03/21 13:42:33 sam Exp $
*
- * Authors:
- * Henri Fallon <henri@videolan.org>
+ * Authors: Henri Fallon <henri@videolan.org>
*
* 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
* Bitmaps.h
*****************************************************************************
* Copyright (C) 2001 VideoLAN
+ * $Id: Bitmaps.h,v 1.4 2001/03/21 13:42:33 sam Exp $
*
- * Authors:
- * Tony Castley <tcastley@mail.powerup.com.au>
+ * Authors: Tony Castley <tcastley@mail.powerup.com.au>
*
* 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
* DrawingTidbits.cpp
*****************************************************************************
* Copyright (C) 2001 VideoLAN
+ * $Id: DrawingTidbits.cpp,v 1.2 2001/03/21 13:42:33 sam Exp $
*
- * Authors:
+ * Authors: Tony Castley <tcastley@mail.powerup.com.au>
*
* 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
* DrawingTidbits.h
*****************************************************************************
* Copyright (C) 2001 VideoLAN
+ * $Id: DrawingTidbits.h,v 1.2 2001/03/21 13:42:33 sam Exp $
*
- * Authors:
+ * Authors: Tony Castley <tcastley@mail.powerup.com.au>
*
* 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
* InterfaceWindow.h: BeOS interface window class prototype
*****************************************************************************
* Copyright (C) 1999, 2000, 2001 VideoLAN
+ * $Id: InterfaceWindow.h,v 1.8 2001/03/21 13:42:33 sam Exp $
*
* Authors: Jean-Marc Dressler <polux@via.ecp.fr>
* Tony Castley <tcastley@mail.powerup.com.au>
* MsgVals.h
*****************************************************************************
* Copyright (C) 2001 VideoLAN
+ * $Id: MsgVals.h,v 1.4 2001/03/21 13:42:33 sam Exp $
*
- * Authors:
- * Tony Castley <tcastley@mail.powerup.com.au>
+ * Authors: Tony Castley <tcastley@mail.powerup.com.au>
*
* 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
* TransportButton.cpp
*****************************************************************************
* Copyright (C) 2001 VideoLAN
+ * $Id: TransportButton.cpp,v 1.3 2001/03/21 13:42:33 sam Exp $
*
- * Authors:
- * Tony Castley <tcastley@mail.powerup.com.au>
+ * Authors: Tony Castley <tcastley@mail.powerup.com.au>
*
* 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
* TransportButton.h
*****************************************************************************
* Copyright (C) 2001 VideoLAN
+ * $Id: TransportButton.h,v 1.3 2001/03/21 13:42:33 sam Exp $
*
- * Authors:
- * Tony Castley <tcastley@mail.powerup.com.au>
+ * Authors: Tony Castley <tcastley@mail.powerup.com.au>
*
* 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
* VideoWindow.h: BeOS video window class prototype
*****************************************************************************
* Copyright (C) 1999, 2000, 2001 VideoLAN
+ * $Id: VideoWindow.h,v 1.4 2001/03/21 13:42:33 sam Exp $
*
* Authors: Jean-Marc Dressler <polux@via.ecp.fr>
* Tony Castley <tcastley@mail.powerup.com.au>
* beos.cpp : BeOS plugin for vlc
*****************************************************************************
* Copyright (C) 2000, 2001 VideoLAN
+ * $Id: beos.cpp,v 1.9 2001/03/21 13:42:33 sam Exp $
*
* Authors: Jean-Marc Dressler <polux@via.ecp.fr>
* Samuel Hocevar <sam@zoy.org>
* vout_beos.cpp: beos video output display method
*****************************************************************************
* Copyright (C) 2000, 2001 VideoLAN
+ * $Id: vout_beos.cpp,v 1.22 2001/03/21 13:42:33 sam Exp $
*
* Authors: Jean-Marc Dressler <polux@via.ecp.fr>
* Samuel Hocevar <sam@zoy.org>
* aout_darwin.c : Darwin audio output plugin
*****************************************************************************
* Copyright (C) 2001 VideoLAN
+ * $Id: aout_darwin.c,v 1.3 2001/03/21 13:42:33 sam Exp $
*
- * Authors:
+ * Authors: Colin Delacroix <colin@zoy.org>
*
* 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
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA.
*****************************************************************************/
+/*
+ * 2001/03/21
+ * Status of audio under Darwin
+ * It currently works with 16 bits signed big endian mpeg 1 audio
+ * (and probably mpeg 2). This is the most common case.
+ * Note: ac3 decoder is currently broken under Darwin
+ *
+ * TODO:
+ * Find little endian files and adapt output
+ * Find unsigned files and adapt output
+ * Find 8 bits files and adapt output
+ */
+
#define MODULE_NAME darwin
#include "modules_inner.h"
#include <sys/fcntl.h>
+/*
+ * Debug: to dump the output of the decoder directly to a file
+ * May disappear when AC3 decoder will work on Darwin
+ */
#define WRITE_AUDIO_OUTPUT_TO_FILE 0
/*****************************************************************************
typedef struct aout_sys_s
{
#if WRITE_AUDIO_OUTPUT_TO_FILE
- int fd; // debug
+ int fd; // debug: fd to dump audio
#endif
- // unsigned long sizeOfDataInMemory; // size in bytes of the 32 bit float data stored in memory
- Ptr p_Data; // Ptr to the 32 bit float data stored in memory
- // Ptr currentDataLocationPtr; // location of the next chunk of data to send to the HAL
- AudioDeviceID device; // the default device
- UInt32 ui_deviceBufferSize; // bufferSize returned by kAudioDevicePropertyBufferSize
AudioStreamBasicDescription deviceFormat; // info about the default device
- vlc_mutex_t mutex_lock;
- vlc_cond_t cond_sync;
+ AudioDeviceID device; // the default device
+ Ptr p_Data; // ptr to the 32 bit float data
+ UInt32 ui_deviceBufferSize; // audio device buffer size
+ vlc_mutex_t mutex_lock; // pthread locks for sync of
+ vlc_cond_t cond_sync; // aout_Play and callback
} aout_sys_t;
/*****************************************************************************
byte_t *buffer, int i_size );
static void aout_Close ( aout_thread_t *p_aout );
-OSStatus appIOProc( AudioDeviceID inDevice, const AudioTimeStamp* inNow,
- const void* inInputData, const AudioTimeStamp* inInputTime,
- AudioBufferList* outOutputData, const AudioTimeStamp* inOutputTime,
- void* appGlobals );
-void Convert16BitIntegerTo32Float( Ptr in16BitDataPtr, Ptr out32BitDataPtr, UInt32 totalBytes );
-void Convert16BitIntegerTo32FloatWithByteSwap( Ptr in16BitDataPtr, Ptr out32BitDataPtr, UInt32 totalBytes );
-void Convert8BitIntegerTo32Float( Ptr in8BitDataPtr, Ptr out32BitDataPtr, UInt32 totalBytes );
+OSStatus appIOProc( AudioDeviceID inDevice, const AudioTimeStamp* inNow,
+ const void* inInputData, const AudioTimeStamp* inInputTime,
+ AudioBufferList* outOutputData,
+ const AudioTimeStamp* inOutputTime,
+ void* threadGlobals );
+void Convert16BitIntegerTo32Float( Ptr p_in16BitDataPtr, Ptr p_out32BitDataPtr,
+ UInt32 ui_totalBytes );
+void Convert16BitIntegerTo32FloatWithByteSwap( Ptr p_in16BitDataPtr,
+ Ptr p_out32BitDataPtr,
+ UInt32 p_totalBytes );
+void Convert8BitIntegerTo32Float( Ptr in8BitDataPtr, Ptr p_out32BitDataPtr,
+ UInt32 ui_totalBytes );
/*****************************************************************************
* Functions exported as capabilities. They are declared as static so that
static int aout_Open( aout_thread_t *p_aout )
{
OSStatus err = noErr;
- UInt32 count, bufferSize;
+ UInt32 ui_paramSize, ui_bufferSize;
AudioDeviceID device = kAudioDeviceUnknown;
AudioStreamBasicDescription format;
}
/* Initialize some variables */
- p_aout->i_format = AOUT_FORMAT_DEFAULT;
- p_aout->i_channels = 1 + main_GetIntVariable( AOUT_STEREO_VAR,
+ p_aout->i_format = AOUT_FORMAT_DEFAULT;
+ p_aout->i_channels = 1 + main_GetIntVariable( AOUT_STEREO_VAR,
AOUT_STEREO_DEFAULT );
- p_aout->l_rate = main_GetIntVariable( AOUT_RATE_VAR,
+ p_aout->l_rate = main_GetIntVariable( AOUT_RATE_VAR,
AOUT_RATE_DEFAULT );
- p_aout->p_sys->device = kAudioDeviceUnknown;
- p_aout->p_sys->p_Data = nil;
- // p_aout->p_sys->currentDataLocationPtr = nil;
+
+ p_aout->p_sys->device = kAudioDeviceUnknown;
+ p_aout->p_sys->p_Data = nil;
+
+ /*
+ * get the default output device for the HAL
+ * it is required to pass the size of the data to be returned
+ */
+ ui_paramSize = sizeof( p_aout->p_sys->device );
+ err = AudioHardwareGetProperty( kAudioHardwarePropertyDefaultOutputDevice,
+ &ui_paramSize, (void *) &device );
- // get the default output device for the HAL
- // it is required to pass the size of the data to be returned
- count = sizeof( p_aout->p_sys->device );
- err = AudioHardwareGetProperty( kAudioHardwarePropertyDefaultOutputDevice,
- &count, (void *) &device);
if( err == noErr)
{
- // get the buffersize that the default device uses for IO
- // it is required to pass the size of the data to be returned
- count = sizeof(p_aout->p_sys->ui_deviceBufferSize);
+ /*
+ * The values we get here are not used. We may find another method for
+ * insuring us that the audio device is working !
+ *
+ * First get the buffersize that the default device uses for IO
+ */
+ ui_paramSize = sizeof( p_aout->p_sys->ui_deviceBufferSize );
err = AudioDeviceGetProperty( device, 0, false,
kAudioDevicePropertyBufferSize,
- &count, &bufferSize);
+ &ui_paramSize, &ui_bufferSize);
if( err == noErr )
{
- // get a description of the data format used by the default device
- // it is required to pass the size of the data to be returned
- count = sizeof(p_aout->p_sys->deviceFormat);
+ /* get a description of the data format used by the default device */
+ ui_paramSize = sizeof(p_aout->p_sys->deviceFormat);
err = AudioDeviceGetProperty( device, 0, false,
kAudioDevicePropertyStreamFormat,
- &count, &format);
+ &ui_paramSize, &format);
if( err == noErr )
{
if( format.mFormatID != kAudioFormatLinearPCM ) return paramErr;
- // everything is ok so fill in p_sys
- p_aout->p_sys->device = device;
- p_aout->p_sys->ui_deviceBufferSize = bufferSize;
- p_aout->p_sys->deviceFormat = format;
+ /* everything is ok so fill in p_sys */
+ p_aout->p_sys->device = device;
+ p_aout->p_sys->ui_deviceBufferSize = ui_bufferSize;
+ p_aout->p_sys->deviceFormat = format;
}
}
}
if (err != noErr) return err;
- p_aout->p_sys->ui_deviceBufferSize = 2 * 2 * sizeof(s16)
- * ((s64)p_aout->l_rate * AOUT_BUFFER_DURATION) / 1000000;
- // p_aout->p_sys->sizeOfDataInMemory = p_aout->p_sys->ui_deviceBufferSize;
-
+ /*
+ * Size calcul taken from audio_output.c we may change that file so we would
+ * not be forced to compute the same value twice
+ */
+ p_aout->p_sys->ui_deviceBufferSize =
+ 2 * 2 * sizeof(s16) * ((s64)p_aout->l_rate * AOUT_BUFFER_DURATION) / 1000000;
+
+ /* Allocate memory for audio */
p_aout->p_sys->p_Data = NewPtrClear( p_aout->p_sys->ui_deviceBufferSize );
if( p_aout->p_sys->p_Data == nil ) return paramErr;
#if WRITE_AUDIO_OUTPUT_TO_FILE
p_aout->p_sys->fd = open( "/Users/bofh/audio-darwin.pcm", O_RDWR|O_CREAT );
- intf_ErrMsg( "open(...) -> %d", p_aout->p_sys->fd );
+ intf_WarnMsg( "open(...) -> %d", p_aout->p_sys->fd );
#endif
vlc_cond_init( &p_aout->p_sys->cond_sync );
vlc_mutex_init( &p_aout->p_sys->mutex_lock );
-
+
return( 0 );
}
static int aout_SetFormat( aout_thread_t *p_aout )
{
OSStatus err = noErr;
- UInt32 count,
- bufferSize = p_aout->p_sys->ui_deviceBufferSize;
+ UInt32 ui_paramSize,
+ ui_bufferSize = p_aout->p_sys->ui_deviceBufferSize;
AudioStreamBasicDescription format;
- // get the buffersize that the default device uses for IO
- // it is required to pass the size of the data to be returned
- count = sizeof( bufferSize );
+ /* set the buffersize that the default device uses for IO */
+ ui_paramSize = sizeof( ui_bufferSize );
err = AudioDeviceSetProperty( p_aout->p_sys->device, 0, 0, false,
kAudioDevicePropertyBufferSize,
- count, &bufferSize);
- intf_ErrMsg( "AudioDeviceSetProperty( buffersize = %d ) -> %d", bufferSize, err );
-
- if( err == noErr )
+ ui_paramSize, &ui_bufferSize);
+ if( err != noErr )
+ {
+ /* We have to tell the decoder to use audio device's buffer size */
+ intf_ErrMsg( "AudioDeviceSetProperty failed ( buffersize = %d ) -> %d",
+ ui_bufferSize, err );
+ return( -1 );
+ }
+ else
{
- p_aout->p_sys->ui_deviceBufferSize = bufferSize;
+ p_aout->p_sys->ui_deviceBufferSize = ui_bufferSize;
- // get a description of the data format used by the default device
- // it is required to pass the size of the data to be returned
- count = sizeof( format );
- /*
+ ui_paramSize = sizeof( format );
err = AudioDeviceGetProperty( p_aout->p_sys->device, 0, false,
kAudioDevicePropertyStreamFormat,
- &count, &format);
- */
+ &ui_paramSize, &format);
+
if( err == noErr )
{
- // intf_ErrMsg( "audio output format is %i", p_aout->i_format );
- if( format.mFormatID != kAudioFormatLinearPCM ) return paramErr;
+ intf_DbgMsg( "audio output format is %i", p_aout->i_format );
+
+ /*
+ * setting format.mFormatFlags to anything but the default value
+ * doesn't seem to work. Can anybody explain that ??
+ */
switch( p_aout->i_format )
{
case AOUT_FMT_U8:
- break;
+ intf_ErrMsg( "Audio format (Unsigned 8) not supported now,"
+ "please report stream" );
+ return( -1 );
+
case AOUT_FMT_S16_LE: /* Little endian signed 16 */
- // intf_ErrMsg( "This means Little endian signed 16" );
- break;
+ intf_DbgMsg( "This means Little endian signed 16" );
+ // format.mFormatFlags &= ~kLinearPCMFormatFlagIsBigEndian;
+ intf_ErrMsg( "Audio format (LE Unsigned 16) not supported now,"
+ "please report stream" );
+ return( -1 );
+
case AOUT_FMT_S16_BE: /* Big endian signed 16 */
- // intf_ErrMsg( "This means Big endian signed 16" );
- // format.mFormatFlags &= ~kLinearPCMFormatFlagIsFloat;
- // format.mFormatFlags |= kLinearPCMFormatFlagIsFloat;
+ intf_DbgMsg( "This means big endian signed 16" );
// format.mFormatFlags |= kLinearPCMFormatFlagIsBigEndian;
- // format.mFormatFlags &= ~kLinearPCMFormatFlagIsBigEndian;
- // format.mFormatFlags |= kLinearPCMFormatFlagIsSignedInteger;
- break;
+ break;
+
case AOUT_FMT_S8:
- break;
+ intf_ErrMsg( "Audio format (Signed 8) not supported now,"
+ "please report stream" );
+ return( -1 );
+
case AOUT_FMT_U16_LE: /* Little endian U16 */
- // intf_ErrMsg( "This means Little endian U16" );
- break;
+ // format.mFormatFlags &= ~kLinearPCMFormatFlagIsSignedInteger;
+ intf_DbgMsg( "This means Little endian U16" );
+ intf_ErrMsg( "Audio format (LE Unsigned 8) not supported now,"
+ "please report stream" );
+ return( -1 );
+
case AOUT_FMT_U16_BE: /* Big endian U16 */
- // intf_ErrMsg( "This means Big endian U16" );
+ // format.mFormatFlags &= ~kLinearPCMFormatFlagIsSignedInteger;
+ intf_ErrMsg( "Audio format (BE Unsigned 8) not supported now,"
+ "please report stream" );
+ return( -1 );
+
break;
default:
- ; // intf_ErrMsg( "This means Unknown aout format" );
+ intf_DbgMsg( "This means Unknown aout format" );
+ return( -1 );
}
- format.mSampleRate = p_aout->l_rate;
+ /*
+ * It would have been nice to have these work (no more buffer
+ * convertion to float) but I couldn't manage to
+ */
+ // format.mFormatFlags &= ~kLinearPCMFormatFlagIsFloat;
+ // format.mFormatFlags |= kLinearPCMFormatFlagIsFloat;
+ // format.mFormatFlags |= kLinearPCMFormatFlagIsSignedInteger;
+
+ format.mSampleRate = p_aout->l_rate;
format.mChannelsPerFrame = p_aout->i_channels;
+
err = AudioDeviceSetProperty( p_aout->p_sys->device, 0, 0, false,
kAudioDevicePropertyStreamFormat,
- count, &format);
- /*
- intf_ErrMsg( "AudioDeviceSetProperty( mFormatFlags = %x, "
- "mSampleRate = %f, "
- "mChannelsPerFrame = %d ) "
- "-> %d",
- format.mFormatFlags,
- format.mSampleRate,
- format.mChannelsPerFrame,
- err );
- */
+ ui_paramSize, &format);
+ if( err != noErr )
+ {
+ intf_ErrMsg( "AudioDeviceSetProperty( mFormatFlags = %x, "
+ "mSampleRate = %f, mChannelsPerFrame = %d ) -> %d",
+ format.mFormatFlags, format.mSampleRate,
+ format.mChannelsPerFrame, err );
+ return( -1 );
+ }
}
}
+ /* add callback */
err = AudioDeviceAddIOProc( p_aout->p_sys->device,
(AudioDeviceIOProc)appIOProc,
(void *)p_aout->p_sys );
+ /* open the output */
if( err == noErr )
err = AudioDeviceStart( p_aout->p_sys->device, (AudioDeviceIOProc)appIOProc );
{
return( 0 ); // Send data as soon as possible
-/*
- * Tune me ?
- *
- return ( p_aout->p_sys->p_Data
+ /*
+ * Tune me ?
+ *
+ return ( p_aout->p_sys->p_Data
+ p_aout->p_sys->sizeOfDataInMemory
- p_aout->p_sys->currentDataLocationPtr
- p_aout->p_sys->ui_deviceBufferSize );
-*/
+ */
}
/*****************************************************************************
OSStatus appIOProc( AudioDeviceID inDevice, const AudioTimeStamp* inNow,
const void* inInputData, const AudioTimeStamp* inInputTime,
AudioBufferList* outOutputData, const AudioTimeStamp* inOutputTime,
- void* appGlobals )
+ void* threadGlobals )
{
- aout_sys_t* p_sys = appGlobals;
+ aout_sys_t* p_sys = threadGlobals;
+ /* see aout_Play below */
vlc_mutex_lock( &p_sys->mutex_lock );
vlc_cond_signal( &p_sys->cond_sync );
- // move data into output data buffer
+ /* move data into output data buffer */
BlockMoveData( p_sys->p_Data,
outOutputData->mBuffers[ 0 ].mData,
p_sys->ui_deviceBufferSize );
{
#if WRITE_AUDIO_OUTPUT_TO_FILE
write( p_aout->p_sys->fd, buffer, i_size );
- // intf_ErrMsg( "write() -> %d", write( p_aout->p_sys->fd, buffer, i_size ) );
+ intf_DbgMsg( "write() -> %d", write( p_aout->p_sys->fd, buffer, i_size ) );
#else
Convert16BitIntegerTo32Float( buffer, p_aout->p_sys->p_Data, i_size );
+
+ /*
+ * wait for a callback to occur (to flush the buffer), so aout_Play
+ * can't be called twice, losing the data we just wrote.
+ */
vlc_cond_wait( &p_aout->p_sys->cond_sync, &p_aout->p_sys->mutex_lock );
#endif
}
{
OSStatus err = noErr;
- // stop playing sound through the device
- err = AudioDeviceStop( p_aout->p_sys->device, (AudioDeviceIOProc)appIOProc );
- if (err != noErr) return;
-
- // remove the IO proc from the device
- err = AudioDeviceRemoveIOProc( p_aout->p_sys->device, (AudioDeviceIOProc)appIOProc );
- if (err != noErr) return;
+ /* stop playing sound through the device */
+ err = AudioDeviceStop( p_aout->p_sys->device,
+ (AudioDeviceIOProc)appIOProc );
+ if( err == noErr )
+ {
+ /* remove the callback */
+ err = AudioDeviceRemoveIOProc( p_aout->p_sys->device,
+ (AudioDeviceIOProc)appIOProc );
+ }
- // vlc_cond_signal( &p_aout->p_sys->cond_sync );
DisposePtr( p_aout->p_sys->p_Data );
return;
/*****************************************************************************
* Convert16BitIntegerTo32Float
*****************************************************************************/
-void Convert16BitIntegerTo32Float( Ptr in16BitDataPtr, Ptr out32BitDataPtr,
- UInt32 totalBytes )
+void Convert16BitIntegerTo32Float( Ptr p_in16BitDataPtr, Ptr p_out32BitDataPtr,
+ UInt32 ui_totalBytes )
{
- UInt32 i, samples = totalBytes / 2 /* each 16 bit sample is 2 bytes */;
- SInt16 *inDataPtr = (SInt16 *) in16BitDataPtr;
- Float32 *outDataPtr = (Float32 *) out32BitDataPtr;
+ UInt32 i, ui_samples = ui_totalBytes / 2 /* each 16 bit sample is 2 bytes */;
+ SInt16 *p_s_inDataPtr = (SInt16 *) p_in16BitDataPtr;
+ Float32 *p_f_outDataPtr = (Float32 *) p_out32BitDataPtr;
- for( i = 0 ; i < samples ; i++ )
+ for( i = 0 ; i < ui_samples ; i++ )
{
- *outDataPtr = (Float32)(*inDataPtr);
- if( *outDataPtr > 0 )
- *outDataPtr /= 32767.0;
+ *p_f_outDataPtr = (Float32)(*p_s_inDataPtr);
+ if( *p_f_outDataPtr > 0 )
+ *p_f_outDataPtr /= 32767.0;
else
- *outDataPtr /= 32768.0;
- outDataPtr++;
- inDataPtr++;
+ *p_f_outDataPtr /= 32768.0;
+ p_f_outDataPtr++;
+ p_s_inDataPtr++;
}
}
/*****************************************************************************
* Convert16BitIntegerTo32FloatWithByteSwap
*****************************************************************************/
-void Convert16BitIntegerTo32FloatWithByteSwap( Ptr in16BitDataPtr,
- Ptr out32BitDataPtr,
- UInt32 totalBytes )
+void Convert16BitIntegerTo32FloatWithByteSwap( Ptr p_in16BitDataPtr,
+ Ptr p_out32BitDataPtr,
+ UInt32 ui_totalBytes )
{
- UInt32 i, samples = totalBytes / 2 /* each 16 bit sample is 2 bytes */;
- SInt16 *inDataPtr = (SInt16 *) in16BitDataPtr;
- Float32 *outDataPtr = (Float32 *) out32BitDataPtr;
+ UInt32 i, ui_samples = ui_totalBytes / 2 /* each 16 bit sample is 2 bytes */;
+ SInt16 *p_s_inDataPtr = (SInt16 *) p_in16BitDataPtr;
+ Float32 *p_f_outDataPtr = (Float32 *) p_out32BitDataPtr;
- for( i = 0 ; i < samples ; i++ )
+ for( i = 0 ; i < ui_samples ; i++ )
{
- *outDataPtr = (Float32)CFSwapInt16LittleToHost(*inDataPtr);
- if( *outDataPtr > 0 )
- *outDataPtr /= 32767.0;
+ *p_f_outDataPtr = (Float32)CFSwapInt16LittleToHost(*p_s_inDataPtr);
+ if( *p_f_outDataPtr > 0 )
+ *p_f_outDataPtr /= 32767.0;
else
- *outDataPtr /= 32768.0;
+ *p_f_outDataPtr /= 32768.0;
- outDataPtr++;
- inDataPtr++;
+ p_f_outDataPtr++;
+ p_s_inDataPtr++;
}
}
/*****************************************************************************
* Convert8BitIntegerTo32Float
*****************************************************************************/
-void Convert8BitIntegerTo32Float( Ptr in8BitDataPtr, Ptr out32BitDataPtr,
- UInt32 totalBytes )
+void Convert8BitIntegerTo32Float( Ptr p_in8BitDataPtr, Ptr p_out32BitDataPtr,
+ UInt32 ui_totalBytes )
{
- UInt32 i, samples = totalBytes;
- SInt8 *inDataPtr = (SInt8 *) in8BitDataPtr;
- Float32 *outDataPtr = (Float32 *) out32BitDataPtr;
+ UInt32 i, ui_samples = ui_totalBytes;
+ SInt8 *p_c_inDataPtr = (SInt8 *)p_in8BitDataPtr;
+ Float32 *p_f_outDataPtr = (Float32 *)p_out32BitDataPtr;
- for( i = 0 ; i < samples ; i++ )
+ for( i = 0 ; i < ui_samples ; i++ )
{
- *outDataPtr = (Float32)(*inDataPtr);
- if( *outDataPtr > 0 )
- *outDataPtr /= 32767.0;
+ *p_f_outDataPtr = (Float32)(*p_c_inDataPtr);
+ if( *p_f_outDataPtr > 0 )
+ *p_f_outDataPtr /= 32767.0;
else
- *outDataPtr /= 32768.0;
+ *p_f_outDataPtr /= 32768.0;
- outDataPtr++;
- inDataPtr++;
+ p_f_outDataPtr++;
+ p_c_inDataPtr++;
}
}
* darwin.c : Darwin plugin for vlc
*****************************************************************************
* Copyright (C) 2001 VideoLAN
+ * $Id: darwin.c,v 1.3 2001/03/21 13:42:33 sam Exp $
*
- * Authors:
+ * Authors: Colin Delacroix <colin@zoy.org>
+ * Christophe Massiot <massiot@via.ecp.fr>
*
* 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
* aout_dsp.c : dsp functions library
*****************************************************************************
* Copyright (C) 1999, 2000 VideoLAN
+ * $Id: aout_dsp.c,v 1.12 2001/03/21 13:42:33 sam Exp $
*
* Authors: Michel Kaempf <maxx@via.ecp.fr>
* Samuel Hocevar <sam@zoy.org>
* dsp.c : OSS /dev/dsp module for vlc
*****************************************************************************
* Copyright (C) 2000 VideoLAN
+ * $Id: dsp.c,v 1.8 2001/03/21 13:42:33 sam Exp $
*
* Authors: Michel Kaempf <maxx@via.ecp.fr>
* Samuel Hocevar <sam@zoy.org>
* aout_dummy.c : dummy audio output plugin
*****************************************************************************
* Copyright (C) 2000, 2001 VideoLAN
+ * $Id: aout_dummy.c,v 1.10 2001/03/21 13:42:33 sam Exp $
*
* Authors: Samuel Hocevar <sam@zoy.org>
*
* dummy.c : dummy plugin for vlc
*****************************************************************************
* Copyright (C) 2000, 2001 VideoLAN
+ * $Id: dummy.c,v 1.8 2001/03/21 13:42:33 sam Exp $
*
* Authors: Samuel Hocevar <sam@zoy.org>
*
* intf_dummy.c: dummy interface plugin
*****************************************************************************
* Copyright (C) 2000, 2001 VideoLAN
+ * $Id: intf_dummy.c,v 1.7 2001/03/21 13:42:33 sam Exp $
*
* Authors: Samuel Hocevar <sam@zoy.org>
*
* vout_dummy.c: Dummy video output display method for testing purposes
*****************************************************************************
* Copyright (C) 2000, 2001 VideoLAN
+ * $Id: vout_dummy.c,v 1.7 2001/03/21 13:42:33 sam Exp $
*
* Authors: Samuel Hocevar <sam@zoy.org>
*
* dvd.c : DVD input module for vlc
*****************************************************************************
* Copyright (C) 2000 VideoLAN
+ * $Id: dvd.c,v 1.6 2001/03/21 13:42:33 sam Exp $
*
* Authors: Samuel Hocevar <sam@zoy.org>
*
* input_dvd.h: thread structure of the DVD plugin
*****************************************************************************
* Copyright (C) 1999-2001 VideoLAN
+ * $Id: input_dvd.h,v 1.13 2001/03/21 13:42:33 sam Exp $
*
* Author: Stéphane Borel <stef@via.ecp.fr>
*
* aout_esd.c : Esound functions library
*****************************************************************************
* Copyright (C) 2000 VideoLAN
+ * $Id: aout_esd.c,v 1.11 2001/03/21 13:42:33 sam Exp $
*
* Authors: Samuel Hocevar <sam@zoy.org>
*
* esd.c : EsounD module
*****************************************************************************
* Copyright (C) 2000, 2001 VideoLAN
+ * $Id: esd.c,v 1.7 2001/03/21 13:42:33 sam Exp $
*
* Authors: Samuel Hocevar <sam@zoy.org>
*
* fb.c : framebuffer plugin for vlc
*****************************************************************************
* Copyright (C) 2000, 2001 VideoLAN
+ * $Id: fb.c,v 1.5 2001/03/21 13:42:33 sam Exp $
*
* Authors: Samuel Hocevar <sam@zoy.org>
*
* vout_fb.c: framebuffer video output display method
*****************************************************************************
* Copyright (C) 1998, 1999, 2000, 2001 VideoLAN
+ * $Id: vout_fb.c,v 1.10 2001/03/21 13:42:33 sam Exp $
*
* Authors: Samuel Hocevar <sam@zoy.org>
*
* ggi.c : GGI plugin for vlc
*****************************************************************************
* Copyright (C) 2000, 2001 VideoLAN
+ * $Id: ggi.c,v 1.5 2001/03/21 13:42:34 sam Exp $
*
* Authors: Samuel Hocevar <sam@zoy.org>
*
* vout_ggi.c: GGI video output display method
*****************************************************************************
* Copyright (C) 1998, 1999, 2000, 2001 VideoLAN
+ * $Id: vout_ggi.c,v 1.8 2001/03/21 13:42:34 sam Exp $
*
* Authors: Vincent Seguin <seguin@via.ecp.fr>
* Samuel Hocevar <sam@zoy.org>
* glide.c : 3dfx Glide plugin for vlc
*****************************************************************************
* Copyright (C) 2000, 2001 VideoLAN
+ * $Id: glide.c,v 1.4 2001/03/21 13:42:34 sam Exp $
*
* Authors: Samuel Hocevar <sam@zoy.org>
*
* vout_glide.c: 3dfx video output display method for 3dfx cards
*****************************************************************************
* Copyright (C) 2000, 2001 VideoLAN
+ * $Id: vout_glide.c,v 1.6 2001/03/21 13:42:34 sam Exp $
*
* Authors: Samuel Hocevar <sam@zoy.org>
*
* gnome.c : Gnome plugin for vlc
*****************************************************************************
* Copyright (C) 2000 VideoLAN
+ * $Id: gnome.c,v 1.6 2001/03/21 13:42:34 sam Exp $
*
* Authors: Samuel Hocevar <sam@zoy.org>
*
* gnome_callbacks.c : Callbacks for the Gnome plugin.
*****************************************************************************
* Copyright (C) 2000, 2001 VideoLAN
+ * $Id: gnome_callbacks.c,v 1.18 2001/03/21 13:42:34 sam Exp $
*
* Authors: Samuel Hocevar <sam@zoy.org>
*
* gnome_callbacks.h : Callbacks for the Gnome plugin.
*****************************************************************************
* Copyright (C) 2000, 2001 VideoLAN
+ * $Id: gnome_callbacks.h,v 1.12 2001/03/21 13:42:34 sam Exp $
*
* Authors: Samuel Hocevar <sam@zoy.org>
*
* gtk.c : Gtk+ plugin for vlc
*****************************************************************************
* Copyright (C) 2000 VideoLAN
+ * $Id: gtk.c,v 1.2 2001/03/21 13:42:34 sam Exp $
*
* Authors: Samuel Hocevar <sam@zoy.org>
*
* gtk_callbacks.c : Callbacks for the Gtk+ plugin.
*****************************************************************************
* Copyright (C) 2000, 2001 VideoLAN
+ * $Id: gtk_callbacks.c,v 1.12 2001/03/21 13:42:34 sam Exp $
*
* Authors: Samuel Hocevar <sam@zoy.org>
* Stéphane Borel <stef@via.ecp.fr>
* gtk_playlist.c : Interface for the playlist dialog
*****************************************************************************
* Copyright (C) 2001 VideoLAN
+ * $Id: gtk_playlist.c,v 1.8 2001/03/21 13:42:34 sam Exp $
*
* Authors: Pierre Baillet <oct@zoy.org>
*
* intf_macosx.c: MacOS X interface plugin
*****************************************************************************
* Copyright (C) 2001 VideoLAN
+ * $Id: intf_macosx.c,v 1.2 2001/03/21 13:42:34 sam Exp $
*
* Authors:
*
* macosx.c : MacOS X plugin for vlc
*****************************************************************************
* Copyright (C) 2001 VideoLAN
+ * $Id: macosx.c,v 1.3 2001/03/21 13:42:34 sam Exp $
*
* Authors:
*
* vout_macosx.c: MacOS X video output plugin
*****************************************************************************
* Copyright (C) 2001 VideoLAN
+ * $Id: vout_macosx.c,v 1.2 2001/03/21 13:42:34 sam Exp $
*
* Authors:
*
* mga.c : Matrox Graphic Array plugin for vlc
*****************************************************************************
* Copyright (C) 2000, 2001 VideoLAN
+ * $Id: mga.c,v 1.4 2001/03/21 13:42:34 sam Exp $
*
* Authors: Samuel Hocevar <sam@zoy.org>
*
* vout_mga.c: MGA video output display method
*****************************************************************************
* Copyright (C) 1998, 1999, 2000, 2001 VideoLAN
+ * $Id: vout_mga.c,v 1.7 2001/03/21 13:42:34 sam Exp $
*
* Authors: Aaron Holtzman <aholtzma@ess.engr.uvic.ca>
* Samuel Hocevar <sam@zoy.org>
/*****************************************************************************
* vout_mga.h: MGA video output display method headers
*****************************************************************************
- * Copyright (C) 1999 Aaron Holtzman <aholtzma@ess.engr.uvic.ca>
* Copyright (C) 2000, 2001 VideoLAN
+ * $Id: vout_mga.h,v 1.3 2001/03/21 13:42:34 sam Exp $
*
+ * Authors: Aaron Holtzman <aholtzma@ess.engr.uvic.ca>
+ * Samuel Hocevar <sam@zoy.org>
*
* 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
* motion.c : C motion compensation module for vlc
*****************************************************************************
* Copyright (C) 2000 VideoLAN
+ * $Id: motion.c,v 1.3 2001/03/21 13:42:34 sam Exp $
*
- * Authors:
+ * Authors: Christophe Massiot <massiot@via.ecp.fr>
*
* 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
* motionmmx.c : MMX motion compensation module for vlc
*****************************************************************************
* Copyright (C) 2000 VideoLAN
+ * $Id: motionmmx.c,v 1.3 2001/03/21 13:42:34 sam Exp $
*
- * Authors:
+ * Authors: Christophe Massiot <massiot@via.ecp.fr>
*
* 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
* motionmmxext.c : MMX EXT motion compensation module for vlc
*****************************************************************************
* Copyright (C) 2000 VideoLAN
+ * $Id: motionmmxext.c,v 1.3 2001/03/21 13:42:34 sam Exp $
*
- * Authors:
+ * Authors: Christophe Massiot <massiot@via.ecp.fr>
*
* 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
* input_ps.h: thread structure of the PS plugin
*****************************************************************************
* Copyright (C) 1999, 2000 VideoLAN
- * $Id: input_ps.h,v 1.1 2001/02/08 04:43:27 sam Exp $
+ * $Id: input_ps.h,v 1.2 2001/03/21 13:42:34 sam Exp $
*
- * Authors:
+ * Authors: Christophe Massiot <massiot@via.ecp.fr>
*
* 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
/*****************************************************************************
- * input.h: structures of the input not exported to other modules
+ * input_ts.h: structures of the input not exported to other modules
*****************************************************************************
* Copyright (C) 1999, 2000 VideoLAN
- * $Id: input_ts.h,v 1.3 2001/03/18 18:48:27 henri Exp $
+ * $Id: input_ts.h,v 1.4 2001/03/21 13:42:34 sam Exp $
*
- * Authors:
+ * Authors: Henri Fallon <henri@via.ecp.fr>
*
* 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
* ps.c : Program Stream input module for vlc
*****************************************************************************
* Copyright (C) 2000 VideoLAN
+ * $Id: ps.c,v 1.3 2001/03/21 13:42:34 sam Exp $
*
- * Authors:
+ * Authors: Christophe Massiot <massiot@via.ecp.fr>
*
* 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
* ts.c : Transport Stream input module for vlc
*****************************************************************************
* Copyright (C) 2000 VideoLAN
+ * $Id: ts.c,v 1.3 2001/03/21 13:42:34 sam Exp $
*
- * Authors:
+ * Authors: Henri Fallon <henri@via.ecp.fr>
*
* 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
* null.c : NULL module for vlc
*****************************************************************************
* Copyright (C) 2000 VideoLAN
+ * $Id: null.c,v 1.6 2001/03/21 13:42:34 sam Exp $
*
* Authors: Samuel Hocevar <sam@zoy.org>
*
* qt.cpp : Qt plugin for vlc
*****************************************************************************
* Copyright (C) 2001 VideoLAN
+ * $Id: qt.cpp,v 1.2 2001/03/21 13:42:34 sam Exp $
*
* Authors: Samuel Hocevar <sam@zoy.org>
*
* aout_sdl.c : audio sdl functions library
*****************************************************************************
* Copyright (C) 1999, 2000 VideoLAN
+ * $Id: aout_sdl.c,v 1.10 2001/03/21 13:42:34 sam Exp $
*
* Authors: Michel Kaempf <maxx@via.ecp.fr>
* Samuel Hocevar <sam@zoy.org>
* sdl.c : SDL plugin for vlc
*****************************************************************************
* Copyright (C) 2000, 2001 VideoLAN
+ * $Id: sdl.c,v 1.14 2001/03/21 13:42:34 sam Exp $
*
* Authors: Samuel Hocevar <sam@zoy.org>
* Pierre Baillet <oct@zoy.org>
* vout_sdl.c: SDL video output display method
*****************************************************************************
* Copyright (C) 1998, 1999, 2000 VideoLAN
+ * $Id: vout_sdl.c,v 1.45 2001/03/21 13:42:34 sam Exp $
*
* Authors: Samuel Hocevar <sam@zoy.org>
* Pierre Baillet <oct@zoy.org>
* intf_ncurses.c: ncurses interface
*****************************************************************************
* Copyright (C) 2001 VideoLAN
+ * $Id: intf_ncurses.c,v 1.3 2001/03/21 13:42:34 sam Exp $
*
* Authors: Samuel Hocevar <sam@zoy.org>
*
* ncurses.c : NCurses plugin for vlc
*****************************************************************************
* Copyright (C) 2001 VideoLAN
+ * $Id: ncurses.c,v 1.3 2001/03/21 13:42:34 sam Exp $
*
* Authors: Samuel Hocevar <sam@zoy.org>
*
* x11.c : X11 plugin for vlc
*****************************************************************************
* Copyright (C) 2000, 2001 VideoLAN
+ * $Id: x11.c,v 1.5 2001/03/21 13:42:34 sam Exp $
*
* Authors: Samuel Hocevar <sam@zoy.org>
*
* transforms_common.h: YUV transformation macros for truecolor
*****************************************************************************
* Copyright (C) 1999, 2000 VideoLAN
+ * $Id: transforms_common.h,v 1.2 2001/03/21 13:42:34 sam Exp $
*
- * Authors:
+ * Authors: Vincent Seguin <seguin@via.ecp.fr>
*
* 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
* certain cases by optimized functions.
*****************************************************************************
* Copyright (C) 1999, 2000, 2001 VideoLAN
+ * $Id: transforms_yuv.c,v 1.4 2001/03/21 13:42:34 sam Exp $
*
* Authors: Vincent Seguin <ptyx@via.ecp.fr>
* Samuel Hocevar <sam@zoy.org>
* transforms_yuv.h: C specific YUV transformation macros
*****************************************************************************
* Copyright (C) 1999, 2000 VideoLAN
+ * $Id: transforms_yuv.h,v 1.2 2001/03/21 13:42:34 sam Exp $
*
- * Authors:
+ * Authors: Samuel Hocevar <sam@zoy.org>
*
* 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
* Provides functions to perform the YUV conversion.
*****************************************************************************
* Copyright (C) 1999, 2000 VideoLAN
+ * $Id: transforms_yuvmmx.c,v 1.4 2001/03/21 13:42:34 sam Exp $
*
- * Authors:
+ * Authors: Samuel Hocevar <sam@zoy.org>
*
* 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
* transforms_yuvmmx.h: MMX YUV transformation assembly
*****************************************************************************
* Copyright (C) 1999, 2000 VideoLAN
+ * $Id: transforms_yuvmmx.h,v 1.3 2001/03/21 13:42:34 sam Exp $
*
- * Authors:
- * Olie Lho <ollie@sis.com.tw>
- *
- * Adapted to VideoLAN by:
- * Gaël Hendryckx <jimmy@via.ecp.fr>
- * Samuel Hocevar <sam@via.ecp.fr>
+ * Authors: Olie Lho <ollie@sis.com.tw>
+ * Gaël Hendryckx <jimmy@via.ecp.fr>
+ * Samuel Hocevar <sam@zoy.org>
*
* 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
* case by optimized functions.
*****************************************************************************
* Copyright (C) 1999, 2000 VideoLAN
+ * $Id: video_common.h,v 1.3 2001/03/21 13:42:34 sam Exp $
*
- * Authors:
+ * Authors: Vincent Seguin <seguin@via.ecp.fr>
*
* 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
* case by optimized functions.
*****************************************************************************
* Copyright (C) 1999, 2000 VideoLAN
+ * $Id: video_yuv.c,v 1.12 2001/03/21 13:42:34 sam Exp $
*
- * Authors:
+ * Authors: Vincent Seguin <seguin@via.ecp.fr>
*
* 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
* Provides functions to perform the YUV conversion.
*****************************************************************************
* Copyright (C) 1999, 2000 VideoLAN
+ * $Id: video_yuvmmx.c,v 1.7 2001/03/21 13:42:34 sam Exp $
*
- * Authors:
+ * Authors: Samuel Hocevar <sam@zoy.org>
*
* 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
* yuv.c : C YUV module for vlc
*****************************************************************************
* Copyright (C) 2000 VideoLAN
+ * $Id: yuv.c,v 1.6 2001/03/21 13:42:34 sam Exp $
*
- * Authors:
+ * Authors: Vincent Seguin <seguin@via.ecp.fr>
*
* 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
* yuvmmx.c : Accelerated MMX YUV module for vlc
*****************************************************************************
* Copyright (C) 2000 VideoLAN
+ * $Id: yuvmmx.c,v 1.4 2001/03/21 13:42:34 sam Exp $
*
- * Authors:
+ * Authors: Samuel Hocevar <sam@zoy.org>
*
* 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
* ac3_bit_allocate.c: ac3 allocation tables
*****************************************************************************
* Copyright (C) 2000 VideoLAN
+ * $Id: ac3_bit_allocate.c,v 1.16 2001/03/21 13:42:34 sam Exp $
*
* Authors: Michel Kaempf <maxx@via.ecp.fr>
* Aaron Holtzman <aholtzma@engr.uvic.ca>
* ac3_bit_stream.h: getbits functions for the ac3 decoder
*****************************************************************************
* Copyright (C) 2000, 2001 VideoLAN
+ * $Id: ac3_bit_stream.h,v 1.9 2001/03/21 13:42:34 sam Exp $
*
* Authors: Michel Lespinasse <walken@zoy.org>
* Renaud Dartus <reno@videolan.org>
* ac3_decoder.c: core ac3 decoder
*****************************************************************************
* Copyright (C) 1999, 2000 VideoLAN
+ * $Id: ac3_decoder.c,v 1.28 2001/03/21 13:42:34 sam Exp $
*
* Authors: Michel Kaempf <maxx@via.ecp.fr>
* Michel Lespinasse <walken@zoy.org>
* ac3_decoder.h : ac3 decoder interface
*****************************************************************************
* Copyright (C) 1999, 2000 VideoLAN
+ * $Id: ac3_decoder.h,v 1.4 2001/03/21 13:42:34 sam Exp $
*
* Authors: Michel Kaempf <maxx@via.ecp.fr>
* Renaud Dartus <reno@videolan.org>
* ac3_decoder_thread.h : ac3 decoder thread interface
*****************************************************************************
* Copyright (C) 1999, 2000 VideoLAN
- * $Id: ac3_decoder_thread.h,v 1.3 2001/01/05 14:45:47 sam Exp $
+ * $Id: ac3_decoder_thread.h,v 1.4 2001/03/21 13:42:34 sam Exp $
*
- * Authors:
- * Michel Kaempf <maxx@via.ecp.fr>
+ * Authors: Michel Kaempf <maxx@via.ecp.fr>
*
* 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
* ac3_downmix.c: ac3 downmix functions
*****************************************************************************
* Copyright (C) 1999, 2000 VideoLAN
+ * $Id: ac3_downmix.c,v 1.18 2001/03/21 13:42:34 sam Exp $
*
* Authors: Michel Kaempf <maxx@via.ecp.fr>
* Aaron Holtzman <aholtzma@engr.uvic.ca>
* ac3_downmix.h: ac3 downmix functions
*****************************************************************************
* Copyright (C) 2000, 2001 VideoLAN
+ * $Id: ac3_downmix.h,v 1.5 2001/03/21 13:42:34 sam Exp $
*
* Authors: Renaud Dartus <reno@videolan.org>
*
* ac3_downmix_c.c: ac3 downmix functions
*****************************************************************************
* Copyright (C) 1999, 2000, 2001 VideoLAN
+ * $Id: ac3_downmix_c.c,v 1.3 2001/03/21 13:42:34 sam Exp $
*
* Authors: Renaud Dartus <reno@videolan.org>
* Aaron Holtzman <aholtzma@engr.uvic.ca>
* ac3_exponent.c: ac3 exponent calculations
*****************************************************************************
* Copyright (C) 1999, 2000 VideoLAN
+ * $Id: ac3_exponent.c,v 1.21 2001/03/21 13:42:34 sam Exp $
*
* Authors: Michel Kaempf <maxx@via.ecp.fr>
* Michel Lespinasse <walken@zoy.org>
* ac3_imdct.c: ac3 DCT
*****************************************************************************
* Copyright (C) 1999, 2000 VideoLAN
+ * $Id: ac3_imdct.c,v 1.14 2001/03/21 13:42:34 sam Exp $
*
* Authors: Michel Kaempf <maxx@via.ecp.fr>
* Aaron Holtzman <aholtzma@engr.uvic.ca>
* ac3_internals.h: needed by the ac3 decoder
*****************************************************************************
* Copyright (C) 2000 VideoLAN
+ * $Id: ac3_internal.h,v 1.8 2001/03/21 13:42:34 sam Exp $
*
* Authors: Michel Lespinasse <walken@zoy.org>
*
* ac3_mantissa.c: ac3 mantissa computation
*****************************************************************************
* Copyright (C) 1999, 2000, 2001 VideoLAN
+ * $Id: ac3_mantissa.c,v 1.21 2001/03/21 13:42:34 sam Exp $
*
* Authors: Michel Kaempf <maxx@via.ecp.fr>
* Aaron Holtzman <aholtzma@engr.uvic.ca>
* ac3_parse.c: ac3 parsing procedures
*****************************************************************************
* Copyright (C) 1999, 2000, 2001 VideoLAN
+ * $Id: ac3_parse.c,v 1.16 2001/03/21 13:42:34 sam Exp $
*
* Authors: Michel Kaempf <maxx@via.ecp.fr>
* Aaron Holtzman <aholtzma@engr.uvic.ca>
* ac3_rematrix.c: ac3 audio rematrixing
*****************************************************************************
* Copyright (C) 1999, 2000 VideoLAN
+ * $Id: ac3_rematrix.c,v 1.12 2001/03/21 13:42:34 sam Exp $
*
* Authors: Michel Kaempf <maxx@via.ecp.fr>
* Aaron Holtzman <aholtzma@engr.uvic.ca>
* adec_generic.c: MPEG audio decoder
*****************************************************************************
* Copyright (C) 1999, 2000 VideoLAN
+ * $Id: adec_generic.c,v 1.4 2001/03/21 13:42:34 sam Exp $
*
- * Authors:
+ * Authors: Michel Kaempf <maxx@via.ecp.fr>
+ * Michel Lespinasse <walken@via.ecp.fr>
*
* 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
* audio_decoder.h : audio decoder interface
*****************************************************************************
* Copyright (C) 1999, 2000 VideoLAN
+ * $Id: adec_generic.h,v 1.4 2001/03/21 13:42:34 sam Exp $
*
- * Authors:
- * Michel Kaempf <maxx@via.ecp.fr>
+ * Authors: Michel Kaempf <maxx@via.ecp.fr>
*
* 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
* adec_layer1.c: MPEG Layer I audio decoder
*****************************************************************************
* Copyright (C) 1999, 2000 VideoLAN
+ * $Id: adec_layer1.c,v 1.3 2001/03/21 13:42:34 sam Exp $
*
- * Authors:
+ * Authors: Michel Kaempf <maxx@via.ecp.fr>
+ * Michel Lespinasse <walken@via.ecp.fr>
*
* 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
* adec_layer1.h: MPEG Layer I audio decoder
*****************************************************************************
* Copyright (C) 1999, 2000 VideoLAN
+ * $Id: adec_layer1.h,v 1.3 2001/03/21 13:42:34 sam Exp $
*
- * Authors:
+ * Authors: Michel Kaempf <maxx@via.ecp.fr>
*
* 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
* adec_layer2.c: MPEG Layer II audio decoder
*****************************************************************************
* Copyright (C) 1999, 2000 VideoLAN
+ * $Id: adec_layer2.c,v 1.3 2001/03/21 13:42:34 sam Exp $
*
- * Authors:
+ * Authors: Michel Kaempf <maxx@via.ecp.fr>
+ * Michel Lespinasse <walken@via.ecp.fr>
*
* 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
* adec_layer2.h: MPEG Layer II audio decoder
*****************************************************************************
* Copyright (C) 1999, 2000 VideoLAN
+ * $Id: adec_layer2.h,v 1.3 2001/03/21 13:42:34 sam Exp $
*
- * Authors:
+ * Authors: Michel Kaempf <maxx@via.ecp.fr>
*
* 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
* adec_math.c: Inverse Discrete Cosine Transform and Pulse Code Modulation
*****************************************************************************
* Copyright (C) 1999, 2000 VideoLAN
+ * $Id: adec_math.c,v 1.3 2001/03/21 13:42:34 sam Exp $
*
- * Authors:
+ * Authors: Michel Kaempf <maxx@via.ecp.fr>
+ * Michel Lespinasse <walken@via.ecp.fr>
*
* 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
* adec_math.h : PCM and DCT
*****************************************************************************
* Copyright (C) 1999, 2000 VideoLAN
+ * $Id: adec_math.h,v 1.2 2001/03/21 13:42:34 sam Exp $
*
- * Authors:
+ * Authors: Michel Kaempf <maxx@via.ecp.fr>
*
* 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
* adec_test.c: MPEG Layer I-II audio decoder test program
*****************************************************************************
* Copyright (C) 1999, 2000 VideoLAN
+ * $Id: adec_test.c,v 1.4 2001/03/21 13:42:34 sam Exp $
*
- * Authors:
+ * Authors: Michel Kaempf <maxx@via.ecp.fr>
+ * Michel Lespinasse <walken@via.ecp.fr>
*
* 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
* audio_decoder.h : audio decoder thread interface
*****************************************************************************
* Copyright (C) 1999, 2000 VideoLAN
- * $Id: audio_decoder.h,v 1.5 2001/01/11 17:44:48 sam Exp $
+ * $Id: audio_decoder.h,v 1.6 2001/03/21 13:42:34 sam Exp $
*
- * Authors:
- * Michel Kaempf <maxx@via.ecp.fr>
+ * Authors: Michel Kaempf <maxx@via.ecp.fr>
*
* 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
* aout_common.h: audio output inner functions
*****************************************************************************
* Copyright (C) 1999, 2000, 2001 VideoLAN
+ * $Id: aout_common.h,v 1.2 2001/03/21 13:42:34 sam Exp $
*
* Authors: Michel Kaempf <maxx@via.ecp.fr>
*
* aout_fifo.c : exported fifo management functions
*****************************************************************************
* Copyright (C) 1999, 2000, 2001 VideoLAN
+ * $Id: aout_fifo.c,v 1.2 2001/03/21 13:42:34 sam Exp $
*
* Authors: Michel Kaempf <maxx@via.ecp.fr>
*
* aout_s16.c: 16 bit signed audio output functions
*****************************************************************************
* Copyright (C) 1999, 2000, 2001 VideoLAN
+ * $Id: aout_s16.c,v 1.2 2001/03/21 13:42:34 sam Exp $
*
* Authors: Michel Kaempf <maxx@via.ecp.fr>
*
* aout_s8.c: 8 bit signed audio output functions
*****************************************************************************
* Copyright (C) 1999, 2000, 2001 VideoLAN
+ * $Id: aout_s8.c,v 1.2 2001/03/21 13:42:34 sam Exp $
*
* Authors: Michel Kaempf <maxx@via.ecp.fr>
*
* aout_u16.c: 16 bit unsigned audio output functions
*****************************************************************************
* Copyright (C) 1999, 2000, 2001 VideoLAN
+ * $Id: aout_u16.c,v 1.2 2001/03/21 13:42:34 sam Exp $
*
* Authors: Michel Kaempf <maxx@via.ecp.fr>
*
* aout_u8.c: 8 bit unsigned audio output functions
*****************************************************************************
* Copyright (C) 1999, 2000, 2001 VideoLAN
+ * $Id: aout_u8.c,v 1.2 2001/03/21 13:42:34 sam Exp $
*
* Authors: Michel Kaempf <maxx@via.ecp.fr>
*
* audio_output.c : audio output thread
*****************************************************************************
* Copyright (C) 1999, 2000, 2001 VideoLAN
+ * $Id: audio_output.c,v 1.56 2001/03/21 13:42:34 sam Exp $
*
* Authors: Michel Kaempf <maxx@via.ecp.fr>
*
* used as a 'default' decoder by the input thread.
*****************************************************************************
* Copyright (C) 1998, 1999, 2000 VideoLAN
+ * $Id: generic_decoder.c,v 1.18 2001/03/21 13:42:34 sam Exp $
*
* Authors: Vincent Seguin <seguin@via.ecp.fr>
*
* generic_decoder.h : generic decoder thread
*****************************************************************************
* Copyright (C) 1999, 2000 VideoLAN
+ * $Id: generic_decoder.h,v 1.6 2001/03/21 13:42:34 sam Exp $
*
* Authors: Vincent Seguin <seguin@via.ecp.fr>
*
* input_ext-dec.c: services to the decoders
*****************************************************************************
* Copyright (C) 1998, 1999, 2000 VideoLAN
+ * $Id: input_ext-dec.c,v 1.11 2001/03/21 13:42:34 sam Exp $
*
* Authors: Christophe Massiot <massiot@via.ecp.fr>
*
* input_ext-intf.c: services to the interface
*****************************************************************************
* Copyright (C) 1998, 1999, 2000 VideoLAN
+ * $Id: input_ext-intf.c,v 1.17 2001/03/21 13:42:34 sam Exp $
*
* Authors: Christophe Massiot <massiot@via.ecp.fr>
*
* interface, such as command line.
*****************************************************************************
* Copyright (C) 1998, 1999, 2000 VideoLAN
+ * $Id: interface.c,v 1.71 2001/03/21 13:42:34 sam Exp $
*
- * Authors:
+ * Authors: Vincent Seguin <seguin@via.ecp.fr>
*
* 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
* intf_channels.c: channel handling functions
*****************************************************************************
* Copyright (C) 1998, 1999, 2000 VideoLAN
+ * $Id: intf_channels.c,v 1.2 2001/03/21 13:42:34 sam Exp $
*
- * Authors:
+ * Authors: Vincent Seguin <seguin@via.ecp.fr>
*
* 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
* intf_channels.h: Channel handling functions
*****************************************************************************
* Copyright (C) 1998, 1999, 2000 VideoLAN
+ * $Id: intf_channels.h,v 1.2 2001/03/21 13:42:34 sam Exp $
*
- * Authors:
+ * Authors: Vincent Seguin <seguin@via.ecp.fr>
*
* 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
* implemented in intf_ctrl.
*****************************************************************************
* Copyright (C) 1998, 1999, 2000 VideoLAN
+ * $Id: intf_cmd.c,v 1.18 2001/03/21 13:42:34 sam Exp $
*
- * Authors:
+ * Authors: Vincent Seguin <seguin@via.ecp.fr>
*
* 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
* implemented in intf_ctrl.
*****************************************************************************
* Copyright (C) 1999, 2000 VideoLAN
+ * $Id: intf_cmd.h,v 1.4 2001/03/21 13:42:34 sam Exp $
*
- * Authors:
+ * Authors: Vincent Seguin <seguin@via.ecp.fr>
*
* 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
* intf_console.c: generic console for interface
*****************************************************************************
* Copyright (C) 1998, 1999, 2000 VideoLAN
+ * $Id: intf_console.c,v 1.7 2001/03/21 13:42:34 sam Exp $
*
- * Authors:
+ * Authors: Vincent Seguin <seguin@via.ecp.fr>
*
* 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
* intf_console.h: generic console methods for interface
*****************************************************************************
* Copyright (C) 1998, 1999, 2000 VideoLAN
+ * $Id: intf_console.h,v 1.4 2001/03/21 13:42:34 sam Exp $
*
- * Authors:
+ * Authors: Vincent Seguin <seguin@via.ecp.fr>
*
* 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
* More informations about parameters stand in `list of commands' section.
*****************************************************************************
* Copyright (C) 1999, 2000 VideoLAN
+ * $Id: intf_ctrl.c,v 1.34 2001/03/21 13:42:34 sam Exp $
*
- * Authors:
+ * Authors: Vincent Seguin <seguin@via.ecp.fr>
*
* 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
* to read or write informations from other threads.
*****************************************************************************
* Copyright (C) 1999, 2000 VideoLAN
+ * $Id: intf_ctrl.h,v 1.4 2001/03/21 13:42:34 sam Exp $
*
- * Authors:
+ * Authors: Vincent Seguin <seguin@via.ecp.fr>
*
* 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
* interface, such as message output. See config.h for output configuration.
*****************************************************************************
* Copyright (C) 1998, 1999, 2000 VideoLAN
+ * $Id: intf_msg.c,v 1.28 2001/03/21 13:42:34 sam Exp $
*
* Authors: Vincent Seguin <seguin@via.ecp.fr>
*
* intf_playlist.c : Playlist management functions
*****************************************************************************
* Copyright (C) 1999, 2000 VideoLAN
+ * $Id: intf_playlist.c,v 1.2 2001/03/21 13:42:34 sam Exp $
*
* Authors: Samuel Hocevar <sam@zoy.org>
*
* and spawn threads.
*****************************************************************************
* Copyright (C) 1998, 1999, 2000 VideoLAN
+ * $Id: main.c,v 1.80 2001/03/21 13:42:34 sam Exp $
*
- * Authors:
+ * Authors: Vincent Seguin <seguin@via.ecp.fr>
+ * Samuel Hocevar <sam@zoy.org>
*
* 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
#endif
#ifdef SYS_DARWIN1_3
-#include <Carbon/Carbon.h> /* Altivec detection */
+#include <mach/mach.h> /* Altivec detection */
+#include <mach/mach_error.h> /* some day the header files||compiler *
+ will define it for us */
+#include <mach/bootstrap.h>
#endif
#include <unistd.h>
| CPU_CAPABILITY_MMX;
#elif defined( SYS_DARWIN1_3 )
- OSErr err;
- long l_attributes = 0;
- err = Gestalt( gestaltPowerPCProcessorFeatures, &l_attributes );
+ struct host_basic_info hi;
+ kern_return_t ret;
+ host_name_port_t host;
- if( err == noErr &&
- ( (1 << gestaltPowerPCHasVectorInstructions) & l_attributes ) )
+ int i_size;
+ char *psz_name, *psz_subname;
+
+ /* Should 'never' fail? */
+ host = mach_host_self();
+
+ i_size = sizeof( hi ) / sizeof( int );
+ ret = host_info( host, HOST_BASIC_INFO, ( host_info_t )&hi, &i_size );
+
+ if( ret != KERN_SUCCESS )
+ {
+ intf_ErrMsg( "error: couldn't get CPU information" );
+ return( i_capabilities );
+ }
+
+ slot_name( hi.cpu_type, hi.cpu_subtype, &psz_name, &psz_subname );
+ /* FIXME: need better way to detect newer proccessors.
+ * could do strncmp(a,b,5), but that's real ugly */
+ if( strcmp(psz_name, "ppc7400") || strcmp(psz_name, "ppc7450") )
{
i_capabilities |= CPU_CAPABILITY_ALTIVEC;
}
* lpcm_decoder.c: core lpcm decoder
*****************************************************************************
* Copyright (C) 1999, 2000 VideoLAN
+ * $Id: lpcm_decoder.c,v 1.6 2001/03/21 13:42:34 sam Exp $
*
- * Authors:
+ * Authors: Samuel Hocevar <sam@zoy.org>
*
* 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
* lpcm_decoder.h : lpcm decoder interface
*****************************************************************************
* Copyright (C) 1999, 2000 VideoLAN
+ * $Id: lpcm_decoder.h,v 1.3 2001/03/21 13:42:34 sam Exp $
*
- * Authors:
+ * Authors: Samuel Hocevar <sam@zoy.org>
*
* 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
* lpcm_decoder_thread.c: lpcm decoder thread
*****************************************************************************
* Copyright (C) 1999, 2000 VideoLAN
- * $Id: lpcm_decoder_thread.c,v 1.10 2001/02/11 01:15:11 sam Exp $
+ * $Id: lpcm_decoder_thread.c,v 1.11 2001/03/21 13:42:34 sam Exp $
*
- * Authors:
+ * Authors: Samuel Hocevar <sam@zoy.org>
*
* 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
* lpcm_decoder_thread.h : lpcm decoder thread interface
*****************************************************************************
* Copyright (C) 1999, 2000 VideoLAN
- * $Id: lpcm_decoder_thread.h,v 1.3 2001/01/05 14:46:37 sam Exp $
+ * $Id: lpcm_decoder_thread.h,v 1.4 2001/03/21 13:42:34 sam Exp $
*
- * Authors:
+ * Authors: Samuel Hocevar <sam@zoy.org>
*
* 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
* beos_init.cpp: Initialization for BeOS specific features
*****************************************************************************
* Copyright (C) 1999, 2000 VideoLAN
+ * $Id: beos_specific.cpp,v 1.5 2001/03/21 13:42:34 sam Exp $
*
* Authors: Jean-Marc Dressler <polux@via.ecp.fr>
*
* modules.c : Built-in and dynamic modules management functions
*****************************************************************************
* Copyright (C) 2001 VideoLAN
+ * $Id: modules.c,v 1.19 2001/03/21 13:42:34 sam Exp $
*
* Authors: Samuel Hocevar <sam@zoy.org>
* Ethan C. Baldridge <BaldridgeE@cadmus.com>
* Functions are prototyped in mtime.h.
*****************************************************************************
* Copyright (C) 1998, 1999, 2000 VideoLAN
+ * $Id: mtime.c,v 1.16 2001/03/21 13:42:34 sam Exp $
*
* Authors: Vincent Seguin <seguin@via.ecp.fr>
*
* netutils.c: various network functions
*****************************************************************************
* Copyright (C) 1999, 2000, 2001 VideoLAN
+ * $Id: netutils.c,v 1.22 2001/03/21 13:42:34 sam Exp $
*
* Authors: Vincent Seguin <seguin@via.ecp.fr>
* Benoit Steiner <benny@via.ecp.fr>
* can be anything, including pictures, audio streams, and so on.
*****************************************************************************
* Copyright (C) 1999, 2000 VideoLAN
+ * $Id: rsc_files.c,v 1.9 2001/03/21 13:42:34 sam Exp $
*
* Authors: Vincent Seguin <seguin@via.ecp.fr>
*
* Functions are prototyped in tests.h.
*****************************************************************************
* Copyright (C) 2000 VideoLAN
+ * $Id: tests.c,v 1.5 2001/03/21 13:42:34 sam Exp $
*
* Authors: Samuel Hocevar <sam@via.ecp.fr>
*
* spu_decoder.c : spu decoder thread
*****************************************************************************
* Copyright (C) 2000 VideoLAN
+ * $Id: spu_decoder.c,v 1.34 2001/03/21 13:42:34 sam Exp $
*
* Authors: Samuel Hocevar <sam@zoy.org>
*
* spu_decoder.h : sub picture unit decoder thread interface
*****************************************************************************
* Copyright (C) 1999, 2000 VideoLAN
+ * $Id: spu_decoder.h,v 1.7 2001/03/21 13:42:34 sam Exp $
*
* Authors: Samuel Hocevar <sam@zoy.org>
*
* thread, and destroy a previously oppened video output thread.
*****************************************************************************
* Copyright (C) 2000 VideoLAN
+ * $Id: video_output.c,v 1.117 2001/03/21 13:42:34 sam Exp $
*
- * Authors:
+ * Authors: Vincent Seguin <seguin@via.ecp.fr>
*
* 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
* video_spu.c : DVD subpicture units functions
*****************************************************************************
* Copyright (C) 1999, 2000 VideoLAN
+ * $Id: video_spu.c,v 1.19 2001/03/21 13:42:35 sam Exp $
*
* Authors: Samuel Hocevar <sam@zoy.org>
*
* video_spu.h : DVD subpicture units functions
*****************************************************************************
* Copyright (C) 1999, 2000 VideoLAN
+ * $Id: video_spu.h,v 1.8 2001/03/21 13:42:35 sam Exp $
*
* Authors: Samuel Hocevar <sam@zoy.org>
* Henri Fallon <henri@via.ecp.fr>
* video_text.c : text manipulation functions
*****************************************************************************
* Copyright (C) 1999, 2000 VideoLAN
+ * $Id: video_text.c,v 1.20 2001/03/21 13:42:35 sam Exp $
*
* Authors: Vincent Seguin <seguin@via.ecp.fr>
* Samuel Hocevar <sam@zoy.org>
* video_text.h : text manipulation functions
*****************************************************************************
* Copyright (C) 1999, 2000 VideoLAN
+ * $Id: video_text.h,v 1.7 2001/03/21 13:42:35 sam Exp $
*
* Authors: Vincent Seguin <seguin@via.ecp.fr>
* Samuel Hocevar <sam@zoy.org>
* These functions set up YUV tables for colorspace conversion
*****************************************************************************
* Copyright (C) 1999, 2000 VideoLAN
+ * $Id: video_yuv.c,v 1.47 2001/03/21 13:42:35 sam Exp $
*
* Authors: Vincent Seguin <seguin@via.ecp.fr>
*
* These functions set up YUV tables for colorspace conversion
*****************************************************************************
* Copyright (C) 1999, 2000 VideoLAN
+ * $Id: video_yuv.h,v 1.7 2001/03/21 13:42:35 sam Exp $
*
* Authors: Vincent Seguin <seguin@via.ecp.fr>
*