mirror of
https://gitlab.freedesktop.org/pulseaudio/pulseaudio.git
synced 2025-11-05 13:29:57 -05:00
Correct wav file creation for 24/32 and 24 bits sample formats HSD=3669357
This commit is contained in:
parent
b7779ecce0
commit
bada9040dd
1 changed files with 11 additions and 2 deletions
|
|
@ -51,6 +51,9 @@ int pa_sndfile_read_sample_spec(SNDFILE *sf, pa_sample_spec *ss) {
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case SF_FORMAT_PCM_24:
|
case SF_FORMAT_PCM_24:
|
||||||
|
ss->format = PA_SAMPLE_S24NE;
|
||||||
|
break;
|
||||||
|
|
||||||
case SF_FORMAT_PCM_32:
|
case SF_FORMAT_PCM_32:
|
||||||
ss->format = PA_SAMPLE_S32NE;
|
ss->format = PA_SAMPLE_S32NE;
|
||||||
break;
|
break;
|
||||||
|
|
@ -106,10 +109,14 @@ int pa_sndfile_write_sample_spec(SF_INFO *sfi, pa_sample_spec *ss) {
|
||||||
|
|
||||||
case PA_SAMPLE_S24LE:
|
case PA_SAMPLE_S24LE:
|
||||||
case PA_SAMPLE_S24BE:
|
case PA_SAMPLE_S24BE:
|
||||||
|
ss->format = PA_SAMPLE_S24NE;
|
||||||
|
sfi->format |= SF_FORMAT_PCM_24;
|
||||||
|
break;
|
||||||
|
|
||||||
case PA_SAMPLE_S24_32LE:
|
case PA_SAMPLE_S24_32LE:
|
||||||
case PA_SAMPLE_S24_32BE:
|
case PA_SAMPLE_S24_32BE:
|
||||||
ss->format = PA_SAMPLE_S32NE;
|
ss->format = PA_SAMPLE_S24_32NE;
|
||||||
sfi->format |= SF_FORMAT_PCM_24;
|
sfi->format |= SF_FORMAT_PCM_32;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case PA_SAMPLE_S32LE:
|
case PA_SAMPLE_S32LE:
|
||||||
|
|
@ -362,6 +369,7 @@ pa_sndfile_readf_t pa_sndfile_readf_function(const pa_sample_spec *ss) {
|
||||||
return (pa_sndfile_readf_t) sf_readf_short;
|
return (pa_sndfile_readf_t) sf_readf_short;
|
||||||
|
|
||||||
case PA_SAMPLE_S32NE:
|
case PA_SAMPLE_S32NE:
|
||||||
|
case PA_SAMPLE_S24_32NE:
|
||||||
return (pa_sndfile_readf_t) sf_readf_int;
|
return (pa_sndfile_readf_t) sf_readf_int;
|
||||||
|
|
||||||
case PA_SAMPLE_FLOAT32NE:
|
case PA_SAMPLE_FLOAT32NE:
|
||||||
|
|
@ -384,6 +392,7 @@ pa_sndfile_writef_t pa_sndfile_writef_function(const pa_sample_spec *ss) {
|
||||||
return (pa_sndfile_writef_t) sf_writef_short;
|
return (pa_sndfile_writef_t) sf_writef_short;
|
||||||
|
|
||||||
case PA_SAMPLE_S32NE:
|
case PA_SAMPLE_S32NE:
|
||||||
|
case PA_SAMPLE_S24_32NE:
|
||||||
return (pa_sndfile_writef_t) sf_writef_int;
|
return (pa_sndfile_writef_t) sf_writef_int;
|
||||||
|
|
||||||
case PA_SAMPLE_FLOAT32NE:
|
case PA_SAMPLE_FLOAT32NE:
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue