nurupo / vlc-pause-click-plugin

Plugin for VLC that pauses/plays video on mouse click
GNU Lesser General Public License v2.1
914 stars 63 forks source link

Loss of play/pause click functionality with h.265/h.264 codecs #45

Closed ThaddeusChristopher closed 6 years ago

ThaddeusChristopher commented 6 years ago

I'm on VLC 3.0.4 64-bit Windows and believe I may be experiencing loss of plugin functionality (if not, then I apologize ahead of time).

The following checkboxes are checked as per the instructions:

In VLC's Advanced Preferences, if I check "Only show current" it does indeed display "Pause click" as a sub-node under Filters.

Restarting VLC (with or without using the --reset-plugins-cache option) does not appear to help. Starting VLC with or without admin privileges also does not appear to change matters. Non-left-click variants (e.g., middle click) have also yielded no joy.

nurupo commented 6 years ago

I assume you meant that you use 64-bit VLC. Will try reproducing in a clean Windows 10 64-bit VM with 64-bit VLC 3.0.4 and will report back.

nurupo commented 6 years ago

Just tested and it works. Here is a video, though you can't see the mouse cursor or mouse presses.

The fact that you see the plugin checkboxes means that you got the correct plugin for your VLC version and bitness, otherwise the plugin wouldn't even load. You have also checked all 2 of the required checkboxes, so the plugin must be enabled. Not sure why it doesn't work for you.

Just to make sure, you are testing the plugin on a video file, right? The plugin is a video filter plugin, so it works only when clicking on a video image, if you, for example, play an audio-only file and try to click anywhere in VLC - the plugin won't pause/unpause anything as there is no video surface for you to click on. The plugin can only detect mouse clicks done on video images.

ThaddeusChristopher commented 6 years ago

Thank you for your time and hard work.

I have made some progress in discovering the root cause of this case.

I had only been testing with .mp4 and .mkv, using only containers with subtitles and encoded with the HEVC codec. These files continue to not allow click-based pause/play functionality.

However, any ordinary .avi or .wmv appears to work as expected.

After testing out various codec and subtitle combinations, I suspect the culprit is the codec. Both HEVC and h264 appear to prevent this plugin's functionality. Subtitles are not a factor.

For convenience, an example test file which is able to reproduce this case can be found here: http://jell.yfish.us/ (jellyfish-3-mbps-hd-hevc.mkv)

nurupo commented 6 years ago

The only thing that would make sense is that when playing a h.265 video, VLC, for some reason, doesn't send mouse events to plugins. If so, it needs to be fixed in VLC, nothing I can do in the plugin about that.

Btw, the plugin works just fine with h264 for me, at least with Codec: H264 - MPEG-4 AVC (part 10) (avc1), so it might be just h265.

nurupo commented 6 years ago

I have tried the following files:

The plugin works on all of them, at least under Linux on VLC 3.0.3. Will try testing on Windows sometime later.

nurupo commented 6 years ago

Btw, the plugin works just fine with h264 for me, at least with Codec: H264 - MPEG-4 AVC (part 10) (avc1), so it might be just h265.

That was on Linux too. For a moment I forgot the issue was about Windows.

nurupo commented 6 years ago

The plugin works on all of them, at least under Linux on VLC 3.0.3. Will try testing on Windows sometime later.

Tested on Windows 10 64-bit using 64-bit VLC 3.0.4 -- same thing, the plugin works on all three of the mentioned video files.

ThaddeusChristopher commented 6 years ago

The last thing I can think of that could be causing this is DirectVobSub (which shows as a green arrow in the System Tray). It is displaying in the System Tray on every file that does not work with the play/pause plugin.

I had assumed it was a natural part of VLC, but no doubt it may have come from a codec pack (would have been CCCP in my case). Let's see if I'm able to fully remove it for testing purposes...

...Sadly, no. Completely uninstalling CCCP (and restarting PC) did prevent DirectVobSub from loading during h.264/h.265 files. But this was not enough to enable the functionality of the play/pause plugin.

To reiterate, regular video files play/pause with this plugin on this PC just fine. Just not any h.264/h.265.

I suspect it must be something affecting the overlay in an incompatible manner, but alas am out of ideas as to what.

As a final note: my laptop is MSI. I tested disabling various MSI bloat such as GameSense, SteelSeries Engine 3, and SCM. Still not encountering the culprit.

ThaddeusChristopher commented 6 years ago

Chalking this one up to an unknown plugin conflict.

During a process of uninstalling & installing various prior VLC builds, 2.2.x and 3.0.x, 32-bit and 64-bit, I eventually reinstalled VLC 3.0.4 with option to "Delete preferences and cache" checked, and this plugin is now a happy camper :-)

Unfortunately I did not backup my previous plugin settings and preferences which could have allowed further root cause investigation.

nurupo commented 6 years ago

Glad it worked for you in the end. Kind of weird that your VLC was using things from CCCP, did you configure it to do that? I'm not even sure if it's something one can configure, I barely touch any VLC settings. I only install my plugin and increase file caching to 5000ms in All --> Input / Codecs to prevent artifacts that appear right after seeking in video files, leaving everything else at default.

nurupo commented 6 years ago

Added

Some users have reported that they had to re-install VLC and select "Delete preferences and cache" in the installer for the plugin to work.

into the README.