X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=src%2Finclude%2Fmm_player_ini.h;h=ab4d4a9a9aeb4b4812d8f3e211ccc35b465147b3;hb=refs%2Fheads%2Ftizen_5.5_devel;hp=a733613a549aaee66fd6694426d1482bc0579ce6;hpb=f454089b4c3f099aa6442796b9d660032bb3042a;p=platform%2Fcore%2Fmultimedia%2Flibmm-player.git diff --git a/src/include/mm_player_ini.h b/src/include/mm_player_ini.h index a733613..ab4d4a9 100644 --- a/src/include/mm_player_ini.h +++ b/src/include/mm_player_ini.h @@ -61,6 +61,7 @@ enum keyword_type { KEYWORD_V_SW_CODEC, // for video sw codec KEYWORD_A_OFFLOAD_DEVICE_TYPE, // for audio device type which can support offload KEYWORD_A_OFFLOAD_MEDIA_FORMAT, // supported media format for audio offload + KEYWORD_MEDIA_STREAM_IN_FORMAT, // supported media format for external media stream }; typedef struct { @@ -70,13 +71,16 @@ typedef struct { gchar videoconverter_element[PLAYER_INI_MAX_STRLEN]; gchar videocodec_element_hw[PLAYER_INI_MAX_STRLEN]; gchar videocodec_element_sw[PLAYER_INI_MAX_ELEMENT][PLAYER_INI_MAX_STRLEN]; + gchar videocodec_default_type[PLAYER_INI_MAX_STRLEN]; gchar audiocodec_element_hw[PLAYER_INI_MAX_STRLEN]; gchar audiocodec_element_sw[PLAYER_INI_MAX_ELEMENT][PLAYER_INI_MAX_STRLEN]; + gchar audiocodec_default_type[PLAYER_INI_MAX_STRLEN]; gchar audioresampler_element[PLAYER_INI_MAX_STRLEN]; gchar audiosink_element[PLAYER_INI_MAX_STRLEN]; gchar audio_offload_sink_element[PLAYER_INI_MAX_STRLEN]; gchar audio_offload_device_type[PLAYER_INI_MAX_DEVICE_TYPE][PLAYER_INI_MAX_STRLEN]; gchar audio_offload_media_format[PLAYER_INI_MAX_SUPPORTED_MEDIA_FORMAT][PLAYER_INI_MAX_STRLEN]; + gchar media_stream_input_format[PLAYER_INI_MAX_SUPPORTED_MEDIA_FORMAT][PLAYER_INI_MAX_STRLEN]; gboolean skip_rescan; gboolean generate_dot; gboolean use_system_clock; @@ -84,16 +88,19 @@ typedef struct { gint localplayback_state_change_timeout; gint delay_before_repeat; gint eos_delay; - gboolean video_playback_supported; + gboolean use_decodebin; gchar gst_param[5][PLAYER_INI_MAX_PARAM_STRLEN]; gchar exclude_element_keyword[PLAYER_INI_MAX_ELEMENT][PLAYER_INI_MAX_STRLEN]; gchar unsupported_codec_keyword[PLAYER_INI_MAX_ELEMENT][PLAYER_INI_MAX_STRLEN]; - gboolean async_start; gboolean disable_segtrap; gint pcm_buffer_size; gint num_of_video_bo; gint video_bo_timeout; + gboolean support_audio_effect; + gboolean support_pcm_exporting; + gboolean support_pitch_control; + gboolean support_replaygain_control; /* http streaming */ gchar httpsrc_element[PLAYER_INI_MAX_STRLEN]; @@ -153,22 +160,23 @@ typedef struct { #define DEFAULT_VIDEOSINK_FAKE "fakesink" #define DEFAULT_AUDIORESAMPLER "audioresample" #define DEFAULT_AUDIOSINK "pulsesink" -#define DEFAULT_CODEC_HW "" -#define DEFAULT_CODEC_SW "" #define DEFAULT_A_OFFLOAD_DEVICE_TYPE "" #define DEFAULT_GST_PARAM "" #define DEFAULT_EXCLUDE_KEYWORD "" #define DEFAULT_UNSUPPORTED_CODEC_KEYWORD "" -#define DEFAULT_ASYNC_START TRUE #define DEFAULT_DISABLE_SEGTRAP TRUE #define DEFAULT_VIDEO_CONVERTER "" -#define DEFAULT_VIDEO_PLAYBACK_SUPPORTED TRUE #define DEFAULT_LIVE_STATE_CHANGE_TIMEOUT 30 /* sec */ #define DEFAULT_LOCALPLAYBACK_STATE_CHANGE_TIMEOUT 10 /* sec */ #define DEFAULT_PCM_BUFFER_SIZE 51200 /* bytes */ #define DEFAULT_NUM_OF_VIDEO_BO 10 #define DEFAULT_TIMEOUT_OF_VIDEO_BO 10 /* sec */ #define DEFAULT_AUDIO_OFFLOAD_SINK "" +#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 */ +#define DEFAULT_USE_DECODEBIN FALSE /* http streaming */ #define DEFAULT_HTTPSRC "souphttpsrc" @@ -179,82 +187,6 @@ typedef struct { #define DEFAULT_DUMP_ELEMENT_KEYWORD "" #define DEFAULT_DUMP_ELEMENT_PATH "/tmp/" -/* NOTE : following content should be same with above default values */ -/* FIXIT : need smarter way to generate default ini file. */ -/* FIXIT : finally, it should be an external file */ -#define MM_PLAYER_DEFAULT_INI \ -"\ -[general] \n\ -\n\ -disable segtrap = yes ; same effect with --gst-disable-segtrap \n\ -\n\ -; set default video sink but, it can be replaced with others selected by application\n\ -; 0:v4l2sink, 1:ximagesink, 2:xvimagesink, 3:fakesink 4:evasimagesink 5:glimagesink\n\ -videosink element = 2 \n\ -\n\ -video converter element = \n\ -\n\ -audiosink element = pulsesink \n\ -\n\ -; if yes. gstreamer will not update registry \n\ -skip rescan = yes \n\ -\n\ -delay before repeat = 50 ; msec\n\ -\n\ -; comma separated list of tocken which elemnts has it in it's name will not be used \n\ -element exclude keyword = \n\ -\n\ -; comma separated list of tocken \n\ -unsupported codec keyword = \n\ -\n\ -async start = yes \n\ -\n\ -; parameters for initializing gstreamer \n\ -gstparam1 = --gst-debug=2\n\ -gstparam2 = \n\ -gstparam3 = \n\ -gstparam4 = \n\ -gstparam5 = \n\ -\n\ -; generating dot file representing pipeline state \n\ -; export GST_DEBUG_DUMP_DOT_DIR=/tmp/\n\ -generate dot = no \n\ -\n\ -; parameter is for only video to be determined \n\ -; which clock will be used \n\ -; if yes, system clock will be used \n\ -; apart from this, audiosink is clock provider for audio \n\ -use system clock = yes \n\ -\n\ -; allowed timeout for changing pipeline state \n\ -live state change timeout = 30 ; sec \n\ -localplayback state change timeout = 4 ; sec \n\ -\n\ -; delay in msec for sending EOS \n\ -eos delay = 150 ; msec \n\ -\n\ -\n\ -[http streaming] \n\ -\n\ -httppsrc element = souphttpsrc \n\ -\n\ -; if yes, use file for buffering.\n\ -; if no, use memory for buffering.\n\ -http use file buffer = no\n\ -\n\ -; ring buffer size when use mem buffer \n\ -http ring buffer size = 20971520 ; 20MBytes \n\ -\n\ -http buffering limit = 99 ; percent\n\ -\n\ -http max size bytes = 1048576 ; bytes\n\ -\n\ -http buffering time = 1.2 \n\ -\n\ -http timeout = -1 ; infinite retry \n\ -\n\ -" - int mm_player_ini_load(mmplayer_ini_t *ini);