Skip to content

Commit b9df139

Browse files
krajunvzlatinski
authored andcommitted
Instead of defining the destructor inline, provide its implementation in a separate source file to make GCC 13 happy in release mode.
Also fix other compilation errors in release mode. Signed-off-by: Raju Konda <kraju@nvidia.com>
1 parent 89d784b commit b9df139

File tree

6 files changed

+21
-3
lines changed

6 files changed

+21
-3
lines changed

common/libs/VkCodecUtils/VkImageResource.cpp

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,11 @@ VkImageResource::VkImageResource(const VulkanDeviceContext* vkDevCtx,
8888
}
8989
}
9090

91+
VkImageResource::~VkImageResource()
92+
{
93+
Destroy();
94+
}
95+
9196
VkResult VkImageResource::Create(const VulkanDeviceContext* vkDevCtx,
9297
const VkImageCreateInfo* pImageCreateInfo,
9398
VkMemoryPropertyFlags memoryPropertyFlags,

common/libs/VkCodecUtils/VkImageResource.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,7 @@ class VkImageResource : public VkVideoRefCountBase
113113

114114
void Destroy();
115115

116-
virtual ~VkImageResource() { Destroy(); }
116+
virtual ~VkImageResource();
117117
};
118118

119119
class VkImageResourceView : public VkVideoRefCountBase

common/libs/VkCodecUtils/VulkanDeviceMemoryImpl.cpp

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -410,3 +410,8 @@ const uint8_t* VulkanDeviceMemoryImpl::GetReadOnlyDataPtr(VkDeviceSize offset, V
410410
maxSize = m_memoryRequirements.size - offset;
411411
return readData;
412412
}
413+
414+
VulkanDeviceMemoryImpl::~VulkanDeviceMemoryImpl()
415+
{
416+
Deinitialize();
417+
}

common/libs/VkCodecUtils/VulkanDeviceMemoryImpl.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,7 @@ class VulkanDeviceMemoryImpl : public VkVideoRefCountBase
106106

107107
void Deinitialize();
108108

109-
virtual ~VulkanDeviceMemoryImpl() { Deinitialize(); }
109+
virtual ~VulkanDeviceMemoryImpl();
110110

111111
private:
112112
std::atomic<int32_t> m_refCount;

vk_video_decoder/libs/VkDecoderUtils/ElementaryStream.cpp

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,12 @@ class ElementaryStream : public VideoStreamDemuxer {
6464

6565
m_bitstreamDataSize = size;
6666
fseek(handle, 0, SEEK_SET);
67-
fread(data, 1, size, handle);
67+
size_t readBytes = fread(data, 1, size, handle);
68+
if (readBytes != size) {
69+
free(data);
70+
fclose(handle);
71+
return;
72+
}
6873
m_pBitstreamData = data;
6974
fclose(handle);
7075
#else

vk_video_decoder/libs/VkVideoDecoder/VkVideoDecoder.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -960,6 +960,9 @@ int VkVideoDecoder::DecodePictureWithParameters(VkParserPerFrameDecodeParameters
960960

961961
bool valid = pCurrFrameDecParams->pStdSps->GetClientObject(currentVkPictureParameters);
962962
assert(valid);
963+
if (!valid) {
964+
return -1;
965+
}
963966
VkParserVideoPictureParameters* pOwnerPictureParameters =
964967
VkParserVideoPictureParameters::VideoPictureParametersFromBase(currentVkPictureParameters);
965968

0 commit comments

Comments
 (0)