mlt_filter.c
[melted] / src / framework / mlt_frame.h
index 899b0d2..3752f3a 100644 (file)
@@ -43,6 +43,8 @@ struct mlt_frame_s
 
 #define MLT_FRAME_PROPERTIES( frame )          ( &( frame )->parent )
 #define MLT_FRAME_SERVICE_STACK( frame )       ( ( frame )->stack_service )
+#define MLT_FRAME_IMAGE_STACK( frame )         ( ( frame )->stack_image )
+#define MLT_FRAME_AUDIO_STACK( frame )         ( ( frame )->stack_audio )
 
 extern mlt_frame mlt_frame_init( );
 extern mlt_properties mlt_frame_properties( mlt_frame self );
@@ -63,6 +65,8 @@ extern int mlt_frame_push_frame( mlt_frame self, mlt_frame that );
 extern mlt_frame mlt_frame_pop_frame( mlt_frame self );
 extern int mlt_frame_push_service( mlt_frame self, void *that );
 extern void *mlt_frame_pop_service( mlt_frame self );
+extern int mlt_frame_push_service_int( mlt_frame self, int that );
+extern int mlt_frame_pop_service_int( mlt_frame self );
 extern int mlt_frame_push_audio( mlt_frame self, void *that );
 extern void *mlt_frame_pop_audio( mlt_frame self );
 extern mlt_deque mlt_frame_service_stack( mlt_frame self );
@@ -78,6 +82,7 @@ extern uint8_t *mlt_frame_rescale_yuv422( mlt_frame self, int owidth, int oheigh
 extern void mlt_resize_yuv422( uint8_t *output, int owidth, int oheight, uint8_t *input, int iwidth, int iheight );
 extern int mlt_frame_mix_audio( mlt_frame self, mlt_frame that, float weight_start, float weight_end, int16_t **buffer, mlt_audio_format *format, int *frequency, int *channels, int *samples  );
 extern int mlt_sample_calculator( float fps, int frequency, int64_t position );
+extern int64_t mlt_sample_calculator_to_now( float fps, int frequency, int64_t position );
 
 /* this macro scales rgb into the yuv gamut, y is scaled by 219/255 and uv by 224/255 */
 #define RGB2YUV(r, g, b, y, u, v)\