ao_coreaudio_exclusive: move code for getting original format

Should be almost equivalent, unless there are streams on which this call
does not work for unknown reasons.
This commit is contained in:
wm4 2015-04-28 22:11:43 +02:00
parent d5e9bf66a1
commit 8b4ca58062
1 changed files with 4 additions and 6 deletions

View File

@ -433,12 +433,6 @@ static int init_digital(struct ao *ao, AudioStreamBasicDescription asbd)
bool digital = ca_stream_supports_digital(ao, streams[i]);
if (digital) {
err = CA_GET(streams[i], kAudioStreamPropertyPhysicalFormat,
&p->original_asbd);
if (!CHECK_CA_WARN("could not get stream's physical format to "
"revert to, getting the next one"))
continue;
AudioStreamRangedDescription *formats;
size_t n_formats;
@ -485,6 +479,10 @@ static int init_digital(struct ao *ao, AudioStreamBasicDescription asbd)
goto coreaudio_error;
}
err = CA_GET(p->stream, kAudioStreamPropertyPhysicalFormat,
&p->original_asbd);
CHECK_CA_ERROR("could not get stream's original physical format");
if (!ca_change_format(ao, p->stream, p->stream_asbd))
goto coreaudio_error;