From: Gildas Bazin Date: Sun, 9 Mar 2003 19:25:09 +0000 (+0000) Subject: * configure.ac.in: don't include the screensaver plugin on win32. X-Git-Tag: 0.5.2~15 X-Git-Url: https://git.sesse.net/?a=commitdiff_plain;h=ec22d731d3ab609c2ba8b793153a141cab7bedd2;p=vlc * configure.ac.in: don't include the screensaver plugin on win32. * src/misc/variables.c: fixed a bug in var_Change() and in var_DelCallback(). * modules/codec/spudec/parse.c: removed unnessecary code. * modules/access/dvdplay/access.c: fixed some navigation problems. --- diff --git a/configure.ac.in b/configure.ac.in index 632bc08df3..2fbf145e4b 100644 --- a/configure.ac.in +++ b/configure.ac.in @@ -813,8 +813,14 @@ PLUGINS="${PLUGINS} i420_rgb i420_yuy2 i422_yuy2 i420_ymga" PLUGINS="${PLUGINS} id3 m3u" PLUGINS="${PLUGINS} wav araw demuxdump demuxsub adpcm a52sys" PLUGINS="${PLUGINS} access_udp access_http ipv4 access_mms access_ftp" -PLUGINS="${PLUGINS} sap screensaver" -PLUGINS="${PLUGINS} httpd" +PLUGINS="${PLUGINS} sap httpd" + +dnl +dnl Some plugins aren't useful on some platforms +dnl +if test "x${SYS}" != "xmingw32" + PLUGINS="${PLUGINS} screensaver" +fi dnl dnl Accelerated modules diff --git a/modules/access/dvdplay/access.c b/modules/access/dvdplay/access.c index 62cd74de99..a770eb7a16 100644 --- a/modules/access/dvdplay/access.c +++ b/modules/access/dvdplay/access.c @@ -2,7 +2,7 @@ * access.c: access capabilities for dvdplay plugin. ***************************************************************************** * Copyright (C) 2001 VideoLAN - * $Id: access.c,v 1.11 2003/01/29 11:17:44 gbazin Exp $ + * $Id: access.c,v 1.12 2003/03/09 19:25:09 gbazin Exp $ * * Author: Stéphane Borel * @@ -290,9 +290,13 @@ static int dvdplay_SetArea( input_thread_t * p_input, input_area_t * p_area ) dvdNewArea( p_input, p_area ); + /* Reinit ES */ + dvdNewPGC( p_input ); + dvdplay_start( p_dvd->vmg, p_area->i_id ); p_area->i_part = i_chapter; + } /* i_title >= 0 */ else { @@ -417,6 +421,13 @@ static void pf_vmg_callback( void* p_args, dvdplay_event_t event ) /* update current chapter */ p_input->stream.p_selected_area->i_part = dvdplay_chapter_cur( p_dvd->vmg ); + + p_input->stream.p_selected_area->i_tell = + LB2OFF( dvdplay_position( p_dvd->vmg ) ) - + p_input->stream.p_selected_area->i_start; + + /* warn interface that something has changed */ + p_input->stream.b_changed = 1; break; case NEW_CELL: p_dvd->b_end_of_cell = 0; @@ -512,8 +523,6 @@ static int dvdNewArea( input_thread_t * p_input, input_area_t * p_area ) dvdplay_SetProgram( p_input, p_input->stream.pp_programs[i_angle-1] ); -// dvdNewPGC( p_input ); - /* No PSM to read in DVD mode, we already have all information */ p_input->stream.p_selected_program->b_is_ok = 1; diff --git a/modules/codec/spudec/parse.c b/modules/codec/spudec/parse.c index 669e64dba3..2b0a883d1c 100644 --- a/modules/codec/spudec/parse.c +++ b/modules/codec/spudec/parse.c @@ -2,7 +2,7 @@ * parse.c: SPU parser ***************************************************************************** * Copyright (C) 2000-2001 VideoLAN - * $Id: parse.c,v 1.10 2003/01/30 19:14:17 gbazin Exp $ + * $Id: parse.c,v 1.11 2003/03/09 19:25:08 gbazin Exp $ * * Authors: Samuel Hocevar * @@ -166,8 +166,6 @@ void E_(ParsePacket)( spudec_thread_t *p_spudec ) vlc_mutex_lock( p_mutex ); UpdateSPU( p_spu, VLC_OBJECT(p_spu->p_sys->p_input) ); - var_DelCallback( p_spu->p_sys->p_input, - "highlight", CropCallback, p_spu ); var_AddCallback( p_spu->p_sys->p_input, "highlight", CropCallback, p_spu ); vlc_mutex_unlock( p_mutex ); diff --git a/src/misc/variables.c b/src/misc/variables.c index cb53053e3a..dbc59e7e24 100644 --- a/src/misc/variables.c +++ b/src/misc/variables.c @@ -2,7 +2,7 @@ * variables.c: routines for object variables handling ***************************************************************************** * Copyright (C) 2002 VideoLAN - * $Id: variables.c,v 1.19 2002/12/18 14:17:11 sam Exp $ + * $Id: variables.c,v 1.20 2003/03/09 19:25:08 gbazin Exp $ * * Authors: Samuel Hocevar * @@ -386,8 +386,9 @@ int __var_Change( vlc_object_t *p_this, const char *psz_name, case VLC_VAR_GETLIST: p_val->p_list = malloc( sizeof(vlc_list_t) ); - p_val->p_list->p_values = malloc( p_var->choices.i_count - * sizeof(vlc_value_t) ); + if( p_var->choices.i_count ) + p_val->p_list->p_values = malloc( p_var->choices.i_count + * sizeof(vlc_value_t) ); p_val->p_list->i_count = p_var->choices.i_count; for( i = 0 ; i < p_var->choices.i_count ; i++ ) { @@ -400,8 +401,9 @@ int __var_Change( vlc_object_t *p_this, const char *psz_name, { p_var->pf_free( &p_val->p_list->p_values[i] ); } - free( p_val->p_list->p_values ); - free( p_val->p_list ); + if( p_val->p_list->i_count ) + free( p_val->p_list->p_values ); + free( p_val->p_list ); break; default: @@ -611,7 +613,7 @@ int __var_DelCallback( vlc_object_t *p_this, const char *psz_name, for( i_entry = p_var->i_entries ; i_entry-- ; ) { if( p_var->p_entries[i_entry].pf_callback == pf_callback - || p_var->p_entries[i_entry].p_data == p_data ) + && p_var->p_entries[i_entry].p_data == p_data ) { break; }