Page 1 of 1

Video alignment changing when advancing playlist

Posted: 04 Mar 2018 23:03
by FeRDNYC
I'm having an issue with VLC 3.0.0 (currently the latest version available) on Fedora 27, using rpmfusion's packages.

Because I have a 1920x1200 (16:10 aspect) monitor, I'm running VLC with the "Video alignment" preference set to "Top" (align=4 in the vlcrc file) so that the fullscreen controller won't cover any of the video when it's visible, even when viewing 16:9 files.

The problem is, if I'm viewing a playlist of multiple files and have VLC fullscreened, then when VLC advances from one file to the next, the video's alignment changes to the bottom of the screen! (It'd be one thing if it was simply resetting to centered, but it strikes me as extremely odd that it moves clear across the screen from the top to the bottom.)

This occurs whether it advances automatically, or if I skip past the end or hit "N" to advance manually. It doesn't occur unless the video is fullscreened. (For example, Gnome Shell has the ability to snap windows to the left/right half of the screen. If I snap VLC to the left edge and play a playlist, then the video always stays aligned to the top of the window.)

Some things will reset the alignment back to the top. If I exit fullscreen, alignment resets. If the "Do you want to continue playback...?" message comes up at the start of a playlist entry, alignment will return to "Top" when the message disappears.

Other things won't reset the alignment. If I skip forward/backward in the bottom-aligned video, it stays bottom-aligned. If I have a playlist of 3+ files and I advance from the second to the third, it again plays bottom-aligned (whether the second is playing bottom-aligned, or if it's playing top-aligned because I reset it after it started playing bottom-aligned).

I've triggered this bug with the Messages window open and verbosity=1, and nothing there seemed meaningful or unusual . I've tried it with verbosity=2, but that triggered as much logspam as you'd expect, so I've saved the output to disk and haven't gotten through it all yet.

The aspect ratio of the videos doesn't seem to matter. It happens in 16:9 videos, it happens in wider-than-16:9 videos, and it happens when I mix the two in a playlist.

Re: Video alignment changing when advancing playlist

Posted: 05 Mar 2018 14:48
by FeRDNYC
As an update, I installed a test build of vlc 3.0.1. (It's currently in the rpmfusion-free-updates-testing repository, but not yet pushed to rpmfusion-free-updates.)

While it seems otherwise functional, the fullscreen-alignment behavior is unchanged from my report above.

Re: Video alignment changing when advancing playlist

Posted: 05 Mar 2018 17:23
by Rémi Denis-Courmont
Make sure you are using X11, not the experimental Wayland output.

Re: Video alignment changing when advancing playlist

Posted: 06 Mar 2018 00:53
by FeRDNYC
Oh, definitely — due to Nvidia binary drivers I'm still using Xorg as my display server. I probably should've mentioned, this is specifically with xorg-x11-server-Xorg-1.19.6-5.fc27 and xorg-x11-drv-nvidia-390.25-4.fc27, driving a GeForce GT 710 with VDPAU hardware decoding active.

Here's the verbosity=2 logspew of the vout setup:
glx debug: using GLX extension version 1.4
main debug: using opengl module "glx"
main debug: looking for glconv module matching "any": 4 candidates
main debug: using glconv module "glconv_vdpau"
main debug: using vout display module "gl"
main debug: A filter to adapt decoder VDV0 to display VDOR is needed
main debug: looking for video converter module matching "any": 23 candidates
vdpau_chroma debug: using video mixer temporal-spatial deinterlace feature
vdpau_chroma debug: using video mixer sharpness feature
vdpau_chroma debug: using video mixer 5
main debug: using video converter module "vdpau_chroma"
main debug: Filter 'VDPAU' (0x7f149002a090) appended to chain
main debug: original format sz 960x544, of (0,0), vsz 960x540, 4cc VDV0, sar 1:1, msk r0x0 g0x0 b0x0
main debug: reusing provided vout
main debug: looking for hw decoder module matching "any": 3 candidates
main debug: using hw decoder module "vdpau_avcodec"
avcodec info: Using NVIDIA VDPAU Driver Shared Library 390.25 Wed Jan 24 19:28:27 PST 2018 for hardware decoding
qt debug: Logical video size: 960x540
main debug: resized to 960x540
main debug: VoutDisplayEvent 'resize' 960x540
When I fullscreen the video it logs two resize events:
qt debug: Qt: Fullscreen state changed
qt debug: Qt: Entering Fullscreen
main debug: resized to 960x619
main debug: VoutDisplayEvent 'resize' 960x619
main debug: resized to 1920x1200
main debug: VoutDisplayEvent 'resize' 1920x1200
And when it advances to the next video, there are a couple of "main debug: VoutDisplayEvent 'resize' 1920x1200" events as it's setting up the video (while "main debug: reusing provided vout").

No Filters or Splitters enabled.

Just now I decided to experimentally set Video Alignment to "Bottom" and fire off a playlist. (After quitting and restarting VLC, just to be safe.) At the end of the first video (bottom-aligned, as requested), VLC automatically advanced... and rendered the second video at the TOP of the screen! So, it's apparently flipping either vertical alignment, on playlist advance.