mirror of
https://github.com/obsproject/obs-studio.git
synced 2024-09-19 20:32:15 +02:00
libobs: Use macOS specific APIs to report free disk space
This commit is contained in:
parent
ba25bc65c9
commit
4a765d3bf0
@ -358,6 +358,31 @@ uint64_t os_get_sys_free_size(void)
|
||||
return vmstat.free_count * vm_page_size;
|
||||
}
|
||||
|
||||
int64_t os_get_free_space(const char *path)
|
||||
{
|
||||
if (path) {
|
||||
NSURL *fileURL = [NSURL fileURLWithPath:@(path)];
|
||||
|
||||
NSDictionary *values = [fileURL resourceValuesForKeys:@[NSURLVolumeAvailableCapacityForOpportunisticUsageKey]
|
||||
error:nil];
|
||||
|
||||
NSNumber *availableSpace = values[NSURLVolumeAvailableCapacityForOpportunisticUsageKey];
|
||||
|
||||
if (availableSpace) {
|
||||
return availableSpace.longValue;
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
uint64_t os_get_free_disk_space(const char *dir)
|
||||
{
|
||||
int64_t free_space = os_get_free_space(dir);
|
||||
|
||||
return (uint64_t) free_space;
|
||||
}
|
||||
|
||||
static uint64_t total_memory = 0;
|
||||
static bool total_memory_initialized = false;
|
||||
|
||||
|
@ -571,6 +571,7 @@ void os_closedir(os_dir_t *dir)
|
||||
}
|
||||
}
|
||||
|
||||
#ifndef __APPLE__
|
||||
int64_t os_get_free_space(const char *path)
|
||||
{
|
||||
struct statvfs info;
|
||||
@ -581,6 +582,7 @@ int64_t os_get_free_space(const char *path)
|
||||
|
||||
return ret;
|
||||
}
|
||||
#endif
|
||||
|
||||
struct posix_glob_info {
|
||||
struct os_glob_info base;
|
||||
@ -1136,6 +1138,7 @@ uint64_t os_get_sys_total_size(void)
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifndef __APPLE__
|
||||
uint64_t os_get_free_disk_space(const char *dir)
|
||||
{
|
||||
struct statvfs info;
|
||||
@ -1144,6 +1147,7 @@ uint64_t os_get_free_disk_space(const char *dir)
|
||||
|
||||
return (uint64_t)info.f_frsize * (uint64_t)info.f_bavail;
|
||||
}
|
||||
#endif
|
||||
|
||||
char *os_generate_uuid(void)
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user