]> de.git.xonotic.org Git - xonotic/darkplaces.git/blobdiff - snd_alsa.c
capturevideo refactoring, making AVI also "just a module" for it
[xonotic/darkplaces.git] / snd_alsa.c
index 96c8b2d1abeee45cb058ca48b16791ea6b967bfc..3f9534ae21f3cbf61a3d7ad95cb7f3662f752cb7 100644 (file)
@@ -73,16 +73,16 @@ qboolean SndSys_Init (const snd_format_t* requested, snd_format_t* suggested)
                        Con_Printf ("SndSys_Init: suggesting sound width = %hu\n",
                                                suggested->width);
                }
-               
+
                return false;
     }
-       
+
        if (pcm_handle != NULL)
        {
                Con_Print ("SndSys_Init: WARNING: Init called before Shutdown!\n");
                SndSys_Shutdown ();
        }
-       
+
        // Determine the name of the PCM handle we'll use
        switch (requested->channels)
        {
@@ -105,25 +105,25 @@ qboolean SndSys_Init (const snd_format_t* requested, snd_format_t* suggested)
                pcm_name = com_argv[i + 1];
 
        // Open the audio device
-       Con_DPrintf ("SndSys_Init: PCM device is \"%s\"\n", pcm_name);
+       Con_Printf ("SndSys_Init: PCM device is \"%s\"\n", pcm_name);
        err = snd_pcm_open (&pcm_handle, pcm_name, SND_PCM_STREAM_PLAYBACK, SND_PCM_NONBLOCK);
-       if (err != 0)
+       if (err < 0)
        {
                Con_Printf ("SndSys_Init: can't open audio device \"%s\" (%s)\n",
                                        pcm_name, snd_strerror (err));
                return false;
        }
-       
+
        // Allocate the hardware parameters
        err = snd_pcm_hw_params_malloc (&hw_params);
-       if (err != 0)
+       if (err < 0)
        {
                Con_Printf ("SndSys_Init: can't allocate hardware parameters (%s)\n",
                                        snd_strerror (err));
                goto init_error;
        }
        err = snd_pcm_hw_params_any (pcm_handle, hw_params);
-       if (err != 0)
+       if (err < 0)
        {
                Con_Printf ("SndSys_Init: can't initialize hardware parameters (%s)\n",
                                        snd_strerror (err));
@@ -132,7 +132,7 @@ qboolean SndSys_Init (const snd_format_t* requested, snd_format_t* suggested)
 
        // Set the access type
        err = snd_pcm_hw_params_set_access (pcm_handle, hw_params, SND_PCM_ACCESS_RW_INTERLEAVED);
-       if (err != 0)
+       if (err < 0)
        {
                Con_Printf ("SndSys_Init: can't set access type (%s)\n",
                                        snd_strerror (err));
@@ -145,7 +145,7 @@ qboolean SndSys_Init (const snd_format_t* requested, snd_format_t* suggested)
        else
                snd_pcm_format = SND_PCM_FORMAT_S16;
        err = snd_pcm_hw_params_set_format (pcm_handle, hw_params, snd_pcm_format);
-       if (err != 0)
+       if (err < 0)
        {
                Con_Printf ("SndSys_Init: can't set sound width to %hu (%s)\n",
                                        requested->width, snd_strerror (err));
@@ -154,7 +154,7 @@ qboolean SndSys_Init (const snd_format_t* requested, snd_format_t* suggested)
 
        // Set the sound channels
        err = snd_pcm_hw_params_set_channels (pcm_handle, hw_params, requested->channels);
-       if (err != 0)
+       if (err < 0)
        {
                Con_Printf ("SndSys_Init: can't set sound channels to %hu (%s)\n",
                                        requested->channels, snd_strerror (err));
@@ -163,7 +163,7 @@ qboolean SndSys_Init (const snd_format_t* requested, snd_format_t* suggested)
 
        // Set the sound speed
        err = snd_pcm_hw_params_set_rate (pcm_handle, hw_params, requested->speed, 0);
-       if (err != 0)
+       if (err < 0)
        {
                Con_Printf ("SndSys_Init: can't set sound speed to %u (%s)\n",
                                        requested->speed, snd_strerror (err));
@@ -172,7 +172,7 @@ qboolean SndSys_Init (const snd_format_t* requested, snd_format_t* suggested)
 
        buffer_size = requested->speed / 5;
        err = snd_pcm_hw_params_set_buffer_size_near (pcm_handle, hw_params, &buffer_size);
-       if (err != 0)
+       if (err < 0)
        {
                Con_Printf ("SndSys_Init: can't set sound buffer size to %lu (%s)\n",
                                        buffer_size, snd_strerror (err));
@@ -181,7 +181,7 @@ qboolean SndSys_Init (const snd_format_t* requested, snd_format_t* suggested)
 
        buffer_size /= NB_PERIODS;
        err = snd_pcm_hw_params_set_period_size_near(pcm_handle, hw_params, &buffer_size, 0);
-       if (err != 0)
+       if (err < 0)
        {
                Con_Printf ("SndSys_Init: can't set sound period size to %lu (%s)\n",
                                        buffer_size, snd_strerror (err));
@@ -189,7 +189,7 @@ qboolean SndSys_Init (const snd_format_t* requested, snd_format_t* suggested)
        }
 
        err = snd_pcm_hw_params (pcm_handle, hw_params);
-       if (err != 0)
+       if (err < 0)
        {
                Con_Printf ("SndSys_Init: can't set hardware parameters (%s)\n",
                                        snd_strerror (err));
@@ -203,13 +203,13 @@ qboolean SndSys_Init (const snd_format_t* requested, snd_format_t* suggested)
        alsasoundtime = 0;
        if (snd_channellayout.integer == SND_CHANNELLAYOUT_AUTO)
                Cvar_SetValueQuick (&snd_channellayout, SND_CHANNELLAYOUT_ALSA);
-       
+
        return true;
 
 
 // It's not very clean, but it avoids a lot of duplicated code.
 init_error:
-       
+
        if (hw_params != NULL)
                snd_pcm_hw_params_free (hw_params);
        SndSys_Shutdown ();
@@ -255,11 +255,11 @@ static qboolean SndSys_Recover (int err_num)
        // We can only do something on underrun ("broken pipe") errors
        if (err_num != -EPIPE)
                return false;
-                       
+
        err = snd_pcm_prepare (pcm_handle);
-       if (err != 0)
+       if (err < 0)
        {
-               Con_DPrintf ("SndSys_Recover: unable to recover (%s)\n",
+               Con_Printf ("SndSys_Recover: unable to recover (%s)\n",
                                         snd_strerror (err));
 
                // TOCHECK: should we stop the playback ?
@@ -300,7 +300,7 @@ static snd_pcm_sframes_t SndSys_Write (const unsigned char* buffer, unsigned int
                snd_renderbuffer->startframe += written;
                expected_delay += written;
        }
-       
+
        return written;
 }
 
@@ -317,7 +317,7 @@ void SndSys_Submit (void)
        unsigned int startoffset, factor;
        snd_pcm_uframes_t limit, nbframes;
        snd_pcm_sframes_t written;
-       
+
        if (pcm_handle == NULL ||
                snd_renderbuffer->startframe == snd_renderbuffer->endframe)
                return;
@@ -332,7 +332,7 @@ void SndSys_Submit (void)
                written = SndSys_Write (&snd_renderbuffer->ring[startoffset * factor], limit);
                if (written < 0 || (snd_pcm_uframes_t)written != limit)
                        return;
-               
+
                nbframes -= limit;
                startoffset = 0;
        }
@@ -359,7 +359,7 @@ unsigned int SndSys_GetSoundTime (void)
                return 0;
 
        err = snd_pcm_delay (pcm_handle, &delay);
-       if (err != 0)
+       if (err < 0)
        {
                if (developer.integer >= 1000 && vid_activewindow)
                        Con_DPrintf ("SndSys_GetSoundTime: can't get playback delay (%s)\n",
@@ -369,7 +369,7 @@ unsigned int SndSys_GetSoundTime (void)
                        return 0;
 
                err = snd_pcm_delay (pcm_handle, &delay);
-               if (err != 0)
+               if (err < 0)
                {
                        Con_DPrintf ("SndSys_GetSoundTime: can't get playback delay, again (%s)\n",
                                                 snd_strerror (err));
@@ -386,9 +386,9 @@ unsigned int SndSys_GetSoundTime (void)
        else
                timediff = expected_delay - delay;
        expected_delay = delay;
-       
+
        alsasoundtime += (unsigned int)timediff;
-       
+
        return alsasoundtime;
 }