HEAD
+ * Fixed a segfault in the SPU decoder initialization.
* Mandatory step for video output IV and the audio output quality
fix: the output threads are now spawned when a decoder needs one,
so it can decide the audio frequency or the video window size.
make distclean && ./configure --prefix=/usr --enable-gnome \
--enable-fb --with-glide --with-ggi --with-sdl --enable-esd \
--enable-mga --enable-gtk --enable-qt --enable-xvideo \
- --disable-optimizatons
+ --enable-debug
Building VideoLAN
The following students were members of the VideoLAN team :
+1996-1997:
Pierre Almeras <almeras@via.ecp.fr>
Christophe Arnaud <christophe.arnaud@tps.fr>
Antoine Brenner <brenner@via.ecp.fr>
Christian Gross <gross@via.ecp.fr>
Hugo Haas <hugo@via.ecp.fr>
Mikael Journo <mj32@cornell.edu>
- Michel Lespinasse <walken@wrs.com>
+ Michel Lespinasse <walken@zoy.org>
Christophe Ulses <mowgli@laotseu.via.ecp.fr>
Pierre Vandecasteele <pabv2@hermes.cam.ac.uk>
Guillaume Vergnaud <vergnaud@via.ecp.fr>
+1997-1998:
Olivier Baxa <oli@via.ecp.fr>
Patrice Bazerque <patrice.bazerque@via.ecp.fr>
Arnaud Bienvenu <arnaud.bienvenu@via.ecp.fr>
Sébastien Kurz <seb@tao.via.ecp.fr>
Olivier Pomel <pomel@via.ecp.fr>
+1998-1999:
Pierre Baillet <octplane@via.ecp.fr>
Alban Fonrouge <alban@via.ecp.fr>
Jean-Philippe Grimaldi <jeanphi@via.ecp.fr>
Vincent Seguin <seguin@via.ecp.fr>
Benoit Steiner <benny@via.ecp.fr>
+1999-2000:
Arnaud de Bossoreille de Ribou <bozo@via.ecp.fr>
Jean-Marc Dressler <polux@via.ecp.fr>
Gaël Hendryckx <jimmy@via.ecp.fr>
- Samuel Hocevar <sam@via.ecp.fr>
+ Samuel Hocevar <sam@zoy.org>
Brieuc Jeunhomme <bbp@via.ecp.fr>
Michel Kaempf <maxx@via.ecp.fr>
Florent Rougon <flo@via.ecp.fr>
+2000-2001:
+ Arnaud de Bossoreille de Ribou <bozo@via.ecp.fr>
Stéphane Borel <stef@via.ecp.fr>
Renaud Dartus <reno@via.ecp.fr>
Henri Fallon <henri@via.ecp.fr>
Jean-Michel Grimaldi <jm@via.ecp.fr>
+ Samuel Hocevar <sam@zoy.org>
Damien Lucas <nitrox@via.ecp.fr>
Rémi Peyronnet <remi@via.ecp.fr>
Laurent Rossier <gunther@via.ecp.fr>
* input_ext-dec.h: structures exported to the VideoLAN decoders
*****************************************************************************
* Copyright (C) 1999, 2000 VideoLAN
- * $Id: input_ext-dec.h,v 1.31 2001/05/01 04:18:17 sam Exp $
+ * $Id: input_ext-dec.h,v 1.32 2001/05/01 12:22:18 sam Exp $
*
* Authors: Christophe Massiot <massiot@via.ecp.fr>
* Michel Kaempf <maxx@via.ecp.fr>
typedef struct vdec_config_s
{
- struct vout_thread_s * p_vout;
-
struct picture_s * (* pf_create_picture)( struct vout_thread_s *,
int i_type, int i_width,
int i_height );
* control the pace of reading.
*****************************************************************************
* Copyright (C) 1999, 2000 VideoLAN
- * $Id: input_ext-intf.h,v 1.35 2001/05/01 04:18:17 sam Exp $
+ * $Id: input_ext-intf.h,v 1.36 2001/05/01 12:22:18 sam Exp $
*
* Authors: Christophe Massiot <massiot@via.ecp.fr>
*
/* Demultiplexer data */
void * p_demux_data;
- /* Decoders control */
- struct vout_thread_s * p_vout;
-
int i_es_number; /* size of the following array */
es_descriptor_t ** pp_es; /* array of pointers to ES */
} pgrm_descriptor_t;
/* General stream description */
stream_descriptor_t stream; /* PAT tables */
- /* For auto-launch of decoders */
- struct vout_thread_s * p_default_vout;
-
#ifdef STATS
count_t c_loops;
count_t c_bytes; /* bytes read */
case 'f':
case 'F':
- p_intf->p_input->p_default_vout->i_changes |=
- VOUT_FULLSCREEN_CHANGE;
+ p_main->p_vout->i_changes |= VOUT_FULLSCREEN_CHANGE;
break;
case 'm':
* decoders.
*****************************************************************************
* Copyright (C) 1998, 1999, 2000 VideoLAN
- * $Id: input.c,v 1.104 2001/05/01 04:18:18 sam Exp $
+ * $Id: input.c,v 1.105 2001/05/01 12:22:18 sam Exp $
*
* Authors: Christophe Massiot <massiot@via.ecp.fr>
*
p_input->stream.control.b_mute = 0;
p_input->stream.control.b_bw = 0;
- /* Initialize default settings for spawned decoders */
- p_input->p_default_vout = p_main->p_vout;
-
/* Create thread and set locks. */
vlc_mutex_init( &p_input->stream.stream_lock );
vlc_cond_init( &p_input->stream.stream_wait );
* input_programs.c: es_descriptor_t, pgrm_descriptor_t management
*****************************************************************************
* Copyright (C) 1999, 2000 VideoLAN
- * $Id: input_programs.c,v 1.54 2001/05/01 04:18:18 sam Exp $
+ * $Id: input_programs.c,v 1.55 2001/05/01 12:22:18 sam Exp $
*
* Authors: Christophe Massiot <massiot@via.ecp.fr>
*
p_input->stream.pp_programs[i_pgrm_index]->i_synchro_state
= SYNCHRO_START;
- p_input->stream.pp_programs[i_pgrm_index]->p_vout
- = p_input->p_default_vout;
-
if( i_data_len )
{
p_input->stream.pp_programs[i_pgrm_index]->p_demux_data =
intf_ErrMsg( "Unable to allocate memory in GetVdecConfig" );
return( NULL );
}
- p_config->p_vout = p_input->p_default_vout;
if( InitDecConfig( p_input, p_es, &p_config->decoder_config ) == -1 )
{
free( p_config );
* spu_decoder.c : spu decoder thread
*****************************************************************************
* Copyright (C) 2000 VideoLAN
- * $Id: spu_decoder.c,v 1.38 2001/04/28 03:36:25 sam Exp $
+ * $Id: spu_decoder.c,v 1.39 2001/05/01 12:22:18 sam Exp $
*
* Authors: Samuel Hocevar <sam@zoy.org>
*
#include "spu_decoder.h"
+#include "main.h" /* XXX: remove this later */
+
/*****************************************************************************
* Local prototypes
*****************************************************************************/
* Initialize the thread properties
*/
p_spudec->p_config = p_config;
+
p_spudec->p_fifo = p_config->decoder_config.p_decoder_fifo;
- /* Get the video output informations */
- p_spudec->p_vout = p_config->p_vout;
+ /* XXX: The vout request and fifo opening will eventually be here */
+ if( p_spudec->p_vout == NULL )
+ {
+ if( p_main->p_vout == NULL )
+ {
+ intf_Msg( "vpar: no vout present, spawning one" );
+ p_main->p_vout = vout_CreateThread( NULL );
+ }
+
+ p_spudec->p_vout = p_main->p_vout;
+ }
/* Spawn the spu decoder thread */
if ( vlc_thread_create(&p_spudec->thread_id, "spu decoder",
* video_parser.c : video parser thread
*****************************************************************************
* Copyright (C) 1999, 2000 VideoLAN
- * $Id: video_parser.c,v 1.82 2001/05/01 04:18:18 sam Exp $
+ * $Id: video_parser.c,v 1.83 2001/05/01 12:22:18 sam Exp $
*
* Authors: Christophe Massiot <massiot@via.ecp.fr>
* Samuel Hocevar <sam@via.ecp.fr>
p_vpar->p_fifo = p_config->decoder_config.p_decoder_fifo;
p_vpar->p_config = p_config;
- p_vpar->p_vout = p_config->p_vout;
-
/*
* Choose the best motion compensation module
*/
* vpar_headers.c : headers parsing
*****************************************************************************
* Copyright (C) 1999, 2000 VideoLAN
- * $Id: vpar_headers.c,v 1.83 2001/05/01 04:18:18 sam Exp $
+ * $Id: vpar_headers.c,v 1.84 2001/05/01 12:22:18 sam Exp $
*
* Authors: Christophe Massiot <massiot@via.ecp.fr>
* Stéphane Borel <stef@via.ecp.fr>
ExtensionAndUserData( p_vpar );
/* XXX: The vout request and fifo opening will eventually be here */
- if( p_main->p_vout == NULL )
+ if( p_vpar->p_vout == NULL )
{
- intf_Msg( "vpar: no vout present, spawning one" );
- p_main->p_vout = p_vpar->p_vout = vout_CreateThread( NULL );
+ if( p_main->p_vout == NULL )
+ {
+ intf_Msg( "vpar: no vout present, spawning one" );
+ p_main->p_vout = vout_CreateThread( NULL );
+ }
+
+ p_vpar->p_vout = p_main->p_vout;
}
}