x0x8x / metavideoeditor

Automatically exported from code.google.com/p/metavideoeditor
0 stars 0 forks source link

MetaVideoEditor does not start on Windows Server 2008 x64 #4

Open GoogleCodeExporter opened 8 years ago

GoogleCodeExporter commented 8 years ago
What steps will reproduce the problem?
1. Install MetaVideoEditor 2.0.1.1 on Win2008 x64
2. Run MetaVideoEditor

What is the expected output? What do you see instead?

The Splash Screen is displayed but I get an error message ("MetaVideoEditor has 
stopped working") while MVE "Initialise les composants"....

What version of the product are you using? On what operating system?

MVE 2.0.1.1 on Win2008 x64 with .Net 3.5 installed and all the windows updates 
applied.

Please provide any additional information below.

Nothing in the "event log". I did try to run it as Administrator or with XP SP2 
compatibility, but same issue occurs. All my movies are stored on this server, 
reason why I would like to install MVE there. MVE is quite slow when using 
shared folders :/

Original issue reported on code.google.com by OgeG...@gmail.com on 28 Aug 2010 at 10:44

GoogleCodeExporter commented 8 years ago
I finally had some time to get the source and have a look on this issue (mhhh, 
yes mor than one year after :D...)

The first issue is with the Trailer panel. I had to remove it because it's 
relying on a media player feature (AxWMPLib.AxWindowsMediaPlayer) which is not 
available on Win2008. I did try to install it but it is not straightforward :/

In the method itemsView_DrawNode, I had to add a surrounding the code with a 
"if (e.Node.IsVisible)".

In FileUtil.cs, I had to rewrite the method "public static bool Compare(string 
path1, string path2)".

public static bool Compare(string path1, string path2)
{
    try
    {
        if (File.Exists(path1) && File.Exists(path2))
        {
            MemoryStream mem1 = new MemoryStream();
            MemoryStream mem2 = new MemoryStream();
            using (System.IO.FileStream fs1 = new System.IO.FileStream(
                    path1, System.IO.FileMode.Open,
                    System.IO.FileAccess.Read, System.IO.FileShare.ReadWrite))
            {
                CopyStream(fs1, mem1);
            }
            using (System.IO.FileStream fs2 = new System.IO.FileStream(
                    path2, System.IO.FileMode.Open,
                    System.IO.FileAccess.Read, System.IO.FileShare.ReadWrite))
            {
                CopyStream(fs2, mem2);
            }

            byte[] file1 = mem1.ToArray();
            byte[] file2 = mem2.ToArray();
            if (mem1.Length == mem2.Length)
            {
                for (int i = 0; i < mem1.Length; i++)
                {
                    if (file1[i] != file2[i])
                    {
                        return false;
                    }
                }
                return true;
            }
        }
    }
    catch { }
    return false;
}

public static void CopyStream(Stream input, Stream output)
{
    byte[] b = new byte[32768];
    int r;
    while ((r = input.Read(b, 0, b.Length)) > 0)
        output.Write(b, 0, r);
}

O.

Original comment by VLetr...@gmail.com on 25 Dec 2011 at 3:21