- /* TODO : check free space before recording start */
- dir_name = g_path_get_dirname(info->filename);
- if (dir_name) {
- err = _mmcamcorder_get_storage_info(dir_name, hcamcorder->root_directory, &hcamcorder->storage_info);
- if (err != 0) {
- _mmcam_dbg_err("get storage info failed");
- g_free(dir_name);
- dir_name = NULL;
- return MM_ERROR_OUT_OF_STORAGE;
- }
-
- err = _mmcamcorder_get_freespace(hcamcorder->storage_info.type, &free_space);
-
- _mmcam_dbg_warn("current space - %s [%" G_GUINT64_FORMAT "]", dir_name, free_space);
-
- if (_mmcamcorder_get_file_system_type(dir_name, &file_system_type) == 0) {
- /* MSDOS_SUPER_MAGIC : 0x4d44 */
- if (file_system_type == MSDOS_SUPER_MAGIC &&
- (info->max_size == 0 || info->max_size > FAT32_FILE_SYSTEM_MAX_SIZE)) {
- _mmcam_dbg_warn("FAT32 and too large max[%"G_GUINT64_FORMAT"], set max as %"G_GUINT64_FORMAT,
- info->max_size, FAT32_FILE_SYSTEM_MAX_SIZE);
- info->max_size = FAT32_FILE_SYSTEM_MAX_SIZE;
- } else {
- _mmcam_dbg_warn("file system 0x%x, max size %"G_GUINT64_FORMAT,
- file_system_type, info->max_size);
- }
- } else {
- _mmcam_dbg_warn("_mmcamcorder_get_file_system_type failed");
- }
-
- g_free(dir_name);
- dir_name = NULL;
- } else {
- _mmcam_dbg_err("failed to get directory name");
- err = -1;
+ ret = _mmcamcorder_get_storage_validity(handle, info->filename,
+ _MMCAMCORDER_AUDIO_MINIMUM_SPACE, &storage_validity);
+ if (ret != MM_ERROR_NONE || !storage_validity) {
+ MMCAM_LOG_ERROR("storage validation failed[0x%x]:%d", ret, storage_validity);
+ return ret;