00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015 #ifndef __FLIXENGINE2_H__
00016 #define __FLIXENGINE2_H__
00017
00018 #ifdef linux
00019 # ifndef HASLONGLONG
00020 # define HASLONGLONG
00021 # endif
00022 #endif
00023 #include "on2types.h"
00024 #define FLIXENGINE_API ON2API
00025
00033 #define FLIXENGINE_VERSION_CHIEF 8
00034 #define FLIXENGINE_VERSION_MAJOR 0
00035 #define FLIXENGINE_VERSION_MINOR 17
00036 #define FLIXENGINE_VERSION_PATCH 2
00037 #define FLIXENGINE_VERSION_EXTRA ""
00038
00040 #define FE_STRINGIZE(str) #str
00041 #define FE_STRING(str) FE_STRINGIZE(str)
00042
00043 #define FLIXENGINE_VERSION_STR FE_STRING(FLIXENGINE_VERSION_CHIEF) "."\
00044 FE_STRING(FLIXENGINE_VERSION_MAJOR) "."\
00045 FE_STRING(FLIXENGINE_VERSION_MINOR) "."\
00046 FE_STRING(FLIXENGINE_VERSION_PATCH)\
00047 FLIXENGINE_VERSION_EXTRA
00048
00049 typedef void* FLIX2HANDLE,
00051 * FLIX2PLGNHANDLE;
00071 #include "filter_constants.h"
00072 #include "codec_constants.h"
00073 #include "muxer_constants.h"
00074 #include "video_options.h"
00075 #include "audio_options.h"
00076 #include "swf_options.h"
00077 #include "encoding_status.h"
00078 #include "media_editor_options.h"
00079 #include "overlay_options.h"
00080 #if defined(FLIXENGINE_CORE) && !defined(NO_FRAMESERVER)
00081 # include "fs_options.h"
00082 #endif
00083
00093 typedef enum {
00094 ExportSWF3To6Video = 0x00,
00095 ExportSWF7PlusVideo = 0x01,
00096 ExportSWFVectorVideo = 0x02,
00097 ExportFLVVideo = 0x03
00098 } FE2_ExportedVideoType;
00099
00101 typedef enum {
00102 EncStateIdle,
00103 EncStateRunning,
00104 EncStateQueued
00105 } FE2_EncState;
00106
00108 typedef enum {
00109 ErrNone = 0,
00110 ErrSys = -1,
00111 ErrFileIO = -2,
00112 ErrFileOpen = -3,
00113 ErrFileDecode = -4,
00114 ErrFileDecodeA = -5,
00115 ErrFileDecodeV = -6,
00116 ErrEncodeA = -7,
00117 ErrEncodeV = -8
00118 } FE2_errno;
00119
00122 #if defined(__cplusplus)
00123 extern "C" {
00124 #endif
00125
00126 #if defined(FLIXENGINE_CORE) || defined(DOXYGEN)
00127
00149 FLIXENGINE_API on2sc Flix2_Init();
00150
00156 FLIXENGINE_API on2sc Flix2_Deinit();
00158 #endif
00159
00192 FLIXENGINE_API on2sc Flix2_Create(FLIX2HANDLE* pFlix);
00193 #ifndef FLIXENGINE_CORE
00194
00229 FLIXENGINE_API on2sc Flix2_CreateEx(FLIX2HANDLE* pFlix,
00230 const char* rpchost, int32_t timeout);
00231 #endif
00232
00243 FLIXENGINE_API on2sc Flix2_Destroy(FLIX2HANDLE flix);
00244
00245
00247 FLIXENGINE_API const char* Flix2_Version();
00248
00250 FLIXENGINE_API const on2tc* Flix2_Copyright();
00251
00277 FLIXENGINE_API on2sc Flix2_SetOutputFile(FLIX2HANDLE flix,
00278 const on2tc* outputFile);
00279
00299 FLIXENGINE_API on2sc Flix2_GetOutputFile(const FLIX2HANDLE flix,
00300 on2tc* pOutputFile, int32_t* len);
00301
00316 FLIXENGINE_API on2sc Flix2_SetOverwriteExistingFiles(FLIX2HANDLE flix,
00317 const on2bool bOverwriteExistingFiles);
00318
00331 FLIXENGINE_API on2sc Flix2_GetOverwriteExistingFiles(const FLIX2HANDLE flix,
00332 on2bool* bpOverwriteExistingFiles);
00333
00345 FLIXENGINE_API on2sc Flix2_SetExportAudio(FLIX2HANDLE flix,
00346 const on2bool bExportAudio);
00347
00360 FLIXENGINE_API on2sc Flix2_GetExportAudio(const FLIX2HANDLE flix,
00361 on2bool* bpExportAudio);
00362
00374 FLIXENGINE_API on2sc Flix2_SetExportVideo(FLIX2HANDLE flix,
00375 const on2bool bExportVideo);
00376
00389 FLIXENGINE_API on2sc Flix2_GetExportVideo(const FLIX2HANDLE flix,
00390 on2bool* bpExportVideo);
00391
00411 FLIXENGINE_API on2sc Flix2_SetExportVideoType(FLIX2HANDLE flix,
00412 const FE2_ExportedVideoType exportVideoType);
00413
00428 FLIXENGINE_API on2sc Flix2_GetExportVideoType(const FLIX2HANDLE flix,
00429 FE2_ExportedVideoType* pExportVideoType);
00430
00456 FLIXENGINE_API on2sc Flix2_SetInputFile(FLIX2HANDLE flix,
00457 const on2tc* inputFile);
00458
00478 FLIXENGINE_API on2sc Flix2_GetInputFile(const FLIX2HANDLE flix,
00479 on2tc* pInputFile, int32_t* len);
00480
00495 FLIXENGINE_API on2sc Flix2_GetSourceDuration(const FLIX2HANDLE flix,
00496 int32_t* duration);
00497
00523 FLIXENGINE_API on2sc Flix2_Encode(FLIX2HANDLE flix);
00524
00537 FLIXENGINE_API on2sc Flix2_StopEncoding(FLIX2HANDLE flix);
00538
00551 FLIXENGINE_API on2sc Flix2_Reset(FLIX2HANDLE flix);
00552
00574 FLIXENGINE_API on2sc Flix2_Validate(const FLIX2HANDLE flix);
00575
00590 FLIXENGINE_API on2sc Flix2_IsEncoderRunning(const FLIX2HANDLE flix,
00591 on2bool* bpIsEncoderRunning);
00592
00613 FLIXENGINE_API on2sc Flix2_GetEncoderState(const FLIX2HANDLE flix,
00614 FE2_EncState* pEncState);
00615
00618 #if defined(FLIXENGINE_CORE) || defined(DOXYGEN)
00619
00633 FLIXENGINE_API on2sc Flix2_SetLogLevel(FLIX2HANDLE flix, int32_t level);
00634
00643 FLIXENGINE_API on2sc Flix2_GetLogLevel(const FLIX2HANDLE flix, int32_t* level);
00644
00669 FLIXENGINE_API on2sc Flix2_SetLogPath(FLIX2HANDLE flix, on2tc* logpath);
00670
00681 FLIXENGINE_API on2sc Flix2_GetLogPath(const FLIX2HANDLE flix,
00682 on2tc* logpath, int32_t* len);
00683 #endif
00684
00710 FLIXENGINE_API on2sc Flix2_AddFilter(FLIX2PLGNHANDLE *pPlgn,
00711 const FLIX2HANDLE flix, const char *plgn_name);
00712
00721 FLIXENGINE_API on2sc Flix2_RemoveFilter(FLIX2PLGNHANDLE plgn);
00722
00723
00737 FLIXENGINE_API on2sc Flix2_FilterSetParamAsStr(FLIX2PLGNHANDLE plgn,
00738 const char *name, const on2tc *value);
00739
00761 FLIXENGINE_API on2sc Flix2_FilterGetParamAsStr(FLIX2PLGNHANDLE plgn,
00762 const char *name, on2tc *value, int32_t *len);
00763
00777 FLIXENGINE_API on2sc Flix2_FilterSetParam(FLIX2PLGNHANDLE plgn,
00778 const char *name, double inDblVal);
00779
00795 FLIXENGINE_API on2sc Flix2_FilterGetParam(FLIX2PLGNHANDLE plgn,
00796 const char *name, double *outDblVal);
00797
00825 FLIXENGINE_API on2sc Flix2_AddCodec(FLIX2PLGNHANDLE *pPlgn,
00826 const FLIX2HANDLE flix, const char *plgn_name);
00827
00836 FLIXENGINE_API on2sc Flix2_RemoveCodec(FLIX2PLGNHANDLE plgn);
00837
00838
00852 FLIXENGINE_API on2sc Flix2_CodecSetParamAsStr(FLIX2PLGNHANDLE plgn,
00853 const char *name, const on2tc *value);
00854
00876 FLIXENGINE_API on2sc Flix2_CodecGetParamAsStr(FLIX2PLGNHANDLE plgn,
00877 const char *name, on2tc *value, int32_t *len);
00878
00892 FLIXENGINE_API on2sc Flix2_CodecSetParam(FLIX2PLGNHANDLE plgn,
00893 const char *name, double inDblVal);
00894
00910 FLIXENGINE_API on2sc Flix2_CodecGetParam(FLIX2PLGNHANDLE plgn,
00911 const char *name, double *outDblVal);
00912
00940 FLIXENGINE_API on2sc Flix2_AddMuxer(FLIX2PLGNHANDLE *pPlgn,
00941 const FLIX2HANDLE flix, const char *plgn_name);
00942
00951 FLIXENGINE_API on2sc Flix2_RemoveMuxer(FLIX2PLGNHANDLE plgn);
00952
00953
00967 FLIXENGINE_API on2sc Flix2_MuxerSetParamAsStr(FLIX2PLGNHANDLE plgn,
00968 const char *name, const on2tc *value);
00969
00991 FLIXENGINE_API on2sc Flix2_MuxerGetParamAsStr(FLIX2PLGNHANDLE plgn,
00992 const char *name, on2tc *value, int32_t *len);
00993
01007 FLIXENGINE_API on2sc Flix2_MuxerSetParam(FLIX2PLGNHANDLE plgn,
01008 const char *name, double inDblVal);
01009
01025 FLIXENGINE_API on2sc Flix2_MuxerGetParam(FLIX2PLGNHANDLE plgn,
01026 const char *name, double *outDblVal);
01027
01053 FLIXENGINE_API on2sc Flix2_Errno(const FLIX2HANDLE flix,
01054 FE2_errno* flixerrno, int32_t* syserrno);
01055
01056 #if defined(__cplusplus)
01057 }
01058 #endif
01059
01060 #endif