audioconvert: only resample on supported formats
This commit is contained in:
parent
d348fbb9b9
commit
98bd349b88
@ -950,6 +950,8 @@ gst_audio_converter_new (GstAudioConverterFlags flags, GstAudioInfo * in_info,
|
|||||||
/* step 7, pack */
|
/* step 7, pack */
|
||||||
convert->pack_chain = chain_pack (convert, prev);
|
convert->pack_chain = chain_pack (convert, prev);
|
||||||
|
|
||||||
|
convert->convert = converter_generic;
|
||||||
|
|
||||||
/* optimize */
|
/* optimize */
|
||||||
if (out_info->finfo->format == in_info->finfo->format
|
if (out_info->finfo->format == in_info->finfo->format
|
||||||
&& convert->mix_passthrough) {
|
&& convert->mix_passthrough) {
|
||||||
@ -958,12 +960,14 @@ gst_audio_converter_new (GstAudioConverterFlags flags, GstAudioInfo * in_info,
|
|||||||
("same formats, no resampler and passthrough mixing -> passthrough");
|
("same formats, no resampler and passthrough mixing -> passthrough");
|
||||||
convert->convert = converter_passthrough;
|
convert->convert = converter_passthrough;
|
||||||
} else {
|
} else {
|
||||||
|
if (in_info->finfo->format == GST_AUDIO_FORMAT_S16 ||
|
||||||
|
in_info->finfo->format == GST_AUDIO_FORMAT_S32 ||
|
||||||
|
in_info->finfo->format == GST_AUDIO_FORMAT_F32 ||
|
||||||
|
in_info->finfo->format == GST_AUDIO_FORMAT_F64) {
|
||||||
GST_INFO ("same formats, and passthrough mixing -> only resampling");
|
GST_INFO ("same formats, and passthrough mixing -> only resampling");
|
||||||
convert->convert = converter_resample;
|
convert->convert = converter_resample;
|
||||||
}
|
}
|
||||||
} else {
|
}
|
||||||
GST_INFO ("do full conversion");
|
|
||||||
convert->convert = converter_generic;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
setup_allocators (convert);
|
setup_allocators (convert);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user