alsasink: fix high sample rates being rejected
authorVincent Penquerc'h <vincent.penquerch@collabora.co.uk>
Mon, 16 Jan 2012 11:43:25 +0000 (11:43 +0000)
committerVincent Penquerc'h <vincent.penquerch@collabora.co.uk>
Mon, 16 Jan 2012 11:46:05 +0000 (11:46 +0000)
An ALSA sink may select a different rate (as we use the _set_rate_near
API, which is not guaranteed to set the exact target rate).
The rest of the code seems to already handle this well, as output
from a 88200 Hz file seems to have the correct pitch when selecting
a 96 kHz rate.

ext/alsa/gstalsasink.c

index 20de864..7a5604a 100644 (file)
@@ -376,8 +376,6 @@ retry:
   rrate = alsa->rate;
   CHECK (snd_pcm_hw_params_set_rate_near (alsa->handle, params, &rrate, NULL),
       no_rate);
-  if (rrate != alsa->rate)
-    goto rate_match;
 
 #ifndef GST_DISABLE_GST_DEBUG
   /* get and dump some limits */
@@ -507,13 +505,6 @@ no_rate:
             alsa->rate, snd_strerror (err)));
     return err;
   }
-rate_match:
-  {
-    GST_ELEMENT_ERROR (alsa, RESOURCE, SETTINGS, (NULL),
-        ("Rate doesn't match (requested %iHz, get %iHz)", alsa->rate, rrate));
-    snd_pcm_hw_params_free (params);
-    return -EINVAL;
-  }
 buffer_size:
   {
     GST_ELEMENT_ERROR (alsa, RESOURCE, SETTINGS, (NULL),