diff options
author | Jeongmo Yang <jm80.yang@samsung.com> | 2017-11-03 18:25:28 +0900 |
---|---|---|
committer | Hyunil Park <hyunil46.park@samsung.com> | 2017-11-07 02:47:52 +0000 |
commit | ae1f7ea0cc7f2d95fe0c0fc4ddba87f9f2f0f609 (patch) | |
tree | 965045283ab02b62f6e432e5deea9dd2d73e82c0 | |
parent | 3b99df5466e675dd6df3fbf6b2be96d664b652ac (diff) | |
download | libmm-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] | AUTHORS | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | LICENSE.Apache-2.0 | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | NOTICE | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | mm-evas-renderer.pc.in | 2 | ||||
-rw-r--r-- | packaging/libmm-evas-renderer.spec | 2 | ||||
-rw-r--r-- | src/include/mm_evas_renderer.h | 100 | ||||
-rw-r--r-- | src/include/mm_evas_renderer_private.h | 135 | ||||
-rw-r--r--[-rwxr-xr-x] | src/mm_evas_renderer.c | 19 |
8 files changed, 152 insertions, 106 deletions
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/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 |