annotate TOOLS/realcodecs/cook.c @ 33263:5f527a9a9521

Add an exit function. This function will allow performing clean-up operations. (MPlayer calls guiDone() before exiting, but only if the GUI has been initialized, i.e. if guiInit() has been called successfully. Any exit_player()/exit_player_with_rc() after GUI's cfg_read() until guiInit(), or any exit_player() during guiInit() itself will end the GUI without calling guiDone(). This exit function will at least handle abortions during guiInit() itself. It will be called twice in case of an guiExit() after GUI initialization - first directly, next by guiDone() via MPlayer's exit_player_with_rc().)
author ib
date Tue, 03 May 2011 12:19:22 +0000
parents 32725ca88fed
children cef5275fc11f
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
7110
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
1 /*
28195
3f3f00ce912e Relicense to GPLv2 or later with the author's permission.
diego
parents: 28193
diff changeset
2 * This is a small DLL that works as a wrapper for the actual realcook.so.6.0
3f3f00ce912e Relicense to GPLv2 or later with the author's permission.
diego
parents: 28193
diff changeset
3 * DLL from RealPlayer 8.0.
3f3f00ce912e Relicense to GPLv2 or later with the author's permission.
diego
parents: 28193
diff changeset
4 *
3f3f00ce912e Relicense to GPLv2 or later with the author's permission.
diego
parents: 28193
diff changeset
5 * This file is part of MPlayer.
3f3f00ce912e Relicense to GPLv2 or later with the author's permission.
diego
parents: 28193
diff changeset
6 *
3f3f00ce912e Relicense to GPLv2 or later with the author's permission.
diego
parents: 28193
diff changeset
7 * MPlayer is free software; you can redistribute it and/or modify
3f3f00ce912e Relicense to GPLv2 or later with the author's permission.
diego
parents: 28193
diff changeset
8 * it under the terms of the GNU General Public License as published by
3f3f00ce912e Relicense to GPLv2 or later with the author's permission.
diego
parents: 28193
diff changeset
9 * the Free Software Foundation; either version 2 of the License, or
3f3f00ce912e Relicense to GPLv2 or later with the author's permission.
diego
parents: 28193
diff changeset
10 * (at your option) any later version.
3f3f00ce912e Relicense to GPLv2 or later with the author's permission.
diego
parents: 28193
diff changeset
11 *
3f3f00ce912e Relicense to GPLv2 or later with the author's permission.
diego
parents: 28193
diff changeset
12 * MPlayer is distributed in the hope that it will be useful,
3f3f00ce912e Relicense to GPLv2 or later with the author's permission.
diego
parents: 28193
diff changeset
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
3f3f00ce912e Relicense to GPLv2 or later with the author's permission.
diego
parents: 28193
diff changeset
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
3f3f00ce912e Relicense to GPLv2 or later with the author's permission.
diego
parents: 28193
diff changeset
15 * GNU General Public License for more details.
3f3f00ce912e Relicense to GPLv2 or later with the author's permission.
diego
parents: 28193
diff changeset
16 *
3f3f00ce912e Relicense to GPLv2 or later with the author's permission.
diego
parents: 28193
diff changeset
17 * You should have received a copy of the GNU General Public License along
3f3f00ce912e Relicense to GPLv2 or later with the author's permission.
diego
parents: 28193
diff changeset
18 * with MPlayer; if not, write to the Free Software Foundation, Inc.,
3f3f00ce912e Relicense to GPLv2 or later with the author's permission.
diego
parents: 28193
diff changeset
19 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
3f3f00ce912e Relicense to GPLv2 or later with the author's permission.
diego
parents: 28193
diff changeset
20 */
7110
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
21
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
22 /*
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
23 Assuming that RACloseCodec is the last call.
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
24 */
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
25
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
26 #include <stddef.h>
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
27 #include <stdio.h>
24208
3b80b74b6813 Fix "incompatible implicit declaration of built-in function 'exit'" warnings.
diego
parents: 9550
diff changeset
28 #include <stdlib.h>
24210
1da5724cc7a7 Fix a ton of warnings:
diego
parents: 24208
diff changeset
29 #include <string.h>
7110
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
30 #include <dlfcn.h>
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
31 #include <sys/time.h>
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
32
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
33 typedef unsigned long ulong;
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
34
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
35 ulong (*raCloseCodec)(ulong);
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
36 ulong (*raDecode)(ulong,ulong,ulong,ulong,ulong,ulong);
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
37 ulong (*raEncode)(ulong,ulong,ulong);
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
38 ulong (*raFlush)(ulong,ulong,ulong);
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
39 ulong (*raFreeDecoder)(ulong);
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
40 ulong (*raFreeEncoder)(ulong);
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
41 ulong (*raGetFlavorProperty)(ulong,ulong,ulong,ulong);
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
42 ulong (*raGetNumberOfFlavors)(void);
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
43 ulong (*raGetNumberOfFlavors2)(void);
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
44 ulong (*raInitDecoder)(ulong,ulong);
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
45 ulong (*raInitEncoder)(ulong,ulong);
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
46 ulong (*raOpenCodec)(ulong);
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
47 ulong (*raOpenCodec2)(ulong);
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
48 ulong (*raSetFlavor)(ulong,ulong);
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
49 void (*raSetDLLAccessPath)(ulong);
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
50 /* the following symbol will be _dlsym()ed by rarender.so,
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
51 but at least doesn't exist in cook.so
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
52 ulong (raSetPwd*)(ulong);
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
53 */
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
54
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
55 int b_dlOpened=0;
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
56 void *handle=NULL;
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
57
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
58 /* exits program when failure */
28232
8df85ad26746 Add missing 'void' keyword to parameterless function declarations.
diego
parents: 28195
diff changeset
59 void loadSyms(void) {
7110
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
60 fputs("loadSyms()\n", stderr);
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
61 if (!b_dlOpened) {
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
62 char *error;
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
63
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
64 // fputs("opening dll...\n");
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
65 handle = dlopen ("/usr/local/RealPlayer8/Codecs/realcook.so.6.0", RTLD_LAZY);
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
66 if (!handle) {
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
67 fputs (dlerror(), stderr);
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
68 exit(1);
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
69 }
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
70
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
71 raCloseCodec = dlsym(handle, "RACloseCodec");
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
72 if ((error = dlerror()) != NULL) {
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
73 fprintf (stderr, "dlsym(RACloseCodec): %s\n", error);
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
74 exit(1);
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
75 }
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
76 raDecode = dlsym(handle, "RADecode");
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
77 if ((error = dlerror()) != NULL) {
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
78 fprintf (stderr, "dlsym(RADecode): %s\n", error);
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
79 exit(1);
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
80 }
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
81 raEncode = dlsym(handle, "RAEncode");
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
82 if ((error = dlerror()) != NULL) {
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
83 fprintf (stderr, "dlsym(RAEncode): %s\n", error);
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
84 exit(1);
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
85 }
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
86 raFlush = dlsym(handle, "RAFlush");
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
87 if ((error = dlerror()) != NULL) {
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
88 fprintf (stderr, "dlsym(RAFlush): %s\n", error);
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
89 exit(1);
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
90 }
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
91 raFreeDecoder = dlsym(handle, "RAFreeDecoder");
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
92 if ((error = dlerror()) != NULL) {
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
93 fprintf (stderr, "dlsym(RAFreeDecoder): %s\n", error);
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
94 exit(1);
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
95 }
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
96 raFreeEncoder = dlsym(handle, "RAFreeEncoder");
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
97 if ((error = dlerror()) != NULL) {
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
98 fprintf (stderr, "dlsym(RAFreeEncoder): %s\n", error);
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
99 exit(1);
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
100 }
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
101 raGetFlavorProperty = dlsym(handle, "RAGetFlavorProperty");
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
102 if ((error = dlerror()) != NULL) {
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
103 fprintf (stderr, "dlsym(RAGetFlavorProperty): %s\n", error);
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
104 exit(1);
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
105 }
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
106 raGetNumberOfFlavors = dlsym(handle, "RAGetNumberOfFlavors");
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
107 if ((error = dlerror()) != NULL) {
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
108 fprintf (stderr, "dlsym(RAGetNumberOfFlavors): %s\n", error);
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
109 exit(1);
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
110 }
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
111 raGetNumberOfFlavors2 = dlsym(handle, "RAGetNumberOfFlavors2");
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
112 if ((error = dlerror()) != NULL) {
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
113 fprintf (stderr, "dlsym(RAGetNumberOfFlavors2): %s\n", error);
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
114 exit(1);
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
115 }
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
116 raInitDecoder = dlsym(handle, "RAInitDecoder");
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
117 if ((error = dlerror()) != NULL) {
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
118 fprintf (stderr, "dlsym(RAInitDecoder): %s\n", error);
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
119 exit(1);
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
120 }
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
121 raInitEncoder = dlsym(handle, "RAInitEncoder");
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
122 if ((error = dlerror()) != NULL) {
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
123 fprintf (stderr, "dlsym(RAInitEncoder): %s\n", error);
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
124 exit(1);
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
125 }
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
126 raOpenCodec = dlsym(handle, "RAOpenCodec");
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
127 if ((error = dlerror()) != NULL) {
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
128 fprintf (stderr, "dlsym(RAOpenCodec): %s\n", error);
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
129 exit(1);
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
130 }
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
131 raOpenCodec2 = dlsym(handle, "RAOpenCodec2");
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
132 if ((error = dlerror()) != NULL) {
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
133 fprintf (stderr, "dlsym(RAOpenCodec2): %s\n", error);
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
134 exit(1);
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
135 }
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
136 raSetFlavor = dlsym(handle, "RASetFlavor");
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
137 if ((error = dlerror()) != NULL) {
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
138 fprintf (stderr, "dlsym(RASetFlavor): %s\n", error);
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
139 exit(1);
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
140 }
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
141 raSetDLLAccessPath = dlsym(handle, "SetDLLAccessPath");
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
142 if ((error = dlerror()) != NULL) {
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
143 fprintf (stderr, "dlsym(SetDLLAccessPath): %s\n", error);
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
144 exit(1);
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
145 }
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
146 b_dlOpened=1;
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
147 }
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
148 }
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
149
28232
8df85ad26746 Add missing 'void' keyword to parameterless function declarations.
diego
parents: 28195
diff changeset
150 void closeDll(void) {
7110
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
151 if (handle) {
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
152 b_dlOpened=0;
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
153 dlclose(handle);
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
154 handle=NULL;
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
155 }
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
156 }
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
157
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
158 void _init(void) {
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
159 loadSyms();
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
160 }
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
161
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
162 struct timezone tz;
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
163 struct timeval tv1, tv2;
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
164
28232
8df85ad26746 Add missing 'void' keyword to parameterless function declarations.
diego
parents: 28195
diff changeset
165 void tic(void) {
7110
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
166 gettimeofday(&tv1, &tz);
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
167 }
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
168
28232
8df85ad26746 Add missing 'void' keyword to parameterless function declarations.
diego
parents: 28195
diff changeset
169 void toc(void) {
7110
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
170 long secs, usecs;
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
171 gettimeofday(&tv2, &tz);
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
172 secs=tv2.tv_sec-tv1.tv_sec;
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
173 usecs=tv2.tv_usec-tv1.tv_usec;
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
174 if (usecs<0) {
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
175 usecs+=1000000;
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
176 --secs;
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
177 }
26449
105de0884218 Remove pointless '0' flag from fprintf call, fixes the warning:
diego
parents: 25313
diff changeset
178 fprintf(stderr, "Duration: %ld.%.6lds\n", secs, usecs);
7110
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
179 }
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
180
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
181
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
182 void hexdump(void *pos, int len) {
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
183 unsigned char *cpos=pos, *cpos1;
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
184 int lines=(len+15)>>4;
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
185 while(lines--) {
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
186 int len1=len, i;
29263
0f1b5b68af32 whitespace cosmetics: Remove all trailing whitespace.
diego
parents: 28232
diff changeset
187 fprintf(stderr, "%0x ", cpos);
7110
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
188 cpos1=cpos;
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
189 for (i=0;i<16;i++) {
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
190 if (len1>0) {
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
191 fprintf(stderr, "%02x ", *(cpos++));
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
192 } else {
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
193 fprintf(stderr, " ");
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
194 }
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
195 len1--;
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
196 }
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
197 fputs(" ", stderr);
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
198 cpos=cpos1;
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
199 for (i=0;i<16;i++) {
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
200 if (len>0) {
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
201 unsigned char ch=(*(cpos++));
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
202 if ((ch<32)||(ch>127)) ch='.';
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
203 fputc(ch, stderr);
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
204 }
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
205 len--;
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
206 }
29263
0f1b5b68af32 whitespace cosmetics: Remove all trailing whitespace.
diego
parents: 28232
diff changeset
207 fputs("\n", stderr);
7110
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
208 }
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
209 fputc('\n', stderr);
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
210 }
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
211
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
212
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
213 ulong RACloseCodec(ulong p1) {
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
214 ulong result;
25313
9e13376e0daa Fix printf format string length modifiers, removes about a trillion warnings.
diego
parents: 24210
diff changeset
215 fprintf(stderr, "RACloseCodec(ulong p1=0x%0lx(%ld))\n", p1, p1);
7110
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
216 result=(*raCloseCodec)(p1);
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
217 // closeDll();
25313
9e13376e0daa Fix printf format string length modifiers, removes about a trillion warnings.
diego
parents: 24210
diff changeset
218 fprintf(stderr, "--> 0x%0lx(%ld)\n\n\n", result, result);
7110
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
219 return result;
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
220 }
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
221
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
222 static int pkno=0;
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
223
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
224 ulong RADecode(ulong p1,ulong p2,ulong p3,ulong p4,ulong* p5,ulong p6) {
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
225 ulong result;
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
226 int x,y;
29263
0f1b5b68af32 whitespace cosmetics: Remove all trailing whitespace.
diego
parents: 28232
diff changeset
227
25313
9e13376e0daa Fix printf format string length modifiers, removes about a trillion warnings.
diego
parents: 24210
diff changeset
228 fprintf(stderr, "RADecode(ulong ctx=0x%0lx, ", p1);
9e13376e0daa Fix printf format string length modifiers, removes about a trillion warnings.
diego
parents: 24210
diff changeset
229 fprintf(stderr, "ulong src=0x%0lx,\n", p2);
9e13376e0daa Fix printf format string length modifiers, removes about a trillion warnings.
diego
parents: 24210
diff changeset
230 fprintf(stderr, "ulong len=0x%0lx,", p3);
9e13376e0daa Fix printf format string length modifiers, removes about a trillion warnings.
diego
parents: 24210
diff changeset
231 fprintf(stderr, "ulong dst=0x%0lx,\n", p4);
9e13376e0daa Fix printf format string length modifiers, removes about a trillion warnings.
diego
parents: 24210
diff changeset
232 fprintf(stderr, "ulong dstcnt=0x%0lx, ",p5);
9e13376e0daa Fix printf format string length modifiers, removes about a trillion warnings.
diego
parents: 24210
diff changeset
233 fprintf(stderr, "ulong p6=%ld)\n", p6);
7110
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
234 // hexdump((void*)p1, 44);
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
235 // hexdump((void*)p2, p3);
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
236 // hexdump((void*)p4, 80);
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
237 // hexdump((void*)p5, 16);
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
238 // tic();
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
239
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
240 fprintf(stderr,"\n#CRC[%3d]",pkno++);
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
241 for(y=0;y<10;y++){
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
242 unsigned short crc=0;
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
243 unsigned char* p=p2;
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
244 p+=60*y;
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
245 for(x=0;x<60;x++){
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
246 crc+=p[x]<<(x&7);
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
247 }
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
248 fprintf(stderr," %04X",crc);
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
249 }
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
250 fprintf(stderr,"\n");
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
251
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
252 result=(*raDecode)(p1,p2,p3,p4,p5,p6);
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
253 // toc();
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
254 // hexdump((void*)p1, 44);
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
255 // hexdump((void*)p4, 80);
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
256 // hexdump((void*)p5, 16);
25313
9e13376e0daa Fix printf format string length modifiers, removes about a trillion warnings.
diego
parents: 24210
diff changeset
257 fprintf(stderr, "--> 0x%0lx(%ld) decoded: %ld \n\n\n", result, result, p5[0]);
7110
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
258 return result;
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
259 }
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
260
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
261 ulong RAEncode(ulong p1,ulong p2,ulong p3) {
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
262 ulong result;
25313
9e13376e0daa Fix printf format string length modifiers, removes about a trillion warnings.
diego
parents: 24210
diff changeset
263 fprintf(stderr, "RAEncode(ulong p1=0x%0lx(%ld), ", p1, p1);
9e13376e0daa Fix printf format string length modifiers, removes about a trillion warnings.
diego
parents: 24210
diff changeset
264 fprintf(stderr, "ulong p2=0x%0lx(%ld),\n", p2, p2);
9e13376e0daa Fix printf format string length modifiers, removes about a trillion warnings.
diego
parents: 24210
diff changeset
265 fprintf(stderr, "ulong p3=0x%0lx(%ld))\n", p3, p3);
7110
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
266 result=(*raEncode)(p1,p2,p3);
25313
9e13376e0daa Fix printf format string length modifiers, removes about a trillion warnings.
diego
parents: 24210
diff changeset
267 fprintf(stderr, "--> 0x%0lx(%ld)\n\n\n", result, result);
7110
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
268 return result;
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
269 }
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
270
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
271 ulong RAFlush(ulong p1,ulong p2,ulong p3) {
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
272 ulong result;
25313
9e13376e0daa Fix printf format string length modifiers, removes about a trillion warnings.
diego
parents: 24210
diff changeset
273 fprintf(stderr, "RAFlush(ulong p1=0x%0lx(%ld), ", p1, p1);
9e13376e0daa Fix printf format string length modifiers, removes about a trillion warnings.
diego
parents: 24210
diff changeset
274 fprintf(stderr, "ulong p2=0x%0lx(%ld),\n", p2, p2);
9e13376e0daa Fix printf format string length modifiers, removes about a trillion warnings.
diego
parents: 24210
diff changeset
275 fprintf(stderr, "ulong p3=0x%0lx(%ld))\n", p3, p3);
7110
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
276 result=(*raFlush)(p1,p2,p3);
25313
9e13376e0daa Fix printf format string length modifiers, removes about a trillion warnings.
diego
parents: 24210
diff changeset
277 fprintf(stderr, "--> 0x%0lx(%ld)\n\n\n", result, result);
7110
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
278 return result;
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
279 }
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
280
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
281 ulong RAFreeDecoder(ulong p1) {
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
282 ulong result;
25313
9e13376e0daa Fix printf format string length modifiers, removes about a trillion warnings.
diego
parents: 24210
diff changeset
283 fprintf(stderr, "RAFreeDecoder(ulong p1=0x%0lx(%ld))\n", p1, p1);
7110
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
284 hexdump((void*)p1, 44);
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
285 result=(*raFreeDecoder)(p1);
25313
9e13376e0daa Fix printf format string length modifiers, removes about a trillion warnings.
diego
parents: 24210
diff changeset
286 fprintf(stderr, "--> 0x%0lx(%ld)\n\n\n", result, result);
7110
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
287 return result;
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
288 }
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
289
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
290 ulong RAFreeEncoder(ulong p1) {
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
291 ulong result;
25313
9e13376e0daa Fix printf format string length modifiers, removes about a trillion warnings.
diego
parents: 24210
diff changeset
292 fprintf(stderr, "RAFreeEncoder(ulong p1=0x%0lx(%ld))\n", p1, p1);
7110
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
293 result=(*raFreeEncoder)(p1);
25313
9e13376e0daa Fix printf format string length modifiers, removes about a trillion warnings.
diego
parents: 24210
diff changeset
294 fprintf(stderr, "--> 0x%0lx(%ld)\n\n\n", result, result);
7110
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
295 return result;
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
296 }
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
297
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
298 ulong RAGetFlavorProperty(ulong p1,ulong p2,ulong p3, ulong p4) {
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
299 ulong result;
25313
9e13376e0daa Fix printf format string length modifiers, removes about a trillion warnings.
diego
parents: 24210
diff changeset
300 fprintf(stderr, "RAGetFlavorProperty(ulong p1=0x%0lx(%ld), ", p1, p1);
9e13376e0daa Fix printf format string length modifiers, removes about a trillion warnings.
diego
parents: 24210
diff changeset
301 fprintf(stderr, "ulong p2=0x%0lx(%ld),\n", p2, p2);
9e13376e0daa Fix printf format string length modifiers, removes about a trillion warnings.
diego
parents: 24210
diff changeset
302 fprintf(stderr, "ulong p3=0x%0lx(%ld), ", p3, p3);
9e13376e0daa Fix printf format string length modifiers, removes about a trillion warnings.
diego
parents: 24210
diff changeset
303 fprintf(stderr, "ulong p4=0x%0lx(%ld))\n", p4, p4);
7110
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
304 hexdump((void*)p4/*(void*)(*((void**)p4))*/,p2);
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
305 hexdump((void*)p1, 44);
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
306 tic();
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
307 result=(*raGetFlavorProperty)(p1,p2,p3,p4);
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
308 toc();
25313
9e13376e0daa Fix printf format string length modifiers, removes about a trillion warnings.
diego
parents: 24210
diff changeset
309 fprintf(stderr, "*p4=0x%0lx\n", *((ulong*)p4));
7110
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
310 hexdump((void*)p4/*(void*)(*((void**)p4))*/,p2);
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
311 hexdump((void*)p1, 44);
25313
9e13376e0daa Fix printf format string length modifiers, removes about a trillion warnings.
diego
parents: 24210
diff changeset
312 fprintf(stderr, "--> 0x%0lx(%ld)\n\n\n", result, result);
7110
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
313 return result;
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
314 }
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
315
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
316 ulong RAGetNumberOfFlavors(void) {
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
317 ulong result;
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
318 fprintf(stderr, "RAGetNumberOfFlavors(void)\n");
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
319 result=(*raGetNumberOfFlavors)();
25313
9e13376e0daa Fix printf format string length modifiers, removes about a trillion warnings.
diego
parents: 24210
diff changeset
320 fprintf(stderr, "--> 0x%0lx(%ld)\n\n\n", result, result);
7110
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
321 return result;
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
322 }
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
323
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
324 ulong RAGetNumberOfFlavors2(void) {
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
325 ulong result;
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
326 fprintf(stderr, "RAGetNumberOfFlavors2(void)\n");
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
327 result=(*raGetNumberOfFlavors2)();
25313
9e13376e0daa Fix printf format string length modifiers, removes about a trillion warnings.
diego
parents: 24210
diff changeset
328 fprintf(stderr, "--> 0x%0lx(%ld)\n\n\n", result, result);
7110
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
329 return result;
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
330 }
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
331
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
332 ulong RAInitDecoder(ulong p1,ulong p2) {
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
333 ulong result;
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
334 int temp[256];
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
335 unsigned char temp2[256];
25313
9e13376e0daa Fix printf format string length modifiers, removes about a trillion warnings.
diego
parents: 24210
diff changeset
336 fprintf(stderr, "RAInitDecoder(ulong p1=0x%0lx(%ld), ", p1, p1);
9e13376e0daa Fix printf format string length modifiers, removes about a trillion warnings.
diego
parents: 24210
diff changeset
337 fprintf(stderr, "ulong p2=0x%0lx(%ld))\n", p2, p2);
7110
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
338 hexdump((void*)p2, 4*7);
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
339 // hexdump((void*)p1, 44);
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
340 memset(temp,0x77,256*4);
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
341 memcpy(temp,p2,4*7);
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
342 hexdump((void*)temp[6], 32);
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
343
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
344 memset(temp2,0x77,256);
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
345 memcpy(temp2,temp[6],16);
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
346 temp[6]=temp2;
29263
0f1b5b68af32 whitespace cosmetics: Remove all trailing whitespace.
diego
parents: 28232
diff changeset
347
7110
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
348 result=(*raInitDecoder)(p1,temp);
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
349 hexdump((void*)temp[6], 32);
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
350 // memcpy(p2,temp,4*11);
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
351 // hexdump((void*)p1, 44);
25313
9e13376e0daa Fix printf format string length modifiers, removes about a trillion warnings.
diego
parents: 24210
diff changeset
352 fprintf(stderr, "--> 0x%0lx(%ld)\n\n\n", result, result);
7110
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
353 return result;
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
354 }
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
355
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
356 ulong RAInitEncoder(ulong p1,ulong p2) {
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
357 ulong result;
25313
9e13376e0daa Fix printf format string length modifiers, removes about a trillion warnings.
diego
parents: 24210
diff changeset
358 fprintf(stderr, "RAInitEncoder(ulong p1=0x%0lx(%ld), ", p1, p1);
9e13376e0daa Fix printf format string length modifiers, removes about a trillion warnings.
diego
parents: 24210
diff changeset
359 fprintf(stderr, "ulong p2=0x%0lx(%ld))\n", p2, p2);
7110
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
360 result=(*raInitEncoder)(p1,p2);
25313
9e13376e0daa Fix printf format string length modifiers, removes about a trillion warnings.
diego
parents: 24210
diff changeset
361 fprintf(stderr, "--> 0x%0lx(%ld)\n\n\n", result, result);
7110
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
362 return result;
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
363 }
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
364
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
365 ulong RAOpenCodec(ulong p1) {
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
366 ulong result;
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
367 // loadSyms();
25313
9e13376e0daa Fix printf format string length modifiers, removes about a trillion warnings.
diego
parents: 24210
diff changeset
368 fprintf(stderr, "RAOpenCodec(ulong p1=0x%0lx(%ld))\n", p1, p1);
7110
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
369 result=(*raOpenCodec)(p1);
25313
9e13376e0daa Fix printf format string length modifiers, removes about a trillion warnings.
diego
parents: 24210
diff changeset
370 fprintf(stderr, "--> 0x%0lx(%ld)\n\n\n", result, result);
7110
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
371 return result;
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
372 }
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
373
9550
6a0cf0ee0828 RAOpenCodec2() have 2 parameters
arpi
parents: 7110
diff changeset
374 ulong RAOpenCodec2(ulong p1,ulong p2) {
7110
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
375 ulong result;
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
376 // loadSyms();
25313
9e13376e0daa Fix printf format string length modifiers, removes about a trillion warnings.
diego
parents: 24210
diff changeset
377 fprintf(stderr, "RAOpenCodec2(ulong p1=0x%0lx(%ld), p2=%p)\n", p1, p1, p2);
7110
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
378 hexdump((void*)p1, 44);
9550
6a0cf0ee0828 RAOpenCodec2() have 2 parameters
arpi
parents: 7110
diff changeset
379 hexdump((void*)p2, 44);
7110
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
380 result=(*raOpenCodec2)(p1);
9550
6a0cf0ee0828 RAOpenCodec2() have 2 parameters
arpi
parents: 7110
diff changeset
381 hexdump((void*)p2, 44);
7110
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
382 hexdump((void*)p1, 44);
25313
9e13376e0daa Fix printf format string length modifiers, removes about a trillion warnings.
diego
parents: 24210
diff changeset
383 fprintf(stderr, "--> 0x%0lx(%ld)\n\n\n", result, result);
7110
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
384 return result;
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
385 }
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
386
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
387 ulong RASetFlavor(ulong p1,ulong p2) {
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
388 ulong result, numprop=0, result1=0;
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
389 ulong numflavors, flavor;
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
390 unsigned short property;
25313
9e13376e0daa Fix printf format string length modifiers, removes about a trillion warnings.
diego
parents: 24210
diff changeset
391 fprintf(stderr, "RASetFlavor(ulong p1=0x%0lx(%ld), ", p1, p1);
9e13376e0daa Fix printf format string length modifiers, removes about a trillion warnings.
diego
parents: 24210
diff changeset
392 fprintf(stderr, "ulong p2=0x%0lx(%ld))\n", p2, p2);
7110
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
393 hexdump((void*)p1, 44);
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
394 hexdump((void*)p1, 44);
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
395 result=(*raSetFlavor)(p1,p2);
25313
9e13376e0daa Fix printf format string length modifiers, removes about a trillion warnings.
diego
parents: 24210
diff changeset
396 fprintf(stderr, "--> 0x%0lx(%ld)\n\n\n", result, result);
7110
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
397
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
398 fputs("######################## FLAVOR PROPERTIES ###################\n\n", stderr);
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
399 numflavors=raGetNumberOfFlavors2();
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
400 flavor=0;
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
401 while (flavor<numflavors) {
25313
9e13376e0daa Fix printf format string length modifiers, removes about a trillion warnings.
diego
parents: 24210
diff changeset
402 fprintf(stderr, "************ Flavor %ld *************\n\n", flavor);
7110
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
403 numprop=0;
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
404 while (numprop<32) {
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
405 result1=raGetFlavorProperty(p1, flavor, numprop, (ulong)&property);
25313
9e13376e0daa Fix printf format string length modifiers, removes about a trillion warnings.
diego
parents: 24210
diff changeset
406 fprintf(stderr, "property %ld=%d, result=0x%0lx\n\n",
7110
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
407 numprop, property, result1);
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
408 hexdump((void*)result1, property);
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
409 numprop++;
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
410 }
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
411 flavor++;
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
412 }
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
413
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
414 fputs("######################## FLAVOR PROPERTIES ###################\n\n", stderr);
29263
0f1b5b68af32 whitespace cosmetics: Remove all trailing whitespace.
diego
parents: 28232
diff changeset
415
7110
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
416 return result;
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
417 }
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
418
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
419 void SetDLLAccessPath(ulong p1) {
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
420 // loadSyms();
25313
9e13376e0daa Fix printf format string length modifiers, removes about a trillion warnings.
diego
parents: 24210
diff changeset
421 fprintf(stderr, "SetDLLAccessPath(ulong p1=0x%0lx(%ld))\n", p1, p1);
7110
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
422 hexdump((void*)p1, 44);
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
423 (*raSetDLLAccessPath)(p1);
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
424 hexdump((void*)p1, 44);
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
425 fprintf(stderr, "--> void\n\n\n");
86c478bea7ce realplayer codecs wrappers, originaly written by Florian Schneider, extended
arpi
parents:
diff changeset
426 }