Merge branch 'tizen' into tizen_5.5_devel
[platform/core/multimedia/libmm-player.git] / src / include / mm_player_priv.h
index 4b141be..a440e6c 100644 (file)
@@ -165,6 +165,7 @@ typedef enum {
        /* it could be a decodebin or could be a typefind. depends on player ini */
        MMPLAYER_M_TYPEFIND,
        MMPLAYER_M_AUTOPLUG,
+       MMPLAYER_M_AUTOPLUG_PARSEBIN,
 
        MMPLAYER_M_AUTOPLUG_V_DEC,
        MMPLAYER_M_AUTOPLUG_A_DEC,
@@ -449,12 +450,12 @@ typedef struct {
 } mmplayer_video_roi_t;
 
 typedef struct {
-       gint active_pad_index;
+       gint active_track_index;
        gint total_track_num;
-       GPtrArray *channels;
-       gulong block_id;
-       gulong event_probe_id;
-} mmplayer_selector_t;
+       GPtrArray *streams;
+       gulong block_id;                /* FIXME: will be removed */
+       gulong event_probe_id;  /* FIXME: will be removed */
+} mmplayer_track_t;
 
 typedef struct {
        gboolean running;
@@ -739,10 +740,11 @@ typedef struct {
        GCond subtitle_info_cond;
        GMutex subtitle_info_mutex;
 
-       /* To store the current running audio pad index of demuxer */
-       gint demux_pad_index;
+       /* stream collection */
+       GstStreamCollection *collection;
+       guint stream_notify_id;
 
-       mmplayer_selector_t selector[MM_PLAYER_TRACK_TYPE_MAX];
+       mmplayer_track_t track[MM_PLAYER_TRACK_TYPE_MAX];
 
        guint internal_text_idx;
        guint external_text_idx;
@@ -897,6 +899,12 @@ void _mmplayer_typefind_have_type(GstElement *tf, guint probability, GstCaps *ca
 int _mmplayer_parse_profile(const char *uri, void *param, mmplayer_parse_profile_t *data);
 int _mmplayer_set_client_pid(MMHandleType hplayer, int pid);
 void _mmplayer_set_reconfigure_state(mmplayer_t *player, gboolean state);
+void _mmplayer_gst_decode_pad_removed(GstElement *elem, GstPad *new_pad, gpointer data);
+void _mmplayer_gst_decode_no_more_pads(GstElement *elem, gpointer data);
+void _mmplayer_gst_decode_drained(GstElement *bin, gpointer data);
+void _mmplayer_gst_decode_unknown_type(GstElement *elem, GstPad *pad, GstCaps *caps, gpointer data);
+gboolean _mmplayer_gst_decode_autoplug_continue(GstElement *bin, GstPad *pad, GstCaps *caps, gpointer data);
+void _mmplayer_pipeline_complete(GstElement *decodebin, gpointer data);
 
 #ifdef __cplusplus
        }