Created a new MXF Importer

An evolving, supported alternative to Rovi
Forum rules
★ Download the latest EPG123 here: https://garyan2.github.io/ <> Setup guide here: https://garyan2.github.io/install.html
Sammy2

Posts: 1708
Joined: Fri Aug 24, 2012 7:35 pm
Location:

HTPC Specs: Show details

#21

Post by Sammy2 » Fri Aug 19, 2016 4:05 pm

Do you feel as if you are talking to yourself here?

I've been following along but since I am not really able to contribute I feel it is futile to respond. I would test but I don't want to bork my extremely functional WMC with the epg123 guide solution.

jbf154

Posts: 55
Joined: Mon Jan 14, 2013 7:41 pm
Location:

HTPC Specs: Show details

#22

Post by jbf154 » Wed Aug 24, 2016 2:03 pm

I'm following the thread, so I find it helpful to see where you are with progress and looking at the source code. I'm in the same boat though--I don't have a test rig to try it out on.

glugglug

Posts: 391
Joined: Thu Jun 09, 2011 1:34 am
Location:

HTPC Specs: Show details

#23

Post by glugglug » Wed Aug 24, 2016 3:46 pm

Sammy2 wrote:Do you feel as if you are talking to yourself here?

I've been following along but since I am not really able to contribute I feel it is futile to respond. I would test but I don't want to bork my extremely functional WMC with the epg123 guide solution.
Yeah, sometimes seems like it on this one.

One thing I noticed trying to step through on the 8.1 VM: 8.1 actually has 4 or 5 versions of the mcepg and mcstore DLLs. Reflector complains about the version that gets attached at runtime not matching the one it expected and the debug breakpoints don't usually work. In addition to the ones in \windows\ehome there are registered copies in the GAC, including ones pre-jitted for x64 or win32. The version numbers in the assembly section of the MXF itself match Windows 7 regardless of what you are running, I'm kind of wondering if the parsing code pays any attention to this and could be loading the win7 mcepg from the GAC?

It is working well on my win7 machines.
I'm thinking of refactoring the thing when I get back from vacation to have all interaction with mcepg and mcstore DLLs be through reflection, so there can't possibly be a mismatch between which version is used by the compiler vs which is loaded at runtime, which might get better stability in win8.1. This will have the added bonus of making it a single universal binary for all Windows versions, including 32 bit.

Jim-W

Posts: 63
Joined: Tue May 12, 2015 5:50 pm
Location:

HTPC Specs: Show details

#24

Post by Jim-W » Sun Aug 28, 2016 6:28 pm

glugglug wrote:Updated to work on Windows 8.1 again (hopefully).

There were 2 issues:
1. PrepareMethod was failing on the replacement MergeScheduleEntries. This is supposed to pre-JIT compile it so the compiled code can be copied over that for the built in MergeScheduleEntries method. Maybe it is too big for that in 8.1? Wrapped this function, so the wrapper itself, which is smaller, could be prepared and copied in.
2. ScheduleEntries constructor replacement that set the AlwaysReplace=true, NeverReplace=false, and ProgramMatcher.MatchTitleEpisode=false was causing net runtime failures before said constructor even got called in 8.1. I have no idea why. I guess the kludge I had in place back when I hadn't figured out how to successfully replace a constructor even in Windows 7 was better for 8.1.... Anyways, the changes these flags try to make happen within the MS MXF importing code are done by the replacement for MergeScheduleEntries for any that it misses so this is ultimately redundant. This constructor replacement is now disabled if not running on Windows 7.

https://www.dropbox.com/sh/9cgz6sfabxvv ... 4dTfa?dl=0
I run the below and still crashes
MXFLoader -i C:\EPG123\epg123.mxf -c 3 --reindex

Problem Event Name: APPCRASH
Application Name: MXFLoader.exe
Application Version: 1.0.0.0
Application Timestamp: 57b0f7f8
Fault Module Name: clr.dll
Fault Module Version: 4.0.30319.34209
Fault Module Timestamp: 5348a1ef
Exception Code: c0000005
Exception Offset: 000000000006e655
OS Version: 6.3.9600.2.0.0.256.103
Locale ID: 1033
Additional Information 1: 5685
Additional Information 2: 5685ce1a0845b8e6c3bde0c36f41cac6
Additional Information 3: 6243
Additional Information 4: 62431f8e4d0fcca011d67d50667fefe1

Post Reply