plugins.
* Fixed the waiting on the event thread creation in the directx plugin.
* vout_directx.c: Windows DirectX video output display method
*****************************************************************************
* Copyright (C) 2001 VideoLAN
- * $Id: vout_directx.c,v 1.28 2002/03/28 10:17:06 gbazin Exp $
+ * $Id: vout_directx.c,v 1.29 2002/04/01 16:08:23 gbazin Exp $
*
* Authors: Gildas Bazin <gbazin@netcourrier.com>
*
}
/* We need to wait for the actual creation of the thread and window */
+ vlc_mutex_lock( &p_vout->p_sys->event_thread_lock );
if( p_vout->p_sys->i_event_thread_status == THREAD_CREATE )
{
- vlc_mutex_lock( &p_vout->p_sys->event_thread_lock );
vlc_cond_wait ( &p_vout->p_sys->event_thread_wait,
&p_vout->p_sys->event_thread_lock );
- vlc_mutex_unlock( &p_vout->p_sys->event_thread_lock );
}
+ vlc_mutex_unlock( &p_vout->p_sys->event_thread_lock );
if( p_vout->p_sys->i_event_thread_status != THREAD_READY )
{
intf_ErrMsg( "vout error: DirectXEventThread failed" );
* vout_events.c: Windows DirectX video output events handler
*****************************************************************************
* Copyright (C) 2001 VideoLAN
- * $Id: vout_events.c,v 1.11 2002/02/19 00:50:19 sam Exp $
+ * $Id: vout_events.c,v 1.12 2002/04/01 16:08:23 gbazin Exp $
*
* Authors: Gildas Bazin <gbazin@netcourrier.com>
*
/* Create a window for the video */
/* Creating a window under Windows also initializes the thread's event
* message qeue */
+ vlc_mutex_lock( &p_vout->p_sys->event_thread_lock );
if( DirectXCreateWindow( p_vout ) )
{
intf_ErrMsg( "vout error: can't create window" );
p_vout->p_sys->i_event_thread_status = THREAD_FATAL;
- /* signal the creation of the window */
- vlc_mutex_lock( &p_vout->p_sys->event_thread_lock );
- vlc_cond_signal( &p_vout->p_sys->event_thread_wait );
- vlc_mutex_unlock( &p_vout->p_sys->event_thread_lock );
- return;
+ p_vout->p_sys->b_event_thread_die = 1;
}
+ else p_vout->p_sys->i_event_thread_status = THREAD_READY;
/* signal the creation of the window */
- p_vout->p_sys->i_event_thread_status = THREAD_READY;
- vlc_mutex_lock( &p_vout->p_sys->event_thread_lock );
vlc_cond_signal( &p_vout->p_sys->event_thread_wait );
vlc_mutex_unlock( &p_vout->p_sys->event_thread_lock );
/* Main loop */
/* GetMessage will sleep if there's no message in the queue */
- while( GetMessage( &msg, p_vout->p_sys->hwnd, 0, 0 ) )
+ while( !p_vout->p_sys->b_event_thread_die
+ && GetMessage( &msg, p_vout->p_sys->hwnd, 0, 0 ) )
{
/* Check if we are asked to exit */
break;
case WM_ACTIVATE:
- intf_WarnMsg( 4, "vout: WinProc WM_ACTIVE" );
+ intf_WarnMsg( 4, "vout: WinProc WM_ACTIVATE" );
break;
case WM_CREATE:
* ac3_downmix_3dn.c: accelerated 3D Now! ac3 downmix functions
*****************************************************************************
* Copyright (C) 1999, 2000, 2001 VideoLAN
- * $Id: ac3_downmix_3dn.c,v 1.9 2001/12/30 07:09:54 sam Exp $
+ * $Id: ac3_downmix_3dn.c,v 1.10 2002/04/01 16:08:23 gbazin Exp $
*
* Authors: Renaud Dartus <reno@videolan.org>
*
#include "ac3_downmix.h"
-const float sqrt2_3dn __asm__ ("sqrt2_3dn") = 0.7071068;
+static const float sqrt2_3dn __asm__ ("sqrt2_3dn") = 0.7071068;
void _M( downmix_3f_2r_to_2ch ) (float * samples, dm_par_t * dm_par)
{
* ac3_downmix_sse.c: accelerated SSE ac3 downmix functions
*****************************************************************************
* Copyright (C) 1999, 2000, 2001 VideoLAN
- * $Id: ac3_downmix_sse.c,v 1.9 2001/12/30 07:09:54 sam Exp $
+ * $Id: ac3_downmix_sse.c,v 1.10 2002/04/01 16:08:23 gbazin Exp $
*
* Authors: Renaud Dartus <reno@videolan.org>
* Aaron Holtzman <aholtzma@engr.uvic.ca>
#include "ac3_downmix.h"
-const float sqrt2_sse __asm__ ("sqrt2_sse") __attribute__ ((aligned (16))) = 0.7071068;
+static const float sqrt2_sse __asm__ ("sqrt2_sse") __attribute__ ((aligned (16))) = 0.7071068;
void _M( downmix_3f_2r_to_2ch ) (float * samples, dm_par_t * dm_par)
{