mlt 0.7.6

mlt_types.h

Go to the documentation of this file.
00001 
00023 #ifndef _MLT_TYPES_H_
00024 #define _MLT_TYPES_H_
00025 
00026 #ifndef GCC_VERSION
00027 #define GCC_VERSION (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__)
00028 #endif
00029 
00030 #include <inttypes.h>
00031 #include <limits.h>
00032 #include "mlt_pool.h"
00033 
00034 #ifndef PATH_MAX
00035 #define PATH_MAX 4096
00036 #endif
00037 
00040 typedef enum
00041 {
00042     mlt_image_none = 0,
00043     mlt_image_rgb24,   
00044     mlt_image_rgb24a,  
00045     mlt_image_yuv422,  
00046     mlt_image_yuv420p, 
00047     mlt_image_opengl   
00048 }
00049 mlt_image_format;
00050 
00053 typedef enum
00054 {
00055     mlt_audio_none = 0,
00056     mlt_audio_pcm = 1, 
00057     mlt_audio_s16 = 1, 
00058     mlt_audio_s32,     
00059     mlt_audio_float,   
00060     mlt_audio_s32le,   
00061     mlt_audio_f32le    
00062 }
00063 mlt_audio_format;
00064 
00067 typedef enum
00068 {
00069     mlt_whence_relative_start,  
00070     mlt_whence_relative_current,
00071     mlt_whence_relative_end     
00072 }
00073 mlt_whence;
00074 
00077 typedef enum
00078 {
00079     invalid_type,               
00080     unknown_type,               
00081     producer_type,              
00082     tractor_type,               
00083     playlist_type,              
00084     multitrack_type,            
00085     filter_type,                
00086     transition_type,            
00087     consumer_type,              
00088     field_type                  
00089 }
00090 mlt_service_type;
00091 
00092 /* I don't want to break anyone's applications without warning. -Zach */
00093 #undef DOUBLE_MLT_POSITION
00094 #ifdef DOUBLE_MLT_POSITION
00095 typedef double mlt_position;
00096 #else
00097 typedef int32_t mlt_position;
00098 #endif
00099 
00100 typedef struct mlt_frame_s *mlt_frame, **mlt_frame_ptr; 
00101 typedef struct mlt_property_s *mlt_property;            
00102 typedef struct mlt_properties_s *mlt_properties;        
00103 typedef struct mlt_event_struct *mlt_event;             
00104 typedef struct mlt_service_s *mlt_service;              
00105 typedef struct mlt_producer_s *mlt_producer;            
00106 typedef struct mlt_playlist_s *mlt_playlist;            
00107 typedef struct mlt_multitrack_s *mlt_multitrack;        
00108 typedef struct mlt_filter_s *mlt_filter;                
00109 typedef struct mlt_transition_s *mlt_transition;        
00110 typedef struct mlt_tractor_s *mlt_tractor;              
00111 typedef struct mlt_field_s *mlt_field;                  
00112 typedef struct mlt_consumer_s *mlt_consumer;            
00113 typedef struct mlt_parser_s *mlt_parser;                
00114 typedef struct mlt_deque_s *mlt_deque;                  
00115 typedef struct mlt_geometry_s *mlt_geometry;            
00116 typedef struct mlt_geometry_item_s *mlt_geometry_item;  
00117 typedef struct mlt_profile_s *mlt_profile;              
00118 typedef struct mlt_repository_s *mlt_repository;        
00119 typedef struct mlt_cache_s *mlt_cache;                  
00120 typedef struct mlt_cache_item_s *mlt_cache_item;        
00122 typedef void ( *mlt_destructor )( void * );             
00123 typedef char *( *mlt_serialiser )( void *, int length );
00125 #define MLT_SERVICE(x)    ( ( mlt_service )( x ) )      
00126 #define MLT_PRODUCER(x)   ( ( mlt_producer )( x ) )     
00127 #define MLT_MULTITRACK(x) ( ( mlt_multitrack )( x ) )   
00128 #define MLT_PLAYLIST(x)   ( ( mlt_playlist )( x ) )     
00129 #define MLT_TRACTOR(x)    ( ( mlt_tractor )( x ) )      
00130 #define MLT_FILTER(x)     ( ( mlt_filter )( x ) )       
00131 #define MLT_TRANSITION(x) ( ( mlt_transition )( x ) )   
00132 #define MLT_CONSUMER(x) ( ( mlt_consumer )( x ) )       
00133 #define MLT_FRAME(x)      ( ( mlt_frame )( x ) )        
00135 #ifdef WIN32
00136 #include <pthread.h>
00137 /* Win32 compatibility function declarations */
00138 extern int usleep(unsigned int useconds);
00139 extern int nanosleep( const struct timespec * rqtp, struct timespec * rmtp );
00140 extern int setenv(const char *name, const char *value, int overwrite);
00141 #endif
00142 
00143 #endif
TWiki Appliance - Powered by TurnKey Linux