c63c0ce1d93c831a0b7d2f708567023bf3c0503c
[platform/core/multimedia/libmm-player.git] / src / include / mm_player_priv_locl_func.h
1 /*
2  * libmm-player
3  *
4  * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved.
5  *
6  * Contact: JongHyuk Choi <jhchoi.choi@samsung.com>, Heechul Jeon <heechul.jeon@samsung.com>
7  *
8  * Licensed under the Apache License, Version 2.0 (the "License");
9  * you may not use this file except in compliance with the License.
10  * You may obtain a copy of the License at
11  *
12  * http://www.apache.org/licenses/LICENSE-2.0
13  *
14  * Unless required by applicable law or agreed to in writing, software
15  * distributed under the License is distributed on an "AS IS" BASIS,
16  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17  * See the License for the specific language governing permissions and
18  * limitations under the License.
19  *
20  */
21
22 #ifndef __MM_PLAYER_LOCAL_FUNCTION_DEF_H_
23 #define __MM_PLAYER_LOCAL_FUNCTION_DEF_H_
24
25
26 /*---------------------------------------------------------------------------
27 |    LOCAL FUNCTION PROTOTYPES:                                                                                         |
28 ---------------------------------------------------------------------------*/
29 /* mm_player_priv.c */
30 gboolean        __mmplayer_eos_timer_cb(gpointer u_data);
31 void            __mmplayer_typefind_have_type(  GstElement *tf, guint probability, GstCaps *caps, gpointer data);
32 GstBusSyncReply __mmplayer_bus_sync_callback (GstBus * bus, GstMessage * message, gpointer data);
33 gboolean        __mmplayer_update_subtitle( GstElement* object, GstBuffer *buffer, GstPad *pad, gpointer data);
34 void            __mmplayer_videoframe_render_error_cb(GstElement *element, void *error_id, gpointer data);
35 void            __mmplayer_videostream_cb(GstElement *element, void *stream, int width, int height, gpointer data);
36
37 /* mm_player_priv_wrapper.c */
38 gboolean        __mmplayer_gst_callback(GstBus *bus, GstMessage *msg, gpointer data);
39 gboolean        __mmplayer_gst_handle_duration(mm_player_t* player, GstMessage* msg);
40 gboolean        __mmplayer_gst_extract_tag_from_msg(mm_player_t* player, GstMessage* msg);
41 void            __mmplayer_gst_rtp_no_more_pads (GstElement *element,  gpointer data);
42 gboolean        __mmplayer_gst_remove_fakesink(mm_player_t* player, MMPlayerGstElement* fakesink);
43 void            __mmplayer_gst_rtp_dynamic_pad (GstElement *element, GstPad *pad, gpointer data);
44 void            __mmplayer_gst_decode_callback(GstElement *decodebin, GstPad *pad, gboolean last, gpointer data);
45 int                     __mmplayer_gst_element_link_bucket(GList* element_bucket);
46 int                     __mmplayer_gst_element_add_bucket_to_bin(GstBin* bin, GList* element_bucket);
47 int                     __mmplayer_gst_create_audio_pipeline(mm_player_t* player);
48 int                     __mmplayer_gst_create_video_pipeline(mm_player_t* player, GstCaps* caps, MMDisplaySurfaceType surface_type);
49 int                     __mmplayer_gst_create_text_pipeline(mm_player_t* player);
50 int                     __mmplayer_gst_create_subtitle_src(mm_player_t* player);
51 int                     __mmplayer_gst_create_pipeline(mm_player_t* player);
52 int                     __mmplayer_gst_destroy_pipeline(mm_player_t* player);
53
54 /* mm_player_priv_gst.c */
55 int             __gst_realize(mm_player_t* player);
56 int             __gst_unrealize(mm_player_t* player);
57 int             __gst_pending_seek(mm_player_t* player);
58 int             __gst_start(mm_player_t* player);
59 int             __gst_stop(mm_player_t* player);
60 int             __gst_pause(mm_player_t* player, gboolean async);
61 int             __gst_resume(mm_player_t* player, gboolean async);
62 int             __gst_set_position(mm_player_t* player, int format, unsigned long position, gboolean internal_called);
63 int             __gst_get_position(mm_player_t* player, int format, unsigned long* position);
64 int             __gst_get_buffer_position(mm_player_t* player, int format, unsigned long* start_pos, unsigned long* stop_pos);
65 int             __gst_set_message_callback(mm_player_t* player, MMMessageCallback callback, gpointer user_param);
66 gboolean        __gst_send_event_to_sink( mm_player_t* player, GstEvent* event );
67 gboolean        __gst_seek(mm_player_t* player, GstElement * element, gdouble rate,
68                                                 GstFormat format, GstSeekFlags flags, GstSeekType cur_type,
69                                                 gint64 cur, GstSeekType stop_type, gint64 stop);
70 int             __gst_adjust_subtitle_position(mm_player_t* player, int format, int position);
71 void    __gst_appsrc_feed_data_mem(GstElement *element, guint size, gpointer user_data);
72 gboolean        __gst_appsrc_seek_data_mem(GstElement *element, guint64 size, gpointer user_data);
73 void    __gst_appsrc_feed_data(GstElement *element, guint size, gpointer user_data);
74 gboolean        __gst_appsrc_seek_data(GstElement *element, guint64 offset, gpointer user_data);
75 gboolean        __gst_appsrc_enough_data(GstElement *element, gpointer user_data);
76
77 #endif /*#ifndef __MM_PLAYER_LOCAL_FUNCTION_DEF_H_*/
78