Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bitstream wasapi exlusive mode #1742

Closed
evdw87 opened this issue Mar 30, 2015 · 7 comments
Closed

Bitstream wasapi exlusive mode #1742

evdw87 opened this issue Mar 30, 2015 · 7 comments

Comments

@evdw87
Copy link

evdw87 commented Mar 30, 2015

On Windows, when specifying spdif as decoder, mpv should use wasapi excluvie mode by default.

@kevmitch
Copy link
Member

We also need to make sure that all the supportable bitstream formats (particularly dtshd, truehd) actually work, and correctly (as in correct number / mapping of channels).

@ghost
Copy link

ghost commented Mar 30, 2015

...which boils down to not touching the audio parameters if it's a passthrough format. You can use AF_FORMAT_IS_SPECIAL(x) for this.

kevmitch added a commit to kevmitch/mpv that referenced this issue Apr 2, 2015
* unify passthrough and pcm exclusive mode format setting/testing
* set passthrough format parameters correctly
* support all of mpv's existing passthrough formats
* automatically test passthrough with exclusive mode and enable
  exclusive if it succeeds, even if it was not explictly requested.
  this obviates the need for --ao=wasapi,wasapi=exclusive
* if passthrough fails (such as the device doesn't support the
  format), fallback to either exclusive pcm or shared mode depending
  on what the user specified.

fixes mpv-player#1742
@kevmitch
Copy link
Member

kevmitch commented Apr 2, 2015

@evdw87 could you test the above. In case you don't want to compile it, here an mpv.exe. I hope 64 bit is Ok.

@kevmitch
Copy link
Member

kevmitch commented Apr 2, 2015

let me know the output with --msg-level=ao=debug

@kevmitch
Copy link
Member

kevmitch commented Apr 3, 2015

for reference, that broke existing passthrough for ac3 and dts.

ac3 passthrough format was rejected by IsFormatSupported
dts passthrough was accepted, but the audio thread feed froze

my hypothesis is that this is a result of trying to set nBlockAlign.

kevmitch added a commit to kevmitch/mpv that referenced this issue Apr 3, 2015
* unify passthrough and pcm exclusive mode format setting/testing
* set passthrough format parameters correctly
* support all of mpv's existing passthrough formats
* automatically test passthrough with exclusive mode and enable
  exclusive if it succeeds, even if it was not explictly requested.
  this obviates the need for --ao=wasapi,wasapi=exclusive
* if passthrough fails (such as the device doesn't support the
  format), fallback to either exclusive pcm or shared mode depending
  on what the user specified.

fixes mpv-player#1742
kevmitch added a commit to kevmitch/mpv that referenced this issue Apr 3, 2015
@kevmitch
Copy link
Member

kevmitch commented Apr 3, 2015

ughgh, ignore all but the last of the above three. mpv-2ccee18.exe

weird console window bug should also be fixed.

kevmitch added a commit to kevmitch/mpv that referenced this issue Apr 3, 2015
@kevmitch
Copy link
Member

kevmitch commented Apr 3, 2015

fix stupid format GUID errors. mpv-d9609ad.exe

kevmitch added a commit to kevmitch/mpv that referenced this issue Apr 3, 2015
* unify passthrough and pcm exclusive mode format setting/testing
* set passthrough format parameters correctly
* support all of mpv's existing passthrough formats
* automatically test passthrough with exclusive mode and enable
  exclusive if it succeeds, even if it was not explictly requested.
  this obviates the need for --ao=wasapi,wasapi=exclusive
* if passthrough fails (such as the device doesn't support the
  format), fallback to either exclusive pcm or shared mode depending
  on what the user specified. Right now this isn't very useful as
  it still fails due to the decoder path remainin stuck on spdif.

fixes mpv-player#1742
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants