summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeongmo Yang <jm80.yang@samsung.com>2017-11-03 18:25:28 +0900
committerHyunil Park <hyunil46.park@samsung.com>2017-11-07 02:47:52 +0000
commitae1f7ea0cc7f2d95fe0c0fc4ddba87f9f2f0f609 (patch)
tree965045283ab02b62f6e432e5deea9dd2d73e82c0
parent3b99df5466e675dd6df3fbf6b2be96d664b652ac (diff)
downloadlibmm-evas-renderer-ae1f7ea0cc7f2d95fe0c0fc4ddba87f9f2f0f609.tar.gz
libmm-evas-renderer-ae1f7ea0cc7f2d95fe0c0fc4ddba87f9f2f0f609.tar.bz2
libmm-evas-renderer-ae1f7ea0cc7f2d95fe0c0fc4ddba87f9f2f0f609.zip
Add new private header file
- Move some enum and structures from mm_evas_renderer.h to mm_evas_renderer_private.h - Remove unnecessary include - Update pkgconfig file [Version] 0.0.19 [Profile] Common [Issue Type] Update [Dependency module] N/A Change-Id: Ib4907d9906d848e878e99cdd7f933ffc0bf1e948 Signed-off-by: Jeongmo Yang <jm80.yang@samsung.com>
-rw-r--r--[-rwxr-xr-x]AUTHORS0
-rw-r--r--[-rwxr-xr-x]LICENSE.Apache-2.00
-rw-r--r--[-rwxr-xr-x]NOTICE0
-rw-r--r--[-rwxr-xr-x]mm-evas-renderer.pc.in2
-rw-r--r--packaging/libmm-evas-renderer.spec2
-rw-r--r--src/include/mm_evas_renderer.h100
-rw-r--r--src/include/mm_evas_renderer_private.h135
-rw-r--r--[-rwxr-xr-x]src/mm_evas_renderer.c19
8 files changed, 152 insertions, 106 deletions
diff --git a/AUTHORS b/AUTHORS
index 3339879..3339879 100755..100644
--- a/AUTHORS
+++ b/AUTHORS
diff --git a/LICENSE.Apache-2.0 b/LICENSE.Apache-2.0
index bbe9d02..bbe9d02 100755..100644
--- a/LICENSE.Apache-2.0
+++ b/LICENSE.Apache-2.0
diff --git a/NOTICE b/NOTICE
index ccdad52..ccdad52 100755..100644
--- a/NOTICE
+++ b/NOTICE
diff --git a/mm-evas-renderer.pc.in b/mm-evas-renderer.pc.in
index 38c6c4e..dc6015c 100755..100644
--- a/mm-evas-renderer.pc.in
+++ b/mm-evas-renderer.pc.in
@@ -8,6 +8,6 @@ includedir = @includedir@
Name: mm-evas-renderer
Description: Multimedia Framework Evas Renderer Library
Version:
-Requires:
+Requires: evas mm-common capi-media-tool
Libs: -L${libdir} -lmmfevasrenderer
Cflags: -I${includedir}/mmf
diff --git a/packaging/libmm-evas-renderer.spec b/packaging/libmm-evas-renderer.spec
index 7bdeb62..6bd97c9 100644
--- a/packaging/libmm-evas-renderer.spec
+++ b/packaging/libmm-evas-renderer.spec
@@ -1,6 +1,6 @@
Name: libmm-evas-renderer
Summary: Multimedia Framework Evas Renderer Library
-Version: 0.0.18
+Version: 0.0.19
Release: 0
Group: Multimedia/Libraries
License: Apache-2.0
diff --git a/src/include/mm_evas_renderer.h b/src/include/mm_evas_renderer.h
index f5ce85a..ec20a79 100644
--- a/src/include/mm_evas_renderer.h
+++ b/src/include/mm_evas_renderer.h
@@ -27,22 +27,9 @@
| INCLUDE FILES |
| |
========================================================================================== */
-#include <stdio.h>
-
#include <Evas.h>
-#include <Ecore.h>
-
-#include <tbm_bufmgr.h>
-#include <tbm_surface.h>
-#include <tbm_surface_internal.h>
-
-#include "mm_types.h"
-#include "mm_debug.h"
-
-#include <media/media_packet.h>
-#include <media/media_format.h>
-
-#define MAX_PACKET_NUM 20
+#include <mm_types.h>
+#include <media_packet.h>
/*===========================================================================================
| |
@@ -58,89 +45,9 @@
extern "C" {
#endif
-typedef enum {
- UPDATE_VISIBILITY,
- UPDATE_TBM_SURF,
- UPDATE_FLUSH_BUFFER,
- UPDATE_DESTROY,
- UPDATE_INFO_NUM
-} update_info;
-
-enum {
- COND_RETRIEVE,
- COND_DESTROY,
- COND_NUM
-};
-
-typedef struct {
- media_packet_h packet;
- tbm_surface_h tbm_surf;
- gint prev_idx; /* keep previous index for destroying remained packets */
-} packet_info;
-
-typedef struct {
- gint x;
- gint y;
- gint w;
- gint h;
-} rect_info;
-
-typedef struct {
- void *bo;
- tbm_surface_h tbm_surf;
-} flush_info;
-
/* notice to finish using media_packet*/
typedef void (*mm_evas_renderer_media_packet_rendered_cb)(media_packet_h packet, void *user_data);
-/* evas info for evas surface type */
-typedef struct {
- Evas_Object *eo;
- Ecore_Pipe *epipe;
-
- /* video width & height */
- gint w;
- gint h;
-
- gboolean rendering_info_changed;
- gboolean video_size_changed;
-
- /* properties */
- gboolean update_needed; /* to update geometry information on pause state */
- gboolean visible;
- rect_info eo_size;
- rect_info dst_roi;
- rect_info result;
- float ratio; /* need to set original ratio, not swap */
- guint rotate_angle;
- guint display_geometry_method;
- guint flip;
-
- tbm_surface_h tbm_surf;
-
- /* media packet */
- packet_info pkt_info[MAX_PACKET_NUM];
- gint cur_idx;
-
- /* count undestroyed media packet */
- guint sent_buffer_cnt;
-
- /* lock */
- GMutex mp_lock; /* media_packet free lock */
- GMutex idx_lock; /* to keep value of cur_idx */
- GMutex write_lock; /* ecore pipe write lock */
- GMutex evas_lock;
- GCond evas_cond[COND_NUM];
-
- /* flush buffer */
- flush_info *flush_buffer;
- gboolean keep_screen;
- gboolean flush_all_packets;
-
- /* rendered callback */
- mm_evas_renderer_media_packet_rendered_cb packet_rendered_cb;
- void *packet_rendered_cb_user;
-} mm_evas_info;
/* create and initialize evas_info */
int mm_evas_renderer_create(MMHandleType *handle, Evas_Object *eo);
@@ -174,4 +81,5 @@ int mm_evas_renderer_set_packet_rendered_callback(MMHandleType handle, mm_evas_r
#ifdef __cplusplus
}
#endif
-#endif /* __TIZEN_MEDIA_EVASRENDERER_H__ */
+
+#endif /* __TIZEN_MEDIA_EVASRENDERER_H__ */
diff --git a/src/include/mm_evas_renderer_private.h b/src/include/mm_evas_renderer_private.h
new file mode 100644
index 0000000..341620d
--- /dev/null
+++ b/src/include/mm_evas_renderer_private.h
@@ -0,0 +1,135 @@
+/*
+ * Copyright (c) 2000 - 2017 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef __TIZEN_MEDIA_EVASRENDERER_PRIVATE_H__
+#define __TIZEN_MEDIA_EVASRENDERER_PRIVATE_H__
+
+/*===========================================================================================
+| |
+| INCLUDE FILES |
+| |
+========================================================================================== */
+#include <glib.h>
+#include <Evas.h>
+#include <Ecore.h>
+#include <tbm_surface.h>
+#include <media_packet.h>
+
+#include "mm_evas_renderer.h"
+
+#define MAX_PACKET_NUM 20
+
+/*===========================================================================================
+| |
+| GLOBAL DEFINITIONS AND DECLARATIONS FOR MODULE |
+| |
+========================================================================================== */
+
+/*---------------------------------------------------------------------------
+| GLOBAL #defines: |
+---------------------------------------------------------------------------*/
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+typedef enum {
+ UPDATE_VISIBILITY,
+ UPDATE_TBM_SURF,
+ UPDATE_FLUSH_BUFFER,
+ UPDATE_DESTROY,
+ UPDATE_INFO_NUM
+} update_info;
+
+enum {
+ COND_RETRIEVE,
+ COND_DESTROY,
+ COND_NUM
+};
+
+typedef struct {
+ media_packet_h packet;
+ tbm_surface_h tbm_surf;
+ gint prev_idx; /* keep previous index for destroying remained packets */
+} packet_info;
+
+typedef struct {
+ gint x;
+ gint y;
+ gint w;
+ gint h;
+} rect_info;
+
+typedef struct {
+ void *bo;
+ tbm_surface_h tbm_surf;
+} flush_info;
+
+/* evas info for evas surface type */
+typedef struct {
+ Evas_Object *eo;
+ Ecore_Pipe *epipe;
+
+ /* video width & height */
+ gint w;
+ gint h;
+
+ gboolean rendering_info_changed;
+ gboolean video_size_changed;
+
+ /* properties */
+ gboolean update_needed; /* to update geometry information on pause state */
+ gboolean visible;
+ rect_info eo_size;
+ rect_info dst_roi;
+ rect_info result;
+ float ratio; /* need to set original ratio, not swap */
+ guint rotate_angle;
+ guint display_geometry_method;
+ guint flip;
+
+ tbm_surface_h tbm_surf;
+
+ /* media packet */
+ packet_info pkt_info[MAX_PACKET_NUM];
+ gint cur_idx;
+
+ /* count undestroyed media packet */
+ guint sent_buffer_cnt;
+
+ /* lock */
+ GMutex mp_lock; /* media_packet free lock */
+ GMutex idx_lock; /* to keep value of cur_idx */
+ GMutex write_lock; /* ecore pipe write lock */
+ GMutex evas_lock;
+ GCond evas_cond[COND_NUM];
+
+ /* flush buffer */
+ flush_info *flush_buffer;
+ gboolean keep_screen;
+ gboolean flush_all_packets;
+
+ /* rendered callback */
+ mm_evas_renderer_media_packet_rendered_cb packet_rendered_cb;
+ void *packet_rendered_cb_user;
+} mm_evas_info;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* __TIZEN_MEDIA_EVASRENDERER_PRIVATE_H__ */
diff --git a/src/mm_evas_renderer.c b/src/mm_evas_renderer.c
index d7b690c..01e8d07 100755..100644
--- a/src/mm_evas_renderer.c
+++ b/src/mm_evas_renderer.c
@@ -17,27 +17,30 @@
#include <config.h>
#endif
-#include <glib.h>
-
-#include <sys/types.h>
+#include <stdlib.h>
+#include <string.h>
#include <unistd.h>
+#include <sys/types.h>
#include <sys/stat.h>
-#include <string.h>
#include <sys/time.h>
-#include <stdlib.h>
+#include <sys/syscall.h>
#include <dlog.h>
#include <mm_error.h>
-#include <sys/syscall.h>
-#include "mm_evas_renderer.h"
+#include <tbm_surface.h>
+#include <tbm_surface_internal.h>
+
+#include "mm_evas_renderer_private.h"
#ifdef LOG_TAG
#undef LOG_TAG
#endif
#define LOG_TAG "MM_EVAS_RENDER"
+
//#define _INTERNAL_DEBUG_ /* debug only */
#define SWAP(a, b) ({int t; t = a; a = b; b = t; })
#define INIT_IDX -1
#define SIGNAL_TIMEOUT 1
+
#if 1
#define MMER_FENTER(); LOGD("<ENTER>");
#define MMER_FLEAVE(); LOGD("<LEAVE>");
@@ -107,7 +110,7 @@ enum {
#ifdef _INTERNAL_DEBUG_
static int g_cnt_in = 0;
static int g_cnt_out = 0;
-//static void __print_idx(mm_evas_info *evas_info);
+/*static void __print_idx(mm_evas_info *evas_info);*/
static int __dump_pkt(media_packet_h pkt, int width, int height);
static int __dump_surf(tbm_surface_h tbm_surf);
#endif