From 8f2b34485ffe11a176f8b9dfc02e1eb246ba6446 Mon Sep 17 00:00:00 2001 From: Oleksandr Nemesh Date: Tue, 12 Nov 2024 01:53:43 +0200 Subject: [PATCH 01/17] Update multi-platform.yml --- .github/workflows/multi-platform.yml | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/.github/workflows/multi-platform.yml b/.github/workflows/multi-platform.yml index 1cbfbca..097813f 100644 --- a/.github/workflows/multi-platform.yml +++ b/.github/workflows/multi-platform.yml @@ -32,6 +32,16 @@ jobs: steps: - uses: actions/checkout@v4 + - name: Own The Libs + run: | + ls -la + ls -la ffmpeg-api + # git clone https://github.com/prevter/ffmpeg-libs.git + # cd ffmpeg-libs && git checkout ${{ matrix.config.name }} + # cd .. + # 7z x ffmpeg-libs/lib/lib.7z -offmpeg-api/lib + + - name: Build the mod uses: geode-sdk/build-geode-mod@main with: From 81c66a852f9b0cccf237dab7c2c5d379acb94097 Mon Sep 17 00:00:00 2001 From: Oleksandr Nemesh Date: Tue, 12 Nov 2024 01:57:35 +0200 Subject: [PATCH 02/17] Update multi-platform.yml --- .github/workflows/multi-platform.yml | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/.github/workflows/multi-platform.yml b/.github/workflows/multi-platform.yml index 097813f..bf09cbe 100644 --- a/.github/workflows/multi-platform.yml +++ b/.github/workflows/multi-platform.yml @@ -34,13 +34,8 @@ jobs: - name: Own The Libs run: | - ls -la - ls -la ffmpeg-api - # git clone https://github.com/prevter/ffmpeg-libs.git - # cd ffmpeg-libs && git checkout ${{ matrix.config.name }} - # cd .. - # 7z x ffmpeg-libs/lib/lib.7z -offmpeg-api/lib - + git clone -b ${{ matrix.config.name }} --single-branch --depth=1 https://github.com/prevter/ffmpeg-libs.git + 7z x ffmpeg-libs/lib/lib.7z -olib - name: Build the mod uses: geode-sdk/build-geode-mod@main From 44e24450ce6d742fd132b7149a9d2ed270f702be Mon Sep 17 00:00:00 2001 From: Oleksandr Nemesh Date: Tue, 12 Nov 2024 02:03:55 +0200 Subject: [PATCH 03/17] Update multi-platform.yml --- .github/workflows/multi-platform.yml | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/.github/workflows/multi-platform.yml b/.github/workflows/multi-platform.yml index bf09cbe..6e5e86e 100644 --- a/.github/workflows/multi-platform.yml +++ b/.github/workflows/multi-platform.yml @@ -30,12 +30,19 @@ jobs: runs-on: ${{ matrix.config.os }} steps: - - uses: actions/checkout@v4 + - name: Checkout + uses: actions/checkout@v4 - - name: Own The Libs - run: | - git clone -b ${{ matrix.config.name }} --single-branch --depth=1 https://github.com/prevter/ffmpeg-libs.git - 7z x ffmpeg-libs/lib/lib.7z -olib + - name: Own The Libs (Checkout) + uses: actions/checkout@v4 + with: + repository: prevter/ffmpeg-libs + ref: ${{ matrix.config.name }} + token: ${{ secrets.GITHUB_TOKEN }} + path: ffmpeg-libs + + - name: Own The Libs (Extract) + run: 7z x ffmpeg-libs/lib/lib.7z -olib - name: Build the mod uses: geode-sdk/build-geode-mod@main From f8692d35812c3083903efc1b91dfcf1a02fb58cb Mon Sep 17 00:00:00 2001 From: Oleksandr Nemesh Date: Tue, 12 Nov 2024 02:08:10 +0200 Subject: [PATCH 04/17] Update multi-platform.yml --- .github/workflows/multi-platform.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/multi-platform.yml b/.github/workflows/multi-platform.yml index 6e5e86e..8996a96 100644 --- a/.github/workflows/multi-platform.yml +++ b/.github/workflows/multi-platform.yml @@ -38,7 +38,7 @@ jobs: with: repository: prevter/ffmpeg-libs ref: ${{ matrix.config.name }} - token: ${{ secrets.GITHUB_TOKEN }} + token: ${{ secrets.FFMPEG_LIBS_TOKEN }} path: ffmpeg-libs - name: Own The Libs (Extract) From 6e03e94aa54c6a31992d733723373941f59053e3 Mon Sep 17 00:00:00 2001 From: Oleksandr Nemesh Date: Tue, 12 Nov 2024 02:14:07 +0200 Subject: [PATCH 05/17] Update mod.json --- mod.json | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/mod.json b/mod.json index bc99ae8..f63bf5b 100644 --- a/mod.json +++ b/mod.json @@ -1,10 +1,10 @@ { - "geode": "3.8.1", + "geode": "3.9.0", "gd": { - "win": "2.206", - "android": "2.206", - "mac": "2.206", - "ios": "2.206" + "win": "*", + "android": "*", + "mac": "*", + "ios": "*" }, "api": { "include": [ From 6ca46a1fa10b17b4d0cb3d306525253b52006ec7 Mon Sep 17 00:00:00 2001 From: Oleksandr Nemesh Date: Tue, 12 Nov 2024 02:15:19 +0200 Subject: [PATCH 06/17] Update recorder.cpp --- src/recorder.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/recorder.cpp b/src/recorder.cpp index 8bf9aa2..7de5be9 100644 --- a/src/recorder.cpp +++ b/src/recorder.cpp @@ -73,7 +73,7 @@ bool Recorder::init(const RenderSettings& settings) { m_codecContext->bit_rate = settings.m_bitrate; m_codecContext->width = settings.m_width; m_codecContext->height = settings.m_height; - m_codecContext->time_base = AVRational(1, settings.m_fps); + m_codecContext->time_base = AVRational{1, settings.m_fps}; m_codecContext->pix_fmt = AV_PIX_FMT_NONE; m_videoStream->time_base = m_codecContext->time_base; @@ -218,4 +218,4 @@ void Recorder::stop() { delete m_packet; } -} \ No newline at end of file +} From 691d993b74b924d8e7968deaeeb3e6b4f688e236 Mon Sep 17 00:00:00 2001 From: Oleksandr Nemesh Date: Tue, 12 Nov 2024 15:29:14 +0200 Subject: [PATCH 07/17] cleanup and fix windows builds --- CMakeLists.txt | 16 ++++++++-------- mod.json | 2 +- src/audio_mixer.cpp | 22 +++++++++++----------- src/recorder.cpp | 18 +++++++++--------- 4 files changed, 29 insertions(+), 29 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 3b41c8b..b4499b0 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -45,14 +45,14 @@ if (WIN32) ${CMAKE_SOURCE_DIR}/lib/aom.lib ${CMAKE_SOURCE_DIR}/lib/vpx.lib ${CMAKE_SOURCE_DIR}/lib/openh264.lib - ${CMAKE_SOURCE_DIR}/lib/ws2_32.lib - ${CMAKE_SOURCE_DIR}/lib/mfplat.lib - ${CMAKE_SOURCE_DIR}/lib/mf.lib - ${CMAKE_SOURCE_DIR}/lib/secur32.lib - ${CMAKE_SOURCE_DIR}/lib/crypt32.lib - ${CMAKE_SOURCE_DIR}/lib/mfuuid.lib - ${CMAKE_SOURCE_DIR}/lib/bcrypt.lib - ${CMAKE_SOURCE_DIR}/lib/strmiids.lib + ws2_32.lib + mfplat.lib + mf.lib + secur32.lib + crypt32.lib + mfuuid.lib + bcrypt.lib + strmiids.lib ) # windows elseif (ANDROID) if (ANDROID_ABI STREQUAL "arm64-v8a") diff --git a/mod.json b/mod.json index f63bf5b..35bebea 100644 --- a/mod.json +++ b/mod.json @@ -1,5 +1,5 @@ { - "geode": "3.9.0", + "geode": "4.0.0", "gd": { "win": "*", "android": "*", diff --git a/src/audio_mixer.cpp b/src/audio_mixer.cpp index c8cf7e3..83219e9 100644 --- a/src/audio_mixer.cpp +++ b/src/audio_mixer.cpp @@ -1,6 +1,7 @@ #include "audio_mixer.hpp" #include +#include extern "C" { #include @@ -87,15 +88,14 @@ std::vector readAudioFile(const char *filename, int targetSampleRate, AVS std::vector audioFrames; float *convertBuffer[2]; - convertBuffer[0] = (float *)av_malloc(4096 * sizeof(float)); - convertBuffer[1] = (float *)av_malloc(4096 * sizeof(float)); + convertBuffer[0] = static_cast(av_malloc(4096 * sizeof(float))); + convertBuffer[1] = static_cast(av_malloc(4096 * sizeof(float))); while (av_read_frame(formatContext, &packet) >= 0) { if (packet.stream_index == audioStreamIndex && avcodec_send_packet(codecContext, &packet) == 0) { while (avcodec_receive_frame(codecContext, frame) == 0) { - int ret = swr_convert(swr, (uint8_t **)convertBuffer, 4096, - (const uint8_t **)frame->data, - frame->nb_samples); + int ret = swr_convert(swr, reinterpret_cast(convertBuffer), 4096, + frame->data, frame->nb_samples); if (ret < 0) { char errbuf[AV_ERROR_MAX_STRING_SIZE]; av_strerror(ret, errbuf, AV_ERROR_MAX_STRING_SIZE); @@ -125,7 +125,7 @@ std::vector readAudioFile(const char *filename, int targetSampleRate, AVS namespace ffmpeg { void AudioMixer::mixVideoAudio(std::filesystem::path videoFile, std::filesystem::path audioFile, std::filesystem::path outputMp4File) { - const int frameSize = 1024; + constexpr int frameSize = 1024; AVFormatContext* wavFormatContext = nullptr; if (avformat_open_input(&wavFormatContext, audioFile.string().c_str(), nullptr, nullptr) < 0) { @@ -137,7 +137,7 @@ namespace ffmpeg { std::vector raw = readAudioFile(audioFile.string().c_str(), 44100, AV_SAMPLE_FMT_FLTP, &inputAudioParams); - mixVideoRaw(videoFile, raw, outputMp4File, inputAudioParams.sample_rate); + mixVideoRaw(std::move(videoFile), raw, std::move(outputMp4File), inputAudioParams.sample_rate); avformat_close_input(&wavFormatContext); } @@ -182,8 +182,8 @@ namespace ffmpeg { geode::log::error("Failed to create audio stream."); return; } - - const int channels = 2; + + constexpr int channels = 2; outputAudioStream->codecpar->codec_tag = 0; outputAudioStream->codecpar->codec_type = AVMEDIA_TYPE_AUDIO; @@ -211,7 +211,7 @@ namespace ffmpeg { audio_codec_context_encoder->sample_rate = sampleRate; audio_codec_context_encoder->ch_layout = AV_CHANNEL_LAYOUT_STEREO; audio_codec_context_encoder->sample_fmt = AV_SAMPLE_FMT_FLTP; - audio_codec_context_encoder->time_base = AVRational{1, (int)sampleRate}; + audio_codec_context_encoder->time_base = AVRational{1, static_cast(sampleRate)}; int ret = avcodec_open2(audio_codec_context_encoder, audioCodec, nullptr); if (ret < 0) { @@ -289,7 +289,7 @@ namespace ffmpeg { AVPacket audioPacket; av_init_packet(&audioPacket); - audioPacket.data = NULL; + audioPacket.data = nullptr; audioPacket.size = 0; while (true) { diff --git a/src/recorder.cpp b/src/recorder.cpp index 7de5be9..41bc50f 100644 --- a/src/recorder.cpp +++ b/src/recorder.cpp @@ -21,8 +21,8 @@ std::vector Recorder::getAvailableCodecs() { while ((codec = av_codec_iterate(&iter))) { if(codec->type == AVMEDIA_TYPE_VIDEO && (codec->id == AV_CODEC_ID_H264 || codec->id == AV_CODEC_ID_HEVC || codec->id == AV_CODEC_ID_VP8 || codec->id == AV_CODEC_ID_VP9 || codec->id == AV_CODEC_ID_AV1 || codec->id == AV_CODEC_ID_MPEG4) && - avcodec_find_encoder_by_name(codec->name) != nullptr && codec->pix_fmts && std::find(vec.begin(), vec.end(), std::string(codec->name)) == vec.end()) - vec.push_back(codec->name); + avcodec_find_encoder_by_name(codec->name) != nullptr && codec->pix_fmts && std::ranges::find(vec, std::string(codec->name)) == vec.end()) + vec.emplace_back(codec->name); } return vec; @@ -80,7 +80,7 @@ bool Recorder::init(const RenderSettings& settings) { const AVPixelFormat *pix_fmt = m_codec->pix_fmts; if (pix_fmt) { while (*pix_fmt != AV_PIX_FMT_NONE) { - if(*pix_fmt == (AVPixelFormat)settings.m_pixelFormat) + if(*pix_fmt == static_cast(settings.m_pixelFormat)) m_codecContext->pix_fmt = *pix_fmt; ++pix_fmt; } @@ -93,7 +93,7 @@ bool Recorder::init(const RenderSettings& settings) { else geode::log::info("Codec {} supports pixel format.", settings.m_codec); - if (avcodec_open2(m_codecContext, m_codec, NULL) < 0) { + if (avcodec_open2(m_codecContext, m_codec, nullptr) < 0) { geode::log::error("Could not open codec."); return false; } @@ -111,13 +111,13 @@ bool Recorder::init(const RenderSettings& settings) { return false; } - if (avformat_write_header(m_formatContext, NULL) < 0) { + if (avformat_write_header(m_formatContext, nullptr) < 0) { geode::log::error("Could not write header."); return false; } - m_swsCtx = sws_getContext(m_codecContext->width, m_codecContext->height, (AVPixelFormat)settings.m_pixelFormat, m_codecContext->width, - m_codecContext->height, m_codecContext->pix_fmt, SWS_BILINEAR, NULL, NULL, NULL); + m_swsCtx = sws_getContext(m_codecContext->width, m_codecContext->height, static_cast(settings.m_pixelFormat), m_codecContext->width, + m_codecContext->height, m_codecContext->pix_fmt, SWS_BILINEAR, nullptr, nullptr, nullptr); if (!m_swsCtx) { geode::log::error("Could not create sws context."); @@ -178,7 +178,7 @@ bool Recorder::writeFrame(const std::vector& frameData) { ret = avcodec_receive_packet(m_codecContext, m_packet); if (ret == AVERROR(EAGAIN) || ret == AVERROR_EOF) break; - else if (ret < 0) + if (ret < 0) return false; av_packet_rescale_ts(m_packet, m_codecContext->time_base, m_videoStream->time_base); @@ -197,7 +197,7 @@ void Recorder::stop() { m_init = false; - avcodec_send_frame(m_codecContext, NULL); + avcodec_send_frame(m_codecContext, nullptr); while (avcodec_receive_packet(m_codecContext, m_packet) == 0) { av_packet_rescale_ts(m_packet, m_codecContext->time_base, m_videoStream->time_base); m_packet->stream_index = m_videoStream->index; From 7f630dc15b9aecde1dc059d96127de5e9c055a60 Mon Sep 17 00:00:00 2001 From: Oleksandr Nemesh Date: Wed, 13 Nov 2024 07:28:35 +0200 Subject: [PATCH 08/17] Update multi-platform.yml --- .github/workflows/multi-platform.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/multi-platform.yml b/.github/workflows/multi-platform.yml index 8996a96..eccdfbc 100644 --- a/.github/workflows/multi-platform.yml +++ b/.github/workflows/multi-platform.yml @@ -50,6 +50,7 @@ jobs: bindings: geode-sdk/bindings bindings-ref: main combine: true + sdk: nightly target: ${{ matrix.config.target }} package: From a170ae99a256962cefd277d4588151b680f4ba83 Mon Sep 17 00:00:00 2001 From: Oleksandr Nemesh Date: Wed, 13 Nov 2024 07:31:04 +0200 Subject: [PATCH 09/17] Update mod.json --- mod.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mod.json b/mod.json index 35bebea..12ce646 100644 --- a/mod.json +++ b/mod.json @@ -1,5 +1,5 @@ { - "geode": "4.0.0", + "geode": "4.0.0-alpha.1", "gd": { "win": "*", "android": "*", From 29eb962f550aea96aa7245daacde9509f35ac60e Mon Sep 17 00:00:00 2001 From: Oleksandr Nemesh Date: Thu, 14 Nov 2024 21:16:49 +0200 Subject: [PATCH 10/17] disable platforms other than windows --- .github/workflows/multi-platform.yml | 18 ++++++++++-------- CMakeLists.txt | 2 +- README.md | 2 +- 3 files changed, 12 insertions(+), 10 deletions(-) diff --git a/.github/workflows/multi-platform.yml b/.github/workflows/multi-platform.yml index eccdfbc..c07128f 100644 --- a/.github/workflows/multi-platform.yml +++ b/.github/workflows/multi-platform.yml @@ -14,17 +14,19 @@ jobs: config: - name: Windows os: windows-latest + + # TODO: uncomment platforms when we own the libs for them - - name: macOS - os: macos-latest + #- name: macOS + # os: macos-latest - - name: Android32 - os: ubuntu-latest - target: Android32 + #- name: Android32 + # os: ubuntu-latest + # target: Android32 - - name: Android64 - os: ubuntu-latest - target: Android64 + #- name: Android64 + # os: ubuntu-latest + # target: Android64 name: ${{ matrix.config.name }} runs-on: ${{ matrix.config.os }} diff --git a/CMakeLists.txt b/CMakeLists.txt index b3f2b14..b338fdf 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -17,7 +17,7 @@ add_library(${PROJECT_NAME} SHARED ) set_property(TARGET ${PROJECT_NAME} PROPERTY MSVC_RUNTIME_LIBRARY "MultiThreaded$<$:Final>") - +set_property(TARGET ${PROJECT_NAME} PROPERTY INTERPROCEDURAL_OPTIMIZATION TRUE) if (NOT DEFINED ENV{GEODE_SDK}) message(FATAL_ERROR "Unable to find Geode SDK! Please define GEODE_SDK environment variable to point to Geode") diff --git a/README.md b/README.md index f520966..6dab938 100644 --- a/README.md +++ b/README.md @@ -59,7 +59,7 @@ void audioRaw() { ### Windows To get the needed libraries on Windows, you can use vcpkg: ```sh -vcpkg install ffmpeg[core,avcodec,avformat,swscale,swresample,amf,x264,x265,nvcodec,openh264,aom,vpx]:x64-windows-static --recurse +vcpkg install ffmpeg[core,avcodec,avformat,avfilter,swscale,swresample,amf,x264,x265,nvcodec,openh264,aom,vpx]:x64-windows-static --recurse ``` the other libraries are part of the Windows SDK From 6ef73ba14697978839b6fb51a76f1183042cc9de Mon Sep 17 00:00:00 2001 From: Oleksandr Nemesh Date: Fri, 15 Nov 2024 23:40:26 +0200 Subject: [PATCH 11/17] bump geode version --- mod.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mod.json b/mod.json index 12ce646..69d13ff 100644 --- a/mod.json +++ b/mod.json @@ -1,5 +1,5 @@ { - "geode": "4.0.0-alpha.1", + "geode": "4.0.0-beta.1", "gd": { "win": "*", "android": "*", From fdd7da188c0441ddf779724bb600ad019ca7994d Mon Sep 17 00:00:00 2001 From: Oleksandr Nemesh Date: Tue, 19 Nov 2024 19:41:34 +0200 Subject: [PATCH 12/17] add macos --- .github/workflows/multi-platform.yml | 6 +++--- CMakeLists.txt | 1 + 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/.github/workflows/multi-platform.yml b/.github/workflows/multi-platform.yml index c07128f..0d57456 100644 --- a/.github/workflows/multi-platform.yml +++ b/.github/workflows/multi-platform.yml @@ -14,12 +14,12 @@ jobs: config: - name: Windows os: windows-latest + + - name: macOS + os: macos-latest # TODO: uncomment platforms when we own the libs for them - #- name: macOS - # os: macos-latest - #- name: Android32 # os: ubuntu-latest # target: Android32 diff --git a/CMakeLists.txt b/CMakeLists.txt index b338fdf..dff3b58 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -3,6 +3,7 @@ set(CMAKE_CXX_STANDARD 20) set(CMAKE_CXX_STANDARD_REQUIRED ON) set(CMAKE_OSX_ARCHITECTURES "arm64;x86_64") set(CMAKE_CXX_VISIBILITY_PRESET hidden) +set(CMAKE_INTERPROCEDURAL_OPTIMIZATION ON) if (MSVC) set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /MT") From 385f85ab52fb0082c112f136ad8d16cd1f563ad8 Mon Sep 17 00:00:00 2001 From: Oleksandr Nemesh Date: Tue, 19 Nov 2024 19:43:42 +0200 Subject: [PATCH 13/17] bump version --- .github/workflows/multi-platform.yml | 1 - mod.json | 4 ++-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/.github/workflows/multi-platform.yml b/.github/workflows/multi-platform.yml index 0d57456..6f39219 100644 --- a/.github/workflows/multi-platform.yml +++ b/.github/workflows/multi-platform.yml @@ -52,7 +52,6 @@ jobs: bindings: geode-sdk/bindings bindings-ref: main combine: true - sdk: nightly target: ${{ matrix.config.target }} package: diff --git a/mod.json b/mod.json index 69d13ff..2ed524f 100644 --- a/mod.json +++ b/mod.json @@ -1,5 +1,5 @@ { - "geode": "4.0.0-beta.1", + "geode": "4.0.0", "gd": { "win": "*", "android": "*", @@ -13,7 +13,7 @@ }, "id": "eclipse.ffmpeg-api", "name": "FFmpeg API", - "version": "v1.0.4", + "version": "v1.1.0", "developers": ["Eclipse Team", "maxnu"], "description": "Interaction with FFmpeg made easy", "tags": ["utility", "offline", "developer"], From 226904b6e9d5ade5cb7f2ee5dd64959525a0f437 Mon Sep 17 00:00:00 2001 From: Oleksandr Nemesh Date: Tue, 19 Nov 2024 19:55:02 +0200 Subject: [PATCH 14/17] add -lpostproc --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index dff3b58..79223db 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -98,7 +98,7 @@ else () ${CMAKE_SOURCE_DIR}/lib/libswresample.a ${CMAKE_SOURCE_DIR}/lib/libswscale.a ${BZIP2_LIBRARY} - "-lm -lbz2 -lz -liconv -pthread -framework Security -framework VideoToolbox -framework CoreFoundation -framework CoreMedia -framework CoreVideo -framework CoreServices -framework CoreAudio -framework AVFoundation -framework CoreGraphics -framework AudioToolbox -framework Metal -framework CoreImage -framework AppKit" + "-lm -lbz2 -lz -liconv -lpostproc -pthread -framework Security -framework VideoToolbox -framework CoreFoundation -framework CoreMedia -framework CoreVideo -framework CoreServices -framework CoreAudio -framework AVFoundation -framework CoreGraphics -framework AudioToolbox -framework Metal -framework CoreImage -framework AppKit" ) # macos if(NOT CMAKE_SYSTEM_PROCESSOR STREQUAL "arm64") From 8e7b8d18f952f831cc9d172f50cf7583cff3f71c Mon Sep 17 00:00:00 2001 From: Oleksandr Nemesh Date: Tue, 19 Nov 2024 20:07:15 +0200 Subject: [PATCH 15/17] libpostproc --- CMakeLists.txt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 79223db..fe50190 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -95,10 +95,11 @@ else () ${CMAKE_SOURCE_DIR}/lib/libavformat.a ${CMAKE_SOURCE_DIR}/lib/libavutil.a ${CMAKE_SOURCE_DIR}/lib/libavfilter.a + ${CMAKE_SOURCE_DIR}/lib/libpostproc.a ${CMAKE_SOURCE_DIR}/lib/libswresample.a ${CMAKE_SOURCE_DIR}/lib/libswscale.a ${BZIP2_LIBRARY} - "-lm -lbz2 -lz -liconv -lpostproc -pthread -framework Security -framework VideoToolbox -framework CoreFoundation -framework CoreMedia -framework CoreVideo -framework CoreServices -framework CoreAudio -framework AVFoundation -framework CoreGraphics -framework AudioToolbox -framework Metal -framework CoreImage -framework AppKit" + "-lm -lbz2 -lz -liconv -pthread -framework Security -framework VideoToolbox -framework CoreFoundation -framework CoreMedia -framework CoreVideo -framework CoreServices -framework CoreAudio -framework AVFoundation -framework CoreGraphics -framework AudioToolbox -framework Metal -framework CoreImage -framework AppKit" ) # macos if(NOT CMAKE_SYSTEM_PROCESSOR STREQUAL "arm64") From 117760b06c9d609af441ee0403231a95e7eb0e4f Mon Sep 17 00:00:00 2001 From: Oleksandr Nemesh Date: Tue, 19 Nov 2024 20:13:56 +0200 Subject: [PATCH 16/17] mac attempt 4 --- CMakeLists.txt | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index fe50190..7e57da2 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -97,17 +97,11 @@ else () ${CMAKE_SOURCE_DIR}/lib/libavfilter.a ${CMAKE_SOURCE_DIR}/lib/libpostproc.a ${CMAKE_SOURCE_DIR}/lib/libswresample.a - ${CMAKE_SOURCE_DIR}/lib/libswscale.a + ${CMAKE_SOURCE_DIR}/lib/libswscale.a + ${CMAKE_SOURCE_DIR}/lib/liblzma.a ${BZIP2_LIBRARY} "-lm -lbz2 -lz -liconv -pthread -framework Security -framework VideoToolbox -framework CoreFoundation -framework CoreMedia -framework CoreVideo -framework CoreServices -framework CoreAudio -framework AVFoundation -framework CoreGraphics -framework AudioToolbox -framework Metal -framework CoreImage -framework AppKit" ) # macos - - if(NOT CMAKE_SYSTEM_PROCESSOR STREQUAL "arm64") - set(STATIC_LIBS - ${STATIC_LIBS} - ${CMAKE_SOURCE_DIR}/lib/liblzma.a - ) - endif() endif() target_link_libraries(${PROJECT_NAME} ${STATIC_LIBS}) From ed8a89dde521ac4e01849e003dec69a0bbf3c073 Mon Sep 17 00:00:00 2001 From: Oleksandr Nemesh Date: Tue, 19 Nov 2024 20:30:07 +0200 Subject: [PATCH 17/17] use EclipseMenu org --- .github/workflows/multi-platform.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/multi-platform.yml b/.github/workflows/multi-platform.yml index 6f39219..1b3730b 100644 --- a/.github/workflows/multi-platform.yml +++ b/.github/workflows/multi-platform.yml @@ -38,7 +38,7 @@ jobs: - name: Own The Libs (Checkout) uses: actions/checkout@v4 with: - repository: prevter/ffmpeg-libs + repository: EclipseMenu/ffmpeg-libs ref: ${{ matrix.config.name }} token: ${{ secrets.FFMPEG_LIBS_TOKEN }} path: ffmpeg-libs