1 /**
2     \file ADM_jsAvidemux
3     \brief Standard includes and defines
4 */
5 
6 /***************************************************************************
7  *                                                                         *
8  *   This program is free software; you can redistribute it and/or modify  *
9  *   it under the terms of the GNU General Public License as published by  *
10  *   the Free Software Foundation; either version 2 of the License, or     *
11  *   (at your option) any later version.                                   *
12  *                                                                         *
13  ***************************************************************************/
14 #ifndef ADM_JS_AVIDEMUX_H
15 #define ADM_JS_AVIDEMUX_H
16 #include "jsapi.h"
17 #include "ADM_inttype.h"
18 
19 #ifdef __cplusplus
20 extern "C" {
21 #endif
22 
23 // non jsapigen function, variables number of args
24 JSBool jsAdmaddVideoFilter(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval);
25 JSBool jsAdmaudioCodec(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval);
26 JSBool jsAdmsetContainer(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval);
27 JSBool jsAdmvideoCodec(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval);
28 
29 int   jsVideoCodec(const char *a,const char **b);
30 JSBool jsAdmvideoCodec(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval);
31 int   jsVideoFilter(const char *a,const char **b);
32 JSBool jsAdmaddVideoFilter(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval);
33 int jsAudioCodec(const char *a,const char **b);
34 JSBool jsAdmaudioCodec(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval);
35 int   jsSetContainer(const char *a,const char **b);
36 JSBool jsAdmsetContainer(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval);
37 void jsClearVideoFilters(JSContext *cx);
38 int jsAudioMixer(JSContext *cx, int dex,const char *s);
39 void jsAudioReset(JSContext *cx,int dex);
40 char *jsGetVideoCodec(JSContext *cx);
41 int jsGetFps1000(JSContext *cx);
42 int jsGetWidth(JSContext *cx);
43 int jsGetHeight(JSContext *cx);
44 int jsAddSegment(JSContext *cx, int ref, double start, double duration);
45 void jsClearSegments(JSContext *cx);
46 int jsSetPostProc(JSContext *cx, int a, int b, int c);
47 int jsAppendVideo(JSContext *cx, const char *s);
48 double jsGetMarkerA(JSContext *cx);
49 double jsGetMarkerB(JSContext *cx);
50 void jsSetMarkerA(JSContext *cx, double a);
51 void jsSetMarkerB(JSContext *cx, double b);
52 uint32_t jsGetResample(JSContext *cx,int dex);
53 void jsSetResample(JSContext *cx, int dex,uint32_t fq);
54 int jsLoadVideo(JSContext *cx, const char *s);
55 
56 #ifdef __cplusplus
57 };
58 #endif
59 
60 #endif
61