#include <tbm_surface.h>
#include <dlog.h>
#include <time.h>
-#include <camera.h>
#include <media_codec.h>
#include <media_packet.h>
#include <media_packet_internal.h>
#include <media_packet_pool.h>
#include <media_codec_internal.h>
+#ifdef TIZEN_FEATURE_INTEGRATION
+#include <camera.h>
#include <mediademuxer.h>
+#endif
#define PACKAGE "media_codec_test"
#define MAX_HANDLE 4
-#if 0
-#define DUMP_OUTBUF 1
-#endif
#define TEST_FILE_SIZE (10 * 1024 * 1024)
#define MAX_STRING_LEN 256
gboolean enable_dump;
gint frame;
type_e type;
+
+#ifdef TIZEN_FEATURE_INTEGRATION
camera_h camera_handle;
+ mediademuxer_h demuxer;
+#endif
GThread *thread;
GCond thread_cond;
gint suspend;
gchar filepath[256];
/* demuxer */
- mediademuxer_h demuxer;
media_format_h format[MAX_HANDLE];
/* video */
mediacodec_h mc_handle[MAX_HANDLE];
void (*extractor)(App *app, guint8** data, gint *size, gboolean *have_frame, gboolean *codec_data);
gint g_menu_state = CURRENT_STATUS_MAINMENU;
-void demuxer_error_cb(mediademuxer_error_e error, void *user_data);
gint _create_app(void *data)
{
g_mutex_unlock(&app->thread_mutex);
}
+#ifdef TIZEN_FEATURE_INTEGRATION
gpointer av_feed_thread(gpointer data)
{
App *app = (App *)data;
return TRUE;
}
+#endif
void start_feed(App *app)
{
return;
}
-void demuxer_error_cb(mediademuxer_error_e error, void *user_data)
-{
- g_print("Got Error %d from Mediademuxer\n", error);
- return;
-}
void _mediacodec_eos_cb(void *user_data)
{
return;
}
+#ifdef TIZEN_FEATURE_INTEGRATION
+void demuxer_error_cb(mediademuxer_error_e error, void *user_data)
+{
+ g_print("Got Error %d from Mediademuxer\n", error);
+ return;
+}
+
void _mediademuxer_eos_cb(int track, void *user_data)
{
App *app = (App *)user_data;
return;
}
+#endif
gboolean _foreach_cb(mediacodec_codec_type_e codec_type, void *user_data)
{
return;
}
+#ifdef TIZEN_FEATURE_INTEGRATION
void _mediacodec_camera_start(App *app)
{
int default_format = CAMERA_PIXEL_FORMAT_NV12;
mediacodec_destroy(app->mc_handle[1]);
return;
}
+#endif
+#ifdef TIZEN_FEATURE_INTEGRATION
void _mediacodec_auto_test(App *app, char *path)
{
gint ret = 0;
return;
}
+#endif
void _mediacodec_unprepare(App *app)
{
_mediacodec_unprepare(app);
else if (strncmp(cmd, "dt", 2) == 0)
_mediacodec_destroy(app);
+#ifdef TIZEN_FEATURE_INTEGRATION
else if (strncmp(cmd, "cr", 2) == 0)
_mediacodec_camera_start(app);
else if (strncmp(cmd, "ct", 2) == 0)
_mediacodec_camera_stop(app);
else if (strncmp(cmd, "au", 2) == 0)
g_menu_state = CURRENT_STATUS_AUTO_TEST;
+#endif
else if (strncmp(cmd, "dp", 2) == 0) {
if (!app->enable_dump) {
app->enable_dump = TRUE;
g_print("*** input dec process number\n");
} else if (g_menu_state == CURRENT_STATUS_GET_OUTPUT) {
g_print("*** input get output buffer number\n");
+#ifdef TIZEN_FEATURE_INTEGRATION
} else if (g_menu_state == CURRENT_STATUS_AUTO_TEST) {
g_print("*** enter media path and select the track to decode (0 : audio, 1 : video).\n");
+#endif
} else {
g_print("*** unknown status.\n");
}
case 3:
tmp = atoi(cmd);
- if (tmp <= 0 || tmp > INT_MAX) {
+ if (tmp <= 0 || tmp >= INT_MAX) {
g_print(";;Invalid value\n");
reset_menu_state();
break;
{
tmp = atoi(cmd);
- if (tmp <= 0 || tmp > INT_MAX) {
+ if (tmp <= 0 || tmp >= 10) {
g_print("Invalid value\n");
reset_menu_state();
break;
reset_menu_state();
}
break;
+#ifdef TIZEN_FEATURE_INTEGRATION
case CURRENT_STATUS_AUTO_TEST:
{
int len;
}
}
break;
+#endif
}
g_timeout_add(100, timeout_menu_display, 0);
g_print("dt. Destroy \t\t");
g_print("q. quit test suite \n");
g_print("dp. enable dump \n");
+#ifdef TIZEN_FEATURE_INTEGRATION
g_print("-----------------------------------------------------------------------------------------\n");
g_print("cr. camera preview -> encoder -> decoder\n");
- g_print("au. interlocking with mediademuxer\n");
+ g_print("au. integration test with mediademuxer\n");
g_print("ct. quit camera test\n");
+#endif
g_print("\n");
g_print("=========================================================================================\n");
}