[AE/OsxSink] fix 16bit ne passthrough when there is no dedicated encoded stream #10680
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This restores the pcm passthrough mode for the osx sink when only 32bit float virtual formats are available.
We have multiple ways of passing through on osx
a. We open the physical stream and try to open a virtual stream with the same format so that no conversion is taking place and we get a raw passthrough situation
b. If we fail to open a virtual stream with 16bit integer 48000 Hz (which is the case if there simply is no suche virtual stream like on my mac mini for example), we use the bitstream option we had before (developed by jmarshall) which reverses the conversion from virtual to physical format which is done in the device/CoreAudio layer to achieve raw passthrough.
This PR adds the 2.b. use case again which was removed in
ddc3d29#diff-3dd678432bba9d51a39816409d376717
@FernetMenta you can try this with this patch http://pastebin.com/6MM375AX which basically disables the dedicated encoded streams and leaves you with only integer streams. On my macmini i get the same behavior as the user in the forum - it fails to find a virtual stream which matches the physical format and opens the nullsink ... (because my macmini also only has 32bit float virtual formats).
Jenkins bakes a testbuild i want to provide to the user too.