]> git.sesse.net Git - vlc/commitdiff
OSS: use software amplification
authorRémi Denis-Courmont <remi@remlab.net>
Thu, 19 Jul 2012 14:42:29 +0000 (17:42 +0300)
committerRémi Denis-Courmont <remi@remlab.net>
Thu, 19 Jul 2012 17:38:40 +0000 (20:38 +0300)
modules/audio_output/Modules.am
modules/audio_output/oss.c

index c732d9e79d795e8e6d28b21b5031de453286e809..43c63f8862d7973bb147ed107092b6d8e7e4c012 100644 (file)
@@ -20,9 +20,9 @@ libvlc_LTLIBRARIES += \
        libamem_plugin.la \
        libaout_file_plugin.la
 
-liboss_plugin_la_SOURCES = oss.c packet.c
+liboss_plugin_la_SOURCES = oss.c packet.c volume.h
 liboss_plugin_la_CFLAGS = $(AM_CFLAGS)
-liboss_plugin_la_LIBADD = $(AM_LIBADD) $(OSS_LIBS)
+liboss_plugin_la_LIBADD = $(AM_LIBADD) $(OSS_LIBS) $(LIBM)
 liboss_plugin_la_DEPENDENCIES =
 if HAVE_OSS
 libvlc_LTLIBRARIES += liboss_plugin.la
index 8222893b8c91927b6930b01ffd1fe7f2c3677e38..8633d7285c589f66598c73be5926b01e11d2dfee 100644 (file)
@@ -75,6 +75,8 @@ struct aout_sys_t
     int i_fragstotal;
     mtime_t max_buffer_duration;
     vlc_thread_t thread;
+    float soft_gain;
+    bool soft_mute;
 };
 
 /* This must be a power of 2. */
@@ -91,6 +93,8 @@ static void* OSSThread   ( void * );
 
 static mtime_t BufferDuration( audio_output_t * p_aout );
 
+#include "volume.h"
+
 /*****************************************************************************
  * Module descriptor
  *****************************************************************************/
@@ -102,6 +106,7 @@ vlc_module_begin ()
     set_subcategory( SUBCAT_AUDIO_AOUT )
     add_loadfile( "oss-audio-device", "/dev/dsp",
                   N_("OSS DSP device"), NULL, false )
+    add_sw_gain ()
 
     set_capability( "audio output", 100 )
     add_shortcut( "oss" )
@@ -471,7 +476,7 @@ static int Open( vlc_object_t *p_this )
 
         aout_PacketInit( p_aout, &p_sys->packet,
                          audio_buf.fragsize/p_aout->format.i_bytes_per_frame );
-        aout_VolumeSoftInit( p_aout );
+        aout_SoftVolumeInit( p_aout );
     }
 
     /* Create OSS thread and wait for its readiness. */