-
-
Notifications
You must be signed in to change notification settings - Fork 63
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Plugin crashes VLC (green picture) on playing next udp multicast stream #58
Comments
Which OS is that? You kept the "Windows / Linux / macOS" placeholder text. |
Sorry, added the info in the OP. |
Ok, will test it later this week. Can't think of why it would make the picture green off the top of my head. |
Sorry, missed that you don't even pause, you just go to the next item in the playlist. I have tried to reproduce the issue, but I'm unable to connect to the |
Hi @nurupo I ran into the same problem recently and it keeps reproduced for several days.
So this cannot be reproduced when just playing a video or pause/play it. Here is my configuration:
Also I reinstalled VLC, downloaded the plugin again from releases page and copied dll file to video_filter again. Nothing helped. |
Could you try manually deleting the whole |
Just to make it clear, in your reproduction steps, you never clicked on the video image to pause it? You can add several videos in the playlist, play the first one, not touch mouse and keyboard, and it's still reproducible? Also, do you have any non-default settings set? Like a different video output module or any extra video filters you are enabling? |
Also, could you provide the logs of your reproduction? Someone has pointed out that it could be a decoding issue of sorts, which could appear in the logs.
|
@nurupo
Also I tried to not wait in the step "6" but just scroll to the very end of the video. The same result: video finished and new video started - and nothing but green frame. So it doesn't depend whether I interact with any controls with mouse/keyboard. Here are logs. I used the same videos that I attached above. I enabled log file in advanced preferences. Every time I renamed log file and let new log file be created. With pauseclick - green screen (scrolled to the end and wait for switch to the next video) |
Couldn't reproduce with the provided video files and I don't see anything suspicious in the logs. Have no idea why your are having this issue. Logs say that VLC is using d3d11va hardware decoder module and Nvidia drivers - it could be something related to those, but that's just a guess. My system has only Sandy Bridge Intel integrated graphics and it doesn't support d3d11, so when I use VLC it uses something different for hardware decoding, which might be why I don't have the issue. |
Good news: reproduced on someone else's computer. Couldn't debug it, but there are a couple of workarounds I have figured out with some trial and error:
Use just one workaround, using both doesn't make sense (I don't think you can even use |
The bug must me somewhere outside the plugin, in VLC or its dependencies, given how even a simple no-op video filter plugin causes this: #include <vlc_common.h>
#include <vlc_filter.h>
#include <vlc_plugin.h>
static int Create(vlc_object_t *);
static void Destroy(vlc_object_t *);
vlc_module_begin()
set_description("Noop video filter")
set_shortname("Noop video filter")
set_capability("video filter", 0)
set_category(CAT_VIDEO)
set_subcategory(SUBCAT_VIDEO_VFILTER)
set_callbacks(Create, Destroy)
vlc_module_end()
static picture_t *filter(filter_t *p_filter, picture_t *p_pic_in)
{
// don't alter picture
return p_pic_in;
}
static int Create(vlc_object_t *p_this)
{
filter_t *p_filter = (filter_t *)p_this;
p_filter->pf_video_filter = filter;
return VLC_SUCCESS;
}
static void Destroy(vlc_object_t *p_this)
{
} I have poked developers on IRC, will see what they say. Ideally I'd open a bug report, but I can't as they require to provide logs and I don't have access to the computer that reproduces this to provide them. Even if I did get the logs, VLC developers would likely suggest to try changing some settings in VLC and see if that helps, which I can't do without having access to the computer that reproduces this. Perhaps one of you could file a bug report instead? If you do, it would be better if you do so using the noop video filter the code of which I have posted above, as it triggers the same bug with less code. Here are dlls for it: It shows up as "Noop video filter" under video filters. |
Mentioned the workarounds in README's Troubleshooting section. |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
Closing comments as the discussion of this issue has been exhausted. I have asked earlier that if you are able to reproduce this bug -- file a bug report with VLC, as it appears to be a bug in VLC rather than the plugin, and I'm unable to reproduce it with my Intel iGPU, so I won't be able to provide any logs or anything like that if I file the bug report myself. As far as I know, so far no one has filed a bug report with VLC. Since no one seems to be willing to help fix this bug, I have filed the bug report myself just now https://trac.videolan.org/vlc/ticket/25057. |
An update. I became an owner of an Nvidia GPU recently, so I was able to reproduce the bug. From my testing, there are a few things I have observed:
I have shared my findings and logs with the VLC team, hopefully they can pin down the bug and fix it. I implemented a workaround for the bug (at the cost of a slight efficiency loss), allowing vlc-pause-click-plugin to work with interlaced videos without turning them green. I intended to use that workaround until the VLC team properly fixes the bug, at which point I would remove the workaround, but the workaround triggered yet another bug with interlaced videos, so my workaround can't be used until VLC fixes that second bug. Scrapping the workaround, I implemented a compromise: disable vlc-pause-click-plugin on interlaced videos on Windows -- this would prevent VLC from breaking itself with the green picture. Alas, this compromise implementation was foiled by how VLC detects interlaced videos -- if you play an interlaced video, no matter if the next video is interlaced or not, VLC will treat is as interlaced for 30 seconds, at which point it will change its mind if it is, in fact, not interlaced. So vlc-pause-click-plugin ends up being disabled for the first 30 seconds of a progressive, i.e. non-interlaced, video, that is played after an interlaced video, and then it gets enabled after those 30 seconds end, which is quite a jarring user experience, so this compromise was also scrapped. I'm out of ideas on how this bug can be addressed on the plugin level. These are bugs in VLC and need to be addressed on the VLC level. So we will have to wait on the VLC team to fix the mentioned bugs until there is anything we can do. |
The bug appears to be fixed in the nightly VLC 4.0, unable to reproduce the bug using that version. Sadly, it's unlikely that it will get fixed in VLC 3.0. |
The workaround resulted in another VLC bug being triggered: https://code.videolan.org/videolan/vlc/-/issues/27360 See the discussion in: #58 (comment)
Self-troubleshooting
Software
OS: Windows 10 x64 Build 1903 with all Updates
VLC version: 3.0.8 & 3.0.7.1
VLC bitness: 64
Plugin version: 2.1.0 (latest)
Plugin bitness: 64
Issue description
With plugin activated:
I am opening VLC and load an playlist.m3u (see attachment).
This playlist just has some udp multicast streams in it.
The first plays well, but when i am pressing "next" at the bottom,
the stream loads somehow and audio is working, but the picture is just green!
With plugin deactivated:
All is working like it should.
Can you please look into the issue?
Is there anything i can help, logs...?
`
thx
playlist.zip
The text was updated successfully, but these errors were encountered: