ArDrone SDK 1.8 added
[mardrone] / mardrone / ARDrone_SDK_Version_1_8_20110726 / ARDroneLib / Soft / Lib / ardrone_tool / Video / video_stage_recorder.h
diff --git a/mardrone/ARDrone_SDK_Version_1_8_20110726/ARDroneLib/Soft/Lib/ardrone_tool/Video/video_stage_recorder.h b/mardrone/ARDrone_SDK_Version_1_8_20110726/ARDroneLib/Soft/Lib/ardrone_tool/Video/video_stage_recorder.h
new file mode 100644 (file)
index 0000000..9da9e20
--- /dev/null
@@ -0,0 +1,35 @@
+#ifndef _VIDEO_STAGE_RECORDER_H_
+#define _VIDEO_STAGE_RECORDER_H_
+
+#include <stdio.h>
+#include <VP_Api/vp_api.h>
+
+#define VIDEO_FILENAME_LENGTH 1024
+
+#ifndef _VIDEO_RECORD_STATE_ENUM_
+#define _VIDEO_RECORD_STATE_ENUM_
+typedef enum
+{
+       VIDEO_RECORD_HOLD, // Video recording is on hold, waiting for the start command. This is the default state.
+       VIDEO_RECORD_START, // Video recording has started.
+       VIDEO_PICTURE_START,
+       VIDEO_PICTURE_HOLD,
+       VIDEO_RECORD_STOP               // Video recording has been stopped. Stage will end and restart.
+} video_record_state;
+#endif
+
+typedef struct _video_stage_recorder_config_t
+{
+       char video_filename[VIDEO_FILENAME_LENGTH];
+  FILE* fp;
+       video_record_state startRec;
+} video_stage_recorder_config_t;
+
+C_RESULT video_stage_recorder_handle (video_stage_recorder_config_t * cfg, PIPELINE_MSG msg_id, void *callback, void *param);
+C_RESULT video_stage_recorder_open(video_stage_recorder_config_t *cfg);
+C_RESULT video_stage_recorder_transform(video_stage_recorder_config_t *cfg, vp_api_io_data_t *in, vp_api_io_data_t *out);
+C_RESULT video_stage_recorder_close(video_stage_recorder_config_t *cfg);
+
+extern const vp_api_stage_funcs_t video_recorder_funcs;
+
+#endif // _VIDEO_STAGE_RECORDER_H_