Merge tizen branch into tizen_5.5_devel branch 85/222485/1
authorEunhye Choi <eunhae1.choi@samsung.com>
Wed, 15 Jan 2020 10:00:59 +0000 (19:00 +0900)
committerEunhye Choi <eunhae1.choi@samsung.com>
Wed, 15 Jan 2020 10:00:59 +0000 (19:00 +0900)
Change-Id: I18e233cf60daa33b41d3266f72658ad3f864b80e

1  2 
src/include/mm_player_ini.h
src/include/mm_player_priv.h
src/include/mm_player_utils.h
src/mm_player_gst.c
src/mm_player_ini.c
src/mm_player_priv.c
src/mm_player_utils.c

@@@ -172,7 -171,10 +173,11 @@@ typedef struct 
  #define DEFAULT_NUM_OF_VIDEO_BO                           10
  #define DEFAULT_TIMEOUT_OF_VIDEO_BO                       10 /* sec */
  #define DEFAULT_AUDIO_OFFLOAD_SINK                        ""
 +#define DEFAULT_USE_URIDECODEBIN3                         FALSE
+ #define DEFAULT_SUPPORT_AUDIO_EFFECT                      FALSE /* with HW audio codec */
+ #define DEFAULT_SUPPORT_PCM_EXPORTING                     FALSE /* with HW audio codec */
+ #define DEFAULT_SUPPORT_PITCH_CONTROL                     FALSE /* with HW audio codec */
+ #define DEFAULT_SUPPORT_REPLAYGAIN_CONTROL                FALSE /* with HW audio codec */
  
  /* http streaming */
  #define DEFAULT_HTTPSRC                                   "souphttpsrc"
@@@ -884,13 -889,8 +890,14 @@@ int _mmplayer_gst_element_add_bucket_to
  int _mmplayer_gst_element_link_bucket(GList *element_bucket);
  void _mmplayer_typefind_have_type(GstElement *tf, guint probability, GstCaps *caps, gpointer data);
  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
        }
Simple merge
Simple merge
@@@ -152,10 -133,17 +133,18 @@@ mm_player_ini_load(mmplayer_ini_t *ini
                ini->pcm_buffer_size = iniparser_getint(dict, "general:pcm buffer size", DEFAULT_PCM_BUFFER_SIZE);
                ini->num_of_video_bo = iniparser_getint(dict, "general:video bo max", DEFAULT_NUM_OF_VIDEO_BO);
                ini->video_bo_timeout = iniparser_getint(dict, "general:video bo timeout", DEFAULT_TIMEOUT_OF_VIDEO_BO);
 +              ini->use_uridecodebin3 = iniparser_getboolean(dict, "general:use uridecodebin3", DEFAULT_USE_URIDECODEBIN3);
+               ini->support_audio_effect = iniparser_getboolean(dict, "general:support audio effect", DEFAULT_SUPPORT_AUDIO_EFFECT);
+               ini->support_pcm_exporting = iniparser_getboolean(dict, "general:support pcm exporting", DEFAULT_SUPPORT_PCM_EXPORTING);
+               ini->support_pitch_control = iniparser_getboolean(dict, "general:use pitch control", DEFAULT_SUPPORT_PITCH_CONTROL);
+               ini->support_replaygain_control = iniparser_getboolean(dict, "general:use replaygain control", DEFAULT_SUPPORT_REPLAYGAIN_CONTROL);
  
                MMPLAYER_INI_GET_STRING(dict, ini->audioresampler_element, "general:audio resampler element", DEFAULT_AUDIORESAMPLER);
-               MMPLAYER_INI_GET_STRING(dict, ini->audiocodec_element_hw, "general:audio codec element hw", DEFAULT_CODEC_HW);
+               MMPLAYER_INI_GET_STRING(dict, ini->audiocodec_element_hw, "general:audio codec element hw", DEFAULT_EMPTY_VALUE);
+               MMPLAYER_INI_GET_STRING(dict, ini->audiocodec_default_type, "general:audio codec default type", DEFAULT_EMPTY_VALUE);
+               MMPLAYER_INI_GET_STRING(dict, ini->videocodec_element_hw, "general:video codec element hw", DEFAULT_EMPTY_VALUE);
+               MMPLAYER_INI_GET_STRING(dict, ini->videocodec_default_type, "general:video codec default type", DEFAULT_EMPTY_VALUE);
                MMPLAYER_INI_GET_STRING(dict, ini->audiosink_element, "general:audiosink element", DEFAULT_AUDIOSINK);
                MMPLAYER_INI_GET_STRING(dict, ini->audio_offload_sink_element, "general:audio offload sink element", DEFAULT_AUDIO_OFFLOAD_SINK);
  
                ini->pcm_buffer_size = DEFAULT_PCM_BUFFER_SIZE;
                ini->num_of_video_bo = DEFAULT_NUM_OF_VIDEO_BO;
                ini->video_bo_timeout = DEFAULT_TIMEOUT_OF_VIDEO_BO;
 +              ini->use_uridecodebin3 = DEFAULT_USE_URIDECODEBIN3;
+               ini->support_audio_effect = DEFAULT_SUPPORT_AUDIO_EFFECT;
+               ini->support_pcm_exporting = DEFAULT_SUPPORT_PCM_EXPORTING;
+               ini->support_pitch_control = DEFAULT_SUPPORT_PITCH_CONTROL;
+               ini->support_replaygain_control = DEFAULT_SUPPORT_REPLAYGAIN_CONTROL;
  
                strncpy(ini->audioresampler_element, DEFAULT_AUDIORESAMPLER, PLAYER_INI_MAX_STRLEN - 1);
+               strncpy(ini->audiocodec_element_hw, DEFAULT_EMPTY_VALUE, PLAYER_INI_MAX_STRLEN - 1);
+               strncpy(ini->audiocodec_default_type, DEFAULT_EMPTY_VALUE, PLAYER_INI_MAX_STRLEN - 1);
+               strncpy(ini->videocodec_element_hw, DEFAULT_EMPTY_VALUE, PLAYER_INI_MAX_STRLEN - 1);
+               strncpy(ini->videocodec_default_type, DEFAULT_EMPTY_VALUE, PLAYER_INI_MAX_STRLEN - 1);
                strncpy(ini->audiosink_element, DEFAULT_AUDIOSINK, PLAYER_INI_MAX_STRLEN - 1);
                strncpy(ini->audio_offload_sink_element, DEFAULT_AUDIO_OFFLOAD_SINK, PLAYER_INI_MAX_STRLEN - 1);
-               strncpy(ini->audiocodec_element_hw, DEFAULT_CODEC_HW, PLAYER_INI_MAX_STRLEN - 1);
-               strncpy(ini->videocodec_element_hw, DEFAULT_CODEC_HW, PLAYER_INI_MAX_STRLEN - 1);
                strncpy(ini->videoconverter_element, DEFAULT_VIDEO_CONVERTER, PLAYER_INI_MAX_STRLEN - 1);
+               strncpy(ini->videosink_element_overlay, DEFAULT_VIDEOSINK_OVERLAY, PLAYER_INI_MAX_STRLEN - 1);
+               strncpy(ini->videosink_element_fake, DEFAULT_VIDEOSINK_FAKE, PLAYER_INI_MAX_STRLEN - 1);
  
-               __get_element_list(ini, DEFAULT_CODEC_SW, KEYWORD_A_SW_CODEC);
-               __get_element_list(ini, DEFAULT_CODEC_SW, KEYWORD_V_SW_CODEC);
+               __get_element_list(ini, DEFAULT_EMPTY_VALUE, KEYWORD_A_SW_CODEC);
+               __get_element_list(ini, DEFAULT_EMPTY_VALUE, KEYWORD_V_SW_CODEC);
                __get_element_list(ini, DEFAULT_A_OFFLOAD_DEVICE_TYPE, KEYWORD_A_OFFLOAD_DEVICE_TYPE);
                __get_element_list(ini, DEFAULT_EMPTY_VALUE, KEYWORD_A_OFFLOAD_MEDIA_FORMAT);
                __get_element_list(ini, DEFAULT_EMPTY_VALUE, KEYWORD_MEDIA_STREAM_IN_FORMAT);
@@@ -5932,8 -5978,12 +5971,12 @@@ _mmplayer_gst_make_decodebin(mmplayer_
        /* This signal is emitted whenever decodebin finds a new stream. It is emitted
           before looking for any elements that can handle that stream.*/
        _mmplayer_add_signal_connection(player, G_OBJECT(decodebin), MM_PLAYER_SIGNAL_TYPE_AUTOPLUG, "autoplug-continue",
 -                                              G_CALLBACK(__mmplayer_gst_decode_autoplug_continue), (gpointer)player);
 +                                              G_CALLBACK(_mmplayer_gst_decode_autoplug_continue), (gpointer)player);
  
+       if (player->need_video_dec_sorting || player->need_audio_dec_sorting)
+               _mmplayer_add_signal_connection(player, G_OBJECT(decodebin), MM_PLAYER_SIGNAL_TYPE_AUTOPLUG, "autoplug-sort",
+                                                       G_CALLBACK(_mmplayer_gst_decode_autoplug_sort), (gpointer)player);
        /* This signal is emitted whenever decodebin finds a new stream. It is emitted
           before looking for any elements that can handle that stream.*/
        _mmplayer_add_signal_connection(player, G_OBJECT(decodebin), MM_PLAYER_SIGNAL_TYPE_AUTOPLUG, "autoplug-select",
Simple merge