summaryrefslogtreecommitdiff
path: root/modules/webm
diff options
context:
space:
mode:
authorMarc Gilleron <marc.gilleron@gmail.com>2018-06-11 02:59:53 +0200
committerMarc Gilleron <marc.gilleron@gmail.com>2018-12-15 05:34:53 +0000
commit065e2670af53ae2f71b78d57f8a217b4539cbbe2 (patch)
treea6b802b74f6f7ebd2018b5a3d35061bdcb91eb9d /modules/webm
parentca28c455bfdc8408485c217c17f07011c0b43f64 (diff)
Added basic support for custom resource savers and loaders
Diffstat (limited to 'modules/webm')
-rw-r--r--modules/webm/register_types.cpp10
-rw-r--r--modules/webm/video_stream_webm.h1
2 files changed, 7 insertions, 4 deletions
diff --git a/modules/webm/register_types.cpp b/modules/webm/register_types.cpp
index 121b528d5b..dfa2dcf21c 100644
--- a/modules/webm/register_types.cpp
+++ b/modules/webm/register_types.cpp
@@ -32,11 +32,11 @@
#include "video_stream_webm.h"
-static ResourceFormatLoaderWebm *resource_loader_webm = NULL;
+static Ref<ResourceFormatLoaderWebm> resource_loader_webm;
void register_webm_types() {
- resource_loader_webm = memnew(ResourceFormatLoaderWebm);
+ resource_loader_webm.instance();
ResourceLoader::add_resource_format_loader(resource_loader_webm, true);
ClassDB::register_class<VideoStreamWebm>();
@@ -44,7 +44,9 @@ void register_webm_types() {
void unregister_webm_types() {
- if (resource_loader_webm) {
- memdelete(resource_loader_webm);
+ ResourceLoader::remove_resource_format_loader(resource_loader_webm);
+
+ if (resource_loader_webm.is_valid()) {
+ resource_loader_webm.unref();
}
}
diff --git a/modules/webm/video_stream_webm.h b/modules/webm/video_stream_webm.h
index 3739a73114..9501f513a0 100644
--- a/modules/webm/video_stream_webm.h
+++ b/modules/webm/video_stream_webm.h
@@ -127,6 +127,7 @@ public:
};
class ResourceFormatLoaderWebm : public ResourceFormatLoader {
+ GDCLASS(ResourceFormatLoaderWebm, ResourceFormatLoader)
public:
virtual RES load(const String &p_path, const String &p_original_path = "", Error *r_error = NULL);
virtual void get_recognized_extensions(List<String> *p_extensions) const;