flixengine2/flixengine2.h

Go to the documentation of this file.
00001 /*
00002 //==========================================================================
00003 //
00004 //  Copyright (c) On2 Technologies Inc. All Rights Reserved.
00005 //
00006 //--------------------------------------------------------------------------
00007 //
00008 //  File:        $Workfile: flixengine2.h$
00009 //               $Revision: 77$
00010 //
00011 //  Last Update: $DateUTC: 2008-05-15 16:07:02Z$
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 11
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 /*defined(FLIXENGINE_CORE) || defined(DOXYGEN)*/
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 /*__FLIXENGINE2_H__*/

On2 Technologies, Inc Flix Engine Linux documentation, generated on Mon May 19 10:56:06 2008 by doxygen 1.5.2