Classes with virtual methods should have virtual destructors too.
diff --git a/codecs_v2/omx/omx_proxy/src/pv_omx_proxied_interface.h b/codecs_v2/omx/omx_proxy/src/pv_omx_proxied_interface.h
index 74703e1..dcd600a 100644
--- a/codecs_v2/omx/omx_proxy/src/pv_omx_proxied_interface.h
+++ b/codecs_v2/omx/omx_proxy/src/pv_omx_proxied_interface.h
@@ -55,6 +55,7 @@
class PVMainProxy_OMX
{
public:
+ virtual ~PVMainProxy_OMX() {}
/**
** This call registers a proxied interface with the main
@@ -209,6 +210,7 @@
class PVProxiedEngine_OMX
{
public:
+ virtual ~PVProxiedEngine_OMX() {}
/**
** Create PV logger appenders for the PV thread.
@@ -278,6 +280,8 @@
class PVProxiedInterfaceServer_OMX
{
public:
+ virtual ~PVProxiedInterfaceServer_OMX() {}
+
/**
** PVMainProxy calls this under the PV thread to process a
** command off the queue.
@@ -307,6 +311,8 @@
class PVProxiedInterfaceClient_OMX
{
public:
+ virtual ~PVProxiedInterfaceClient_OMX() {}
+
/**
** PVMainProxy calls this to process a notification off the
** queue.
diff --git a/oscl/oscl/osclbase/src/oscl_defalloc.h b/oscl/oscl/osclbase/src/oscl_defalloc.h
index 0b0a31d..1fd6a7d 100644
--- a/oscl/oscl/osclbase/src/oscl_defalloc.h
+++ b/oscl/oscl/osclbase/src/oscl_defalloc.h
@@ -78,6 +78,7 @@
class Oscl_Alloc
{
public:
+ virtual ~Oscl_Alloc() {}
virtual OsclAny* allocate(const uint32 size) = 0;
//Allocator with file name and line number inputs to aid memory auditing.
@@ -123,6 +124,7 @@
class OsclDestructDealloc
{
public:
+ virtual ~OsclDestructDealloc() {}
virtual void destruct_and_dealloc(OsclAny* ptr) = 0;
};
diff --git a/oscl/oscl/osclbase/src/oscl_opaque_type.h b/oscl/oscl/osclbase/src/oscl_opaque_type.h
index 29fbf34..84b37bc 100644
--- a/oscl/oscl/osclbase/src/oscl_opaque_type.h
+++ b/oscl/oscl/osclbase/src/oscl_opaque_type.h
@@ -47,6 +47,8 @@
class Oscl_Opaque_Type_Alloc
{
public:
+ virtual ~Oscl_Opaque_Type_Alloc() {}
+
/**
* Construct element at p using element at init_val as the initial value.
* Both pointers must be non-NULL.
@@ -75,6 +77,8 @@
class Oscl_Opaque_Type_Compare
{
public:
+ virtual ~Oscl_Opaque_Type_Compare() {}
+
/**
* Swap element at "a" with element at "b".
* Both pointers must be non-NULL.
@@ -100,6 +104,8 @@
class Oscl_Opaque_Type_Alloc_LL
{
public:
+ virtual ~Oscl_Opaque_Type_Alloc_LL() {}
+
/**
* Construct element at p using element at init_val as the initial value.
* Both pointers must be non-NULL.
diff --git a/pvmi/content_policy_manager/plugins/common/include/pvmf_cpmplugin_interface.h b/pvmi/content_policy_manager/plugins/common/include/pvmf_cpmplugin_interface.h
index b1c47ab..b1c4f5d 100644
--- a/pvmi/content_policy_manager/plugins/common/include/pvmf_cpmplugin_interface.h
+++ b/pvmi/content_policy_manager/plugins/common/include/pvmf_cpmplugin_interface.h
@@ -281,6 +281,7 @@
class PVMFCPMPluginRegistryPopulator
{
public:
+ virtual ~PVMFCPMPluginRegistryPopulator() {}
/*
** GetFactoryAndMimeString. Called by CPM framework to retrieve the plugin factory and
** plugin mimestring. Note this will be called twice-- when creating the plugin and
diff --git a/pvmi/pvmf/include/pvmf_media_clock.h b/pvmi/pvmf/include/pvmf_media_clock.h
index a1c7e18..04ae5f8 100644
--- a/pvmi/pvmf/include/pvmf_media_clock.h
+++ b/pvmi/pvmf/include/pvmf_media_clock.h
@@ -115,6 +115,7 @@
class PVMFMediaClockNotificationsObsBase
{
public:
+ virtual ~PVMFMediaClockNotificationsObsBase() {}
/**
* This event happens when the clock has been Reset or destroyed and notification
* interface object that observer is using has been destroyed. Observer should
diff --git a/pvmi/pvmf/include/pvmf_node_interface.h b/pvmi/pvmf/include/pvmf_node_interface.h
index f64287b..cba1a83 100644
--- a/pvmi/pvmf/include/pvmf_node_interface.h
+++ b/pvmi/pvmf/include/pvmf_node_interface.h
@@ -227,6 +227,7 @@
class PVMFPortActivityHandler
{
public:
+ virtual ~PVMFPortActivityHandler() {}
virtual void HandlePortActivity(const PVMFPortActivity &) = 0;
};
diff --git a/pvmi/pvmf/include/pvmi_data_stream_interface.h b/pvmi/pvmf/include/pvmi_data_stream_interface.h
index f52c5ba..8ee3b74 100644
--- a/pvmi/pvmf/include/pvmi_data_stream_interface.h
+++ b/pvmi/pvmf/include/pvmi_data_stream_interface.h
@@ -114,6 +114,8 @@
{
public:
virtual PvmiDataStreamStatus GetStreamReadCapacity(uint32& aCapacity) = 0;
+
+ virtual ~PVMFDataStreamReadCapacityObserver() {}
};