Using DirectDraw video output to play videos fullscreen on a specific secondary monitor.
If have a playlist of more than one video, screen always goes green when one video ends and the next begins. Audio is fine. Hitting 'Stop' and then 'Start' brings the video back.
Win 10 x64, VLC v3.0.3 (and older).
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Child items
0
No child items are currently assigned. Use child items to break down this issue into smaller parts.
Linked items
0
Link issues together to show that they're related.
Learn more.
Actions represented by this log file: Started VLC, drag-and-dropped a group of 5 videos to the playlist, hit 'Play' button. First video (1m24s length) played, then second video started and screen went green. Closed VLC.
Playing videos and pictures full screen on secondary monitor, while keeping controls and playlist on primary monitor. I'm not aware of any way to do this other than DirectDraw.
Only DirectDraw gives the option to set the desired display device (such as \.\DISPLAY1 or \.\DISPLAY2).
We would very happily use Direct3D11 or OpenGL or whatever works, but there are no options in the Settings menu for these modules to use the secondary monitor for video output. If Direct3D11 etc. allows you to send output to \.\DISPLAY2, would it be possible to add an option in Settings so that we can do this?
We're not set on using DirectDraw, we just need a way to output to the secondary monitor.
Both DXVA and Disabled give me magenta screen all the time. It doesn't even wait for the second video, just goes magenta as soon as you hit Play, and stays that way. GT730 video hardware.
The D3D11 behaves the same as Auto, which is as originally described.
The log provided is not complete it only shows the error once they are there, not what led to that. Also you seem to lack a blending filter for D3D11. Are you using the logo filter or audiobragraph ? (with the full logs it would be possible to tell)
Actions represented by this log file: Started VLC, drag-and-dropped a group of 6 videos to the playlist, hit 'Play' button. First video starts playing normally. Hit 'Next track' button. Green screen. Exit VLC.
Try the log in the previous post. I'm assuming when you ask for the 'complete' log, you want the 'debug' verbosity? If that's not correct then tell me specifically what you need.
Errors are present in the log constantly during playback (even when everything seems to be working fine), not just when green screen happens at the start of a new track.
Yes the log file format is correct (only one file was sufficient).
Since DirectDraw doesn't handle hardware blending it's using an extra filter which doesn't seem to work (D3D11 blending is currently not supported). There are 2 ways to fix this bug: handle blending properly or handle multiple displays in D3D11. I will look at the latter.
Seems like all video output modules except DirectDraw are ignoring the 'Fullscreen Video Device' setting in simple Qt preferences. And there currently are no such settings available for D3D11 etc. in advanced preferences.
The Fullscreen Video Device setting works as expected in 3.0 for Direct3D11, Direct3D9 and DirectDraw (and probably OpenGL as well). So there's really no reason to use DirectDraw.
For my application, I need to disable "Integrate video in interface" because I need the controls and playlist to remain on the primary monitor. This apparently breaks Fullscreen Video Device (as mentioned in #20774).
Fullscreen video does indeed work properly for D3D11. No green screen when flipping between videos in the playlist. But it ignores the DISPLAY1/DISPLAY2 setting, and will always display fullscreen on DISPLAY1.
D3D9 greenscreens when skipping to next/previous video in playlist. And also ignores the DISPLAY1/DISPLAY2 setting, will always display fullscreen on DISPLAY1.
OpenGL display freezes when you skip to the next/previous video in playlist. Keeps the last-displayed frame onscreen, although audio plays normal. And also ignores the DISPLAY1/DISPLAY2 setting, will always display fullscreen on DISPLAY1.