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);
-int mm_sound_get_device_by_id(int device_id, MMSoundDevice_t **device);
+/* 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);
-int mm_sound_free_device(MMSoundDevice_t *device);
+/* 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.