]> git.sesse.net Git - vlc/blobdiff - modules/audio_output/directx.c
Trailing ;
[vlc] / modules / audio_output / directx.c
index ff4f312d2252e7c74f8e5981580d1771049fddd3..a2dc089b8a69cec2e828e3636fdc8a86ccfe963b 100644 (file)
@@ -184,17 +184,18 @@ struct aout_sys_t
 static const uint32_t pi_channels_src[] =
     { AOUT_CHAN_LEFT, AOUT_CHAN_RIGHT,
       AOUT_CHAN_MIDDLELEFT, AOUT_CHAN_MIDDLERIGHT,
-      AOUT_CHAN_REARLEFT, AOUT_CHAN_REARRIGHT,
+      AOUT_CHAN_REARLEFT, AOUT_CHAN_REARRIGHT, AOUT_CHAN_REARCENTER,
       AOUT_CHAN_CENTER, AOUT_CHAN_LFE, 0 };
 static const uint32_t pi_channels_in[] =
     { SPEAKER_FRONT_LEFT, SPEAKER_FRONT_RIGHT,
       SPEAKER_SIDE_LEFT, SPEAKER_SIDE_RIGHT,
-      SPEAKER_BACK_LEFT, SPEAKER_BACK_RIGHT,
+      SPEAKER_BACK_LEFT, SPEAKER_BACK_RIGHT, SPEAKER_BACK_CENTER,
       SPEAKER_FRONT_CENTER, SPEAKER_LOW_FREQUENCY, 0 };
 static const uint32_t pi_channels_out[] =
     { SPEAKER_FRONT_LEFT, SPEAKER_FRONT_RIGHT,
       SPEAKER_FRONT_CENTER, SPEAKER_LOW_FREQUENCY,
       SPEAKER_BACK_LEFT, SPEAKER_BACK_RIGHT,
+      SPEAKER_BACK_CENTER,
       SPEAKER_SIDE_LEFT, SPEAKER_SIDE_RIGHT, 0 };
 
 /*****************************************************************************
@@ -225,19 +226,19 @@ static int  FillBuffer        ( aout_instance_t *, int, aout_buffer_t * );
     "The option allows you to enable or disable the high-quality float32 " \
     "audio output mode (which is not well supported by some soundcards)." )
 
-vlc_module_begin();
-    set_description( N_("DirectX audio output") );
-    set_shortname( "DirectX" );
-    set_capability( "audio output", 100 );
-    set_category( CAT_AUDIO );
-    set_subcategory( SUBCAT_AUDIO_AOUT );
-    add_shortcut( "directx" );
+vlc_module_begin ()
+    set_description( N_("DirectX audio output") )
+    set_shortname( "DirectX" )
+    set_capability( "audio output", 100 )
+    set_category( CAT_AUDIO )
+    set_subcategory( SUBCAT_AUDIO_AOUT )
+    add_shortcut( "directx" )
     add_integer( "directx-audio-device", 0, NULL, DEVICE_TEXT,
-                 DEVICE_LONGTEXT, true );
+                 DEVICE_LONGTEXT, true )
     add_bool( "directx-audio-float32", 0, 0, FLOAT_TEXT,
-              FLOAT_LONGTEXT, true );
-    set_callbacks( OpenAudio, CloseAudio );
-vlc_module_end();
+              FLOAT_LONGTEXT, true )
+    set_callbacks( OpenAudio, CloseAudio )
+vlc_module_end ()
 
 /*****************************************************************************
  * OpenAudio: open the audio device
@@ -388,7 +389,7 @@ static int OpenAudio( vlc_object_t *p_this )
     if( vlc_thread_create( p_aout->output.p_sys->p_notif,
                            "DirectSound Notification Thread",
                            DirectSoundThread,
-                           VLC_THREAD_PRIORITY_HIGHEST, false ) )
+                           VLC_THREAD_PRIORITY_HIGHEST ) )
     {
         msg_Err( p_aout, "cannot create DirectSoundThread" );
         CloseHandle( p_aout->output.p_sys->p_notif->event );
@@ -1053,13 +1054,11 @@ static void* DirectSoundThread( vlc_object_t *p_this )
     mtime_t last_time;
     HRESULT dsresult;
     long l_queued = 0;
+    int canc = vlc_savecancel ();
 
     /* We don't want any resampling when using S/PDIF output */
     b_sleek = p_aout->output.output.i_format == VLC_FOURCC('s','p','d','i');
 
-    /* Tell the main thread that we are ready */
-    vlc_thread_ready( p_notif );
-
     msg_Dbg( p_notif, "DirectSoundThread ready" );
 
     /* Wait here until Play() is called */
@@ -1147,6 +1146,7 @@ static void* DirectSoundThread( vlc_object_t *p_this )
     /* free the event */
     CloseHandle( p_notif->event );
 
+    vlc_restorecancel (canc);
     msg_Dbg( p_notif, "DirectSoundThread exiting" );
     return NULL;
 }