chenyunecjtu / coreavc-for-linux

Automatically exported from code.google.com/p/coreavc-for-linux
GNU General Public License v2.0
0 stars 1 forks source link

Can't get the coreavc trial version to work. #33

Closed GoogleCodeExporter closed 8 years ago

GoogleCodeExporter commented 8 years ago
What steps will reproduce the problem?
1. build dshowserver (Btw: the wiki instructions are incorrect, should be
just make and not make -c ..)
2. registered, changed registry path to HKLM\Software\CoreCodec\CoreAVC Trial
3. ran test, outputs (after turning on registry TRACE) : 

$ ./dshowserver -c CoreAVCDecoder.ax -s 1280x720 -g
09571a4b-f1fe-4c60-9760de6d310c7c31 -b 12 -f 0x34363248 -o 0x30323449
No id specified, assuming test mode
Opening device
Called unk_IsDebuggerPresent
Opening key Software\CoreCodec\CoreAVC Trial
Initializing registry
Opening key Fullname HKLM\Software\CoreCodec\CoreAVC Trial
Querying value Serial
MSGBOX 'Serial Number Missing!' 'CoreAVC Trial Edition' (327680)
Opening key Software\CoreCodec\CoreAVC Trial
Opening key Fullname HKLM\Software\CoreCodec\CoreAVC Trial
Querying value Serial
Win32 LoadLibrary failed to load: CoreAVCDecoder.ax
Warning: DS_Filter() could not open DirectShow DLL.  (DLL=CoreAVCDecoder.ax)
Failed to create DirectShow filter
Failed to open win32 codec CoreAVCDecoder.ax

Using CoreAVC trial 1.7.0

same codec and serial works correctly inside windows in virtualbox.

any idea?

Original issue reported on code.google.com by o...@yadan.net on 5 Jun 2008 at 5:43

GoogleCodeExporter commented 8 years ago
I looking into it a little, and the problem is with 
static struct reg_value* find_value_by_name(const char* name)
it does not find the key and return 0.

I added some debug info:
 static struct reg_value* find_value_by_name(const char* name)
 {
+       TRACE("find_value_by_name %s, reg_size = %d\n",name, reg_size);
        int i;
        for(i=0; i<reg_size; i++)
+       {
+               TRACE("Compating %s to %s, res = %d\n", name, regs[i].name,
strcmp(regs[i].name, name));
                if(!strcmp(regs[i].name, name))
                        return regs+i;
+       }
        return 0;
 }

and I don't understand why it every worked.
this is what I get:
find_value_by_name HKLM\Software\CoreCodec\CoreAVC Trial\Serial, reg_size = 2
Compating HKLM\Software\CoreCodec\CoreAVC Trial\Serial to HKLM, res = -92
Compating HKLM\Software\CoreCodec\CoreAVC Trial\Serial to HKCU, res = -9

Are you sure this is how you expect it to work? I am not surprised it's not 
working.

Original comment by o...@yadan.net on 6 Jun 2008 at 10:19

GoogleCodeExporter commented 8 years ago
okay, looks like the real problem was that it opened a different registry file
(registry32).
you might want to add a trace of the actual registry file opened to hint users 
that
have this problem.

Thanks.
you can close this ticket.

Original comment by o...@yadan.net on 6 Jun 2008 at 4:16

GoogleCodeExporter commented 8 years ago
User resolved issue.  I will look into writing a log message with the path to 
the
registry to ease debug

Original comment by alannis...@gmail.com on 7 Jun 2008 at 2:34

GoogleCodeExporter commented 8 years ago
Great.
btw:
there are some inaccuracies in the wiki,

In DshowserverInstall:
make -C dshowserver

should be just make.

in RegisterCoreAVC:
If you are using mplayer or xine do:
export REGISTRY=$HOME/.mplayer/registry

to me it was registry32 for mythtv (latest from svn).

You might want to mention that to try with the latest coreavc trial you need to 
put
the serial number in the registry path:
HKLM\Software\CoreCodec\CoreAVC Trial\Serial

There was also a instruction to copy registercodec after applying the mplayer 
patch,
- which was duplicate (wrong path) and duplicate anyway - but I can't find it - 
maybe
you have already fixed it. 

Original comment by o...@yadan.net on 7 Jun 2008 at 8:24

GoogleCodeExporter commented 8 years ago
speaking of inaccuracies :):
to me it was registry32 for mythtv (latest from svn).
should be:
to me it was registry32 for MPLAYER (latest from svn).

Original comment by o...@yadan.net on 7 Jun 2008 at 8:25

GoogleCodeExporter commented 8 years ago
I have this problem too, but if there's a solution in this thread it's not 
clear to
me what that is.

Something about registry32?

Here is my output:

dshowserver -c CoreAVCDecoder.ax -s 1280x720 -g 
09571a4b-f1fe-4c60-9760de6d310c7c31
-b 12 -f 0x34363248 -o 0x30323449
No id specified, assuming test mode
Opening device
Called unk_IsDebuggerPresent
MSGBOX 'Serial Number Missing!' 'CoreAVC Trial Edition' (327680)
Win32 LoadLibrary failed to load: CoreAVCDecoder.ax
Warning: DS_Filter() could not open DirectShow DLL.  (DLL=CoreAVCDecoder.ax)
Failed to create DirectShow filter
Failed to open win32 codec CoreAVCDecoder.ax

with regedit I see my serial under 
HKEY_LOCAL_MACHINE\Software\CoreCodec\CoreAVC Trial

What else do I need to do?

Original comment by sean.mit...@gmail.com on 27 Dec 2008 at 5:40