Commit 54355637 authored by Sam Hocevar's avatar Sam Hocevar

  * Fixed a segfault in the SPU decoder initialization.
parent a70f8bb3
......@@ -4,6 +4,7 @@
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.
......
......@@ -21,7 +21,7 @@ If you intend to debug stuff, you may want to disable optimizations:
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
......
......@@ -61,6 +61,7 @@ The following teachers were involved in the VideoLAN project :
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>
......@@ -69,11 +70,12 @@ The following students were members of the VideoLAN team :
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>
......@@ -83,6 +85,7 @@ The following students were members of the VideoLAN team :
Sbastien 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>
......@@ -93,18 +96,22 @@ The following students were members of the VideoLAN team :
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>
Gal 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>
Stphane 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>
Rmi Peyronnet <remi@via.ecp.fr>
Laurent Rossier <gunther@via.ecp.fr>
......
......@@ -2,7 +2,7 @@
* 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>
......@@ -515,8 +515,6 @@ struct vout_thread_s;
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 );
......
......@@ -4,7 +4,7 @@
* 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>
*
......@@ -132,9 +132,6 @@ typedef struct pgrm_descriptor_s
/* 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;
......@@ -302,9 +299,6 @@ typedef struct input_thread_s
/* 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 */
......
......@@ -212,8 +212,7 @@ static void intf_Run( intf_thread_t *p_intf )
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':
......
......@@ -4,7 +4,7 @@
* 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>
*
......@@ -143,9 +143,6 @@ input_thread_t *input_CreateThread ( playlist_item_t *p_item, int *pi_status )
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 );
......
......@@ -2,7 +2,7 @@
* 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>
*
......@@ -172,9 +172,6 @@ pgrm_descriptor_t * input_AddProgram( input_thread_t * p_input,
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 =
......@@ -554,7 +551,6 @@ static vdec_config_t * GetVdecConfig( input_thread_t * p_input,
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 );
......
......@@ -2,7 +2,7 @@
* 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>
*
......@@ -49,6 +49,8 @@
#include "spu_decoder.h"
#include "main.h" /* XXX: remove this later */
/*****************************************************************************
* Local prototypes
*****************************************************************************/
......@@ -83,10 +85,20 @@ vlc_thread_t spudec_CreateThread( vdec_config_t * p_config )
* 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",
......
......@@ -2,7 +2,7 @@
* 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>
......@@ -95,8 +95,6 @@ vlc_thread_t vpar_CreateThread( vdec_config_t * p_config )
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
*/
......
......@@ -2,7 +2,7 @@
* 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>
* Stphane Borel <stef@via.ecp.fr>
......@@ -452,10 +452,15 @@ static void SequenceHeader( vpar_thread_t * p_vpar )
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;
}
}
......
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