2 * Copyright (c) 2000 - 2017 Samsung Electronics Co., Ltd. All rights reserved.
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
18 #ifndef __TIZEN_MEDIA_EVASRENDERER_PRIVATE_H__
19 #define __TIZEN_MEDIA_EVASRENDERER_PRIVATE_H__
21 /*===========================================================================================
25 ========================================================================================== */
29 #include <tbm_surface.h>
30 #include <media_packet.h>
32 #include "mm_evas_renderer.h"
34 #define MAX_PACKET_NUM 20
36 /*===========================================================================================
38 | GLOBAL DEFINITIONS AND DECLARATIONS FOR MODULE |
40 ========================================================================================== */
42 /*---------------------------------------------------------------------------
44 ---------------------------------------------------------------------------*/
64 media_packet_h packet;
65 tbm_surface_h tbm_surf;
66 gint prev_idx; /* keep previous index for destroying remained packets */
78 tbm_surface_h tbm_surf;
81 /* evas info for evas surface type */
86 /* video width & height */
90 gboolean rendering_info_changed;
91 gboolean video_size_changed;
92 gboolean is_set_roi_area;
93 gboolean is_set_resize_cb;
96 gboolean update_needed; /* to update geometry information on pause state */
101 float ratio; /* need to set original ratio, not swap */
104 gint display_geometry_method;
105 gint pre_display_geometry_method;
108 tbm_surface_h tbm_surf;
111 packet_info pkt_info[MAX_PACKET_NUM];
114 /* count undestroyed media packet */
115 guint sent_buffer_cnt;
118 GMutex mp_lock; /* media_packet free lock */
119 GMutex idx_lock; /* to keep value of cur_idx */
120 GMutex write_lock; /* ecore pipe write lock */
122 GCond evas_cond[COND_NUM];
125 flush_info *flush_buffer;
126 gboolean keep_screen;
127 gboolean flush_all_packets;
129 /* rendered callback */
130 mm_evas_renderer_media_packet_rendered_cb packet_rendered_cb;
131 void *packet_rendered_cb_user;
138 #endif /* __TIZEN_MEDIA_EVASRENDERER_PRIVATE_H__ */