Skip to content

Commit

Permalink
GCC 13 Integration (#305)
Browse files Browse the repository at this point in the history
Summary: Compilation fix for g++13, memory leak fix
Type: Fix
Test Plan: UT/CT
Jira: NO-JIRA
  • Loading branch information
skywojciechowskim committed Jun 12, 2024
1 parent f1093ea commit a14c00a
Show file tree
Hide file tree
Showing 16 changed files with 33 additions and 6 deletions.
4 changes: 4 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,10 @@ endif()

add_compile_options(-Wall -Werror)

if (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 13.0)
add_compile_options(-Wno-error=overloaded-virtual)
endif()

# By default set link time optimisation, can affect compilation performance
set(CMAKE_INTERPROCEDURAL_OPTIMIZATION TRUE)

Expand Down
1 change: 1 addition & 0 deletions media/client/main/source/ClientController.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@
#include "RialtoClientLogging.h"
#include "SharedMemoryHandle.h"
#include <cstring>
#include <stdexcept>
#include <sys/mman.h>
#include <sys/un.h>
#include <unistd.h>
Expand Down
1 change: 1 addition & 0 deletions media/client/main/source/MediaPipeline.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@
#include "KeyIdMap.h"
#include "RialtoClientLogging.h"
#include <inttypes.h>
#include <stdexcept>
#include <stdint.h>

namespace
Expand Down
1 change: 1 addition & 0 deletions media/client/main/source/WebAudioPlayer.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@
#include <cstring>
#include <limits.h>
#include <mutex>
#include <stdexcept>

namespace firebolt::rialto
{
Expand Down
1 change: 1 addition & 0 deletions media/server/gstplayer/source/GstGenericPlayer.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@
#include "WorkerThread.h"
#include "tasks/generic/GenericPlayerTaskFactory.h"
#include <cinttypes>
#include <stdexcept>

namespace
{
Expand Down
1 change: 1 addition & 0 deletions media/server/gstplayer/source/GstWebAudioPlayer.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@
#include "RialtoServerLogging.h"
#include "WorkerThread.h"
#include "tasks/webAudio/WebAudioPlayerTaskFactory.h"
#include <stdexcept>

namespace
{
Expand Down
4 changes: 4 additions & 0 deletions media/server/gstplayer/source/tasks/generic/AttachSource.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@ class MediaSourceCapsBuilder
: m_gstWrapper(gstWrapper), m_glibWrapper(glibWrapper), m_attachedSource(source)
{
}
virtual ~MediaSourceCapsBuilder() = default;
virtual GstCaps *buildCaps() { return buildCommonCaps(); }

protected:
Expand Down Expand Up @@ -111,6 +112,7 @@ class MediaSourceAudioCapsBuilder : public MediaSourceCapsBuilder
: MediaSourceCapsBuilder(gstWrapper, glibWrapper, source), m_attachedAudioSource(source)
{
}
~MediaSourceAudioCapsBuilder() override = default;

GstCaps *buildCaps() override
{
Expand Down Expand Up @@ -190,6 +192,7 @@ class MediaSourceVideoCapsBuilder : public MediaSourceCapsBuilder
: MediaSourceCapsBuilder(gstWrapper, glibWrapper, source), m_attachedVideoSource(source)
{
}
~MediaSourceVideoCapsBuilder() override = default;

GstCaps *buildCaps() override
{
Expand All @@ -215,6 +218,7 @@ class MediaSourceVideoDolbyVisionCapsBuilder : public MediaSourceVideoCapsBuilde
: MediaSourceVideoCapsBuilder(gstWrapper, glibWrapper, source), m_attachedDolbySource(source)
{
}
~MediaSourceVideoDolbyVisionCapsBuilder() override = default;

GstCaps *buildCaps() override
{
Expand Down
3 changes: 3 additions & 0 deletions media/server/gstplayer/source/tasks/webAudio/SetCaps.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@

#include <gst/audio/gstaudiobasesink.h>
#include <limits.h>
#include <stdexcept>

namespace firebolt::rialto::server::tasks::webaudio
{
Expand All @@ -37,6 +38,7 @@ class WebAudioCapsBuilder
: m_gstWrapper(gstWrapper), m_glibWrapper(glibWrapper)
{
}
virtual ~WebAudioCapsBuilder() = default;
virtual GstCaps *buildCaps() = 0;

protected:
Expand All @@ -53,6 +55,7 @@ class WebAudioPcmCapsBuilder : public WebAudioCapsBuilder
: WebAudioCapsBuilder(gstWrapper, glibWrapper), m_pcmConfig(pcmConfig)
{
}
~WebAudioPcmCapsBuilder() override = default;

GstCaps *buildCaps() override
{
Expand Down
4 changes: 2 additions & 2 deletions media/server/ipc/source/IpcFactory.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -44,8 +44,8 @@ std::unique_ptr<ISessionManagementServer>
IpcFactory::createSessionManagementServer(service::IPlaybackService &playbackService, service::ICdmService &cdmService,
service::IControlService &controlService) const
{
std::shared_ptr<firebolt::rialto::wrappers::ILinuxWrapper> linuxWrapper =
std::move(firebolt::rialto::wrappers::ILinuxWrapperFactory::createFactory()->createLinuxWrapper());
std::shared_ptr<firebolt::rialto::wrappers::ILinuxWrapper> linuxWrapper{
firebolt::rialto::wrappers::ILinuxWrapperFactory::createFactory()->createLinuxWrapper()};
return std::make_unique<
SessionManagementServer>(linuxWrapper, firebolt::rialto::ipc::IServerFactory::createFactory(),
firebolt::rialto::server::ipc::IMediaPipelineModuleServiceFactory::createFactory(),
Expand Down
1 change: 1 addition & 0 deletions media/server/main/source/ActiveRequests.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@

#include "ActiveRequests.h"
#include <cstring>
#include <stdexcept>

namespace firebolt::rialto::server
{
Expand Down
1 change: 1 addition & 0 deletions media/server/main/source/MediaPipelineServerInternal.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@
*/

#include <algorithm>
#include <stdexcept>

#include "ActiveRequests.h"
#include "DataReaderFactory.h"
Expand Down
8 changes: 8 additions & 0 deletions rialto.supp
Original file line number Diff line number Diff line change
Expand Up @@ -134,3 +134,11 @@
fun:gst_debug_add_log_function
...
}
{
ignore_protobuf_internal_parse_possibly_lost
Memcheck:Leak
match-leak-kinds: possible
...
fun:*protobuf*FileOptions*_InternalParse*
...
}
1 change: 1 addition & 0 deletions tests/componenttests/server/common/Constants.h
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@
#ifndef FIREBOLT_RIALTO_SERVER_CT_CONSTANTS_H_
#define FIREBOLT_RIALTO_SERVER_CT_CONSTANTS_H_

#include <cstdint>
#include <string>

#include "MediaCommon.h"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ TEST_F(MediaPipelineCapabilitiesTest, createMediaPipelineCapabilitiesIpcFails)
std::make_shared<StrictMock<MediaPipelineCapabilitiesIpcFactoryMock>>();

EXPECT_CALL(*mediaPipelineCapabilitiesIpcFactoryMock, createMediaPipelineCapabilitiesIpc())
.WillOnce(Return(ByMove(std::move(std::unique_ptr<StrictMock<MediaPipelineCapabilitiesIpcMock>>()))));
.WillOnce(Return(ByMove(std::unique_ptr<StrictMock<MediaPipelineCapabilitiesIpcMock>>())));

EXPECT_THROW(m_sut = std::make_shared<MediaPipelineCapabilities>(mediaPipelineCapabilitiesIpcFactoryMock),
std::runtime_error);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2191,12 +2191,12 @@ void GenericTasksTestsBase::shouldFlushAudioSrcFailure()

void GenericTasksTestsBase::shouldReadAudioData()
{
EXPECT_CALL(*testContext->m_dataReader, readData()).WillOnce(Invoke([&]() { return std::move(buildAudioSamples()); }));
EXPECT_CALL(*testContext->m_dataReader, readData()).WillOnce(Invoke([&]() { return buildAudioSamples(); }));
}

void GenericTasksTestsBase::shouldReadVideoData()
{
EXPECT_CALL(*testContext->m_dataReader, readData()).WillOnce(Invoke([&]() { return std::move(buildVideoSamples()); }));
EXPECT_CALL(*testContext->m_dataReader, readData()).WillOnce(Invoke([&]() { return buildVideoSamples(); }));
}

void GenericTasksTestsBase::triggerReadShmDataAndAttachSamplesAudio()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -339,7 +339,7 @@ void MediaPipelineServiceTests::createMediaPipelineShouldSuccess()
void MediaPipelineServiceTests::createMediaPipelineShouldFailWhenMediaPipelineCapabilitiesFactoryReturnsNullptr()
{
EXPECT_CALL(*m_mediaPipelineCapabilitiesFactoryMock, createMediaPipelineCapabilities())
.WillOnce(Return(ByMove(std::move(std::unique_ptr<firebolt::rialto::IMediaPipelineCapabilities>()))));
.WillOnce(Return(ByMove(std::unique_ptr<firebolt::rialto::IMediaPipelineCapabilities>())));
EXPECT_THROW(m_sut =
std::make_unique<firebolt::rialto::server::service::MediaPipelineService>(m_playbackServiceMock,
m_mediaPipelineFactoryMock,
Expand Down

0 comments on commit a14c00a

Please sign in to comment.