static const pa_sample_format_t try_order[] = {
        PA_SAMPLE_FLOAT32NE,
        PA_SAMPLE_FLOAT32RE,
        PA_SAMPLE_S32NE,
        PA_SAMPLE_S32RE,
        PA_SAMPLE_S24_32NE,
        PA_SAMPLE_S24_32RE,
        PA_SAMPLE_S24NE,
        PA_SAMPLE_S24RE,
+      PA_SAMPLE_S24LE,
        PA_SAMPLE_S16NE,
        PA_SAMPLE_S16RE,
        PA_SAMPLE_ALAW,
        PA_SAMPLE_ULAW,
        PA_SAMPLE_U8
    };

Seem missing PA_SAMPLE_S24LE in try_order, not sure any assembley code need to be changed

You need to call snd_pcm_hw_params_test_format first, if format is supported call snd_pcm_hw_params_set_format

There are three calls in set_format

- if ((ret = snd_pcm_hw_params_set_format(pcm_handle, hwparams, format_trans[*f])) >= 0)
 -       return ret;
+ if (snd_pcm_hw_params_test_format(pcm_handle, hwparams, format_trans[*f]) == 0) + return snd_pcm_hw_params_set_format(pcm_handle, hwparams, format_trans[*f]);
+else
-   pa_log_debug("snd_pcm_hw_params_set_format(%s) failed: %s",
                 snd_pcm_format_description(format_trans[*f]),
                 pa_alsa_strerror(ret));
    pa_log_debug("format (%s) not supported",
                 snd_pcm_format_description(format_trans[*f]));

PA_SAMPLE_S24LE seems to be missing indeed (but why there are 3 *S24* items, all other are in pairs?), but this patch doesn't change anything - log is the same, both in automatic detection mode and when specified explicitly.

Sincerely, Nazar Mokrynskyi
github.com/nazar-pc
Skype: nazar-pc
Diaspora: [email protected]
Tox: 
A9D95C9AA5F7A3ED75D83D0292E22ACE84BA40E912185939414475AF28FD2B2A5C8EF5261249


Attachment: smime.p7s
Description: Кріптографічний підпис S/MIME

_______________________________________________
pulseaudio-discuss mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/pulseaudio-discuss

Reply via email to