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