Welcome to Doom9's Forum, THE in-place to be for everyone interested in DVD conversion. Before you start posting please read the forum rules. By posting to this forum you agree to abide by the rules. |
|
|
Thread Tools | Search this Thread | Display Modes |
30th September 2014, 09:09 | #661 | Link |
Registered Developer
Join Date: Sep 2006
Posts: 9,140
|
Looks like a little bug in XySubFilter, but it's not dramatic, IMHO. Why double checking the type if the parameter is already hard coded to ISubRenderFrame? Yeah, sure, doesn't hurt to double check, I guess. But if XySubFilter sent in something other than ISubRenderFrame, incorrectly type-converted to ISubRenderFrame, that would be a dramatic bug, IMHO. FWIW, madVR doesn't check the parameter type, IIRC, and it works just fine.
In any case, fixing this in XySubFilter should be a 2 minute job, it should definitely be done. |
30th September 2014, 10:15 | #663 | Link |
Registered Developer
Join Date: Sep 2006
Posts: 9,140
|
Why would you need to cast it *at all*? The DeliverFrame() method should already provide the interface in the right type. So a cast should not be necessary.
Anyway, as I said, it should be easy to fix. Unfortunately the XySubFilter developer is currently not active. If you need this fix urgently, you may have to implement the fix yourself... |
30th September 2014, 10:30 | #664 | Link |
Suptitle, MediaPlayer.NET
Join Date: Nov 2001
Posts: 1,721
|
You don't have to cast it. .NET Framework does it internally when the callback occurs. In which case invalid cast exception will be thrown (i.e. cast in .NET on com objects is actually a QI. Marshaling also checks for the correct type before allowing the type to be what the declaration claims it to be).
Edit: not complaining. Just informing. Took me an hour to figure out it's xysubfilter missing a QI export but a minute to fix it. Last edited by Zachs; 30th September 2014 at 11:23. |
30th September 2014, 17:08 | #668 | Link |
Broadband Junkie
Join Date: Oct 2005
Posts: 1,859
|
Looking through the code, I can only assume this was overlooked because the dev wrapped ISubRenderFrame within XySubRenderIntf.h as IXySubRenderFrame (ISubRenderFrame is never used directly anywhere in the code) and it seems he did remember to include IXySubRenderFrame in NonDelegatingQueryInterface.
So is this just a simple fix of adding a single line for ISubRenderFrame to xy_sub_filter.h & xy_sub_filter.cpp or is there more to it than that? As madshi mentioned the developer isn't really active right now, but I could certainly commit trivial changes or merge pull requests myself from github and release a new hotfix build if necessary. |
1st October 2014, 13:29 | #670 | Link |
Registered User
Join Date: Jul 2013
Posts: 76
|
I would also appreciate a hotfix.
Been noticing quite a few subtitle changes in MPC-HC the last couple of weeks. Hopefully XySubFilter is still faster and preferred for quality. Hoping development kicks back up again sometime soon. |
1st October 2014, 19:37 | #671 | Link |
Broadband Junkie
Join Date: Oct 2005
Posts: 1,859
|
I was only thinking of merging our outstanding pull requests along with the change Zachs requested. I haven't noticed any critically important bugfix in the recent MPC-HC commits, but if I've overlooked something which can be reproduced in XySubFilter, please point out the related MPC-HC commit and I'll look into it.
The XySubFilter developer remains inactive, so development starting back up soon seems very unlikely. |
29th October 2014, 02:15 | #672 | Link |
Registered User
Join Date: Jun 2014
Posts: 10
|
This shared file.
http://pan.baidu.com/s/1c0b9tfi neither xyvsfilter nor xysubfilter can dispay correctly. mpc-hc built-in: http://i2.tietuku.com/7f9932a98be51711.png can you fix it... |
29th October 2014, 05:41 | #673 | Link | |
Broadband Junkie
Join Date: Oct 2005
Posts: 1,859
|
Quote:
With xy-VSFilter, the video needs to be 1920x1080 for Blu-ray PGS subtitles to display. A workaround for cropped video like that one, is to set Vertical Padding to Extend to 16:9. |
|
Thread Tools | Search this Thread |
Display Modes | |
|
|