1 /*
2 --- DO NOT EDIT THIS FILE !!! ---
3
4 This file has been generated automatically with 'jsapigen'.
5
6 jsapigen is a glue-code generator for SpiderMonkey. It is distributed
7 under the conditions of version 3 of the GNU General Public License.
8 Please have a look at http://jsapigen.sourceforge.net.
9
10 This file is NOT part of jsapigen and is NOT necessarily covered by
11 jsapigen's license. For licensing information regarding this file,
12 please refer to the software package which it is part of.
13
14 */
15
16 #include <stdio.h>
17 #include "ADM_jsAvidemux.h"
18
jsAvidemux(void)19 void jsAvidemux(void)
20 {
21 printf("Constructor invoked\n");
22 }
dummy_scriptVideoCodec(char * a)23 static int dummy_scriptVideoCodec(char *a) {return 0;}
dummy_scriptVideoFilter(char * a)24 static int dummy_scriptVideoFilter(char *a) {return 0;}
dummy_scriptAudioCodec(char * a)25 static int dummy_scriptAudioCodec(char *a) {return 0;}
dummy_scriptSetContainer(char * a)26 static int dummy_scriptSetContainer(char *a) {return 0;}
27
28 #ifdef HAVE_ALLOCA_H
29 #include <alloca.h>
30 static size_t jj_alloca_limit = 0;
31 #endif
32 #include <stdlib.h>
33 #include <string.h>
34 #include <wchar.h>
35 #ifdef HAVE_ALLOCA_H
36 #endif
37 #include <jsapi.h>
38 #ifndef JS_THREADSAFE
39 #if JS_VERSION <= 170
40 #define jsrefcount int
41 #define JS_BeginRequest(cx)
42 #define JS_EndRequest(cx)
43 #define JS_SuspendRequest(cx)
44 #define JS_ResumeRequest(cx, saveDepth)
45 #endif
46 #endif
47 #ifndef JS_FS
48 #define JS_FS(name, call, nargs, flags, extra) {name, call, nargs, flags, extra}
49 #endif
50 #ifndef JS_FS_END
51 #define JS_FS_END {NULL, NULL, 0, 0, 0}
52 #endif
53
54 static JSBool
jjadmmarkerA_get(JSContext * cx,JSObject * obj,jsval id,jsval * val)55 jjadmmarkerA_get(JSContext *cx, JSObject *obj, jsval id, jsval *val)
56 {
57 double var2;
58 jsval var5;
59 JSBool var1;
60 var2 = 0.0;
61 var5 = JSVAL_NULL;
62 var1 = JS_FALSE;
63 if (!JS_EnterLocalRootScope(cx)) {
64 goto do_return;
65 }
66 var2 = jsGetMarkerA(cx);
67 if (JS_NewNumberValue(cx, var2, &var5) != JS_TRUE) {
68 goto do_return;
69 }
70 if (val) {
71 *val = var5;
72 }
73 var1 = JS_TRUE;
74 do_return:
75 JS_LeaveLocalRootScope(cx);
76 return var1;
77 }
78 static JSBool
jjadmmarkerA_set(JSContext * cx,JSObject * obj,jsval id,jsval * val)79 jjadmmarkerA_set(JSContext *cx, JSObject *obj, jsval id, jsval *val)
80 {
81 double var7;
82 jsval var10;
83 jsdouble var11;
84 JSBool var6;
85 var7 = 0.0;
86 var10 = JSVAL_NULL;
87 var11 = 0.0;
88 var6 = JS_FALSE;
89 if (!JS_EnterLocalRootScope(cx)) {
90 goto do_return;
91 }
92 var10 = *val;
93 if (JS_ValueToNumber(cx, var10, &var11) != JS_TRUE) {
94 goto do_return;
95 }
96 var7 = (double)var11;
97 jsSetMarkerA(cx, var7);
98 var6 = JS_TRUE;
99 do_return:
100 JS_LeaveLocalRootScope(cx);
101 return var6;
102 }
103 static JSBool
jjadmmarkerB_get(JSContext * cx,JSObject * obj,jsval id,jsval * val)104 jjadmmarkerB_get(JSContext *cx, JSObject *obj, jsval id, jsval *val)
105 {
106 double var13;
107 jsval var16;
108 JSBool var12;
109 var13 = 0.0;
110 var16 = JSVAL_NULL;
111 var12 = JS_FALSE;
112 if (!JS_EnterLocalRootScope(cx)) {
113 goto do_return;
114 }
115 var13 = jsGetMarkerB(cx);
116 if (JS_NewNumberValue(cx, var13, &var16) != JS_TRUE) {
117 goto do_return;
118 }
119 if (val) {
120 *val = var16;
121 }
122 var12 = JS_TRUE;
123 do_return:
124 JS_LeaveLocalRootScope(cx);
125 return var12;
126 }
127 static JSBool
jjadmmarkerB_set(JSContext * cx,JSObject * obj,jsval id,jsval * val)128 jjadmmarkerB_set(JSContext *cx, JSObject *obj, jsval id, jsval *val)
129 {
130 double var18;
131 jsval var21;
132 jsdouble var22;
133 JSBool var17;
134 var18 = 0.0;
135 var21 = JSVAL_NULL;
136 var22 = 0.0;
137 var17 = JS_FALSE;
138 if (!JS_EnterLocalRootScope(cx)) {
139 goto do_return;
140 }
141 var21 = *val;
142 if (JS_ValueToNumber(cx, var21, &var22) != JS_TRUE) {
143 goto do_return;
144 }
145 var18 = (double)var22;
146 jsSetMarkerB(cx, var18);
147 var17 = JS_TRUE;
148 do_return:
149 JS_LeaveLocalRootScope(cx);
150 return var17;
151 }
152 static JSBool
jjadmaudioResample_get(JSContext * cx,JSObject * obj,jsval id,jsval * val)153 jjadmaudioResample_get(JSContext *cx, JSObject *obj, jsval id, jsval *val)
154 {
155 int var24;
156 jsval var27;
157 JSBool var23;
158 var24 = 0;
159 var27 = JSVAL_NULL;
160 var23 = JS_FALSE;
161 if (!JS_EnterLocalRootScope(cx)) {
162 goto do_return;
163 }
164 var24 = jsGetResample(cx,0);
165 if (JS_NewNumberValue(cx, var24, &var27) != JS_TRUE) {
166 goto do_return;
167 }
168 if (val) {
169 *val = var27;
170 }
171 var23 = JS_TRUE;
172 do_return:
173 JS_LeaveLocalRootScope(cx);
174 return var23;
175 }
176 static JSBool
jjadmaudioResample_set(JSContext * cx,JSObject * obj,jsval id,jsval * val)177 jjadmaudioResample_set(JSContext *cx, JSObject *obj, jsval id, jsval *val)
178 {
179 int var29;
180 jsval var32;
181 int32 var33;
182 JSBool var28;
183 var29 = 0;
184 var32 = JSVAL_NULL;
185 var33 = 0;
186 var28 = JS_FALSE;
187 if (!JS_EnterLocalRootScope(cx)) {
188 goto do_return;
189 }
190 var32 = *val;
191 if (JS_ValueToInt32(cx, var32, &var33) != JS_TRUE) {
192 goto do_return;
193 }
194 var29 = (int)var33;
195 jsSetResample(cx, 0,var29);
196 var28 = JS_TRUE;
197 do_return:
198 JS_LeaveLocalRootScope(cx);
199 return var28;
200 }
201 static JSBool
jjadmloadVideo(JSContext * cx,JSObject * obj,uintN argc,jsval * argv,jsval * rval)202 jjadmloadVideo(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
203 {
204 JSObject * var35;
205 int var36;
206 int var39;
207 char * var40;
208 int var41;
209 jsval var42;
210 JSString * var43;
211 jsval var241;
212 size_t var44;
213 size_t var45;
214 int var47;
215 jschar * var48;
216 jsval var242;
217 jsval var49;
218 JSBool var34;
219 var35 = NULL;
220 var36 = 0;
221 var39 = 0;
222 var40 = NULL;
223 var41 = 0;
224 var42 = JSVAL_NULL;
225 var43 = NULL;
226 var241 = JSVAL_NULL;
227 var44 = 0;
228 var45 = 0;
229 var47 = 0;
230 var48 = NULL;
231 var242 = JSVAL_NULL;
232 var49 = JSVAL_NULL;
233 var34 = JS_FALSE;
234 var35 = obj;
235 var39 = argc;
236 var41 = 0;
237 var41 = var41 < var39;
238 if (var41) {
239 var42 = argv[0];
240 var43 = JS_ValueToString(cx, var42);
241 if (!var43) {
242 goto do_return;
243 }
244 var241 = STRING_TO_JSVAL(var43);
245 argv[argc+0] = var241;
246 var44 = JS_GetStringLength(var43);
247 var45 = 1;
248 var45 += var44;
249 #ifdef HAVE_ALLOCA
250 if (var45 < jj_alloca_limit) {
251 var40 = alloca(var45);
252 } else {
253 #endif
254 var40 = malloc(var45);
255 if (!var40) {
256 goto do_return;
257 } else {
258 var47 = 1;
259 }
260 #ifdef HAVE_ALLOCA
261 }
262 #endif
263 var48 = JS_GetStringChars(var43);
264 var242 = STRING_TO_JSVAL(var43);
265 argv[argc+1] = var242;
266 {
267 size_t i;
268 for (i = 0; i < var44; ++i) {
269 var40[i] = var48[i];
270 }
271 var40[var44] = '\0';
272 }
273 }
274 var36 = jsLoadVideo(cx, var40);
275 if (JS_NewNumberValue(cx, var36, &var49) != JS_TRUE) {
276 goto do_return;
277 }
278 argv[argc+2] = var49;
279 if (rval) {
280 *rval = var49;
281 }
282 var34 = JS_TRUE;
283 do_return:
284 if (var47) {
285 free(var40);
286 var40 = NULL;
287 var47 = 0;
288 }
289 return var34;
290 }
291 static JSBool
jjadmclearSegments(JSContext * cx,JSObject * obj,uintN argc,jsval * argv,jsval * rval)292 jjadmclearSegments(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
293 {
294 JSObject * var51;
295 int var55;
296 JSBool var50;
297 var51 = NULL;
298 var55 = 0;
299 var50 = JS_FALSE;
300 var51 = obj;
301 var55 = argc;
302
303 jsClearSegments(cx);
304
305 argv[argc+0] = JS_TRUE;
306 if (rval) {
307 *rval = JS_TRUE;
308 }
309 var50 = JS_TRUE;
310 do_return:
311 return var50;
312 }
313 static JSBool
jjadmappendVideo(JSContext * cx,JSObject * obj,uintN argc,jsval * argv,jsval * rval)314 jjadmappendVideo(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
315 {
316 JSObject * var58;
317 int var59;
318 int var62;
319 char * var63;
320 int var64;
321 jsval var65;
322 JSString * var66;
323 jsval var245;
324 size_t var67;
325 size_t var68;
326 int var70;
327 jschar * var71;
328 jsval var246;
329 jsval var72;
330 JSBool var57;
331 var58 = NULL;
332 var59 = 0;
333 var62 = 0;
334 var63 = NULL;
335 var64 = 0;
336 var65 = JSVAL_NULL;
337 var66 = NULL;
338 var245 = JSVAL_NULL;
339 var67 = 0;
340 var68 = 0;
341 var70 = 0;
342 var71 = NULL;
343 var246 = JSVAL_NULL;
344 var72 = JSVAL_NULL;
345 var57 = JS_FALSE;
346 var58 = obj;
347 var62 = argc;
348 var64 = 0;
349 var64 = var64 < var62;
350 if (var64) {
351 var65 = argv[0];
352 var66 = JS_ValueToString(cx, var65);
353 if (!var66) {
354 goto do_return;
355 }
356 var245 = STRING_TO_JSVAL(var66);
357 argv[argc+0] = var245;
358 var67 = JS_GetStringLength(var66);
359 var68 = 1;
360 var68 += var67;
361 #ifdef HAVE_ALLOCA
362 if (var68 < jj_alloca_limit) {
363 var63 = alloca(var68);
364 } else {
365 #endif
366 var63 = malloc(var68);
367 if (!var63) {
368 goto do_return;
369 } else {
370 var70 = 1;
371 }
372 #ifdef HAVE_ALLOCA
373 }
374 #endif
375 var71 = JS_GetStringChars(var66);
376 var246 = STRING_TO_JSVAL(var66);
377 argv[argc+1] = var246;
378 {
379 size_t i;
380 for (i = 0; i < var67; ++i) {
381 var63[i] = var71[i];
382 }
383 var63[var67] = '\0';
384 }
385 }
386 var59 = jsAppendVideo(cx, var63);
387 if (JS_NewNumberValue(cx, var59, &var72) != JS_TRUE) {
388 goto do_return;
389 }
390 argv[argc+2] = var72;
391 if (rval) {
392 *rval = var72;
393 }
394 var57 = JS_TRUE;
395 do_return:
396 if (var70) {
397 free(var63);
398 var63 = NULL;
399 var70 = 0;
400 }
401 return var57;
402 }
403 static JSBool
jjadmaddSegment(JSContext * cx,JSObject * obj,uintN argc,jsval * argv,jsval * rval)404 jjadmaddSegment(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
405 {
406 JSObject * var74;
407 int var75;
408 int var78;
409 int var79;
410 int var82;
411 jsval var83;
412 int32 var84;
413 double var80;
414 int var85;
415 jsval var86;
416 jsdouble var87;
417 double var81;
418 int var88;
419 jsval var89;
420 jsdouble var90;
421 jsval var91;
422 JSBool var73;
423 var74 = NULL;
424 var75 = 0;
425 var78 = 0;
426 var79 = 0;
427 var82 = 0;
428 var83 = JSVAL_NULL;
429 var84 = 0;
430 var80 = 0.0;
431 var85 = 0;
432 var86 = JSVAL_NULL;
433 var87 = 0.0;
434 var81 = 0.0;
435 var88 = 0;
436 var89 = JSVAL_NULL;
437 var90 = 0.0;
438 var91 = JSVAL_NULL;
439 var73 = JS_FALSE;
440 var74 = obj;
441 var78 = argc;
442 var82 = 0;
443 var82 = var82 < var78;
444 if (var82) {
445 var83 = argv[0];
446 if (JS_ValueToInt32(cx, var83, &var84) != JS_TRUE) {
447 goto do_return;
448 }
449 var79 = (int)var84;
450 }
451 var85 = 1;
452 var85 = var85 < var78;
453 if (var85) {
454 var86 = argv[1];
455 if (JS_ValueToNumber(cx, var86, &var87) != JS_TRUE) {
456 goto do_return;
457 }
458 var80 = (double)var87;
459 }
460 var88 = 2;
461 var88 = var88 < var78;
462 if (var88) {
463 var89 = argv[2];
464 if (JS_ValueToNumber(cx, var89, &var90) != JS_TRUE) {
465 goto do_return;
466 }
467 var81 = (double)var90;
468 }
469 var75 = jsAddSegment(cx, var79, var80, var81);
470 if (JS_NewNumberValue(cx, var75, &var91) != JS_TRUE) {
471 goto do_return;
472 }
473 argv[argc+0] = var91;
474 if (rval) {
475 *rval = var91;
476 }
477 var73 = JS_TRUE;
478 do_return:
479 return var73;
480 }
481 static JSBool
jjadmsetPostProc(JSContext * cx,JSObject * obj,uintN argc,jsval * argv,jsval * rval)482 jjadmsetPostProc(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
483 {
484 JSObject * var93;
485 int var94;
486 int var97;
487 int var98;
488 int var101;
489 jsval var102;
490 int32 var103;
491 int var99;
492 int var104;
493 jsval var105;
494 int32 var106;
495 int var100;
496 int var107;
497 jsval var108;
498 int32 var109;
499 jsval var110;
500 JSBool var92;
501 var93 = NULL;
502 var94 = 0;
503 var97 = 0;
504 var98 = 0;
505 var101 = 0;
506 var102 = JSVAL_NULL;
507 var103 = 0;
508 var99 = 0;
509 var104 = 0;
510 var105 = JSVAL_NULL;
511 var106 = 0;
512 var100 = 0;
513 var107 = 0;
514 var108 = JSVAL_NULL;
515 var109 = 0;
516 var110 = JSVAL_NULL;
517 var92 = JS_FALSE;
518 var93 = obj;
519 var97 = argc;
520 var101 = 0;
521 var101 = var101 < var97;
522 if (var101) {
523 var102 = argv[0];
524 if (JS_ValueToInt32(cx, var102, &var103) != JS_TRUE) {
525 goto do_return;
526 }
527 var98 = (int)var103;
528 }
529 var104 = 1;
530 var104 = var104 < var97;
531 if (var104) {
532 var105 = argv[1];
533 if (JS_ValueToInt32(cx, var105, &var106) != JS_TRUE) {
534 goto do_return;
535 }
536 var99 = (int)var106;
537 }
538 var107 = 2;
539 var107 = var107 < var97;
540 if (var107) {
541 var108 = argv[2];
542 if (JS_ValueToInt32(cx, var108, &var109) != JS_TRUE) {
543 goto do_return;
544 }
545 var100 = (int)var109;
546 }
547 var94 = jsSetPostProc(cx, var98, var99, var100);
548 if (JS_NewNumberValue(cx, var94, &var110) != JS_TRUE) {
549 goto do_return;
550 }
551 argv[argc+0] = var110;
552 if (rval) {
553 *rval = var110;
554 }
555 var92 = JS_TRUE;
556 do_return:
557 return var92;
558 }
559 static JSBool
jjadmgetWidth(JSContext * cx,JSObject * obj,uintN argc,jsval * argv,jsval * rval)560 jjadmgetWidth(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
561 {
562 JSObject * var112;
563 int var113;
564 int var116;
565 jsval var117;
566 JSBool var111;
567 var112 = NULL;
568 var113 = 0;
569 var116 = 0;
570 var117 = JSVAL_NULL;
571 var111 = JS_FALSE;
572 var112 = obj;
573 var116 = argc;
574 var113 = jsGetWidth(cx);
575 if (JS_NewNumberValue(cx, var113, &var117) != JS_TRUE) {
576 goto do_return;
577 }
578 argv[argc+0] = var117;
579 if (rval) {
580 *rval = var117;
581 }
582 var111 = JS_TRUE;
583 do_return:
584 return var111;
585 }
586 static JSBool
jjadmgetHeight(JSContext * cx,JSObject * obj,uintN argc,jsval * argv,jsval * rval)587 jjadmgetHeight(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
588 {
589 JSObject * var119;
590 int var120;
591 int var123;
592 jsval var124;
593 JSBool var118;
594 var119 = NULL;
595 var120 = 0;
596 var123 = 0;
597 var124 = JSVAL_NULL;
598 var118 = JS_FALSE;
599 var119 = obj;
600 var123 = argc;
601 var120 = jsGetHeight(cx);
602 if (JS_NewNumberValue(cx, var120, &var124) != JS_TRUE) {
603 goto do_return;
604 }
605 argv[argc+0] = var124;
606 if (rval) {
607 *rval = var124;
608 }
609 var118 = JS_TRUE;
610 do_return:
611 return var118;
612 }
613 static JSBool
jjadmgetFps1000(JSContext * cx,JSObject * obj,uintN argc,jsval * argv,jsval * rval)614 jjadmgetFps1000(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
615 {
616 JSObject * var126;
617 int var127;
618 int var130;
619 jsval var131;
620 JSBool var125;
621 var126 = NULL;
622 var127 = 0;
623 var130 = 0;
624 var131 = JSVAL_NULL;
625 var125 = JS_FALSE;
626 var126 = obj;
627 var130 = argc;
628 var127 = jsGetFps1000(cx);
629 if (JS_NewNumberValue(cx, var127, &var131) != JS_TRUE) {
630 goto do_return;
631 }
632 argv[argc+0] = var131;
633 if (rval) {
634 *rval = var131;
635 }
636 var125 = JS_TRUE;
637 do_return:
638 return var125;
639 }
640 static JSBool
jjadmgetVideoCodec(JSContext * cx,JSObject * obj,uintN argc,jsval * argv,jsval * rval)641 jjadmgetVideoCodec(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
642 {
643 JSObject * var133;
644 char * var134;
645 int var137;
646 jsval var138;
647 JSString * var139;
648 jsval var253;
649 char * var140;
650 jsval var254;
651 JSBool var132;
652 var133 = NULL;
653 var134 = NULL;
654 var137 = 0;
655 var138 = JSVAL_NULL;
656 var139 = NULL;
657 var253 = JSVAL_NULL;
658 var140 = NULL;
659 var254 = JSVAL_NULL;
660 var132 = JS_FALSE;
661 var133 = obj;
662 var137 = argc;
663 var134 = jsGetVideoCodec(cx);
664 if (var134) {
665 var139 = JS_NewStringCopyZ(cx, var134);
666 if (!var139) {
667 goto do_return;
668 }
669 var253 = STRING_TO_JSVAL(var139);
670 argv[argc+0] = var253;
671 } else {
672 var140 = "";
673 var139 = JS_InternString(cx, var140);
674 if (!var139) {
675 goto do_return;
676 }
677 var254 = STRING_TO_JSVAL(var139);
678 argv[argc+1] = var254;
679 }
680 var138 = STRING_TO_JSVAL(var139);
681 if (rval) {
682 *rval = var138;
683 }
684 var132 = JS_TRUE;
685 do_return:
686 return var132;
687 }
688 static JSBool
jjadmaudioReset(JSContext * cx,JSObject * obj,uintN argc,jsval * argv,jsval * rval)689 jjadmaudioReset(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
690 {
691 JSObject * var142;
692 int var146;
693 jsval var147;
694 JSBool var141;
695 var142 = NULL;
696 var146 = 0;
697 var147 = JSVAL_NULL;
698 var141 = JS_FALSE;
699 var142 = obj;
700 var146 = argc;
701 jsAudioReset(cx,0);
702 argv[argc+0] = JS_TRUE;
703 if (rval) {
704 *rval = JS_TRUE;
705 }
706 var141 = JS_TRUE;
707 do_return:
708 return var141;
709 }
710 static JSBool
jjadmaudioMixer(JSContext * cx,JSObject * obj,uintN argc,jsval * argv,jsval * rval)711 jjadmaudioMixer(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
712 {
713 JSObject * var149;
714 int var150;
715 int var153;
716 char * var154;
717 int var155;
718 jsval var156;
719 JSString * var157;
720 jsval var256;
721 size_t var158;
722 size_t var159;
723 int var161;
724 jschar * var162;
725 jsval var257;
726 jsval var163;
727 JSBool var148;
728 var149 = NULL;
729 var150 = 0;
730 var153 = 0;
731 var154 = NULL;
732 var155 = 0;
733 var156 = JSVAL_NULL;
734 var157 = NULL;
735 var256 = JSVAL_NULL;
736 var158 = 0;
737 var159 = 0;
738 var161 = 0;
739 var162 = NULL;
740 var257 = JSVAL_NULL;
741 var163 = JSVAL_NULL;
742 var148 = JS_FALSE;
743 var149 = obj;
744 var153 = argc;
745 var155 = 0;
746 var155 = var155 < var153;
747 if (var155) {
748 var156 = argv[0];
749 var157 = JS_ValueToString(cx, var156);
750 if (!var157) {
751 goto do_return;
752 }
753 var256 = STRING_TO_JSVAL(var157);
754 argv[argc+0] = var256;
755 var158 = JS_GetStringLength(var157);
756 var159 = 1;
757 var159 += var158;
758 #ifdef HAVE_ALLOCA
759 if (var159 < jj_alloca_limit) {
760 var154 = alloca(var159);
761 } else {
762 #endif
763 var154 = malloc(var159);
764 if (!var154) {
765 goto do_return;
766 } else {
767 var161 = 1;
768 }
769 #ifdef HAVE_ALLOCA
770 }
771 #endif
772 var162 = JS_GetStringChars(var157);
773 var257 = STRING_TO_JSVAL(var157);
774 argv[argc+1] = var257;
775 {
776 size_t i;
777 for (i = 0; i < var158; ++i) {
778 var154[i] = var162[i];
779 }
780 var154[var158] = '\0';
781 }
782 }
783 var150 = jsAudioMixer(cx, 0,var154);
784 if (JS_NewNumberValue(cx, var150, &var163) != JS_TRUE) {
785 goto do_return;
786 }
787 argv[argc+2] = var163;
788 if (rval) {
789 *rval = var163;
790 }
791 var148 = JS_TRUE;
792 do_return:
793 if (var161) {
794 free(var154);
795 var154 = NULL;
796 var161 = 0;
797 }
798 return var148;
799 }
800 static JSBool
jjadmclearVideoFilters(JSContext * cx,JSObject * obj,uintN argc,jsval * argv,jsval * rval)801 jjadmclearVideoFilters(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
802 {
803 JSObject * var165;
804 int var169;
805 jsval var170;
806 JSBool var164;
807 var165 = NULL;
808 var169 = 0;
809 var170 = JSVAL_NULL;
810 var164 = JS_FALSE;
811 var165 = obj;
812 var169 = argc;
813 jsClearVideoFilters(cx);
814 argv[argc+0] = JS_TRUE;
815 if (rval) {
816 *rval = JS_TRUE;
817 }
818 var164 = JS_TRUE;
819 do_return:
820 return var164;
821 }
822 static JSBool
jjadmvideoCodec_ignore(JSContext * cx,JSObject * obj,uintN argc,jsval * argv,jsval * rval)823 jjadmvideoCodec_ignore(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
824 {
825 JSObject * var172;
826 int var173;
827 int var176;
828 char * var177;
829 int var178;
830 jsval var179;
831 JSString * var180;
832 jsval var260;
833 size_t var181;
834 size_t var182;
835 int var184;
836 jschar * var185;
837 jsval var261;
838 jsval var186;
839 JSBool var171;
840 var172 = NULL;
841 var173 = 0;
842 var176 = 0;
843 var177 = NULL;
844 var178 = 0;
845 var179 = JSVAL_NULL;
846 var180 = NULL;
847 var260 = JSVAL_NULL;
848 var181 = 0;
849 var182 = 0;
850 var184 = 0;
851 var185 = NULL;
852 var261 = JSVAL_NULL;
853 var186 = JSVAL_NULL;
854 var171 = JS_FALSE;
855 var172 = obj;
856 var176 = argc;
857 var178 = 0;
858 var178 = var178 < var176;
859 if (var178) {
860 var179 = argv[0];
861 var180 = JS_ValueToString(cx, var179);
862 if (!var180) {
863 goto do_return;
864 }
865 var260 = STRING_TO_JSVAL(var180);
866 argv[argc+0] = var260;
867 var181 = JS_GetStringLength(var180);
868 var182 = 1;
869 var182 += var181;
870 #ifdef HAVE_ALLOCA
871 if (var182 < jj_alloca_limit) {
872 var177 = alloca(var182);
873 } else {
874 #endif
875 var177 = malloc(var182);
876 if (!var177) {
877 goto do_return;
878 } else {
879 var184 = 1;
880 }
881 #ifdef HAVE_ALLOCA
882 }
883 #endif
884 var185 = JS_GetStringChars(var180);
885 var261 = STRING_TO_JSVAL(var180);
886 argv[argc+1] = var261;
887 {
888 size_t i;
889 for (i = 0; i < var181; ++i) {
890 var177[i] = var185[i];
891 }
892 var177[var181] = '\0';
893 }
894 }
895 var173 = dummy_scriptVideoCodec(var177);
896 if (JS_NewNumberValue(cx, var173, &var186) != JS_TRUE) {
897 goto do_return;
898 }
899 argv[argc+2] = var186;
900 if (rval) {
901 *rval = var186;
902 }
903 var171 = JS_TRUE;
904 do_return:
905 if (var184) {
906 free(var177);
907 var177 = NULL;
908 var184 = 0;
909 }
910 return var171;
911 }
912 static JSBool
jjadmaddVideoFilter_ignore(JSContext * cx,JSObject * obj,uintN argc,jsval * argv,jsval * rval)913 jjadmaddVideoFilter_ignore(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
914 {
915 JSObject * var188;
916 int var189;
917 int var192;
918 char * var193;
919 int var194;
920 jsval var195;
921 JSString * var196;
922 jsval var263;
923 size_t var197;
924 size_t var198;
925 int var200;
926 jschar * var201;
927 jsval var264;
928 jsval var202;
929 JSBool var187;
930 var188 = NULL;
931 var189 = 0;
932 var192 = 0;
933 var193 = NULL;
934 var194 = 0;
935 var195 = JSVAL_NULL;
936 var196 = NULL;
937 var263 = JSVAL_NULL;
938 var197 = 0;
939 var198 = 0;
940 var200 = 0;
941 var201 = NULL;
942 var264 = JSVAL_NULL;
943 var202 = JSVAL_NULL;
944 var187 = JS_FALSE;
945 var188 = obj;
946 var192 = argc;
947 var194 = 0;
948 var194 = var194 < var192;
949 if (var194) {
950 var195 = argv[0];
951 var196 = JS_ValueToString(cx, var195);
952 if (!var196) {
953 goto do_return;
954 }
955 var263 = STRING_TO_JSVAL(var196);
956 argv[argc+0] = var263;
957 var197 = JS_GetStringLength(var196);
958 var198 = 1;
959 var198 += var197;
960 #ifdef HAVE_ALLOCA
961 if (var198 < jj_alloca_limit) {
962 var193 = alloca(var198);
963 } else {
964 #endif
965 var193 = malloc(var198);
966 if (!var193) {
967 goto do_return;
968 } else {
969 var200 = 1;
970 }
971 #ifdef HAVE_ALLOCA
972 }
973 #endif
974 var201 = JS_GetStringChars(var196);
975 var264 = STRING_TO_JSVAL(var196);
976 argv[argc+1] = var264;
977 {
978 size_t i;
979 for (i = 0; i < var197; ++i) {
980 var193[i] = var201[i];
981 }
982 var193[var197] = '\0';
983 }
984 }
985 var189 = dummy_scriptVideoFilter(var193);
986 if (JS_NewNumberValue(cx, var189, &var202) != JS_TRUE) {
987 goto do_return;
988 }
989 argv[argc+2] = var202;
990 if (rval) {
991 *rval = var202;
992 }
993 var187 = JS_TRUE;
994 do_return:
995 if (var200) {
996 free(var193);
997 var193 = NULL;
998 var200 = 0;
999 }
1000 return var187;
1001 }
1002 static JSBool
jjadmaudioCodec_ignore(JSContext * cx,JSObject * obj,uintN argc,jsval * argv,jsval * rval)1003 jjadmaudioCodec_ignore(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
1004 {
1005 JSObject * var204;
1006 int var205;
1007 int var208;
1008 char * var209;
1009 int var210;
1010 jsval var211;
1011 JSString * var212;
1012 jsval var266;
1013 size_t var213;
1014 size_t var214;
1015 int var216;
1016 jschar * var217;
1017 jsval var267;
1018 jsval var218;
1019 JSBool var203;
1020 var204 = NULL;
1021 var205 = 0;
1022 var208 = 0;
1023 var209 = NULL;
1024 var210 = 0;
1025 var211 = JSVAL_NULL;
1026 var212 = NULL;
1027 var266 = JSVAL_NULL;
1028 var213 = 0;
1029 var214 = 0;
1030 var216 = 0;
1031 var217 = NULL;
1032 var267 = JSVAL_NULL;
1033 var218 = JSVAL_NULL;
1034 var203 = JS_FALSE;
1035 var204 = obj;
1036 var208 = argc;
1037 var210 = 0;
1038 var210 = var210 < var208;
1039 if (var210) {
1040 var211 = argv[0];
1041 var212 = JS_ValueToString(cx, var211);
1042 if (!var212) {
1043 goto do_return;
1044 }
1045 var266 = STRING_TO_JSVAL(var212);
1046 argv[argc+0] = var266;
1047 var213 = JS_GetStringLength(var212);
1048 var214 = 1;
1049 var214 += var213;
1050 #ifdef HAVE_ALLOCA
1051 if (var214 < jj_alloca_limit) {
1052 var209 = alloca(var214);
1053 } else {
1054 #endif
1055 var209 = malloc(var214);
1056 if (!var209) {
1057 goto do_return;
1058 } else {
1059 var216 = 1;
1060 }
1061 #ifdef HAVE_ALLOCA
1062 }
1063 #endif
1064 var217 = JS_GetStringChars(var212);
1065 var267 = STRING_TO_JSVAL(var212);
1066 argv[argc+1] = var267;
1067 {
1068 size_t i;
1069 for (i = 0; i < var213; ++i) {
1070 var209[i] = var217[i];
1071 }
1072 var209[var213] = '\0';
1073 }
1074 }
1075 var205 = dummy_scriptAudioCodec(var209);
1076 if (JS_NewNumberValue(cx, var205, &var218) != JS_TRUE) {
1077 goto do_return;
1078 }
1079 argv[argc+2] = var218;
1080 if (rval) {
1081 *rval = var218;
1082 }
1083 var203 = JS_TRUE;
1084 do_return:
1085 if (var216) {
1086 free(var209);
1087 var209 = NULL;
1088 var216 = 0;
1089 }
1090 return var203;
1091 }
1092 static JSBool
jjadmsetContainer_ignore(JSContext * cx,JSObject * obj,uintN argc,jsval * argv,jsval * rval)1093 jjadmsetContainer_ignore(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
1094 {
1095 JSObject * var220;
1096 int var221;
1097 int var224;
1098 char * var225;
1099 int var226;
1100 jsval var227;
1101 JSString * var228;
1102 jsval var269;
1103 size_t var229;
1104 size_t var230;
1105 int var232;
1106 jschar * var233;
1107 jsval var270;
1108 jsval var234;
1109 JSBool var219;
1110 var220 = NULL;
1111 var221 = 0;
1112 var224 = 0;
1113 var225 = NULL;
1114 var226 = 0;
1115 var227 = JSVAL_NULL;
1116 var228 = NULL;
1117 var269 = JSVAL_NULL;
1118 var229 = 0;
1119 var230 = 0;
1120 var232 = 0;
1121 var233 = NULL;
1122 var270 = JSVAL_NULL;
1123 var234 = JSVAL_NULL;
1124 var219 = JS_FALSE;
1125 var220 = obj;
1126 var224 = argc;
1127 var226 = 0;
1128 var226 = var226 < var224;
1129 if (var226) {
1130 var227 = argv[0];
1131 var228 = JS_ValueToString(cx, var227);
1132 if (!var228) {
1133 goto do_return;
1134 }
1135 var269 = STRING_TO_JSVAL(var228);
1136 argv[argc+0] = var269;
1137 var229 = JS_GetStringLength(var228);
1138 var230 = 1;
1139 var230 += var229;
1140 #ifdef HAVE_ALLOCA
1141 if (var230 < jj_alloca_limit) {
1142 var225 = alloca(var230);
1143 } else {
1144 #endif
1145 var225 = malloc(var230);
1146 if (!var225) {
1147 goto do_return;
1148 } else {
1149 var232 = 1;
1150 }
1151 #ifdef HAVE_ALLOCA
1152 }
1153 #endif
1154 var233 = JS_GetStringChars(var228);
1155 var270 = STRING_TO_JSVAL(var228);
1156 argv[argc+1] = var270;
1157 {
1158 size_t i;
1159 for (i = 0; i < var229; ++i) {
1160 var225[i] = var233[i];
1161 }
1162 var225[var229] = '\0';
1163 }
1164 }
1165 var221 = dummy_scriptSetContainer(var225);
1166 if (JS_NewNumberValue(cx, var221, &var234) != JS_TRUE) {
1167 goto do_return;
1168 }
1169 argv[argc+2] = var234;
1170 if (rval) {
1171 *rval = var234;
1172 }
1173 var219 = JS_TRUE;
1174 do_return:
1175 if (var232) {
1176 free(var225);
1177 var225 = NULL;
1178 var232 = 0;
1179 }
1180 return var219;
1181 }
1182 static JSBool
jjadm__construct__(JSContext * cx,JSObject * obj,uintN argc,jsval * argv,jsval * rval)1183 jjadm__construct__(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
1184 {
1185 JSObject * var236;
1186 int var240;
1187 JSBool var235;
1188 var236 = NULL;
1189 var240 = 0;
1190 var235 = JS_FALSE;
1191 var236 = obj;
1192 var240 = argc;
1193 jsAvidemux();
1194 var235 = JS_TRUE;
1195 return var235;
1196 }
1197 static JSPropertySpec jj_static_ps[] = {
1198 {NULL, 0, 0, NULL, NULL}
1199 };
1200 static JSPropertySpec jj_ps[] = {
1201 {NULL, 0, 0, NULL, NULL}
1202 };
1203 static JSFunctionSpec jj_static_fs[] = {
1204 JS_FS_END
1205 };
1206 static JSFunctionSpec jj_fs[] = {
1207 JS_FS_END
1208 };
1209 static JSPropertySpec jjadm_static_ps[] = {
1210 {"markerA", 0, 0|JSPROP_ENUMERATE, jjadmmarkerA_get, jjadmmarkerA_set},
1211 {"markerB", 0, 0|JSPROP_ENUMERATE, jjadmmarkerB_get, jjadmmarkerB_set},
1212 {"audioResample", 0, 0|JSPROP_ENUMERATE, jjadmaudioResample_get, jjadmaudioResample_set},
1213 {NULL, 0, 0, NULL, NULL}
1214 };
1215 static JSPropertySpec jjadm_ps[] = {
1216 {NULL, 0, 0, NULL, NULL}
1217 };
1218 static JSFunctionSpec jjadm_static_fs[] = {
1219 JS_FS("loadVideo", jjadmloadVideo, 1, 0, 3),
1220 JS_FS("clearSegments", jjadmclearSegments, 0, 0, 1),
1221 JS_FS("appendVideo", jjadmappendVideo, 1, 0, 3),
1222 JS_FS("addSegment", jjadmaddSegment, 3, 0, 1),
1223 JS_FS("setPostProc", jjadmsetPostProc, 3, 0, 1),
1224 JS_FS("getWidth", jjadmgetWidth, 0, 0, 1),
1225 JS_FS("getHeight", jjadmgetHeight, 0, 0, 1),
1226 JS_FS("getFps1000", jjadmgetFps1000, 0, 0, 1),
1227 JS_FS("getVideoCodec", jjadmgetVideoCodec, 0, 0, 2),
1228 JS_FS("audioReset", jjadmaudioReset, 0, 0, 1),
1229 JS_FS("audioMixer", jjadmaudioMixer, 1, 0, 3),
1230 JS_FS("clearVideoFilters", jjadmclearVideoFilters, 0, 0, 1),
1231 JS_FS("videoCodec", jsAdmvideoCodec, 1, 0, 3),
1232 JS_FS("addVideoFilter", jsAdmaddVideoFilter, 1, 0, 3),
1233 JS_FS("audioCodec", jsAdmaudioCodec, 1, 0, 3),
1234 JS_FS("setContainer", jsAdmsetContainer, 1, 0, 3),
1235 JS_FS_END
1236 };
1237 static JSFunctionSpec jjadm_fs[] = {
1238 JS_FS_END
1239 };
1240 static JSClass jjadm_class = {
1241 "adm",
1242 0,
1243 JS_PropertyStub,
1244 JS_PropertyStub,
1245 JS_PropertyStub,
1246 JS_PropertyStub,
1247 JS_EnumerateStub,
1248 JS_ResolveStub,
1249 JS_ConvertStub,
1250 JS_FinalizeStub,
1251 NULL,
1252 NULL,
1253 NULL,
1254 jjadm__construct__,
1255 NULL,
1256 NULL,
1257 NULL,
1258 NULL
1259 };
1260 static JSObject *
jjadm_init(JSContext * cx,JSObject * obj)1261 jjadm_init(JSContext *cx, JSObject *obj)
1262 {
1263 JSObject *parent_proto, *proto;
1264 JSClass *class;
1265 if (!cx || !obj) {
1266 JS_ReportError(cx, "invalid parameter");
1267 return NULL;
1268 }
1269 if (!JS_EnterLocalRootScope(cx)) {
1270 JS_ReportError(cx, "JS_EnterLocalRootScope failed");
1271 return NULL;
1272 }
1273 parent_proto = NULL;
1274 proto = NULL;
1275 parent_proto = JS_NewObject(cx, NULL, NULL, NULL);
1276 if (!parent_proto) {
1277 JS_LeaveLocalRootScope(cx);
1278 JS_ReportError(cx, "failed to create prototype");
1279 return NULL;
1280 }
1281 class = &jjadm_class;
1282 proto = JS_InitClass(cx, obj, parent_proto, class, jjadm__construct__, 0, jjadm_ps, jjadm_fs, jjadm_static_ps, jjadm_static_fs);
1283 if (!proto) {
1284 JS_LeaveLocalRootScope(cx);
1285 JS_ReportError(cx, "failed to init class");
1286 return NULL;
1287 }
1288 JS_LeaveLocalRootScope(cx);
1289 return proto;
1290 }
1291
1292
jsAvidemuxInit(JSContext * cx,JSObject * obj)1293 JSObject *jsAvidemuxInit(JSContext *cx,JSObject *obj)
1294 {
1295 if (JS_DefineFunctions(cx, obj, jj_static_fs) != JS_TRUE)
1296 {
1297 return NULL;
1298 }
1299 return jjadm_init(cx,obj);
1300 }
1301
jsGetAdmFunctions(void)1302 JSFunctionSpec *jsGetAdmFunctions(void)
1303 {
1304 return jjadm_static_fs;
1305 }
1306
1307
1308