Change-Id: I7e2354284d14959fb2aece3fb815cadd29098ce2
BuildRequires: pkgconfig(capi-base-common)
BuildRequires: pkgconfig(appcore-efl)
BuildRequires: pkgconfig(capi-media-tool)
BuildRequires: pkgconfig(capi-base-common)
BuildRequires: pkgconfig(appcore-efl)
BuildRequires: pkgconfig(capi-media-tool)
-BuildRequires: pkgconfig(capi-media-camera)
BuildRequires: pkgconfig(libtbm)
BuildRequires: pkgconfig(gstreamer-1.0)
BuildRequires: pkgconfig(gstreamer-plugins-base-1.0)
BuildRequires: pkgconfig(gstreamer-app-1.0)
BuildRequires: pkgconfig(capi-system-info)
BuildRequires: pkgconfig(iniparser)
BuildRequires: pkgconfig(libtbm)
BuildRequires: pkgconfig(gstreamer-1.0)
BuildRequires: pkgconfig(gstreamer-plugins-base-1.0)
BuildRequires: pkgconfig(gstreamer-app-1.0)
BuildRequires: pkgconfig(capi-system-info)
BuildRequires: pkgconfig(iniparser)
-BuildRequires: pkgconfig(capi-mediademuxer)
%description
A Media Codec library in Tizen Native API
%description
A Media Codec library in Tizen Native API
link_directories(${CMAKE_SOURCE_DIR}/../)
INCLUDE(FindPkgConfig)
link_directories(${CMAKE_SOURCE_DIR}/../)
INCLUDE(FindPkgConfig)
-pkg_check_modules(${fw_test} REQUIRED appcore-efl elementary capi-media-camera capi-mediademuxer)
+pkg_check_modules(${fw_test} REQUIRED appcore-efl elementary)
FOREACH(flag ${${fw_test}_CFLAGS})
SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
ENDFOREACH(flag)
FOREACH(flag ${${fw_test}_CFLAGS})
SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
ENDFOREACH(flag)
#include <tbm_surface.h>
#include <dlog.h>
#include <time.h>
#include <tbm_surface.h>
#include <dlog.h>
#include <time.h>
#include <media_codec.h>
#include <media_packet.h>
#include <media_packet_internal.h>
#include <media_packet_pool.h>
#include <media_codec_internal.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>
#include <mediademuxer.h>
#define PACKAGE "media_codec_test"
#define MAX_HANDLE 4
#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
#define TEST_FILE_SIZE (10 * 1024 * 1024)
#define MAX_STRING_LEN 256
gboolean enable_dump;
gint frame;
type_e type;
gboolean enable_dump;
gint frame;
type_e type;
+
+#ifdef TIZEN_FEATURE_INTEGRATION
+ mediademuxer_h demuxer;
+#endif
GThread *thread;
GCond thread_cond;
GThread *thread;
GCond thread_cond;
gint suspend;
gchar filepath[256];
/* demuxer */
gint suspend;
gchar filepath[256];
/* demuxer */
- mediademuxer_h demuxer;
media_format_h format[MAX_HANDLE];
/* video */
mediacodec_h mc_handle[MAX_HANDLE];
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 (*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)
{
gint _create_app(void *data)
{
g_mutex_unlock(&app->thread_mutex);
}
g_mutex_unlock(&app->thread_mutex);
}
+#ifdef TIZEN_FEATURE_INTEGRATION
gpointer av_feed_thread(gpointer data)
{
App *app = (App *)data;
gpointer av_feed_thread(gpointer data)
{
App *app = (App *)data;
void start_feed(App *app)
{
void start_feed(App *app)
{
-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)
{
void _mediacodec_eos_cb(void *user_data)
{
+#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;
void _mediademuxer_eos_cb(int track, void *user_data)
{
App *app = (App *)user_data;
gboolean _foreach_cb(mediacodec_codec_type_e codec_type, void *user_data)
{
gboolean _foreach_cb(mediacodec_codec_type_e codec_type, void *user_data)
{
+#ifdef TIZEN_FEATURE_INTEGRATION
void _mediacodec_camera_start(App *app)
{
int default_format = CAMERA_PIXEL_FORMAT_NV12;
void _mediacodec_camera_start(App *app)
{
int default_format = CAMERA_PIXEL_FORMAT_NV12;
mediacodec_destroy(app->mc_handle[1]);
return;
}
mediacodec_destroy(app->mc_handle[1]);
return;
}
+#ifdef TIZEN_FEATURE_INTEGRATION
void _mediacodec_auto_test(App *app, char *path)
{
gint ret = 0;
void _mediacodec_auto_test(App *app, char *path)
{
gint ret = 0;
void _mediacodec_unprepare(App *app)
{
void _mediacodec_unprepare(App *app)
{
_mediacodec_unprepare(app);
else if (strncmp(cmd, "dt", 2) == 0)
_mediacodec_destroy(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;
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;
else if (strncmp(cmd, "dp", 2) == 0) {
if (!app->enable_dump) {
app->enable_dump = TRUE;
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");
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");
} 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");
} else {
g_print("*** unknown status.\n");
}
} else {
g_print("*** unknown status.\n");
}
- if (tmp <= 0 || tmp > INT_MAX) {
+ if (tmp <= 0 || tmp >= INT_MAX) {
g_print(";;Invalid value\n");
reset_menu_state();
break;
g_print(";;Invalid value\n");
reset_menu_state();
break;
- if (tmp <= 0 || tmp > INT_MAX) {
+ if (tmp <= 0 || tmp >= 10) {
g_print("Invalid value\n");
reset_menu_state();
break;
g_print("Invalid value\n");
reset_menu_state();
break;
reset_menu_state();
}
break;
reset_menu_state();
}
break;
+#ifdef TIZEN_FEATURE_INTEGRATION
case CURRENT_STATUS_AUTO_TEST:
{
int len;
case CURRENT_STATUS_AUTO_TEST:
{
int len;
}
g_timeout_add(100, timeout_menu_display, 0);
}
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");
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("-----------------------------------------------------------------------------------------\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");
g_print("ct. quit camera test\n");
g_print("\n");
g_print("=========================================================================================\n");
}
g_print("\n");
g_print("=========================================================================================\n");
}