output: copy reqAudioFormat to outAudioFormat only if not yet open
If the output device is already open, it may have modified outAudioFormat; in this case, outAudioFormat is still valid, and does not need an overwrite.
This commit is contained in:
@@ -34,7 +34,13 @@ int audio_output_open(struct audio_output *audioOutput,
|
|||||||
audioOutput->inAudioFormat = *audioFormat;
|
audioOutput->inAudioFormat = *audioFormat;
|
||||||
|
|
||||||
if (audio_format_defined(&audioOutput->reqAudioFormat)) {
|
if (audio_format_defined(&audioOutput->reqAudioFormat)) {
|
||||||
audioOutput->outAudioFormat = audioOutput->reqAudioFormat;
|
/* copy reqAudioFormat to outAudioFormat only if the
|
||||||
|
device is not yet open; if it is already open,
|
||||||
|
plugin->open() may have modified outAudioFormat,
|
||||||
|
and the value is already ok */
|
||||||
|
if (!audioOutput->open)
|
||||||
|
audioOutput->outAudioFormat =
|
||||||
|
audioOutput->reqAudioFormat;
|
||||||
} else {
|
} else {
|
||||||
audioOutput->outAudioFormat = audioOutput->inAudioFormat;
|
audioOutput->outAudioFormat = audioOutput->inAudioFormat;
|
||||||
if (audioOutput->open)
|
if (audioOutput->open)
|
||||||
|
Reference in New Issue
Block a user