Skip to content
Extraits de code Groupes Projets

Comparer les révisions

Les modifications sont affichées comme si la révision source était fusionnée avec la révision cible. En savoir plus sur la comparaison des révisions.

Source

Sélectionner le projet cible
No results found

Cible

Sélectionner le projet cible
  • Elliu/Vivy
1 résultat
Afficher les modifications
Validations sur la source (14)
Affichage de
avec 85 ajouts et 55 suppressions
......@@ -19,3 +19,7 @@ build.clang/*
# Local configurations
.vim/*
.vscode/*
# CCLS styff
.ccls*/
.ccls
image: debian:latest
.common_build:
before_script:
- apt update && apt -y install make autoconf qtbase5-dev qtchooser qt5-qmake qtbase5-dev-tools libavutil-dev libavcodec-dev libavformat-dev libmpv-dev cmake clang clang-format gcc g++ libomp-dev
......
cmake_minimum_required(VERSION 3.5)
cmake_minimum_required(VERSION 3.17)
# Alpho Vivy, CXX only
project(Vivy VERSION 0.1 LANGUAGES CXX)
......@@ -7,16 +7,16 @@ cmake_policy(SET CMP0009 NEW) # Do not follow symlinks with GLOB_RECURSE
# Don't forget for specific things
if(WIN32)
message("You are building on windows, pay attenion to the dependencies")
message(STATUS "You are building on windows, pay attenion to the dependencies")
endif()
if(MSVC OR MSYS OR MINGW)
message("You are building with a windows compiler")
message(STATUS "You are building with a windows compiler")
endif()
if(APPLE)
message("You are building on MacOS X")
message(STATUS "You are building on MacOS X")
endif()
if(UNIX AND NOT APPLE)
message("You are building on Linux, FreeBSD or any other toaster OS")
message(STATUS "You are building on Linux, FreeBSD or any other toaster OS")
endif()
# Pass -fPIC
......@@ -80,7 +80,7 @@ target_link_libraries(Vivy PRIVATE lua)
# Headers related things
include("${CMAKE_CURRENT_SOURCE_DIR}/PreCompiledHeaders.cmake")
target_include_directories(Vivy PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/inc)
target_include_directories(Vivy PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/src)
target_precompile_headers(Vivy PRIVATE ${Vivy_PRECOMPILED_INC})
# Set Vivy's needed C++ features
......@@ -169,3 +169,14 @@ set_target_properties(Vivy PROPERTIES
if(QT_VERSION_MAJOR EQUAL 6)
qt_finalize_executable(Vivy)
endif()
# Set ASAN
if("x${CMAKE_BUILD_TYPE}" STREQUAL "xDebug")
if (${CMAKE_CXX_COMPILER_ID} STREQUAL "Clang")
target_compile_options(Vivy PRIVATE -g -O1 -fsanitize=address -fno-omit-frame-pointer -fsanitize-address-use-after-return=always)
elseif (${CMAKE_CXX_COMPILER_ID} STREQUAL "GNU")
target_compile_options(Vivy PRIVATE -g -O1 -fsanitize=address -fno-omit-frame-pointer)
endif()
target_link_libraries(Vivy PRIVATE -g -O1 -fsanitize=address)
endif()
#include "AbstractDocument.hh"
#include "PreCompiledHeaders.hh"
#include "Lib/AbstractDocument.hh"
bool
operator==(const Vivy::AbstractDocument &a, const Vivy::AbstractDocument &b) noexcept
......
......@@ -4,10 +4,11 @@
#error "This is a C++ header"
#endif
#include "../VivyApplication.hh"
#include "Utils.hh"
#include "Uuid.hh"
#include "Log.hh"
#include "PreCompiledHeaders.hh"
#include "VivyApplication.hh"
#include "Lib/Utils.hh"
#include "Lib/Uuid.hh"
#include "Lib/Log.hh"
namespace Vivy
{
......
......@@ -12,9 +12,10 @@ extern "C" {
#include <libavcodec/avfft.h>
}
#include "../VivyApplication.hh"
#include "Utils.hh"
#include "Log.hh"
#include "PreCompiledHeaders.hh"
#include "VivyApplication.hh"
#include "Lib/Utils.hh"
#include "Lib/Log.hh"
namespace Vivy
{
......@@ -58,7 +59,7 @@ protected:
using Super = AbstractMediaStream<AVMEDIA_TYPE>;
protected:
AbstractMediaStream(AVCodec *streamCodec, AVFormatContext *formatArg, AVStream *streamArg,
AbstractMediaStream(const AVCodec *streamCodec, AVFormatContext *formatArg, AVStream *streamArg,
int index)
: codecId(streamArg->codecpar->codec_id)
, codec(streamCodec)
......@@ -102,7 +103,7 @@ public:
protected:
// Codec related informations
AVCodecID codecId{ AV_CODEC_ID_NONE };
AVCodec *codec{ nullptr };
const AVCodec *codec{ nullptr };
AVCodecParameters *codecParams{ nullptr };
AVCodecContextPtr codecContext{ nullptr };
AVFormatContext *dataFormat{ nullptr };
......@@ -152,7 +153,7 @@ public:
for (uint i = 0; i < format->nb_streams; ++i) {
AVStream *itFmt = format->streams[i];
AVCodecParameters *params = itFmt->codecpar;
AVCodec *streamCodec = avcodec_find_decoder(params->codec_id);
const AVCodec *streamCodec = avcodec_find_decoder(params->codec_id);
if (streamCodec && streamCodec->type == avMediaType)
audioStreams.insert(i, std::make_shared<Stream>(streamCodec, formatPtr, itFmt, i));
}
......
#ifndef VIVY_ASS_ASS_H
#define VIVY_ASS_ASS_H
#include "Line.hh"
#include "Syl.hh"
#include "Style.hh"
#include "AssPrivate.hh"
#include "AssFactory.hh"
#include "StyleProperties.hh"
#include "Lib/Ass/Line.hh"
#include "Lib/Ass/Syl.hh"
#include "Lib/Ass/Style.hh"
#include "Lib/Ass/AssPrivate.hh"
#include "Lib/Ass/AssFactory.hh"
#include "Lib/Ass/StyleProperties.hh"
#endif // VIVY_ASS_ASS_H
#include "AssFactory.hh"
#include "PreCompiledHeaders.hh"
#include "Lib/Ass/AssFactory.hh"
using namespace Vivy::Ass;
......
#pragma once
#include "../../VivyApplication.hh"
#include "../Log.hh"
#include "../Utils.hh"
#include "Style.hh"
#include "Line.hh"
#include "AssPrivate.hh"
#include "VivyApplication.hh"
#include "Lib/Log.hh"
#include "Lib/Utils.hh"
#include "Lib/Ass/Style.hh"
#include "Lib/Ass/Line.hh"
#include "Lib/Ass/AssPrivate.hh"
// An ASS file is basically an INI file, but some keys are present multiple
// times (V4+ Styles/Style, Events/Dialogue, Events/Comment).
......
#pragma once
#include "PreCompiledHeaders.hh"
namespace Vivy::Ass
{
class Style;
......
#include "Line.hh"
#include "AssFactory.hh"
#include "PreCompiledHeaders.hh"
#include "Lib/Ass/Line.hh"
#include "Lib/Ass/AssFactory.hh"
using namespace Vivy::Ass;
......
#pragma once
#include "../../VivyApplication.hh"
#include "../Log.hh"
#include "Syl.hh"
#include "StyleProperties.hh"
#include "Style.hh"
#include "PreCompiledHeaders.hh"
#include "VivyApplication.hh"
#include "Lib/Log.hh"
#include "Lib/Ass/Syl.hh"
#include "Lib/Ass/StyleProperties.hh"
#include "Lib/Ass/Style.hh"
namespace Vivy::Ass
{
......
#include "Style.hh"
#include "../Utils.hh"
#include "PreCompiledHeaders.hh"
#include "Lib/Ass/Style.hh"
#include "Lib/Utils.hh"
using namespace Vivy::Ass;
......
#pragma once
#include "../../VivyApplication.hh"
#include "../Log.hh"
#include "AssPrivate.hh"
#include "PreCompiledHeaders.hh"
#include "VivyApplication.hh"
#include "Lib/Log.hh"
#include "Lib/Ass/AssPrivate.hh"
namespace Vivy::Ass
{
......
#pragma once
#include "Style.hh"
#include "PreCompiledHeaders.hh"
#include "Lib/Ass/Style.hh"
namespace Vivy::Ass
{
......
#include "Syl.hh"
#include "Line.hh"
#include "PreCompiledHeaders.hh"
#include "Lib/Ass/Syl.hh"
#include "Lib/Ass/Line.hh"
using namespace Vivy::Ass;
......
#pragma once
#include "StyleProperties.hh"
#include "PreCompiledHeaders.hh"
#include "Lib/Ass/StyleProperties.hh"
namespace Vivy::Ass
{
......
#include "../PreCompiledHeaders.hh"
#include "Audio.hh"
using namespace Vivy;
......@@ -25,7 +26,7 @@ AudioContext::getProperties() const noexcept
// AudioStream class implementation
// Constructor, need an AVFormat and an AVStream
AudioStream::AudioStream(AVCodec *streamCodec, AVFormatContext *formatPtr, AVStream *streamArg,
AudioStream::AudioStream(const AVCodec *streamCodec, AVFormatContext *formatPtr, AVStream *streamArg,
int index)
: Super(streamCodec, formatPtr, streamArg, index)
{
......
......@@ -4,7 +4,8 @@
#error "This is a C++ header"
#endif
#include "AbstractMediaContext.hh"
#include "PreCompiledHeaders.hh"
#include "Lib/AbstractMediaContext.hh"
namespace Vivy
{
......@@ -16,7 +17,7 @@ class AudioStream final : public AbstractMediaStream<AVMEDIA_TYPE_AUDIO> {
VIVY_UNMOVABLE_OBJECT(AudioStream)
public:
AudioStream(AVCodec *, AVFormatContext *, AVStream *, int index);
AudioStream(const AVCodec *, AVFormatContext *, AVStream *, int index);
~AudioStream() noexcept override;
// Decode the stream
......
......@@ -4,10 +4,11 @@
#error "This is a C++ header"
#endif
#include "../VivyApplication.hh"
#include "Log.hh"
#include "Utils.hh"
#include "Uuid.hh"
#include "PreCompiledHeaders.hh"
#include "VivyApplication.hh"
#include "Lib/Log.hh"
#include "Lib/Utils.hh"
#include "Lib/Uuid.hh"
#define VIVY_STORAGE_CLASS(theClassName, theDocumentName) \
VIVY_UNMOVABLE_OBJECT(theClassName) \
......