Recently updated from 3.2.12 to 3.3.1, noticed this unfortunate breaking change and had to roll back. The landscape video screen orientation setting used to correctly detect and 180-degree auto-adjust the landscape view previously. This is no longer the case and with that setting enabled, the video always opens in a locked upside-down (or normal, depending on how one prefers holding the device in landscape mode) view.
Expected behavior
Same as in 3.2.12.
Actual behavior
With default video screen orientation set as landscape, the video opens in a fixed landscape view which does not 180-degree auto-adjust based on how one is holding the device in landscape mode. Depending on user's device holding preference, this may cause videos to open locked in upside-down view.
Steps to reproduce
Ensure that the device's auto-rotation setting is disabled.
Set VLC's Video screen orientation setting to Landscape.
Play a video.
Hold the device in landscape mode and note the video's default landscape view.
Rotate the device 180-degree.
Notice that the video doesn't auto-adjust as per the new landscape view.
App version
3.3.1
App mode
Smartphone
Designs
Child items
...
Linked items
0
Link issues together to show that they're related.
Learn more.
Related merge requests
2
When these merge requests are accepted, this issue will be closed automatically.
@Aza How about adding Reverse Landscape option for the Video screen orientation setting? That will also work as an acceptable fix for this long pending issue.
Yes, that'll do. However, I've a couple of doubts:
Case where Landscape reverse is selected: If the orientation during playback is switched to portrait using the un/lock button and then back to landscape, it'll default to reverse landscape and not regular landscape, right?
Case where Last locked orientation is selected: Assume the last orientation was reverse landscape. If the orientation during playback is switched to portrait and then back to landscape then what will it default to - regular landscape or reverse landscape?
Automatic: when you start playing, the screen is not locked.
Portrait / Landscape / Landscape reverse : when you start playing, the screen is locked in (Portrait / Landscape / Landscape reverse). If you change that during playback, leave and start another playback, the screen will be locked in the setting orientation (Portrait / Landscape / Landscape reverse)
Last locked orientation : when you start playing, the screen is locked in the last used orientation. If you unlock, use portrait and re-lock, the next time it will be portrait. If you unlock, use landscape and re-lock, the next time it will be landscape.
Sorry for being ambiguous earlier but my queries were about the effect of orientation switches during the SAME playback.
Like, for Landscape reverse setting, playing a video and switching to portrait and then to landscape would mean ending up with reverse landscape in the same playback, right?
Similarly, assume that playback started in reverse landscape due to Last locked orientation setting. Now switching to portrait and then back to landscape during the same playback would end up in which landscape - regular or reverse?
Alright, can't wait to see how it turns out! Am currently stuck on 3.3.2 since it's the last working version having reverse as landscape default.
I see that you've set the resolution milestone as 3.4.x branch. Can you please share any tentative time frame by which that branch or at least its beta is supposed to launch?
Commit 71497185 removes usage of SCREEN_ORIENTATION_SENSOR_LANDSCAPE (screenOrientation) and this seems to be the best mode for video player (other video programs like Youtube, MXPlayer use it by default), I think it would be good to restore this mode and use it by default in VLC.
Thanks for looking into this regression; it's the one preventing me from adopting newer versions of VLC. I'm still using 3.2.12 to this day.
It appears to me that adding those hard-to-describe options was not the best solution, though.
Why not simply bring the old behaviour back for the existing Landscape option? In 3.2.12, it would automatically detect the vertical orientation.
If I'm watching a video, and I rotate the device 180 degrees, I'd like the video to flip 180 degrees as well, without having to press a single button. Can this behaviour be achieved with any of the new options that have been committed/merged?
Thanks for clarifying. From your previous conversations, I wasn't really sure what approach had been taken (and didn't want look at the diff in my handheld device).
Looking forward to a new VLC version with the fix.
@Aza I installed "| VLC-Android-3.4.0-Beta-1-armv8-20210615-0123.apk | 35M | 15-Jun-2021 01:23" I have set it to "last locked orientation" but the sensor is overriding it and it doesn't seem to work in the first place? it is even locked orientation in the video but keeps flipping around via the sensor. Is that the intended use since i cant find any option to turn off sensor orientation?
Would be great if there was a way to hard lock it to a specific orientation. Even if i locked the orientation in reversed landscape and try to start the video again in vertical (so the sensor doesn't flip it again) it keeps starting in the normal landscape orientation instead of reversed (starts video upside down). Is this setting even working?
I also do have my phone setting orientation to "Locked".
Your picture previously has the answer. Keep the setting as is and add the reverse landscape option that does not adhere to the sensor at all and which locks the video at all times to reversed landscape no matter what previously has been set while playing the video. This way you won't be taking anything away.
No that's not an answer. This previous iteration did not let the user start in landscape and rotate when the phone is held in landscape reverse.
I could add an entry in the settings but it would mean that the lock feature in the player would have two behaviors (forced orientation with no rotate or forced landscape with rotate). And that's not an option.
The only solution I see, is to add another setting, let's say in the video section, to change the lock behavior (allow rotate or not), but I really don't like adding settings.
Could you please explain your use case that make the current behavior not usable? Do you have upside down videos or something?
I don't see how this wouldn't be the answer. The landscape reverse option is not present in the orientation menu as it is now so adding it wouldn't deduct anything. I'm not saying that the option should have the exact same effects as previously mentioned if it wasn't intended in the way I described in my previous post cause then it would have to have it apply different rules.
Like not to use the sensor and just start the videos in reversed landscape that way the only way to change orientation is to either change the setting or use the unlock button in the video and flip it around. Is this not possible? Or is the sensor setting somehow globally applied and isn't removable per orientation setting?
My use case is that I have my phone in a vertical position when I start the video since I am lying in bed (Head down on pillow & head tilted to the right) having the phone physically in a vertical position will actually be the correct orientation to watch in and it has to be bottom side up since the speakers are firing from the bottom of the phone otherwise it would get muted since it would be pointed down into the mattress. Which is why I need the videos to start from reversed landscape otherwise I have to flip the video for every video file i start.
So maybe it should look like this in the orientation menu: Reversed Landscape (No sensors). Or just dont have the sensor explain text and let the users see for themselves that if they want the sensor on they can use the "last locked orientation" setting instead.
The second one is ok if it really isn't possible to remove the sensor feedback for that isolated setting. Since if my phone falls down from the vertical position it usually flips to the wrong orientation because of the sensor which is why it would be nice to not have the sensor active since I would have to flip it again (and it does fall quite often).