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 13
00036 #define FLIXENGINE_VERSION_PATCH 0
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;
00070 #include "filter_constants.h"
00071 #include "codec_constants.h"
00072 #include "muxer_constants.h"
00073 #include "video_options.h"
00074 #include "audio_options.h"
00075 #include "swf_options.h"
00076 #include "encoding_status.h"
00077 #include "media_editor_options.h"
00078 #include "overlay_options.h"
00079 #if defined(FLIXENGINE_CORE) && !defined(NO_FRAMESERVER)
00080 # include "fs_options.h"
00081 #endif
00082
00092 typedef enum {
00093 ExportSWF3To6Video = 0x00,
00094 ExportSWF7PlusVideo = 0x01,
00095 ExportSWFVectorVideo = 0x02,
00096 ExportFLVVideo = 0x03
00097 } FE2_ExportedVideoType;
00098
00100 typedef enum {
00101 EncStateIdle,
00102 EncStateRunning,
00103 EncStateQueued
00104 } FE2_EncState;
00105
00107 typedef enum {
00108 ErrNone = 0,
00109 ErrSys = -1,
00110 ErrFileIO = -2,
00111 ErrFileOpen = -3,
00112 ErrFileDecode = -4,
00113 ErrFileDecodeA = -5,
00114 ErrFileDecodeV = -6,
00115 ErrEncodeA = -7,
00116 ErrEncodeV = -8
00117 } FE2_errno;
00118
00121 #if defined(__cplusplus)
00122 extern "C" {
00123 #endif
00124
00125 #if defined(FLIXENGINE_CORE) || defined(DOXYGEN)
00126
00149 FLIXENGINE_API on2sc Flix2_Init();
00150
00156 FLIXENGINE_API on2sc Flix2_Deinit();
00157 #endif
00158
00191 FLIXENGINE_API on2sc Flix2_Create(FLIX2HANDLE* pFlix);
00192 #ifndef FLIXENGINE_CORE
00193
00228 FLIXENGINE_API on2sc Flix2_CreateEx(FLIX2HANDLE* pFlix,
00229 const char* rpchost, int32_t timeout);
00230 #endif
00231
00242 FLIXENGINE_API on2sc Flix2_Destroy(FLIX2HANDLE flix);
00243
00244
00246 FLIXENGINE_API const char* Flix2_Version();
00247
00249 FLIXENGINE_API const on2tc* Flix2_Copyright();
00250
00276 FLIXENGINE_API on2sc Flix2_SetOutputFile(FLIX2HANDLE flix,
00277 const on2tc* outputFile);
00278
00298 FLIXENGINE_API on2sc Flix2_GetOutputFile(const FLIX2HANDLE flix,
00299 on2tc* pOutputFile, int32_t* len);
00300
00315 FLIXENGINE_API on2sc Flix2_SetOverwriteExistingFiles(FLIX2HANDLE flix,
00316 const on2bool bOverwriteExistingFiles);
00317
00330 FLIXENGINE_API on2sc Flix2_GetOverwriteExistingFiles(const FLIX2HANDLE flix,
00331 on2bool* bpOverwriteExistingFiles);
00332
00344 FLIXENGINE_API on2sc Flix2_SetExportAudio(FLIX2HANDLE flix,
00345 const on2bool bExportAudio);
00346
00359 FLIXENGINE_API on2sc Flix2_GetExportAudio(const FLIX2HANDLE flix,
00360 on2bool* bpExportAudio);
00361
00373 FLIXENGINE_API on2sc Flix2_SetExportVideo(FLIX2HANDLE flix,
00374 const on2bool bExportVideo);
00375
00388 FLIXENGINE_API on2sc Flix2_GetExportVideo(const FLIX2HANDLE flix,
00389 on2bool* bpExportVideo);
00390
00410 FLIXENGINE_API on2sc Flix2_SetExportVideoType(FLIX2HANDLE flix,
00411 const FE2_ExportedVideoType exportVideoType);
00412
00427 FLIXENGINE_API on2sc Flix2_GetExportVideoType(const FLIX2HANDLE flix,
00428 FE2_ExportedVideoType* pExportVideoType);
00429
00455 FLIXENGINE_API on2sc Flix2_SetInputFile(FLIX2HANDLE flix,
00456 const on2tc* inputFile);
00457
00477 FLIXENGINE_API on2sc Flix2_GetInputFile(const FLIX2HANDLE flix,
00478 on2tc* pInputFile, int32_t* len);
00479
00494 FLIXENGINE_API on2sc Flix2_GetSourceDuration(const FLIX2HANDLE flix,
00495 int32_t* duration);
00496
00522 FLIXENGINE_API on2sc Flix2_Encode(FLIX2HANDLE flix);
00523
00536 FLIXENGINE_API on2sc Flix2_StopEncoding(FLIX2HANDLE flix);
00537
00550 FLIXENGINE_API on2sc Flix2_Reset(FLIX2HANDLE flix);
00551
00573 FLIXENGINE_API on2sc Flix2_Validate(const FLIX2HANDLE flix);
00574
00589 FLIXENGINE_API on2sc Flix2_IsEncoderRunning(const FLIX2HANDLE flix,
00590 on2bool* bpIsEncoderRunning);
00591
00612 FLIXENGINE_API on2sc Flix2_GetEncoderState(const FLIX2HANDLE flix,
00613 FE2_EncState* pEncState);
00614
00617 #if defined(FLIXENGINE_CORE) || defined(DOXYGEN)
00618
00632 FLIXENGINE_API on2sc Flix2_SetLogLevel(FLIX2HANDLE flix, int32_t level);
00633
00642 FLIXENGINE_API on2sc Flix2_GetLogLevel(const FLIX2HANDLE flix, int32_t* level);
00643
00668 FLIXENGINE_API on2sc Flix2_SetLogPath(FLIX2HANDLE flix, on2tc* logpath);
00669
00680 FLIXENGINE_API on2sc Flix2_GetLogPath(const FLIX2HANDLE flix,
00681 on2tc* logpath, int32_t* len);
00682 #endif
00683
00709 FLIXENGINE_API on2sc Flix2_AddFilter(FLIX2PLGNHANDLE *pPlgn,
00710 const FLIX2HANDLE flix, const char *plgn_name);
00711
00720 FLIXENGINE_API on2sc Flix2_RemoveFilter(FLIX2PLGNHANDLE plgn);
00721
00722
00736 FLIXENGINE_API on2sc Flix2_FilterSetParamAsStr(FLIX2PLGNHANDLE plgn,
00737 const char *name, const on2tc *value);
00738
00760 FLIXENGINE_API on2sc Flix2_FilterGetParamAsStr(FLIX2PLGNHANDLE plgn,
00761 const char *name, on2tc *value, int32_t *len);
00762
00776 FLIXENGINE_API on2sc Flix2_FilterSetParam(FLIX2PLGNHANDLE plgn,
00777 const char *name, double inDblVal);
00778
00794 FLIXENGINE_API on2sc Flix2_FilterGetParam(FLIX2PLGNHANDLE plgn,
00795 const char *name, double *outDblVal);
00796
00824 FLIXENGINE_API on2sc Flix2_AddCodec(FLIX2PLGNHANDLE *pPlgn,
00825 const FLIX2HANDLE flix, const char *plgn_name);
00826
00835 FLIXENGINE_API on2sc Flix2_RemoveCodec(FLIX2PLGNHANDLE plgn);
00836
00837
00851 FLIXENGINE_API on2sc Flix2_CodecSetParamAsStr(FLIX2PLGNHANDLE plgn,
00852 const char *name, const on2tc *value);
00853
00875 FLIXENGINE_API on2sc Flix2_CodecGetParamAsStr(FLIX2PLGNHANDLE plgn,
00876 const char *name, on2tc *value, int32_t *len);
00877
00891 FLIXENGINE_API on2sc Flix2_CodecSetParam(FLIX2PLGNHANDLE plgn,
00892 const char *name, double inDblVal);
00893
00909 FLIXENGINE_API on2sc Flix2_CodecGetParam(FLIX2PLGNHANDLE plgn,
00910 const char *name, double *outDblVal);
00911
00939 FLIXENGINE_API on2sc Flix2_AddMuxer(FLIX2PLGNHANDLE *pPlgn,
00940 const FLIX2HANDLE flix, const char *plgn_name);
00941
00950 FLIXENGINE_API on2sc Flix2_RemoveMuxer(FLIX2PLGNHANDLE plgn);
00951
00952
00966 FLIXENGINE_API on2sc Flix2_MuxerSetParamAsStr(FLIX2PLGNHANDLE plgn,
00967 const char *name, const on2tc *value);
00968
00990 FLIXENGINE_API on2sc Flix2_MuxerGetParamAsStr(FLIX2PLGNHANDLE plgn,
00991 const char *name, on2tc *value, int32_t *len);
00992
01006 FLIXENGINE_API on2sc Flix2_MuxerSetParam(FLIX2PLGNHANDLE plgn,
01007 const char *name, double inDblVal);
01008
01024 FLIXENGINE_API on2sc Flix2_MuxerGetParam(FLIX2PLGNHANDLE plgn,
01025 const char *name, double *outDblVal);
01026
01052 FLIXENGINE_API on2sc Flix2_Errno(const FLIX2HANDLE flix,
01053 FE2_errno* flixerrno, int32_t* syserrno);
01054
01055 #if defined(__cplusplus)
01056 }
01057 #endif
01058
01059 #endif