Merge branch 'tizen' into tizen_5.5_devel
[platform/core/multimedia/libmm-player.git] / src / include / mm_player_priv.h
index 7d01910..a440e6c 100644 (file)
@@ -450,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;
@@ -691,6 +691,10 @@ typedef struct {
        /* list of sink elements */
        GList *sink_elements;
 
+       /* for destroy bus thread */
+       GMutex bus_watcher_mutex;
+       GCond bus_watcher_cond;
+
        /* signal notifiers */
        GList *signals[MM_PLAYER_SIGNAL_TYPE_MAX];
        guint bus_watcher;
@@ -736,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;
@@ -871,6 +876,8 @@ int _mmplayer_is_audio_control_available(MMHandleType hplayer, mmplayer_audio_co
 
 /* internal */
 void _mmplayer_bus_msg_thread_destroy(MMHandleType hplayer);
+void _mmplayer_bus_watcher_remove(MMHandleType hplayer);
+void _mmplayer_watcher_removed_notify(gpointer data);
 void _mmplayer_set_state(mmplayer_t *player, int state);
 int _mmplayer_check_state(mmplayer_t *player, mmplayer_command_state_e command);
 gboolean _mmplayer_update_content_attrs(mmplayer_t *player, enum content_attr_flag flag);