From e0a674dd5a257d36565063976e095a0f069d5755 Mon Sep 17 00:00:00 2001 From: Exeldro Date: Thu, 4 May 2023 09:12:59 +0200 Subject: [PATCH] build for OBS 29.1.0 --- .github/workflows/build.yml | 4 ++-- CMakeLists.txt | 6 ++++- buildspec.json | 47 +++++++++++++++++++------------------ win-dshow-replay.cpp | 11 +++++++-- 4 files changed, 40 insertions(+), 28 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index bf35f81..61daa41 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -8,7 +8,7 @@ on: env: PLUGIN_NAME: replay-source - OBS_VERSION: 28.0.0-rc1 + OBS_VERSION: 29.1.0 jobs: macos: @@ -204,7 +204,7 @@ jobs: QT_VERSION: '6.3.1' CMAKE_GENERATOR: "Visual Studio 17 2022" CMAKE_SYSTEM_VERSION: "10.0.18363.657" - WINDOWS_DEPS_VERSION: '2022-08-02' + WINDOWS_DEPS_VERSION: '2023-04-12' steps: - name: Add msbuild to PATH uses: microsoft/setup-msbuild@v1.0.2 diff --git a/CMakeLists.txt b/CMakeLists.txt index 08bc1b2..5425fc8 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -6,7 +6,7 @@ else() cmake_minimum_required(VERSION 3.18) endif() -project(replay-source VERSION 1.6.11) +project(replay-source VERSION 1.6.12) set(PROJECT_FULL_NAME "Replay Source") # Set new UUIDs when you start to create a new plugin. @@ -34,10 +34,14 @@ if(BUILD_OUT_OF_TREE) find_package(libcaption) target_include_directories(${PROJECT_NAME} PRIVATE "${CMAKE_SOURCE_DIR}/../obs-studio/deps/libcaption") + target_include_directories(${PROJECT_NAME} PRIVATE + "${CMAKE_SOURCE_DIR}/../obs-studio/deps/uthash") else() set(OBS_FRONTEND_API_NAME "frontend-api") target_include_directories(${PROJECT_NAME} PRIVATE "${CMAKE_SOURCE_DIR}/deps/libcaption") + target_include_directories(${PROJECT_NAME} PRIVATE + "${CMAKE_SOURCE_DIR}/deps/uthash") endif() if(OS_WINDOWS) diff --git a/buildspec.json b/buildspec.json index 9f9e641..93d6472 100644 --- a/buildspec.json +++ b/buildspec.json @@ -1,21 +1,21 @@ { "dependencies": { "obs-studio": { - "version": "28.0.0-beta1", + "version": "29.1.0", "repository": "https://github.com/obsproject/obs-studio.git", "branch": "master", - "hash": "43a49dca47344a5170159ef99b86b97f90d4e4ad" + "hash": "34e3d641582dca3e86e199343905756a1cbc0b64" }, "prebuilt": { - "version": "2022-08-02", + "version": "2023-04-12", "baseUrl": "https://github.com/obsproject/obs-deps/releases/download", - "label": "Pre-built obs-deps", + "label": "Pre-Built obs-deps", "hashes": { - "macos-x86_64": "7637e52305e6fc53014b5aabd583f1a4490b1d97450420e977cae9a336a29525", - "macos-arm64": "755e0fa69b17a3ae444e1befa9d91d77e3cafe628fbd1c6333686091826595cd", - "macos-universal": "de057e73e6fe0825664c258ca2dd6798c41ae580bf4d896e1647676a4941934a", - "windows-x64": "2192d8ce780c4281b807cd457994963669e5202659ecd92f19b54c3e7d0c1915", - "windows-x86": "9f8582ab5891b000869d6484ea591add9fbac9f1c91b56c7b85fdfd56a261c1b" + "macos-x86_64": "81120ffa33bb050c6c5fcd236e5cedfd7b80f7053fdba271fead5af20be0b5f5", + "macos-arm64": "b9bab79611774c4651d084e14259abe889d2b8d1653787a843d08cf3f0db881c", + "macos-universal": "9535c6e1ad96f7d49960251e85a245774088d48da1d602bb82f734b10219125a", + "windows-x64": "c13a14a1acc4224b21304d97b63da4121de1ed6981297e50496fbc474abc0503", + "linux-x86_64": "056425a8a7a4a0c242ed5ab9c1eba4dd6b004386877de4304524e7bea11c0ee2" } }, "qt5": { @@ -35,34 +35,35 @@ } }, "qt6": { - "version": "2022-08-02", + "version": "2023-04-12", "baseUrl": "https://github.com/obsproject/obs-deps/releases/download", - "label": "Pre-built Qt6", + "label": "Pre-Built Qt6", "hashes": { - "macos-x86_64": "a83f72a11023b03b6cb2dc365f0a66ad9df31163bbb4fe2df32d601856a9fad3", - "macos-arm64": "2f30af90c049670a5660656adbb440668aa1b0567f75a5f29e1def9108928403", - "macos-universal": "252e6684f43ab9c6f262c73af739e2296ce391b998da2c4ee04c254aaa07db18", - "windows-x64": "e5509b54196a3f935250cc4b9c54160c8e588fd0f92bc078a2a64f9d9e2e4e93", - "windows-x86": "24fc03bef153a0e027c1479e42eb08097a4ea1d70a4710825be0783d0626cb0d" + "macos-x86_64": "2622d6ecd484a596da12b6a45b709fe563821eda558d0bbb27335c8c2f63945c", + "macos-arm64": "4f72aa1103d88a00d90c01bb3650276ffa1408e16ef40579177605483b986dc9", + "macos-universal": "eb7614544ab4f3d2c6052c797635602280ca5b028a6b987523d8484222ce45d1", + "windows-x64": "4d39364b8a8dee5aa24fcebd8440d5c22bb4551c6b440ffeacce7d61f2ed1add" }, - "pdb-hashes": { - "windows-x64": "60e5b1d2bc4d7c431bc05f14e3b1e85e088788c372fa85f58717cd6c49555a46", - "windows-x86": "f34d1a89fc85d92913bd6c7f75ec5c28471d74db708c98161100bc8b75f8fc63" + "debugSymbols": { + "windows-x64": "f34ee5067be19ed370268b15c53684b7b8aaa867dc800b68931df905d679e31f" } } }, "platformConfig": { "macos-x86_64": { "qtVersion": 6, - "deploymentTarget": "10.15" + "deploymentTarget": "11.0", + "buildTarget": "11.0" }, "macos-arm64": { "qtVersion": 6, - "deploymentTarget": "11.0" + "deploymentTarget": "11.0", + "buildTarget": "11.0" }, "macos-universal": { "qtVersion": 6, - "deploymentTarget": "10.15" + "deploymentTarget": "11.0", + "buildTarget": "11.0" }, "windows-x64": { "qtVersion": 6, @@ -79,5 +80,5 @@ } }, "name": "replay-source", - "version": "1.6.11" + "version": "1.6.12" } diff --git a/win-dshow-replay.cpp b/win-dshow-replay.cpp index 8cb3784..87b8766 100644 --- a/win-dshow-replay.cpp +++ b/win-dshow-replay.cpp @@ -192,6 +192,7 @@ struct DShowReplayInput { VideoConfig videoConfig; AudioConfig audioConfig; + enum video_colorspace cs; obs_source_frame2 frame; obs_source_audio audio; long lastRotation = 0; @@ -666,7 +667,7 @@ void DShowReplayInput::OnEncodedVideoData(enum AVCodecID id, } bool got_output; - bool success = ffmpeg_decode_video(video_decoder, data, size, &ts, + bool success = ffmpeg_decode_video(video_decoder, data, size, &ts, cs, frame.range, &frame, &got_output); if (!success) { blog(LOG_WARNING, "Error decoding video"); @@ -1317,7 +1318,7 @@ inline bool DShowReplayInput::Activate(obs_data_t *settings) if (device.Start() != Result::Success) return false; - const enum video_colorspace cs = GetColorSpace(settings); + cs = GetColorSpace(settings); const enum video_range_type range = GetColorRange(settings); enum video_trc trc = VIDEO_TRC_DEFAULT; @@ -1483,6 +1484,12 @@ struct FPSFormat { }; static const FPSFormat validFPSFormats[] = { + {"360", MAKE_DSHOW_FPS(360)}, + {"240", MAKE_DSHOW_FPS(240)}, + {"144", MAKE_DSHOW_FPS(144)}, + {"120", MAKE_DSHOW_FPS(120)}, + {"119.88 NTSC", MAKE_DSHOW_FRACTIONAL_FPS(120000, 1001)}, + {"100", MAKE_DSHOW_FPS(100)}, {"60", MAKE_DSHOW_FPS(60)}, {"59.94 NTSC", MAKE_DSHOW_FRACTIONAL_FPS(60000, 1001)}, {"50", MAKE_DSHOW_FPS(50)},