1%{
2#include "stdio.h"
3#include "ADM_jsAvidemux.h"
4void jsAvidemux(void)
5{
6        printf("Constructor invoked\n");
7}
8static int dummy_scriptVideoCodec(char *a) {return 0;}
9static int dummy_scriptVideoFilter(char *a) {return 0;}
10static int dummy_scriptAudioCodec(char *a) {return 0;}
11static int dummy_scriptSetContainer(char *a) {return 0;}
12%}
13        /*            JSFUNC      C FUNC  PARAM     */
14class adm
15{
16        function int loadVideo      : scriptLoadVideo (cstring ) <static>;
17        function int clearSegments  : scriptClearSegments () <static>;
18        function int appendVideo    : scriptAppendVideo (cstring ) <static>;
19        function int addSegment     : scriptAddSegment (int ,double , double ) <static>;
20        function int setPostProc    : scriptSetPostProc (int ,int , int ) <static>;
21        function int getWidth       : scriptGetWidth ( ) <static>;
22        function int getHeight      : scriptGetHeight ( ) <static>;
23        function int getFps1000     : scriptGetFps1000 ( ) <static>;
24     function cstring getVideoCodec : scriptGetVideoCodec ( ) <static>;
25        /*            JSFUNC                 C FUNC           PARAM     */
26        /*function int audioReset     : scriptAudioReset () <static>;*/
27        /*function int audioMixer     : scriptAudioMixer (cstring ) <static>;*/
28
29        /*            JSFUNC                 C FUNC           PARAM     */
30        function int clearVideoFilters   : scriptClearVideoFilters() <static>;
31
32/* Override as jsapigen cannot handle multiple args the way we need it to */
33        function int videoCodec_ignore     : dummy_scriptVideoCodec(cstring)     <static>;
34        function int addVideoFilter_ignore : dummy_scriptVideoFilter(cstring)    <static>;
35        function int audioCodec_ignore     : dummy_scriptAudioCodec(cstring)     <static>;
36        function int setContainer_ignore   : dummy_scriptSetContainer(cstring)   <static>;
37/* Properties */
38        property double markerA            : scriptGetMarkerA,scriptSetMarkerA <static>;
39        property double markerB            : scriptGetMarkerB,scriptSetMarkerB <static>;
40        /* property int    audioResample      : scriptGetResample,scriptSetResample <static>; */
41        construct                          : jsAvidemux  ( ) <static>     ;
42};
43
44%<
45
46JSObject *jsAvidemuxInit(JSContext *cx,JSObject *obj)
47{
48          if (JS_DefineFunctions(cx, obj, jj_static_fs) != JS_TRUE)
49          {
50                return NULL;
51          }
52          return jjadm_init(cx,obj);
53}
54
55JSFunctionSpec  *jsGetAdmFunctions(void)
56{
57        return jjadm_static_fs;
58}
59
60%>
61