clsid2 / mpc-hc

Media Player Classic
GNU General Public License v3.0
11.02k stars 491 forks source link

Second instance does not playback D3D properly #615

Closed karelholubicka closed 3 years ago

karelholubicka commented 4 years ago

Hi all, when more players are launched at once, only fist one plays properly when switched to D3D playback fullscreen . Any other instance switched to D3D fullscreen is placed invisibly on the correct screen, but image is drawed on primary screen. I use synchronized players for multiscreens and this is unusable now. Latest properly working build is 1.7.13; since 1.7.13.113 (removal of XP compatibility and 1.4.0_xp) is this bug present.

How to reproduce with 2 screens only: Set secondary screen to low res (800x600). Start two players on primary screen, set theirs fullscreen monitor to secondary and launch D3D fulscreen. First player launches OK, but second player's fullscreen does not go over first one, but is shown in upper left 800x600 corner of primary monitor.

If you exit first ("good") player and reenter fullscreen on second player, it plays OK.

Both Sync and EVR renderers do this. I believe this bug is in execution CreateEx for fullscreen window, where some conflict between MPCHC instances occures, but I was unable to find any solution.

Aleksoid1978 commented 4 years ago

D3D fulscreen support only one instance per monitor, it's not MPC-HC fail.

karelholubicka commented 4 years ago

Hi, I described this scenario only to simplify bug tracking whithout need of three monitors.

Proper description:

Use three monitors (#1,#2,#3), place two players on primary screen #1, set one player to fullscren #2 and second to #3. First player plays correctly at #2, but the second one plays image on #1 with size of #3, and with invisible controls on #3.

Karel

From: Aleksoid1978 notifications@github.com Sent: Monday, September 14, 2020 1:40 AM To: clsid2/mpc-hc mpc-hc@noreply.github.com Cc: karelholubicka karel@polas.cz; Author author@noreply.github.com Subject: Re: [clsid2/mpc-hc] Second instance does not playback D3D properly (#615)

D3D fulscreen support only one instance per monitor, it's not MPC-HC fail. — You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/clsid2/mpc-hc/issues/615#issuecomment-691742443 , or https://github.com/notifications/unsubscribe-auth/AKSTHUC47X7C3CP5CRCOFVTSFVJ4TANCNFSM4RK4JRKA unsubscribe. https://github.com/notifications/beacon/AKSTHUGKBDTTGZIWLACTHCLSFVJ4TA5CNFSM4RK4JRKKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOFE5SN2Y.gif

Aleksoid1978 commented 4 years ago

Try play in MPC-HC + D3D fullscreen exclusive and some DirectX9 game in fullscreen, on different monitor. Will it work out?

karelholubicka commented 4 years ago

It works flawlessly with MPCHC 1.7.13., even with 4 monitor and 3 players. Later versions are broken.

Karel

From: Aleksoid1978 notifications@github.com Sent: Monday, September 14, 2020 9:27 AM To: clsid2/mpc-hc mpc-hc@noreply.github.com Cc: karelholubicka karel@polas.cz; Author author@noreply.github.com Subject: Re: [clsid2/mpc-hc] Second instance does not playback D3D properly (#615)

Try play in MPC-HC + D3D fullscreen exclusive and some DirectX9 game in fullscreen, on different monitor. Will it work out? — You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/clsid2/mpc-hc/issues/615#issuecomment-691872834 , or https://github.com/notifications/unsubscribe-auth/AKSTHUC35KTITPCIDMZWM6DSFXATTANCNFSM4RK4JRKA unsubscribe. https://github.com/notifications/beacon/AKSTHUDK7FXWXARBXP4WPLDSFXATTA5CNFSM4RK4JRKKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOFE6SIQQ.gif

clsid2 commented 4 years ago

This problem started after updating to a newer Windows SDK. So problem might be in code from Microsoft.

It also happens with a single instance. Enter exclusive fullscreen, exit, enter exclusive fullscreen again. Video will be black.

I don't know how to fix. Obvious solution is just to not use exclusive fullscreen mode. It is a useless feature in most cases anyway. If playback is not stable without it, then your system is just broken or underpowered.

karelholubicka commented 4 years ago

Yes, I also think Microsoft SDK causes the problem.

Exclusive mode gives me overview of all players on one screen, each supplying own other screen (if switched "on"= fullscreen). Plus sync renderer has best results to me in tearing prevention.

In TV world, all displays follow signal/source sync to display perfect image, which is not easy or impossible in PCs. where Vsync does not follow video source.

Thank you for your time Karel

From: clsid2 Sent: Monday, September 14, 2020 3:18 PM To: clsid2/mpc-hc Cc: karelholubicka ; Author Subject: Re: [clsid2/mpc-hc] Second instance does not playback D3D properly (#615)

This problem started after updating to a newer Windows SDK. So problem might be in code from Microsoft.

It also happens with a single instance. Enter exclusive fullscreen, exit, enter exclusive fullscreen again. Video will be black.

I don't know how to fix. Obvious solution is just to not use exclusive fullscreen mode. It is a useless feature in most cases anyway. If playback is not stable without it, then your system is just broken or underpowered.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or unsubscribe.

demolitioner commented 4 years ago

@clsid2

This problem started after updating to a newer Windows SDK. So problem might be in code from Microsoft.

It also happens with a single instance. Enter exclusive fullscreen, exit, enter exclusive fullscreen again. Video will be black.

I don't know how to fix. Obvious solution is just to not use exclusive fullscreen mode. It is a useless feature in most cases anyway. If playback is not stable without it, then your system is just broken or underpowered.

If you are aware of this issue (impossible to play video after reentering fullscreen), it’s strange for me why you haven’t answered my issue so far: https://github.com/clsid2/mpc-hc/issues/546

And yet, the problem with a single instance in D3D does not occur if the video is played by MPC-HC not from the command line, but in the usual way (see my issue for an excellent explanation). I.e. how is this even possible if the problem comes from the Windows SDK? I think the problem is still in MPC-HC.

clsid2 commented 4 years ago

I don't have time to look at every issue.

This issue I described was actually fixed already. I forgot about that. Problems with command line parameters is different issue.

adipose commented 4 years ago

I fixed some d3d fullscreen issues before. Here are the pulls for reference:

https://github.com/clsid2/mpc-hc/pull/185 https://github.com/clsid2/mpc-hc/pull/188

karelholubicka commented 4 years ago

Thank you. I checked it and your updates are already in the code I use.

regards Karel

From: adipose notifications@github.com Sent: Wednesday, September 16, 2020 7:16 PM To: clsid2/mpc-hc mpc-hc@noreply.github.com Cc: karelholubicka karel@polas.cz; Author author@noreply.github.com Subject: Re: [clsid2/mpc-hc] Second instance does not playback D3D properly (#615)

I fixed some d3d fullscreen issues before. Here are the pulls for reference:

185 https://github.com/clsid2/mpc-hc/pull/185

188 https://github.com/clsid2/mpc-hc/pull/188

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/clsid2/mpc-hc/issues/615#issuecomment-693544186 , or https://github.com/notifications/unsubscribe-auth/AKSTHUAKALR56G2XSTD33S3SGDXEVANCNFSM4RK4JRKA unsubscribe. https://github.com/notifications/beacon/AKSTHUFL4ROQYJJEYIRZ6OTSGDXEVA5CNFSM4RK4JRKKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOFFLKJ6Q.gif

Aleksoid1978 commented 4 years ago

Can you check in MPC-BE(latest SVN here - https://yadi.sk/d/hlf1lfC8mKU58/!_last) ?

karelholubicka commented 4 years ago

Sure, probably Monday evening. I’ll let you know.

Karel

From: Aleksoid1978 [mailto:notifications@github.com] Sent: Friday, September 18, 2020 6:17 AM To: clsid2/mpc-hc mpc-hc@noreply.github.com Cc: karelholubicka karel@polas.cz; Author author@noreply.github.com Subject: Re: [clsid2/mpc-hc] Second instance does not playback D3D properly (#615)

Can you check in MPC-BE(latest SVN here - https://yadi.sk/d/hlf1lfC8mKU58/!_last) ?

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/clsid2/mpc-hc/issues/615#issuecomment-694640155 , or unsubscribe https://github.com/notifications/unsubscribe-auth/AKSTHUAYGJ4BGQNCXU7QM53SGLNLPANCNFSM4RK4JRKA . https://github.com/notifications/beacon/AKSTHUDVPJ34XR5KYX7X2VTSGLNLPA5CNFSM4RK4JRKKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOFFTV4GY.gif

karelholubicka commented 4 years ago

Hi, I didn’t want to install Yandex just to get to the files, so I tried https://sourceforge.net/projects/mpcbe/files/MPC-BE/Release%20builds/1.5.5/MPC-BE.1.5.5.5433.x86.7z/download MPC-BE.1.5.5.5433.x86.7z

enabled D3D (named Exclusive fullscreen there), and surprisingly, it worked properly.

However, I modified MPC-HC before to play playlist files without black frames inbetween and added some variables to web interface.

So for me using MPC-BE instead of MPC-HC will mean to do these changes again. But it seems to be better solution, than via MPCHC, where I was unable to get both goal at once.

You use 1.4.0_xp or later ?Can this be the core?

thanks,

Karel Holubicka

From: Aleksoid1978 notifications@github.com Sent: Friday, September 18, 2020 6:17 AM To: clsid2/mpc-hc mpc-hc@noreply.github.com Cc: karelholubicka karel@polas.cz; Author author@noreply.github.com Subject: Re: [clsid2/mpc-hc] Second instance does not playback D3D properly (#615)

Can you check in MPC-BE(latest SVN here - https://yadi.sk/d/hlf1lfC8mKU58/!_last) ? — You are receiving this because you authored the thread. Reply to this email directly, https://github.com/clsid2/mpc-hc/issues/615#issuecomment-694640155 view it on GitHub, or https://github.com/notifications/unsubscribe-auth/AKSTHUAYGJ4BGQNCXU7QM53SGLNLPANCNFSM4RK4JRKA unsubscribe. https://github.com/notifications/beacon/AKSTHUDVPJ34XR5KYX7X2VTSGLNLPA5CNFSM4RK4JRKKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOFFTV4GY.gif

adipose commented 4 years ago

Can you test this build?

https://mega.nz/file/VVZEhZDB#pQzqyXgMufXB7A041RaheUp1gB-CrxaFuip6re5AnhI

karelholubicka commented 4 years ago

Hi, I tried to compile MPC-BE, to test the difference closer.

It is very similar to compiling MPC-HC, I did all the requested things inluding new/different MINGW settings, but i and cannot get rid of weird linking errors: wcslen already defined in libmingwex.a strnen already defined in libmingwex.a _imagebase unknown (in libmingwex.a)

all related to c:\mpc-be\src\apps\mplayerc\libmingwex.a(lib64_libmingwex_a-delayimp.o)

Any thoughts? You may email me directly at karel@polas.cz

thanks Karel

From: Aleksoid1978 notifications@github.com Sent: Friday, September 18, 2020 6:17 AM To: clsid2/mpc-hc mpc-hc@noreply.github.com Cc: karelholubicka karel@polas.cz; Author author@noreply.github.com Subject: Re: [clsid2/mpc-hc] Second instance does not playback D3D properly (#615)

Can you check in MPC-BE(latest SVN here - https://yadi.sk/d/hlf1lfC8mKU58/!_last) ? — You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/clsid2/mpc-hc/issues/615#issuecomment-694640155 , or https://github.com/notifications/unsubscribe-auth/AKSTHUAYGJ4BGQNCXU7QM53SGLNLPANCNFSM4RK4JRKA unsubscribe. https://github.com/notifications/beacon/AKSTHUDVPJ34XR5KYX7X2VTSGLNLPA5CNFSM4RK4JRKKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOFFTV4GY.gif

adipose commented 4 years ago

@karelholubicka did you try the build I linked?

adipose commented 4 years ago

Hi, I tried to compile MPC-BE, to test the difference closer. It is very similar to compiling MPC-HC, I did all the requested things inluding new/different MINGW settings, but i and cannot get rid of weird linking errors: wcslen already defined in libmingwex.a strnen already defined in libmingwex.a _imagebase unknown (in libmingwex.a) all related to c:\mpc-be\src\apps\mplayerc\libmingwex.a(lib64_libmingwex_a-delayimp.o) Any thoughts? You may email me directly at karel@polas.cz thanks Karel From: Aleksoid1978 notifications@github.com Sent: Friday, September 18, 2020 6:17 AM To: clsid2/mpc-hc mpc-hc@noreply.github.com Cc: karelholubicka karel@polas.cz; Author author@noreply.github.com Subject: Re: [clsid2/mpc-hc] Second instance does not playback D3D properly (#615) Can you check in MPC-BE(latest SVN here - https://yadi.sk/d/hlf1lfC8mKU58/!_last) ? — You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub <#615 (comment)> , or https://github.com/notifications/unsubscribe-auth/AKSTHUAYGJ4BGQNCXU7QM53SGLNLPANCNFSM4RK4JRKA unsubscribe. https://github.com/notifications/beacon/AKSTHUDVPJ34XR5KYX7X2VTSGLNLPA5CNFSM4RK4JRKKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOFFTV4GY.gif

You have to download a special build of mingw. I recognize the link error. It's documented somewhere...

karelholubicka commented 4 years ago

Tried, did not work.

Exhibit same behaviour – second (and others) D3D windows open only on primary screen, even when pointed elsewhere. The „underlying“ invisible window, however, opens on correct screen, so I have to click on empty screen, to pause video running (wrongly) on primary screen.

Karel

From: adipose notifications@github.com Sent: Saturday, September 26, 2020 7:55 PM To: clsid2/mpc-hc mpc-hc@noreply.github.com Cc: karelholubicka karel@polas.cz; Mention mention@noreply.github.com Subject: Re: [clsid2/mpc-hc] Second instance does not playback D3D properly (#615)

@karelholubicka https://github.com/karelholubicka did you try the build I linked? — You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/clsid2/mpc-hc/issues/615#issuecomment-699527455 , or https://github.com/notifications/unsubscribe-auth/AKSTHUF5PMQHWA7SA4I2PADSHYTGFANCNFSM4RK4JRKA unsubscribe. https://github.com/notifications/beacon/AKSTHUCEH2YHWOV2LKJX2GDSHYTGFA5CNFSM4RK4JRKKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOFGY7CHY.gif

karelholubicka commented 4 years ago

Yes, I downloaded the special build http://mpc-be.org/MSYS/MSYS_MinGW-w64_GCC_1020_x86-x64.7z mentioned in Compilation txt.

MPC-HC uses other build.

Karel

From: adipose notifications@github.com Sent: Saturday, September 26, 2020 8:37 PM To: clsid2/mpc-hc mpc-hc@noreply.github.com Cc: karelholubicka karel@polas.cz; Mention mention@noreply.github.com Subject: Re: [clsid2/mpc-hc] Second instance does not playback D3D properly (#615)

Hi, I tried to compile MPC-BE, to test the difference closer. It is very similar to compiling MPC-HC, I did all the requested things inluding new/different MINGW settings, but i and cannot get rid of weird linking errors: wcslen already defined in libmingwex.a strnen already defined in libmingwex.a image_base unknown (in libmingwex.a) all related to c:\mpc-be\src\apps\mplayerc\libmingwex.a(lib64_libmingwex_a-delayimp.o) Any thoughts? You may email me directly at karel@polas.cz mailto:karel@polas.cz thanks Karel From: Aleksoid1978 notifications@github.com mailto:notifications@github.com Sent: Friday, September 18, 2020 6:17 AM To: clsid2/mpc-hc mpc-hc@noreply.github.com mailto:mpc-hc@noreply.github.com Cc: karelholubicka karel@polas.cz mailto:karel@polas.cz ; Author author@noreply.github.com mailto:author@noreply.github.com Subject: Re: [clsid2/mpc-hc] Second instance does not playback D3D properly (#615 https://github.com/clsid2/mpc-hc/issues/615 ) Can you check in MPC-BE(latest SVN here - https://yadi.sk/d/hlf1lfC8mKU58/!_last) ? — You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub <#615 (comment) https://github.com/clsid2/mpc-hc/issues/615#issuecomment-694640155 > , or https://github.com/notifications/unsubscribe-auth/AKSTHUAYGJ4BGQNCXU7QM53SGLNLPANCNFSM4RK4JRKA unsubscribe. https://github.com/notifications/beacon/AKSTHUDVPJ34XR5KYX7X2VTSGLNLPA5CNFSM4RK4JRKKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOFFTV4GY.gif You have to download a special build of mingw. I recognize the link error. It's documented somewhere... — You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/clsid2/mpc-hc/issues/615#issuecomment-699532280 , or https://github.com/notifications/unsubscribe-auth/AKSTHUBTVG5Y6SQ3JOVP2XLSHYYEXANCNFSM4RK4JRKA unsubscribe. https://github.com/notifications/beacon/AKSTHUFEEPEA5RCZGRYAGV3SHYYEXA5CNFSM4RK4JRKKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOFGZAH6A.gif

adipose commented 4 years ago

Tried, did not work.

Exhibit same behaviour – second (and others) D3D windows open only on primary screen, even when pointed elsewhere. The „underlying“ invisible window, however, opens on correct screen, so I have to click on empty screen, to pause video running (wrongly) on primary screen.

Karel

From: adipose notifications@github.com Sent: Saturday, September 26, 2020 7:55 PM To: clsid2/mpc-hc mpc-hc@noreply.github.com Cc: karelholubicka karel@polas.cz; Mention mention@noreply.github.com Subject: Re: [clsid2/mpc-hc] Second instance does not playback D3D properly (#615)

@karelholubicka https://github.com/karelholubicka did you try the build I linked? — You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/clsid2/mpc-hc/issues/615#issuecomment-699527455 , or https://github.com/notifications/unsubscribe-auth/AKSTHUF5PMQHWA7SA4I2PADSHYTGFANCNFSM4RK4JRKA unsubscribe. https://github.com/notifications/beacon/AKSTHUCEH2YHWOV2LKJX2GDSHYTGFA5CNFSM4RK4JRKKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOFGY7CHY.gif

What if you use alt-tab to switch between instances rather than clicking? It sounds like the problem starts with the clicking.

karelholubicka commented 4 years ago

Hi, there must be some misunderstanding.

I talked about „clicking“ just to better illustrate this problem . (D3D window opens on different monitor than MPCHC expects it)

Alt tab does not solve anything, just switches instances, but problem remains - – D3D window of second instance runs on primary monitor, even when set & should be elsewhere.

Karel

From: adipose notifications@github.com Sent: Saturday, September 26, 2020 9:41 PM To: clsid2/mpc-hc mpc-hc@noreply.github.com Cc: karelholubicka karel@polas.cz; Mention mention@noreply.github.com Subject: Re: [clsid2/mpc-hc] Second instance does not playback D3D properly (#615)

Tried, did not work. Exhibit same behaviour – second (and others) D3D windows open only on primary screen, even when pointed elsewhere. The „underlying“ invisible window, however, opens on correct screen, so I have to click on empty screen, to pause video running (wrongly) on primary screen. Karel From: adipose notifications@github.com mailto:notifications@github.com Sent: Saturday, September 26, 2020 7:55 PM To: clsid2/mpc-hc mpc-hc@noreply.github.com mailto:mpc-hc@noreply.github.com Cc: karelholubicka karel@polas.cz mailto:karel@polas.cz ; Mention mention@noreply.github.com mailto:mention@noreply.github.com Subject: Re: [clsid2/mpc-hc] Second instance does not playback D3D properly (#615 https://github.com/clsid2/mpc-hc/issues/615 ) @karelholubicka https://github.com/karelholubicka https://github.com/karelholubicka did you try the build I linked? — You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub #615 (comment) https://github.com/clsid2/mpc-hc/issues/615#issuecomment-699527455 , or https://github.com/notifications/unsubscribe-auth/AKSTHUF5PMQHWA7SA4I2PADSHYTGFANCNFSM4RK4JRKA unsubscribe. https://github.com/notifications/beacon/AKSTHUCEH2YHWOV2LKJX2GDSHYTGFA5CNFSM4RK4JRKKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOFGY7CHY.gif What if you use alt-tab to switch between instances rather than clicking? It sounds like the problem starts with the clicking. — You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/clsid2/mpc-hc/issues/615#issuecomment-699539402 , or https://github.com/notifications/unsubscribe-auth/AKSTHUGVMZANGIQK7HTY7LDSHY7V3ANCNFSM4RK4JRKA unsubscribe. https://github.com/notifications/beacon/AKSTHUAPHEDSNTGNIGZHGQTSHY7V3A5CNFSM4RK4JRKKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOFGZB7SQ.gif

adipose commented 4 years ago

@karelholubicka

I am able to repeatedly switch between two instances using alt-tab and alt+enter to enter d3d full screen on a second monitor. It never opens on the main monitor and consistently shows video.

In this latest build I tried some code that seems to help with one of the instances sometimes hanging while doing this.

Frankly, I cannot duplicate the problem you are having. Can you upload your settings for testing?

karelholubicka commented 4 years ago

This is weird. Are you sure you run D3D fullscreen? With Sync or EVR-custom presenter? So single player actually has 2 windows during fullscreen?

Normal fullscreen works.

I run two instances, both set fullscreen to NON PRIMARY monitor, first opens on it, but second opens D3D window on primary (And with window size of secondary – so it is actually not fullscreen size, as my primary is bigger than secondary.).

Builds up to 1.7.13 work OK.

Karel

From: adipose notifications@github.com Sent: Saturday, September 26, 2020 10:30 PM To: clsid2/mpc-hc mpc-hc@noreply.github.com Cc: karelholubicka karel@polas.cz; Mention mention@noreply.github.com Subject: Re: [clsid2/mpc-hc] Second instance does not playback D3D properly (#615)

@karelholubicka https://github.com/karelholubicka I am able to repeatedly switch between two instances using alt-tab and alt+enter to enter d3d full screen on a second monitor. It never opens on the main monitor and consistently shows video. In this latest build I tried some code that seems to help with one of the instances sometimes hanging while doing this. Frankly, I cannot duplicate the problem you are having. Can you upload your settings for testing? — You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/clsid2/mpc-hc/issues/615#issuecomment-699544489 , or https://github.com/notifications/unsubscribe-auth/AKSTHUBAQAZIWKR2RJXRFEDSHZFMNANCNFSM4RK4JRKA unsubscribe. https://github.com/notifications/beacon/AKSTHUBXPJQXVWFQB6EUFR3SHZFMNA5CNFSM4RK4JRKKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOFGZDHKI.gif

adipose commented 4 years ago

@karelholubicka ,yes using evr-cp and d3d full screen. If you test with that latest build try evr-cp.

Also upload your settings and I will try again.

Both open fine on second screen, though the second one knocks out the first.

demolitioner commented 4 years ago

Can you test this build?

https://mega.nz/file/VVZEhZDB#pQzqyXgMufXB7A041RaheUp1gB-CrxaFuip6re5AnhI

It doesn't even switch to full-screen mode with the /fullscreen argument. Remains windowed. It's the same with the official build 66. Instead of fixing the bug of re-enabling full-screen mode with the /fullscreen argument https://github.com/clsid2/mpc-hc/issues/546 , we got the inability to switch to full-screen mode at all with the /fullscreen argument.

So, I guess, it will be useful now to create feature request to remove "/fullscreen" from Help -> Command Line Switches, because it is redundant now.

karelholubicka commented 4 years ago

Hi, thanks for your interest.

I performed and recorded the test.

As true D3D window cannot be recorded by screen recording SW, I re-edited the recording to match real visualisation and added titles, explaining what is going on.

If necessary, I can record truly on monitor output, but it will look the same as this result.

Video, application and setting are here: https://www.uschovna.cz/en/zasilka/DA4WLDG6XPCTVGEH-4HW/TD3YHB3C5F

BTW This was recorded on completely different machine than mine. I have AMD RX 580, this was nVidia 660, so completely different video drivers. Both machines Win 10 ver 2004.

I am out of thoughts, what may caused difference between mine and your test. My last working well is build 1.7.13. When playing D3D window, does the player „empty body“ stay on your screen like mine?

regards. Karel

From: adipose notifications@github.com Sent: Saturday, September 26, 2020 10:30 PM To: clsid2/mpc-hc mpc-hc@noreply.github.com Cc: karelholubicka karel@polas.cz; Mention mention@noreply.github.com Subject: Re: [clsid2/mpc-hc] Second instance does not playback D3D properly (#615)

@karelholubicka https://github.com/karelholubicka I am able to repeatedly switch between two instances using alt-tab and alt+enter to enter d3d full screen on a second monitor. It never opens on the main monitor and consistently shows video. In this latest build I tried some code that seems to help with one of the instances sometimes hanging while doing this. Frankly, I cannot duplicate the problem you are having. Can you upload your settings for testing? — You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/clsid2/mpc-hc/issues/615#issuecomment-699544489 , or https://github.com/notifications/unsubscribe-auth/AKSTHUBAQAZIWKR2RJXRFEDSHZFMNANCNFSM4RK4JRKA unsubscribe. https://github.com/notifications/beacon/AKSTHUBXPJQXVWFQB6EUFR3SHZFMNA5CNFSM4RK4JRKKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOFGZDHKI.gif

adipose commented 4 years ago

@karelholubicka

Yes, the empty mpc-hc instance remains on the other screen. The second monitor plays full screen video. I will check again with your settings.

adipose commented 3 years ago

I reproduced your issue. I observed that you are using Sync Renderer. The same issue of it coming up on the main monitor is not present with EVR-CP.

However, I did get it to hang while using EVR-CP, which previously had been "fixed," so there may be another setting.

adipose commented 3 years ago

@whitesnakeftw, @karelholubicka please test this. I have removed code used to fix issue:

https://github.com/clsid2/mpc-hc/issues/41

This code did not seem to cause any problems, but it may no longer be needed, so @whitesnakeftw , please test. I can add it back.

@karelholubicka , as far as I can tell all issues with Sync and EVR are fixed by these changes. I no longer get a hang when switching between, and it always goes on the correct monitor.

https://mega.nz/file/8cgm3DBQ#19C2p-SYQ1weIIquc9QdL7rwxGIgyHS71SnTeRs99gk

karelholubicka commented 3 years ago

Hi, It took a while until I was able to test. EXE was ver 1.9.7.76 (7441c4d34-dirty) However, my issue is still there:

D3D playback window of second MPC-HC instance shows always at primary screen, (in the left upper corner, with size of desired screen, while MPCHC responses to clicks to – visually empty - desired screen)

Karel

From: adipose notifications@github.com Sent: Thursday, October 1, 2020 8:53 PM To: clsid2/mpc-hc mpc-hc@noreply.github.com Cc: karelholubicka karel@polas.cz; Mention mention@noreply.github.com Subject: Re: [clsid2/mpc-hc] Second instance does not playback D3D properly (#615)

@whitesnakeftw https://github.com/whitesnakeftw , @karelholubicka https://github.com/karelholubicka please test this. I have removed code used to fix issue:

41 https://github.com/clsid2/mpc-hc/issues/41

This code did not seem to cause any problems, but it may no longer be needed, so @whitesnakeftw https://github.com/whitesnakeftw , please test. I can add it back. @karelholubicka https://github.com/karelholubicka , as far as I can tell all issues with Sync and EVR are fixed by these changes. I no longer get a hang when switching between, and it always goes on the correct monitor. https://mega.nz/file/8cgm3DBQ#19C2p-SYQ1weIIquc9QdL7rwxGIgyHS71SnTeRs99gk — You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/clsid2/mpc-hc/issues/615#issuecomment-702331198 , or https://github.com/notifications/unsubscribe-auth/AKSTHUHS5HNRXNJMRIW7POLSITFXTANCNFSM4RK4JRKA unsubscribe. https://github.com/notifications/beacon/AKSTHUEVQCWQFRCAJTLRWALSITFXTA5CNFSM4RK4JRKKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOFHOLSPQ.gif

karelholubicka commented 3 years ago

Hi all, I compiled MPC-BE, which did not seem tu suffer from the issue, but I have discovered even weirder thing.

When simply loaded, two MPC-BE instances play to correct screens, and are able to repeatedly switch fulscreen ON/OFF,

but when I send „Prev“ or „Next“ command during playlist playback, one of players falls onto Primary screen, the same way as MPC-HC second instance falls always (at me)

So, I believe, there must be a conflict between two instances and how they block their screens, in the code sequence, causing Windows as „safety“ measure to render D3D to primary screen.

At now, this is too complex for me to solve.

Have a nice day, Karel

From: adipose notifications@github.com Sent: Wednesday, September 30, 2020 9:17 PM To: clsid2/mpc-hc mpc-hc@noreply.github.com Cc: karelholubicka karel@polas.cz; Mention mention@noreply.github.com Subject: Re: [clsid2/mpc-hc] Second instance does not playback D3D properly (#615)

I reproduced your issue. I observed that you are using Sync Renderer. The same issue of it coming up on the main monitor is not present with EVR-CP. However, I did get it to hang while using EVR-CP, which previously had been "fixed," so there may be another setting. — You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/clsid2/mpc-hc/issues/615#issuecomment-701591154 , or https://github.com/notifications/unsubscribe-auth/AKSTHUHSR2FE33VCABYQPV3SIN74NANCNFSM4RK4JRKA unsubscribe. https://github.com/notifications/beacon/AKSTHUGUNHSSD2KULI7JIJLSIN74NA5CNFSM4RK4JRKKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOFHIW44Q.gif

adipose commented 3 years ago

@karelholubicka , just to confirm, you extracted the whole zip, and ran from that folder? You didn't simply use the exe?

I cannot duplicate your issue with the current build, so I wonder if something is different in our tests.

karelholubicka commented 3 years ago

Of course, full folder zip.

Best regards,

Karel

From: adipose [mailto:notifications@github.com] Sent: Wednesday, October 14, 2020 2:16 AM To: clsid2/mpc-hc mpc-hc@noreply.github.com Cc: karelholubicka karel@polas.cz; Mention mention@noreply.github.com Subject: Re: [clsid2/mpc-hc] Second instance does not playback D3D properly (#615)

@karelholubicka https://github.com/karelholubicka , just to confirm, you extracted the whole zip, and ran from that folder? You didn't simply use the exe?

I cannot duplicate your issue with the current build, so I wonder if something is different in our tests.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/clsid2/mpc-hc/issues/615#issuecomment-708077446 , or unsubscribe https://github.com/notifications/unsubscribe-auth/AKSTHUCQXTHLKFKURC2SJQTSKTUSHANCNFSM4RK4JRKA . https://github.com/notifications/beacon/AKSTHUAWK7TWO6FZNRCZ5MTSKTUSHA5CNFSM4RK4JRKKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOFI2GPBQ.gif

adipose commented 3 years ago

@karelholubicka, your settings upload link has expired, if you could upload again it would be helpful.

Today I am unable to reproduce the issue at all. It makes me think some external issue affects it.

adipose commented 3 years ago

https://docs.microsoft.com/en-us/windows/win32/direct3d9/multiple-monitor-operations

According to this multiple exclusive modes are impossible unless they are all owned by the same D3D object. I'm curious what's actually happening when there are multiple mpc-hc getting exclusive mode...

adipose commented 3 years ago

I can't reproduce anything anymore, and recently I updated my build tools. Maybe something got fixed (I doubt it), but here's the build I'm working from, in case it works for you:

https://mega.nz/file/UIh0CICD#fJDctFSfGlKV_r_f07cwLdgUexOu9mPIsfanc5V2yBg

karelholubicka commented 3 years ago

Thanks, I’l definitely take a look, tomorrow.

Actually, I need instances to take exklusive mode at different screens, which should not make any conflict at all (as it worked before 1.7.13) Karel

From: adipose notifications@github.com Sent: Friday, October 16, 2020 1:08 AM To: clsid2/mpc-hc mpc-hc@noreply.github.com Cc: karelholubicka karel@polas.cz; Mention mention@noreply.github.com Subject: Re: [clsid2/mpc-hc] Second instance does not playback D3D properly (#615)

I can't reproduce anything anymore, and recently I updated my build tools. Maybe something got fixed (I doubt it), but here's the build I'm working from, in case it works for you: https://mega.nz/file/UIh0CICD#fJDctFSfGlKV_r_f07cwLdgUexOu9mPIsfanc5V2yBg — You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/clsid2/mpc-hc/issues/615#issuecomment-709635767 , or https://github.com/notifications/unsubscribe-auth/AKSTHUECFUT6K4I5AN3LL5LSK56EHANCNFSM4RK4JRKA unsubscribe. https://github.com/notifications/beacon/AKSTHUDQO4H4H2DQM74IRWDSK56EHA5CNFSM4RK4JRKKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOFJGC5NY.gif

clsid2 commented 3 years ago

https://docs.microsoft.com/en-us/windows/win32/direct3d9/working-with-multiple-monitor-systems

Only one app can be exclusive at a time. The docs mentions that when first app loses exclusive mode to second app, the first needs device reset.

karelholubicka commented 3 years ago

Well, interesting.

Still it does not explain, why it worked before at all

(and in some cases still now).

I will come through this later in detail.

Karel

From: clsid2 [mailto:notifications@github.com] Sent: Friday, October 16, 2020 10:12 AM To: clsid2/mpc-hc mpc-hc@noreply.github.com Cc: karelholubicka karel@polas.cz; Mention mention@noreply.github.com Subject: Re: [clsid2/mpc-hc] Second instance does not playback D3D properly (#615)

https://docs.microsoft.com/en-us/windows/win32/direct3d9/working-with-multiple-monitor-systems

Only one app can be exclusive at a time. The docs mentions that when first app loses exclusive mode to second app, the first needs device reset.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/clsid2/mpc-hc/issues/615#issuecomment-709897321 , or unsubscribe https://github.com/notifications/unsubscribe-auth/AKSTHUDBOQBO3FMUX5I6DCDSK756XANCNFSM4RK4JRKA . https://github.com/notifications/beacon/AKSTHUETBVKTFBGZIIKQ3PTSK756XA5CNFSM4RK4JRKKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOFJICY2I.gif

karelholubicka commented 3 years ago

Well, I read Micro$oft pages , and it does not make sense to me, it is different from my experience. I have no explanation for that.

I hooked all three screens to recorder and recorded them at once. Check it here: https://youtu.be/kkorIn24l9I

I tested 1/MPC-BE 2/MPC-HC 1.7.13 3/ latest adipose build.

All three screens were 1920x1080, so there is not visible a moment, when image misplaced to primary monitor has size of desired monitor.

It is worth notice, than when stressing MPC-BE with changing files and playlist and switching fulscreen on/off, it will eventually end up also in playing to primary screen, even when this is not selected.

As this is too confusing to me, I will have to use different workarounds to cope with this issue, I guess Thank you for your effort.

Karel

From: clsid2 notifications@github.com Sent: Friday, October 16, 2020 10:12 AM To: clsid2/mpc-hc mpc-hc@noreply.github.com Cc: karelholubicka karel@polas.cz; Mention mention@noreply.github.com Subject: Re: [clsid2/mpc-hc] Second instance does not playback D3D properly (#615)

https://docs.microsoft.com/en-us/windows/win32/direct3d9/working-with-multiple-monitor-systems Only one app can be exclusive at a time. The docs mentions that when first app loses exclusive mode to second app, the first needs device reset. — You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/clsid2/mpc-hc/issues/615#issuecomment-709897321 , or https://github.com/notifications/unsubscribe-auth/AKSTHUDBOQBO3FMUX5I6DCDSK756XANCNFSM4RK4JRKA unsubscribe. https://github.com/notifications/beacon/AKSTHUETBVKTFBGZIIKQ3PTSK756XA5CNFSM4RK4JRKKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOFJICY2I.gif

adipose commented 3 years ago

In spite of that article, I do seem to be able to get exclusive mode on two monitors simultaneously. Either that, or it thinks it's in exclusive, and it's really not. But from what I can tell, it does seem to work.

Maybe that information is out of date as it pertains to two monitors and two separate exes. Not sure.

Oh, I also have two separate adapters, as well.

adipose commented 3 years ago

FYI, I did find a problem with D3D fullscreen in sync renderer. The second app fails to render anywhere (at least that I could see). In reviewing the MPC-BE code, I see that as of June, they no longer support D3D fullscreen at all for syncrenderer. So...maybe you are not getting exclusive mode with MPC-BE anymore?

image

karelholubicka commented 3 years ago

Yes, testing MPC-BE, I had to switch to EVR-custom presenter.

Anyway, When I tested MPC-HC, EVR-custom presenter and Sync presenter behave very similarly, regarding my issue of second app.

Anyway, thanks for a good tip, I will return the Sync support to my testing fork of MPC-BE, as it definitely had least tearing of all.

Karel

From: adipose notifications@github.com Sent: Sunday, October 18, 2020 2:29 AM To: clsid2/mpc-hc mpc-hc@noreply.github.com Cc: karelholubicka karel@polas.cz; Mention mention@noreply.github.com Subject: Re: [clsid2/mpc-hc] Second instance does not playback D3D properly (#615)

FYI, I did find a problem with D3D fullscreen in sync renderer. The second app fails to render anywhere (at least that I could see). In reviewing the MPC-BE code, I see that as of June, they no longer support D3D fullscreen at all for syncrenderer. So...maybe you are not getting exclusive mode with MPC-BE anymore? https://user-images.githubusercontent.com/3324395/96356069-341b1780-109e-11eb-90ac-592115dd3a1e.png — You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/clsid2/mpc-hc/issues/615#issuecomment-711098222 , or https://github.com/notifications/unsubscribe-auth/AKSTHUFGBV2Z4NL3F2GWZB3SLIZETANCNFSM4RK4JRKA unsubscribe. https://github.com/notifications/beacon/AKSTHUBOR6IGEY27NWY4CNTSLIZETA5CNFSM4RK4JRKKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOFJRH63Q.gif

adipose commented 3 years ago

My point in mentioning that is, there must be some reason they removed support for D3D with Sync Renderer, perhaps it not working very well...

I have seen improvements to EVR wtih the changes I made, so I suggest you test there. I'll take a look at Sync, but for now I do see a problem with the second instance (Sync only).

adipose commented 3 years ago

https://mega.nz/file/QQxCzbrI#tpirhINiPRazHj4tPAeMyXLNh-Lnv_kXEPvXBA3s9Bg

Here's an update build with a fix for the issue I observed in Sync renderer. On a secondary screen, when going FS, the second application could not get exclusive mode even after the first left fullscreen. I observed that the device wasn't always released, which is necessary for exclusive mode to be dropped.

Maybe this will help your scenario, too.

whitesnakeftw commented 3 years ago

@adipose Sorry for the late reply. I just tested the build from this last mega link and it works perfectly in the scenario described in #41 (did not test it in this multi-screen/multi-instance scenario described here).

Let me know if you want me to test other builds, cheers. :)

karelholubicka commented 3 years ago

Hi, thanks for the build. It did not solve the issue, but I think, you are onto something – the idea of not correctly release.

I tested all three D3D renderers (EVR-CP, Sync, VideoMixing renderer) - all the same results.

Lets have three screens, called screens Primary , A, B, and two instances, A+B, set to A, resp. B Open A+B windowed, then switch to FS. Whichever goes to FS first, goes correctly to A, resp B. The second goes to Primary.

If FS switched off and on, on both instances while opened, they keep their screens – „A“ to correct screen, „B“ to primary (or vice versa, if B was switched to FS first) even when order switching to FS is inverted.

UNTIL the first instance is CLOSED (not just switched off FS)

Then, the instance which went to Primary, goes to correct screen. This looks, like there is a conflict between instances destination, which Win10 solves by sending image to primary (=location (0,0))

thanks for trying anyway,

Karel

From: whitesnakeftw notifications@github.com Sent: Tuesday, October 20, 2020 11:43 AM To: clsid2/mpc-hc mpc-hc@noreply.github.com Cc: karelholubicka karel@polas.cz; Mention mention@noreply.github.com Subject: Re: [clsid2/mpc-hc] Second instance does not playback D3D properly (#615)

@adipose https://github.com/adipose Sorry for the late reply. I just tested the build from this last mega link and it works perfectly in the scenario described in #41 https://github.com/clsid2/mpc-hc/issues/41 (did not test it in this multi-screen/multi-instance scenario described here). Let me know if you want me to test other builds, cheers. :) — You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/clsid2/mpc-hc/issues/615#issuecomment-712728792 , or https://github.com/notifications/unsubscribe-auth/AKSTHUDZMOZXTSTTMDX6J5LSLVLRXANCNFSM4RK4JRKA unsubscribe. https://github.com/notifications/beacon/AKSTHUHOFGKCZETMJSWXSGLSLVLRXA5CNFSM4RK4JRKKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOFJ5WBWA.gif D

adipose commented 3 years ago

Hi, thanks for the build. It did not solve the issue, but I think, you are onto something – the idea of not correctly release. I tested all three D3D renderers (EVR-CP, Sync, VideoMixing renderer) - all the same results. Lets have three screens, called screens Primary , A, B, and two instances, A+B, set to A, resp. B Open A+B windowed, then switch to FS. Whichever goes to FS first, goes correctly to A, resp B. The second goes to Primary. If FS switched off and on, on both instances while opened, they keep their screens – „A“ to correct screen, „B“ to primary (or vice versa, if B was switched to FS first) even when order switching to FS is inverted. UNTIL the first instance is CLOSED (not just switched off FS) Then, the instance which went to Primary, goes to correct screen. This looks, like there is a conflict between instances destination, which Win10 solves by sending image to primary (=location (0,0)) thanks for trying anyway, Karel From: whitesnakeftw notifications@github.com Sent: Tuesday, October 20, 2020 11:43 AM To: clsid2/mpc-hc mpc-hc@noreply.github.com Cc: karelholubicka karel@polas.cz; Mention mention@noreply.github.com Subject: Re: [clsid2/mpc-hc] Second instance does not playback D3D properly (#615) @adipose https://github.com/adipose Sorry for the late reply. I just tested the build from this last mega link and it works perfectly in the scenario described in #41 <#41> (did not test it in this multi-screen/multi-instance scenario described here). Let me know if you want me to test other builds, cheers. :) — You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub <#615 (comment)> , or https://github.com/notifications/unsubscribe-auth/AKSTHUDZMOZXTSTTMDX6J5LSLVLRXANCNFSM4RK4JRKA unsubscribe. https://github.com/notifications/beacon/AKSTHUHOFGKCZETMJSWXSGLSLVLRXA5CNFSM4RK4JRKKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOFJ5WBWA.gif D

That's very odd about it moving screens after one of them is closed. It almost sounds like an obscure driver issue.

If you can reproduce on two different machines, I really wonder why I cannot.

edit: I just realized maybe you are using a single adapter and I am not.