mirror of https://github.com/mpv-player/mpv
ao_alsa: don't make snd_pcm_hw_params_set_buffer_time_near() error fatal
Apparently this can "sometimes" return an error. In my opinion, this should never return an error: neither the semantics of the function, nor the ALSA documentation or ALSA sample code seem to indicate that a failure is to be expected. I'm not perfectly sure about this though (I blame ALSA being a weird, big, underdocumented API). Since it causes problems for some users, and since there is really no reason why we should abort on such an error, turn it into a warning. Fixes #1231.
This commit is contained in:
parent
b17585e636
commit
8607b0c44b
|
@ -78,6 +78,12 @@ struct priv {
|
|||
} \
|
||||
} while (0)
|
||||
|
||||
#define CHECK_ALSA_WARN(message) \
|
||||
do { \
|
||||
if (err < 0) \
|
||||
MP_WARN(ao, "%s: %s\n", (message), snd_strerror(err)); \
|
||||
} while (0)
|
||||
|
||||
static float get_delay(struct ao *ao);
|
||||
static void uninit(struct ao *ao);
|
||||
|
||||
|
@ -474,7 +480,7 @@ static int init(struct ao *ao)
|
|||
|
||||
err = snd_pcm_hw_params_set_buffer_time_near
|
||||
(p->alsa, alsa_hwparams, &(unsigned int){BUFFER_TIME}, NULL);
|
||||
CHECK_ALSA_ERROR("Unable to set buffer time near");
|
||||
CHECK_ALSA_WARN("Unable to set buffer time near");
|
||||
|
||||
err = snd_pcm_hw_params_set_periods_near
|
||||
(p->alsa, alsa_hwparams, &(unsigned int){FRAGCOUNT}, NULL);
|
||||
|
|
Loading…
Reference in New Issue