</table></div>
*/
-#define MM_SOUND_STREAM_TYPE_LEN 64
/*
* MMSound Volume APIs
int mm_sound_volume_primary_type_get(volume_type_t *type);
/**
+ * This function is to set sound filter and apply to selected stream type.
+ *
+ * @param stream_type [in] stream type to apply
+ * @param filter_name [in] name of filter module to apply
+ * @param filter_parameters [in] extra filter parameters(optional)
+ * @param filter_group [in] extra filter group(optional)
+ *
+ * @return This function returns MM_ERROR_NONE on success, or negative value
+ * with error code.
+ * @remark None
+ * @pre None
+ * @post None
+ * @see None
+ */
+int mm_sound_set_filter(const char *stream_type, const char *filter_name, const char *filter_parameters, const char *filter_group);
+
+/**
+ * This function is to unset sound filter and remove from selected stream type.
+ *
+ * @param stream_type [in] stream type to remove
+ *
+ * @return This function returns MM_ERROR_NONE on success, or negative value
+ * with error code.
+ * @remark None
+ * @pre None
+ * @post None
+ * @see None
+ */
+int mm_sound_unset_filter(const char *stream_type);
+
+/**
+ * This function is to control filter configurations to selected stream type.
+ *
+ * @param stream_type [in] stream type to apply
+ * @param filter_name [in] specify filter module to apply
+ * @param filter_controls [in] filter control parameters(e.g, "0.0, 0.1, 3.0")
+ *
+ * @return This function returns MM_ERROR_NONE on success, or negative value
+ * with error code.
+ * @remark None
+ * @pre None
+ * @post None
+ * @see None
+ */
+int mm_sound_control_filter(const char *stream_type, const char *filter_name, const char *filter_controls);
+
+/**
* Terminate callback function type.
*
* @param data [in] Argument passed when callback was set
int mm_sound_get_current_device_list(mm_sound_device_flags_e device_mask, MMSoundDeviceList_t *device_list);
int mm_sound_get_device_list(int device_mask, MMSoundDeviceList_t *device_list);
+/* Free this device handle with mm_sound_free_device */
+int mm_sound_get_device_by_id(int device_id, MMSoundDevice_t *device);
int mm_sound_free_device_list(MMSoundDeviceList_t device_list);
+/* Use this only for the device handle which got from mm_sound_get_device_by_id */
+int mm_sound_free_device(MMSoundDevice_t device_h);
int mm_sound_get_next_device (MMSoundDeviceList_t device_list, MMSoundDevice_t *device);
int mm_sound_get_prev_device (MMSoundDeviceList_t device_list, MMSoundDevice_t *device);
int mm_sound_get_device_type(MMSoundDevice_t device_h, mm_sound_device_type_e *type);
int mm_sound_get_device_id(MMSoundDevice_t device_h, int *id);
int mm_sound_get_device_state(MMSoundDevice_t device_h, mm_sound_device_state_e *state);
int mm_sound_get_device_name(MMSoundDevice_t device_h, char **name);
+int mm_sound_get_device_vendor_id(MMSoundDevice_t device_h, int *vendor_id);
+int mm_sound_get_device_product_id(MMSoundDevice_t device_h, int *product_id);
/**
* Active device changed callback function type.
MM_SOUND_SIGNAL_MAX,
} mm_sound_signal_name_t;
-typedef void (*mm_sound_signal_callback) (mm_sound_signal_name_t signal, int value, void *user_data);
-int mm_sound_subscribe_signal(mm_sound_signal_name_t signal, unsigned int *subscribe_id, mm_sound_signal_callback callback, void *user_data);
-int mm_sound_subscribe_signal_for_daemon(mm_sound_signal_name_t signal, int client_pid, unsigned int *subscribe_id, mm_sound_signal_callback callback, void *user_data);
+typedef void (*mm_sound_signal_callback) (mm_sound_signal_name_t signal_type, int value, void *user_data);
+int mm_sound_subscribe_signal(mm_sound_signal_name_t signal_type, unsigned int *subscribe_id, mm_sound_signal_callback callback, void *user_data);
+int mm_sound_subscribe_signal_for_daemon(mm_sound_signal_name_t signal_type, int client_pid, unsigned int *subscribe_id, mm_sound_signal_callback callback, void *user_data);
void mm_sound_unsubscribe_signal(unsigned int subscribe_id);
-int mm_sound_send_signal(mm_sound_signal_name_t signal, int value);
-int mm_sound_get_signal_value(mm_sound_signal_name_t signal, int *value);
+int mm_sound_send_signal(mm_sound_signal_name_t signal_type, int value);
+int mm_sound_get_signal_value(mm_sound_signal_name_t signal_type, int *value);
int mm_sound_is_stream_on_device(int stream_id, MMSoundDevice_t device_h, bool *is_on);
/**