From bdee6e970f3820ed707a592429b8a5a14f72189d Mon Sep 17 00:00:00 2001 From: Miriam Zimmerman Date: Thu, 22 Jan 2026 11:10:16 -0500 Subject: [PATCH] Add optional video file for codec testing --- Config/User.xcconfig.sample | 5 +++++ Podfile | 1 + Signal.xcodeproj/project.pbxproj | 14 ++++++++++++++ 3 files changed, 20 insertions(+) diff --git a/Config/User.xcconfig.sample b/Config/User.xcconfig.sample index 8311bb8549..b280eee9a2 100644 --- a/Config/User.xcconfig.sample +++ b/Config/User.xcconfig.sample @@ -4,3 +4,8 @@ // OTHER_SWIFT_FLAGS = $(inherited) -no-warnings-as-errors + +// To use a test input file for the camera, uncomment the below line, uncomment +// the relevant line in the Podfile to set RINGRTC_USE_FILE_BASED_CAMERA, and +// put a video file at the below location +// MAYBE_INPUT_VIDEO_PATH = Signal/test/Assets/input_video.mp4 diff --git a/Podfile b/Podfile index 62c40c66af..c4330a3b41 100644 --- a/Podfile +++ b/Podfile @@ -16,6 +16,7 @@ pod 'LibSignalClient', git: 'https://github.com/signalapp/libsignal.git', tag: ' # pod 'LibSignalClient', path: '../libsignal', testspecs: ["Tests"] ENV['RINGRTC_PREBUILD_CHECKSUM'] = '582c64f2b256bd87c1ad6cb3de4bb954feefeef4d3162b65f62a8256200c5105' +# ENV['RINGRTC_USE_FILE_BASED_CAMERA'] = '1' pod 'SignalRingRTC', git: 'https://github.com/signalapp/ringrtc', tag: 'v2.62.0', inhibit_warnings: true # pod 'SignalRingRTC', path: '../ringrtc', testspecs: ["Tests"] diff --git a/Signal.xcodeproj/project.pbxproj b/Signal.xcodeproj/project.pbxproj index be095d4ae0..81a14d2574 100644 --- a/Signal.xcodeproj/project.pbxproj +++ b/Signal.xcodeproj/project.pbxproj @@ -843,6 +843,7 @@ 50F86FC42AFEFEC20045F58B /* TimeGatedBatch.swift in Sources */ = {isa = PBXBuildFile; fileRef = 50F86FC32AFEFEC20045F58B /* TimeGatedBatch.swift */; }; 50F946102AD768AF002EF293 /* MockIdentityManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 50F9460F2AD768AF002EF293 /* MockIdentityManager.swift */; }; 55B753602D97304100CCC91C /* RemoteMuteToast.swift in Sources */ = {isa = PBXBuildFile; fileRef = 55B7535F2D97303A00CCC91C /* RemoteMuteToast.swift */; }; + 55BD355C2F16DAC0008E989C /* input_video.mp4 in Resources */ = {isa = PBXBuildFile; fileRef = 5531BE0E2F15B97F002AF66F /* input_video.mp4 */; }; 5AA002E62CA24566002D1CC2 /* SessionStoreTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5AA002E52CA2455F002D1CC2 /* SessionStoreTest.swift */; }; 616577F953D77424E32C7438 /* Pods_SignalUI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 675486AB8F0612FF2C717BAE /* Pods_SignalUI.framework */; }; 6600BB1A2BA3A0930005A035 /* LinkPreviewManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6600BB192BA3A0930005A035 /* LinkPreviewManager.swift */; }; @@ -5001,6 +5002,7 @@ 50F9460F2AD768AF002EF293 /* MockIdentityManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MockIdentityManager.swift; sourceTree = ""; }; 50F96F3A28ECBC3200541EED /* ms */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ms; path = translations/ms.lproj/InfoPlist.strings; sourceTree = ""; }; 538291A33C75754BC577D8C3 /* Pods-SignalShareExtension.testable release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-SignalShareExtension.testable release.xcconfig"; path = "Target Support Files/Pods-SignalShareExtension/Pods-SignalShareExtension.testable release.xcconfig"; sourceTree = ""; }; + 5531BE0E2F15B97F002AF66F /* input_video.mp4 */ = {isa = PBXFileReference; lastKnownFileType = text; path = input_video.mp4; sourceTree = ""; }; 55B305CB99EC1478F69D91CF /* Pods-SignalUITests.profiling.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-SignalUITests.profiling.xcconfig"; path = "Target Support Files/Pods-SignalUITests/Pods-SignalUITests.profiling.xcconfig"; sourceTree = ""; }; 55B7535F2D97303A00CCC91C /* RemoteMuteToast.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RemoteMuteToast.swift; sourceTree = ""; }; 5AA002E52CA2455F002D1CC2 /* SessionStoreTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SessionStoreTest.swift; sourceTree = ""; }; @@ -9214,6 +9216,7 @@ isa = PBXGroup; children = ( D99ABC762A3D132D0034CD3B /* blue-rectangle.png */, + 5531BE0E2F15B97F002AF66F /* input_video.mp4 */, D99ABC792A3D1D710034CD3B /* semitransparent.png */, 1704690B25D4C92B000793D8 /* test-jpg-rotated.jpg */, 34C6B0AD1FA0E4AA00D35993 /* test-jpg.jpg */, @@ -15796,6 +15799,7 @@ A5E7C675248C5443007C949A /* InfoPlist.strings in Resources */, 45B74A8C2044AAB600CD42F8 /* input-quiet.aifc in Resources */, 45B74A792044AAB600CD42F8 /* input.aifc in Resources */, + 55BD355C2F16DAC0008E989C /* input_video.mp4 in Resources */, 45B74A762044AAB600CD42F8 /* keys-quiet.aifc in Resources */, 45B74A7A2044AAB600CD42F8 /* keys.aifc in Resources */, 45CB2FA81CB7146C00E1B343 /* Launch Screen.storyboard in Resources */, @@ -20916,6 +20920,7 @@ ENABLE_STRICT_OBJC_MSGSEND = YES; ENABLE_TESTABILITY = YES; ENABLE_USER_SCRIPT_SANDBOXING = YES; + "EXCLUDED_SOURCE_FILE_NAMES[arch=*]" = Signal/test/Assets/input_video.mp4; GCC_ENABLE_OBJC_EXCEPTIONS = NO; GCC_NO_COMMON_BLOCKS = YES; GCC_PREPROCESSOR_DEFINITIONS = "TESTABLE_BUILD=1"; @@ -21003,6 +21008,7 @@ HAVE_CONFIG_H, ); GCC_STRICT_ALIASING = NO; + "INCLUDED_SOURCE_FILE_NAMES[arch=*]" = "$(MAYBE_INPUT_VIDEO_PATH)"; INFOPLIST_FILE = "$(SRCROOT)/Signal/Signal-Info.plist"; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", @@ -21175,6 +21181,7 @@ DEVELOPMENT_TEAM = U68MSDN6DR; ENABLE_STRICT_OBJC_MSGSEND = YES; ENABLE_USER_SCRIPT_SANDBOXING = YES; + "EXCLUDED_SOURCE_FILE_NAMES[arch=*]" = Signal/test/Assets/input_video.mp4; GCC_ENABLE_OBJC_EXCEPTIONS = NO; GCC_NO_COMMON_BLOCKS = YES; GCC_PREPROCESSOR_DEFINITIONS = "TESTABLE_BUILD=1"; @@ -21202,6 +21209,7 @@ GCC_WARN_UNUSED_LABEL = YES; GCC_WARN_UNUSED_VALUE = YES; GCC_WARN_UNUSED_VARIABLE = YES; + "INCLUDED_SOURCE_FILE_NAMES[arch=*]" = "$(MAYBE_INPUT_VIDEO_PATH)"; INFOPLIST_KEY_NSHumanReadableCopyright = "Copyright © 2024 Signal Messenger, LLC"; IPHONEOS_DEPLOYMENT_TARGET = 15.0; ONLY_ACTIVE_ARCH = YES; @@ -21250,6 +21258,7 @@ CODE_SIGN_ENTITLEMENTS = Signal/Signal.entitlements; CURRENT_PROJECT_VERSION = 1; ENABLE_USER_SCRIPT_SANDBOXING = NO; + "EXCLUDED_SOURCE_FILE_NAMES[arch=*]" = Signal/test/Assets/input_video.mp4; GCC_OPTIMIZATION_LEVEL = 3; GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_PREFIX_HEADER = "Signal/Signal-Prefix.pch"; @@ -21433,6 +21442,7 @@ ENABLE_STRICT_OBJC_MSGSEND = YES; ENABLE_TESTABILITY = YES; ENABLE_USER_SCRIPT_SANDBOXING = YES; + "EXCLUDED_SOURCE_FILE_NAMES[arch=*]" = Signal/test/Assets/input_video.mp4; GCC_ENABLE_OBJC_EXCEPTIONS = NO; GCC_NO_COMMON_BLOCKS = YES; GCC_PREPROCESSOR_DEFINITIONS = ( @@ -21464,6 +21474,7 @@ GCC_WARN_UNUSED_LABEL = YES; GCC_WARN_UNUSED_VALUE = YES; GCC_WARN_UNUSED_VARIABLE = YES; + "INCLUDED_SOURCE_FILE_NAMES[arch=*]" = "$(MAYBE_INPUT_VIDEO_PATH)"; INFOPLIST_KEY_NSHumanReadableCopyright = "Copyright © 2024 Signal Messenger, LLC"; IPHONEOS_DEPLOYMENT_TARGET = 15.0; ONLY_ACTIVE_ARCH = YES; @@ -21538,6 +21549,7 @@ DEVELOPMENT_TEAM = U68MSDN6DR; ENABLE_STRICT_OBJC_MSGSEND = YES; ENABLE_USER_SCRIPT_SANDBOXING = YES; + "EXCLUDED_SOURCE_FILE_NAMES[arch=*]" = Signal/test/Assets/input_video.mp4; GCC_ENABLE_OBJC_EXCEPTIONS = NO; GCC_NO_COMMON_BLOCKS = YES; GCC_TREAT_IMPLICIT_FUNCTION_DECLARATIONS_AS_ERRORS = YES; @@ -21614,6 +21626,7 @@ CURRENT_PROJECT_VERSION = 1; DEBUG_INFORMATION_FORMAT = dwarf; ENABLE_USER_SCRIPT_SANDBOXING = NO; + "EXCLUDED_SOURCE_FILE_NAMES[arch=*]" = Signal/test/Assets/input_video.mp4; GCC_OPTIMIZATION_LEVEL = 0; GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_PREFIX_HEADER = "Signal/Signal-Prefix.pch"; @@ -21652,6 +21665,7 @@ CODE_SIGN_ENTITLEMENTS = "Signal/Signal-AppStore.entitlements"; CURRENT_PROJECT_VERSION = 1; ENABLE_USER_SCRIPT_SANDBOXING = NO; + "EXCLUDED_SOURCE_FILE_NAMES[arch=*]" = Signal/test/Assets/input_video.mp4; GCC_OPTIMIZATION_LEVEL = 3; GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_PREFIX_HEADER = "Signal/Signal-Prefix.pch";