From b01b245de617010e769affe4863dc2c5c66054d8 Mon Sep 17 00:00:00 2001
From: Peter <>
Date: Thu, 15 Aug 2019 18:34:56 +0300
Subject: [PATCH] Refactor opus and OpusBinding
---
.../contents.xcworkspacedata | 10 +-
.../ImageBlur_Xcode.xcodeproj/project.pbxproj | 8 +
.../ImageBlur/Sources/ApplyScreenshotEffect.h | 4 +
.../Sources/ApplyScreenshotEffect.m} | 77 +-
submodules/ImageBlur/Sources/ImageBlur.h | 1 +
submodules/Opus/Info.plist | 22 +
.../Sources}/opus/lib/libopus.a | Bin
.../opus/include => Opus/Sources}/opus/opus.h | 4 +-
.../opus => Opus/Sources}/opus_defines.h | 2 +-
.../opus => Opus/Sources}/opus_multistream.h | 2 +-
.../opus => Opus/Sources}/opus_projection.h | 2 +-
.../opus => Opus/Sources}/opus_types.h | 0
.../Opus/opus_Xcode.xcodeproj/project.pbxproj | 540 ++++++++++++++
submodules/OpusBinding/Info.plist | 22 +
.../project.pbxproj | 672 ++++++++++++++++++
.../OpusBinding/Sources/OggOpusReader.h | 13 +
.../OpusBinding/Sources/OggOpusReader.m | 35 +
submodules/OpusBinding/Sources/OpusBinding.h | 11 +
.../Sources}/TGDataItem.h | 0
.../Sources}/TGDataItem.m | 0
.../Sources/TGOggOpusWriter.h} | 9 +-
.../ogg => OpusBinding/Sources}/ogg/bitwise.c | 0
.../ogg => OpusBinding/Sources}/ogg/framing.c | 0
.../ogg => OpusBinding/Sources}/ogg/ogg.h | 0
.../Sources}/ogg/os_types.h | 0
.../Sources}/opusenc/diag_range.c | 4 -
.../Sources}/opusenc/diag_range.h | 0
.../Sources}/opusenc/opus_header.c | 0
.../Sources}/opusenc/opus_header.h | 0
.../Sources}/opusenc/opusenc.m | 13 +-
.../Sources}/opusenc/picture.c | 0
.../Sources}/opusenc/picture.h | 0
.../Sources}/opusenc/wav_io.c | 0
.../Sources}/opusenc/wav_io.h | 4 -
.../Sources}/opusfile/info.c | 0
.../Sources}/opusfile/internal.c | 0
.../Sources}/opusfile/internal.h | 2 +-
.../Sources}/opusfile/opusfile.c | 0
.../Sources}/opusfile/opusfile.h | 4 -
.../Sources}/opusfile/stream.c | 0
.../TelegramUI/ApplicationContext.swift | 3 +-
.../Bridge Audio/TGBridgeAudioDecoder.mm | 13 +-
.../Bridge Audio/TGBridgeAudioEncoder.m | 8 +-
.../TelegramUI/ManagedAudioRecorder.swift | 1 +
.../TelegramUIPrivate/module.modulemap | 3 -
.../TelegramUI/UIImage+ImageEffects.h | 9 -
.../project.pbxproj | 152 +---
submodules/libtgvoip/OpusDecoder.cpp | 4 -
submodules/libtgvoip/OpusEncoder.cpp | 4 -
49 files changed, 1412 insertions(+), 246 deletions(-)
create mode 100644 submodules/ImageBlur/Sources/ApplyScreenshotEffect.h
rename submodules/{TelegramUI/TelegramUI/UIImage+ImageEffects.m => ImageBlur/Sources/ApplyScreenshotEffect.m} (80%)
create mode 100644 submodules/Opus/Info.plist
rename submodules/{TelegramUI/third-party => Opus/Sources}/opus/lib/libopus.a (100%)
rename submodules/{TelegramUI/third-party/opus/include => Opus/Sources}/opus/opus.h (99%)
rename submodules/{TelegramUI/third-party/opus/include/opus => Opus/Sources}/opus_defines.h (99%)
rename submodules/{TelegramUI/third-party/opus/include/opus => Opus/Sources}/opus_multistream.h (99%)
rename submodules/{TelegramUI/third-party/opus/include/opus => Opus/Sources}/opus_projection.h (99%)
rename submodules/{TelegramUI/third-party/opus/include/opus => Opus/Sources}/opus_types.h (100%)
create mode 100644 submodules/Opus/opus_Xcode.xcodeproj/project.pbxproj
create mode 100644 submodules/OpusBinding/Info.plist
create mode 100644 submodules/OpusBinding/OpusBinding_Xcode.xcodeproj/project.pbxproj
create mode 100644 submodules/OpusBinding/Sources/OggOpusReader.h
create mode 100644 submodules/OpusBinding/Sources/OggOpusReader.m
create mode 100644 submodules/OpusBinding/Sources/OpusBinding.h
rename submodules/{TelegramUI/TelegramUI => OpusBinding/Sources}/TGDataItem.h (100%)
rename submodules/{TelegramUI/TelegramUI => OpusBinding/Sources}/TGDataItem.m (100%)
rename submodules/{TelegramUI/third-party/opusenc/opusenc.h => OpusBinding/Sources/TGOggOpusWriter.h} (58%)
rename submodules/{TelegramUI/third-party/ogg => OpusBinding/Sources}/ogg/bitwise.c (100%)
rename submodules/{TelegramUI/third-party/ogg => OpusBinding/Sources}/ogg/framing.c (100%)
rename submodules/{TelegramUI/third-party/ogg => OpusBinding/Sources}/ogg/ogg.h (100%)
rename submodules/{TelegramUI/third-party/ogg => OpusBinding/Sources}/ogg/os_types.h (100%)
rename submodules/{TelegramUI/third-party => OpusBinding/Sources}/opusenc/diag_range.c (99%)
rename submodules/{TelegramUI/third-party => OpusBinding/Sources}/opusenc/diag_range.h (100%)
rename submodules/{TelegramUI/third-party => OpusBinding/Sources}/opusenc/opus_header.c (100%)
rename submodules/{TelegramUI/third-party => OpusBinding/Sources}/opusenc/opus_header.h (100%)
rename submodules/{TelegramUI/third-party => OpusBinding/Sources}/opusenc/opusenc.m (98%)
rename submodules/{TelegramUI/third-party => OpusBinding/Sources}/opusenc/picture.c (100%)
rename submodules/{TelegramUI/third-party => OpusBinding/Sources}/opusenc/picture.h (100%)
rename submodules/{TelegramUI/third-party => OpusBinding/Sources}/opusenc/wav_io.c (100%)
rename submodules/{TelegramUI/third-party => OpusBinding/Sources}/opusenc/wav_io.h (97%)
rename submodules/{TelegramUI/third-party => OpusBinding/Sources}/opusfile/info.c (100%)
rename submodules/{TelegramUI/third-party => OpusBinding/Sources}/opusfile/internal.c (100%)
rename submodules/{TelegramUI/third-party => OpusBinding/Sources}/opusfile/internal.h (99%)
rename submodules/{TelegramUI/third-party => OpusBinding/Sources}/opusfile/opusfile.c (100%)
rename submodules/{TelegramUI/third-party => OpusBinding/Sources}/opusfile/opusfile.h (99%)
rename submodules/{TelegramUI/third-party => OpusBinding/Sources}/opusfile/stream.c (100%)
delete mode 100644 submodules/TelegramUI/TelegramUI/UIImage+ImageEffects.h
diff --git a/Telegram-iOS.xcworkspace/contents.xcworkspacedata b/Telegram-iOS.xcworkspace/contents.xcworkspacedata
index 9545731036..1fd1843193 100644
--- a/Telegram-iOS.xcworkspace/contents.xcworkspacedata
+++ b/Telegram-iOS.xcworkspace/contents.xcworkspacedata
@@ -19,6 +19,12 @@
+
+
+
+
+ location = "group:submodules/DeviceProximity/DeviceProximity_Xcode.xcodeproj">
+ location = "group:submodules/RaiseToListen/RaiseToListen_Xcode.xcodeproj">
+#import
+
+UIImage * _Nullable applyScreenshotEffectToImage(UIImage * _Nonnull image);
diff --git a/submodules/TelegramUI/TelegramUI/UIImage+ImageEffects.m b/submodules/ImageBlur/Sources/ApplyScreenshotEffect.m
similarity index 80%
rename from submodules/TelegramUI/TelegramUI/UIImage+ImageEffects.m
rename to submodules/ImageBlur/Sources/ApplyScreenshotEffect.m
index cdb6322cf2..769a870df3 100644
--- a/submodules/TelegramUI/TelegramUI/UIImage+ImageEffects.m
+++ b/submodules/ImageBlur/Sources/ApplyScreenshotEffect.m
@@ -1,73 +1,62 @@
-
-
-#import "UIImage+ImageEffects.h"
+#import "ApplyScreenshotEffect.h"
#import
#import
-@implementation UIImage (ImageEffects)
-
-- (UIImage *)applyScreenshotEffect
-{
- UIColor *tintColor = [UIColor colorWithWhite:1.0f alpha:0.3f];
- return [self applyBlurWithRadius:10 tintColor:tintColor saturationDeltaFactor:1.8f maskImage:nil];
-}
-
-- (UIImage *)applyBlurWithRadius:(CGFloat)blurRadius tintColor:(UIColor *)tintColor saturationDeltaFactor:(CGFloat)saturationDeltaFactor maskImage:(UIImage *)maskImage
-{
+UIImage * _Nullable applyBlurWithRadius(UIImage *image, CGFloat blurRadius, UIColor * tintColor, CGFloat saturationDeltaFactor, UIImage * _Nullable maskImage) {
// Check pre-conditions.
- if (self.size.width < 1 || self.size.height < 1) {
- NSLog (@"*** error: invalid size: (%.2f x %.2f). Both dimensions must be >= 1: %@", self.size.width, self.size.height, self);
+ if (image.size.width < 1 || image.size.height < 1) {
+ NSLog (@"*** error: invalid size: (%.2f x %.2f). Both dimensions must be >= 1: %@", image.size.width, image.size.height, image);
return nil;
}
- if (!self.CGImage) {
- NSLog (@"*** error: image must be backed by a CGImage: %@", self);
+ if (!image.CGImage) {
+ NSLog (@"*** error: image must be backed by a CGImage: %@", image);
return nil;
}
if (maskImage && !maskImage.CGImage) {
NSLog (@"*** error: maskImage must be backed by a CGImage: %@", maskImage);
return nil;
}
-
- CGRect imageRect = { CGPointZero, self.size };
- UIImage *effectImage = self;
+
+ CGRect imageRect = { CGPointZero, image.size };
+ UIImage *effectImage = image;
BOOL hasBlur = blurRadius > __FLT_EPSILON__;
BOOL hasSaturationChange = fabs(saturationDeltaFactor - 1.) > __FLT_EPSILON__;
if (hasBlur || hasSaturationChange) {
- UIGraphicsBeginImageContextWithOptions(self.size, NO, [[UIScreen mainScreen] scale]);
+ UIGraphicsBeginImageContextWithOptions(image.size, NO, [[UIScreen mainScreen] scale]);
CGContextRef effectInContext = UIGraphicsGetCurrentContext();
CGContextScaleCTM(effectInContext, 1.0, -1.0);
- CGContextTranslateCTM(effectInContext, 0, -self.size.height);
- CGContextDrawImage(effectInContext, imageRect, self.CGImage);
-
+ CGContextTranslateCTM(effectInContext, 0, -image.size.height);
+ CGContextDrawImage(effectInContext, imageRect, image.CGImage);
+
vImage_Buffer effectInBuffer;
effectInBuffer.data = CGBitmapContextGetData(effectInContext);
effectInBuffer.width = CGBitmapContextGetWidth(effectInContext);
effectInBuffer.height = CGBitmapContextGetHeight(effectInContext);
effectInBuffer.rowBytes = CGBitmapContextGetBytesPerRow(effectInContext);
-
- UIGraphicsBeginImageContextWithOptions(self.size, NO, [[UIScreen mainScreen] scale]);
+
+ UIGraphicsBeginImageContextWithOptions(image.size, NO, [[UIScreen mainScreen] scale]);
CGContextRef effectOutContext = UIGraphicsGetCurrentContext();
vImage_Buffer effectOutBuffer;
effectOutBuffer.data = CGBitmapContextGetData(effectOutContext);
effectOutBuffer.width = CGBitmapContextGetWidth(effectOutContext);
effectOutBuffer.height = CGBitmapContextGetHeight(effectOutContext);
effectOutBuffer.rowBytes = CGBitmapContextGetBytesPerRow(effectOutContext);
-
+
if (hasBlur) {
// A description of how to compute the box kernel width from the Gaussian
// radius (aka standard deviation) appears in the SVG spec:
// http://www.w3.org/TR/SVG/filters.html#feGaussianBlurElement
- //
+ //
// For larger values of 's' (s >= 2.0), an approximation can be used: Three
// successive box-blurs build a piece-wise quadratic convolution kernel, which
// approximates the Gaussian kernel to within roughly 3%.
//
// let d = floor(s * 3*sqrt(2*pi)/4 + 0.5)
- //
+ //
// ... if d is odd, use three box-blurs of size 'd', centered on the output pixel.
- //
+ //
CGFloat inputRadius = blurRadius * [[UIScreen mainScreen] scale];
NSUInteger radius = (NSUInteger)(floor(inputRadius * 3.0f * ((CGFloat)sqrt(2 * M_PI)) / 4 + 0.5f));
if (radius % 2 != 1) {
@@ -84,7 +73,7 @@
0.0722f + 0.9278f * s, 0.0722f - 0.0722f * s, 0.0722f - 0.0722f * s, 0,
0.7152f - 0.7152f * s, 0.7152f + 0.2848f * s, 0.7152f - 0.7152f * s, 0,
0.2126f - 0.2126f * s, 0.2126f - 0.2126f * s, 0.2126f + 0.7873f * s, 0,
- 0, 0, 0, 1,
+ 0, 0, 0, 1,
};
const int32_t divisor = 256;
NSUInteger matrixSize = sizeof(floatingPointSaturationMatrix)/sizeof(floatingPointSaturationMatrix[0]);
@@ -103,21 +92,21 @@
if (!effectImageBuffersAreSwapped)
effectImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
-
+
if (effectImageBuffersAreSwapped)
effectImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
}
-
+
// Set up output context.
- UIGraphicsBeginImageContextWithOptions(self.size, NO, [[UIScreen mainScreen] scale]);
+ UIGraphicsBeginImageContextWithOptions(image.size, NO, [[UIScreen mainScreen] scale]);
CGContextRef outputContext = UIGraphicsGetCurrentContext();
CGContextScaleCTM(outputContext, 1.0, -1.0);
- CGContextTranslateCTM(outputContext, 0, -self.size.height);
-
+ CGContextTranslateCTM(outputContext, 0, -image.size.height);
+
// Draw base image.
- CGContextDrawImage(outputContext, imageRect, self.CGImage);
-
+ CGContextDrawImage(outputContext, imageRect, image.CGImage);
+
// Draw effect image.
if (hasBlur) {
CGContextSaveGState(outputContext);
@@ -127,7 +116,7 @@
CGContextDrawImage(outputContext, imageRect, effectImage.CGImage);
CGContextRestoreGState(outputContext);
}
-
+
// Add in color tint.
if (tintColor) {
CGContextSaveGState(outputContext);
@@ -135,13 +124,15 @@
CGContextFillRect(outputContext, imageRect);
CGContextRestoreGState(outputContext);
}
-
+
// Output image is ready.
UIImage *outputImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
-
+
return outputImage;
}
-
-@end
+UIImage * _Nullable applyScreenshotEffectToImage(UIImage * _Nonnull image) {
+ UIColor *tintColor = [UIColor colorWithWhite:1.0f alpha:0.3f];
+ return applyBlurWithRadius(image, 10.0f, tintColor, 1.8f, nil);
+}
diff --git a/submodules/ImageBlur/Sources/ImageBlur.h b/submodules/ImageBlur/Sources/ImageBlur.h
index 21ab6cdb46..c70dd7a483 100644
--- a/submodules/ImageBlur/Sources/ImageBlur.h
+++ b/submodules/ImageBlur/Sources/ImageBlur.h
@@ -7,5 +7,6 @@ FOUNDATION_EXPORT double ImageBlurVersionNumber;
FOUNDATION_EXPORT const unsigned char ImageBlurVersionString[];
#import
+#import
diff --git a/submodules/Opus/Info.plist b/submodules/Opus/Info.plist
new file mode 100644
index 0000000000..e1fe4cfb7b
--- /dev/null
+++ b/submodules/Opus/Info.plist
@@ -0,0 +1,22 @@
+
+
+
+
+ CFBundleDevelopmentRegion
+ $(DEVELOPMENT_LANGUAGE)
+ CFBundleExecutable
+ $(EXECUTABLE_NAME)
+ CFBundleIdentifier
+ $(PRODUCT_BUNDLE_IDENTIFIER)
+ CFBundleInfoDictionaryVersion
+ 6.0
+ CFBundleName
+ $(PRODUCT_NAME)
+ CFBundlePackageType
+ FMWK
+ CFBundleShortVersionString
+ 1.0
+ CFBundleVersion
+ $(CURRENT_PROJECT_VERSION)
+
+
diff --git a/submodules/TelegramUI/third-party/opus/lib/libopus.a b/submodules/Opus/Sources/opus/lib/libopus.a
similarity index 100%
rename from submodules/TelegramUI/third-party/opus/lib/libopus.a
rename to submodules/Opus/Sources/opus/lib/libopus.a
diff --git a/submodules/TelegramUI/third-party/opus/include/opus/opus.h b/submodules/Opus/Sources/opus/opus.h
similarity index 99%
rename from submodules/TelegramUI/third-party/opus/include/opus/opus.h
rename to submodules/Opus/Sources/opus/opus.h
index d282f21d25..dd5a8fe2d2 100644
--- a/submodules/TelegramUI/third-party/opus/include/opus/opus.h
+++ b/submodules/Opus/Sources/opus/opus.h
@@ -33,8 +33,8 @@
#ifndef OPUS_H
#define OPUS_H
-#include "opus_types.h"
-#include "opus_defines.h"
+#include
+#include
#ifdef __cplusplus
extern "C" {
diff --git a/submodules/TelegramUI/third-party/opus/include/opus/opus_defines.h b/submodules/Opus/Sources/opus_defines.h
similarity index 99%
rename from submodules/TelegramUI/third-party/opus/include/opus/opus_defines.h
rename to submodules/Opus/Sources/opus_defines.h
index fbf5d0eb74..2239c3ec50 100644
--- a/submodules/TelegramUI/third-party/opus/include/opus/opus_defines.h
+++ b/submodules/Opus/Sources/opus_defines.h
@@ -33,7 +33,7 @@
#ifndef OPUS_DEFINES_H
#define OPUS_DEFINES_H
-#include "opus_types.h"
+#include
#ifdef __cplusplus
extern "C" {
diff --git a/submodules/TelegramUI/third-party/opus/include/opus/opus_multistream.h b/submodules/Opus/Sources/opus_multistream.h
similarity index 99%
rename from submodules/TelegramUI/third-party/opus/include/opus/opus_multistream.h
rename to submodules/Opus/Sources/opus_multistream.h
index babcee6905..0347310a00 100644
--- a/submodules/TelegramUI/third-party/opus/include/opus/opus_multistream.h
+++ b/submodules/Opus/Sources/opus_multistream.h
@@ -33,7 +33,7 @@
#ifndef OPUS_MULTISTREAM_H
#define OPUS_MULTISTREAM_H
-#include "opus.h"
+#include
#ifdef __cplusplus
extern "C" {
diff --git a/submodules/TelegramUI/third-party/opus/include/opus/opus_projection.h b/submodules/Opus/Sources/opus_projection.h
similarity index 99%
rename from submodules/TelegramUI/third-party/opus/include/opus/opus_projection.h
rename to submodules/Opus/Sources/opus_projection.h
index 9dabf4e85c..d33d9e332c 100644
--- a/submodules/TelegramUI/third-party/opus/include/opus/opus_projection.h
+++ b/submodules/Opus/Sources/opus_projection.h
@@ -33,7 +33,7 @@
#ifndef OPUS_PROJECTION_H
#define OPUS_PROJECTION_H
-#include "opus_multistream.h"
+#include
#ifdef __cplusplus
extern "C" {
diff --git a/submodules/TelegramUI/third-party/opus/include/opus/opus_types.h b/submodules/Opus/Sources/opus_types.h
similarity index 100%
rename from submodules/TelegramUI/third-party/opus/include/opus/opus_types.h
rename to submodules/Opus/Sources/opus_types.h
diff --git a/submodules/Opus/opus_Xcode.xcodeproj/project.pbxproj b/submodules/Opus/opus_Xcode.xcodeproj/project.pbxproj
new file mode 100644
index 0000000000..d34be5aafd
--- /dev/null
+++ b/submodules/Opus/opus_Xcode.xcodeproj/project.pbxproj
@@ -0,0 +1,540 @@
+// !$*UTF8*$!
+{
+ archiveVersion = 1;
+ classes = {
+ };
+ objectVersion = 50;
+ objects = {
+
+/* Begin PBXBuildFile section */
+ D03E43DB23058AC90049C28B /* opus.h in Headers */ = {isa = PBXBuildFile; fileRef = D03E43D423058AC90049C28B /* opus.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ D03E43DC23058AC90049C28B /* opus_multistream.h in Headers */ = {isa = PBXBuildFile; fileRef = D03E43D523058AC90049C28B /* opus_multistream.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ D03E43DE23058ACA0049C28B /* opus_types.h in Headers */ = {isa = PBXBuildFile; fileRef = D03E43D823058AC90049C28B /* opus_types.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ D03E43DF23058ACA0049C28B /* opus_defines.h in Headers */ = {isa = PBXBuildFile; fileRef = D03E43D923058AC90049C28B /* opus_defines.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ D03E43E023058ACA0049C28B /* opus_projection.h in Headers */ = {isa = PBXBuildFile; fileRef = D03E43DA23058AC90049C28B /* opus_projection.h */; settings = {ATTRIBUTES = (Public, ); }; };
+/* End PBXBuildFile section */
+
+/* Begin PBXFileReference section */
+ D03E43C4230582870049C28B /* Opus.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Opus.framework; path = opus.framework; sourceTree = BUILT_PRODUCTS_DIR; };
+ D03E43C8230582870049C28B /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; };
+ D03E43D423058AC90049C28B /* opus.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = opus.h; path = opus/opus.h; sourceTree = ""; };
+ D03E43D523058AC90049C28B /* opus_multistream.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = opus_multistream.h; sourceTree = ""; };
+ D03E43D823058AC90049C28B /* opus_types.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = opus_types.h; sourceTree = ""; };
+ D03E43D923058AC90049C28B /* opus_defines.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = opus_defines.h; sourceTree = ""; };
+ D03E43DA23058AC90049C28B /* opus_projection.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = opus_projection.h; sourceTree = ""; };
+/* End PBXFileReference section */
+
+/* Begin PBXFrameworksBuildPhase section */
+ D03E43C1230582870049C28B /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXFrameworksBuildPhase section */
+
+/* Begin PBXGroup section */
+ D03E43BA230582870049C28B = {
+ isa = PBXGroup;
+ children = (
+ D03E43C8230582870049C28B /* Info.plist */,
+ D03E43C6230582870049C28B /* Sources */,
+ D03E43C5230582870049C28B /* Products */,
+ );
+ sourceTree = "";
+ };
+ D03E43C5230582870049C28B /* Products */ = {
+ isa = PBXGroup;
+ children = (
+ D03E43C4230582870049C28B /* Opus.framework */,
+ );
+ name = Products;
+ sourceTree = "";
+ };
+ D03E43C6230582870049C28B /* Sources */ = {
+ isa = PBXGroup;
+ children = (
+ D03E43D423058AC90049C28B /* opus.h */,
+ D03E43D523058AC90049C28B /* opus_multistream.h */,
+ D03E43D823058AC90049C28B /* opus_types.h */,
+ D03E43D923058AC90049C28B /* opus_defines.h */,
+ D03E43DA23058AC90049C28B /* opus_projection.h */,
+ );
+ path = Sources;
+ sourceTree = "";
+ };
+/* End PBXGroup section */
+
+/* Begin PBXHeadersBuildPhase section */
+ D03E43BF230582870049C28B /* Headers */ = {
+ isa = PBXHeadersBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ D03E43DE23058ACA0049C28B /* opus_types.h in Headers */,
+ D03E43DB23058AC90049C28B /* opus.h in Headers */,
+ D03E43DC23058AC90049C28B /* opus_multistream.h in Headers */,
+ D03E43E023058ACA0049C28B /* opus_projection.h in Headers */,
+ D03E43DF23058ACA0049C28B /* opus_defines.h in Headers */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXHeadersBuildPhase section */
+
+/* Begin PBXNativeTarget section */
+ D03E43C3230582870049C28B /* opus */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = D03E43CC230582870049C28B /* Build configuration list for PBXNativeTarget "opus" */;
+ buildPhases = (
+ D03E43BF230582870049C28B /* Headers */,
+ D03E43C0230582870049C28B /* Sources */,
+ D03E43C1230582870049C28B /* Frameworks */,
+ D03E43C2230582870049C28B /* Resources */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ );
+ name = opus;
+ productName = Opus;
+ productReference = D03E43C4230582870049C28B /* Opus.framework */;
+ productType = "com.apple.product-type.framework";
+ };
+/* End PBXNativeTarget section */
+
+/* Begin PBXProject section */
+ D03E43BB230582870049C28B /* Project object */ = {
+ isa = PBXProject;
+ attributes = {
+ DefaultBuildSystemTypeForWorkspace = Latest;
+ LastUpgradeCheck = 1030;
+ ORGANIZATIONNAME = "Telegram Messenger LLP";
+ TargetAttributes = {
+ D03E43C3230582870049C28B = {
+ CreatedOnToolsVersion = 10.3;
+ };
+ };
+ };
+ buildConfigurationList = D03E43BE230582870049C28B /* Build configuration list for PBXProject "opus_Xcode" */;
+ compatibilityVersion = "Xcode 9.3";
+ developmentRegion = en;
+ hasScannedForEncodings = 0;
+ knownRegions = (
+ en,
+ );
+ mainGroup = D03E43BA230582870049C28B;
+ productRefGroup = D03E43C5230582870049C28B /* Products */;
+ projectDirPath = "";
+ projectRoot = "";
+ targets = (
+ D03E43C3230582870049C28B /* opus */,
+ );
+ };
+/* End PBXProject section */
+
+/* Begin PBXResourcesBuildPhase section */
+ D03E43C2230582870049C28B /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXResourcesBuildPhase section */
+
+/* Begin PBXSourcesBuildPhase section */
+ D03E43C0230582870049C28B /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXSourcesBuildPhase section */
+
+/* Begin XCBuildConfiguration section */
+ D03E43CA230582870049C28B /* DebugAppStoreLLC */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ CLANG_ANALYZER_NONNULL = YES;
+ CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
+ CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
+ CLANG_CXX_LIBRARY = "libc++";
+ CLANG_ENABLE_MODULES = YES;
+ CLANG_ENABLE_OBJC_ARC = YES;
+ CLANG_ENABLE_OBJC_WEAK = YES;
+ CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
+ CLANG_WARN_BOOL_CONVERSION = YES;
+ CLANG_WARN_COMMA = YES;
+ CLANG_WARN_CONSTANT_CONVERSION = YES;
+ CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
+ CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
+ CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
+ CLANG_WARN_EMPTY_BODY = YES;
+ CLANG_WARN_ENUM_CONVERSION = YES;
+ CLANG_WARN_INFINITE_RECURSION = YES;
+ CLANG_WARN_INT_CONVERSION = YES;
+ CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
+ CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
+ CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
+ CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
+ CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
+ CLANG_WARN_STRICT_PROTOTYPES = YES;
+ CLANG_WARN_SUSPICIOUS_MOVE = YES;
+ CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
+ CLANG_WARN_UNREACHABLE_CODE = YES;
+ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
+ CODE_SIGN_IDENTITY = "iPhone Developer";
+ COPY_PHASE_STRIP = NO;
+ CURRENT_PROJECT_VERSION = 1;
+ DEBUG_INFORMATION_FORMAT = dwarf;
+ ENABLE_STRICT_OBJC_MSGSEND = YES;
+ ENABLE_TESTABILITY = YES;
+ GCC_C_LANGUAGE_STANDARD = gnu11;
+ GCC_DYNAMIC_NO_PIC = NO;
+ GCC_NO_COMMON_BLOCKS = YES;
+ GCC_OPTIMIZATION_LEVEL = 0;
+ GCC_PREPROCESSOR_DEFINITIONS = (
+ "DEBUG=1",
+ "$(inherited)",
+ );
+ GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
+ GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
+ GCC_WARN_UNDECLARED_SELECTOR = YES;
+ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
+ GCC_WARN_UNUSED_FUNCTION = YES;
+ GCC_WARN_UNUSED_VARIABLE = YES;
+ IPHONEOS_DEPLOYMENT_TARGET = 8.0;
+ MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
+ MTL_FAST_MATH = YES;
+ ONLY_ACTIVE_ARCH = YES;
+ SDKROOT = iphoneos;
+ VERSIONING_SYSTEM = "apple-generic";
+ VERSION_INFO_PREFIX = "";
+ };
+ name = DebugAppStoreLLC;
+ };
+ D03E43CB230582870049C28B /* ReleaseAppStoreLLC */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ CLANG_ANALYZER_NONNULL = YES;
+ CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
+ CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
+ CLANG_CXX_LIBRARY = "libc++";
+ CLANG_ENABLE_MODULES = YES;
+ CLANG_ENABLE_OBJC_ARC = YES;
+ CLANG_ENABLE_OBJC_WEAK = YES;
+ CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
+ CLANG_WARN_BOOL_CONVERSION = YES;
+ CLANG_WARN_COMMA = YES;
+ CLANG_WARN_CONSTANT_CONVERSION = YES;
+ CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
+ CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
+ CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
+ CLANG_WARN_EMPTY_BODY = YES;
+ CLANG_WARN_ENUM_CONVERSION = YES;
+ CLANG_WARN_INFINITE_RECURSION = YES;
+ CLANG_WARN_INT_CONVERSION = YES;
+ CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
+ CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
+ CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
+ CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
+ CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
+ CLANG_WARN_STRICT_PROTOTYPES = YES;
+ CLANG_WARN_SUSPICIOUS_MOVE = YES;
+ CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
+ CLANG_WARN_UNREACHABLE_CODE = YES;
+ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
+ CODE_SIGN_IDENTITY = "iPhone Developer";
+ COPY_PHASE_STRIP = NO;
+ CURRENT_PROJECT_VERSION = 1;
+ DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
+ ENABLE_NS_ASSERTIONS = NO;
+ ENABLE_STRICT_OBJC_MSGSEND = YES;
+ GCC_C_LANGUAGE_STANDARD = gnu11;
+ GCC_NO_COMMON_BLOCKS = YES;
+ GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
+ GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
+ GCC_WARN_UNDECLARED_SELECTOR = YES;
+ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
+ GCC_WARN_UNUSED_FUNCTION = YES;
+ GCC_WARN_UNUSED_VARIABLE = YES;
+ IPHONEOS_DEPLOYMENT_TARGET = 8.0;
+ MTL_ENABLE_DEBUG_INFO = NO;
+ MTL_FAST_MATH = YES;
+ SDKROOT = iphoneos;
+ VALIDATE_PRODUCT = YES;
+ VERSIONING_SYSTEM = "apple-generic";
+ VERSION_INFO_PREFIX = "";
+ };
+ name = ReleaseAppStoreLLC;
+ };
+ D03E43CD230582870049C28B /* DebugAppStoreLLC */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ CODE_SIGN_IDENTITY = "";
+ CODE_SIGN_STYLE = Manual;
+ DEFINES_MODULE = YES;
+ DEVELOPMENT_TEAM = "";
+ DYLIB_COMPATIBILITY_VERSION = 1;
+ DYLIB_CURRENT_VERSION = 1;
+ DYLIB_INSTALL_NAME_BASE = "@rpath";
+ INFOPLIST_FILE = Info.plist;
+ INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
+ LD_RUNPATH_SEARCH_PATHS = (
+ "$(inherited)",
+ "@executable_path/Frameworks",
+ "@loader_path/Frameworks",
+ );
+ LIBRARY_SEARCH_PATHS = (
+ "$(inherited)",
+ "$(PROJECT_DIR)/Sources/opus/lib",
+ );
+ MACH_O_TYPE = staticlib;
+ PRODUCT_BUNDLE_IDENTIFIER = org.telegram.Opus;
+ PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
+ PROVISIONING_PROFILE_SPECIFIER = "";
+ SKIP_INSTALL = YES;
+ TARGETED_DEVICE_FAMILY = "1,2";
+ };
+ name = DebugAppStoreLLC;
+ };
+ D03E43CE230582870049C28B /* ReleaseAppStoreLLC */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ CODE_SIGN_IDENTITY = "";
+ CODE_SIGN_STYLE = Manual;
+ DEFINES_MODULE = YES;
+ DEVELOPMENT_TEAM = "";
+ DYLIB_COMPATIBILITY_VERSION = 1;
+ DYLIB_CURRENT_VERSION = 1;
+ DYLIB_INSTALL_NAME_BASE = "@rpath";
+ INFOPLIST_FILE = Info.plist;
+ INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
+ LD_RUNPATH_SEARCH_PATHS = (
+ "$(inherited)",
+ "@executable_path/Frameworks",
+ "@loader_path/Frameworks",
+ );
+ LIBRARY_SEARCH_PATHS = (
+ "$(inherited)",
+ "$(PROJECT_DIR)/Sources/opus/lib",
+ );
+ MACH_O_TYPE = staticlib;
+ PRODUCT_BUNDLE_IDENTIFIER = org.telegram.Opus;
+ PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
+ PROVISIONING_PROFILE_SPECIFIER = "";
+ SKIP_INSTALL = YES;
+ TARGETED_DEVICE_FAMILY = "1,2";
+ };
+ name = ReleaseAppStoreLLC;
+ };
+ D03E43CF230582D70049C28B /* DebugHockeyapp */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ CLANG_ANALYZER_NONNULL = YES;
+ CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
+ CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
+ CLANG_CXX_LIBRARY = "libc++";
+ CLANG_ENABLE_MODULES = YES;
+ CLANG_ENABLE_OBJC_ARC = YES;
+ CLANG_ENABLE_OBJC_WEAK = YES;
+ CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
+ CLANG_WARN_BOOL_CONVERSION = YES;
+ CLANG_WARN_COMMA = YES;
+ CLANG_WARN_CONSTANT_CONVERSION = YES;
+ CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
+ CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
+ CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
+ CLANG_WARN_EMPTY_BODY = YES;
+ CLANG_WARN_ENUM_CONVERSION = YES;
+ CLANG_WARN_INFINITE_RECURSION = YES;
+ CLANG_WARN_INT_CONVERSION = YES;
+ CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
+ CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
+ CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
+ CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
+ CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
+ CLANG_WARN_STRICT_PROTOTYPES = YES;
+ CLANG_WARN_SUSPICIOUS_MOVE = YES;
+ CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
+ CLANG_WARN_UNREACHABLE_CODE = YES;
+ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
+ CODE_SIGN_IDENTITY = "iPhone Developer";
+ COPY_PHASE_STRIP = NO;
+ CURRENT_PROJECT_VERSION = 1;
+ DEBUG_INFORMATION_FORMAT = dwarf;
+ ENABLE_STRICT_OBJC_MSGSEND = YES;
+ ENABLE_TESTABILITY = YES;
+ GCC_C_LANGUAGE_STANDARD = gnu11;
+ GCC_DYNAMIC_NO_PIC = NO;
+ GCC_NO_COMMON_BLOCKS = YES;
+ GCC_OPTIMIZATION_LEVEL = 0;
+ GCC_PREPROCESSOR_DEFINITIONS = (
+ "DEBUG=1",
+ "$(inherited)",
+ );
+ GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
+ GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
+ GCC_WARN_UNDECLARED_SELECTOR = YES;
+ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
+ GCC_WARN_UNUSED_FUNCTION = YES;
+ GCC_WARN_UNUSED_VARIABLE = YES;
+ IPHONEOS_DEPLOYMENT_TARGET = 8.0;
+ MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
+ MTL_FAST_MATH = YES;
+ ONLY_ACTIVE_ARCH = YES;
+ SDKROOT = iphoneos;
+ VERSIONING_SYSTEM = "apple-generic";
+ VERSION_INFO_PREFIX = "";
+ };
+ name = DebugHockeyapp;
+ };
+ D03E43D0230582D70049C28B /* DebugHockeyapp */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ CODE_SIGN_IDENTITY = "";
+ CODE_SIGN_STYLE = Manual;
+ DEFINES_MODULE = YES;
+ DEVELOPMENT_TEAM = "";
+ DYLIB_COMPATIBILITY_VERSION = 1;
+ DYLIB_CURRENT_VERSION = 1;
+ DYLIB_INSTALL_NAME_BASE = "@rpath";
+ INFOPLIST_FILE = Info.plist;
+ INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
+ LD_RUNPATH_SEARCH_PATHS = (
+ "$(inherited)",
+ "@executable_path/Frameworks",
+ "@loader_path/Frameworks",
+ );
+ LIBRARY_SEARCH_PATHS = (
+ "$(inherited)",
+ "$(PROJECT_DIR)/Sources/opus/lib",
+ );
+ MACH_O_TYPE = staticlib;
+ PRODUCT_BUNDLE_IDENTIFIER = org.telegram.Opus;
+ PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
+ PROVISIONING_PROFILE_SPECIFIER = "";
+ SKIP_INSTALL = YES;
+ TARGETED_DEVICE_FAMILY = "1,2";
+ };
+ name = DebugHockeyapp;
+ };
+ D03E43D1230582E40049C28B /* ReleaseHockeyappInternal */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ CLANG_ANALYZER_NONNULL = YES;
+ CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
+ CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
+ CLANG_CXX_LIBRARY = "libc++";
+ CLANG_ENABLE_MODULES = YES;
+ CLANG_ENABLE_OBJC_ARC = YES;
+ CLANG_ENABLE_OBJC_WEAK = YES;
+ CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
+ CLANG_WARN_BOOL_CONVERSION = YES;
+ CLANG_WARN_COMMA = YES;
+ CLANG_WARN_CONSTANT_CONVERSION = YES;
+ CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
+ CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
+ CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
+ CLANG_WARN_EMPTY_BODY = YES;
+ CLANG_WARN_ENUM_CONVERSION = YES;
+ CLANG_WARN_INFINITE_RECURSION = YES;
+ CLANG_WARN_INT_CONVERSION = YES;
+ CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
+ CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
+ CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
+ CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
+ CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
+ CLANG_WARN_STRICT_PROTOTYPES = YES;
+ CLANG_WARN_SUSPICIOUS_MOVE = YES;
+ CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
+ CLANG_WARN_UNREACHABLE_CODE = YES;
+ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
+ CODE_SIGN_IDENTITY = "iPhone Developer";
+ COPY_PHASE_STRIP = NO;
+ CURRENT_PROJECT_VERSION = 1;
+ DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
+ ENABLE_NS_ASSERTIONS = NO;
+ ENABLE_STRICT_OBJC_MSGSEND = YES;
+ GCC_C_LANGUAGE_STANDARD = gnu11;
+ GCC_NO_COMMON_BLOCKS = YES;
+ GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
+ GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
+ GCC_WARN_UNDECLARED_SELECTOR = YES;
+ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
+ GCC_WARN_UNUSED_FUNCTION = YES;
+ GCC_WARN_UNUSED_VARIABLE = YES;
+ IPHONEOS_DEPLOYMENT_TARGET = 8.0;
+ MTL_ENABLE_DEBUG_INFO = NO;
+ MTL_FAST_MATH = YES;
+ SDKROOT = iphoneos;
+ VALIDATE_PRODUCT = YES;
+ VERSIONING_SYSTEM = "apple-generic";
+ VERSION_INFO_PREFIX = "";
+ };
+ name = ReleaseHockeyappInternal;
+ };
+ D03E43D2230582E40049C28B /* ReleaseHockeyappInternal */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ CODE_SIGN_IDENTITY = "";
+ CODE_SIGN_STYLE = Manual;
+ DEFINES_MODULE = YES;
+ DEVELOPMENT_TEAM = "";
+ DYLIB_COMPATIBILITY_VERSION = 1;
+ DYLIB_CURRENT_VERSION = 1;
+ DYLIB_INSTALL_NAME_BASE = "@rpath";
+ INFOPLIST_FILE = Info.plist;
+ INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
+ LD_RUNPATH_SEARCH_PATHS = (
+ "$(inherited)",
+ "@executable_path/Frameworks",
+ "@loader_path/Frameworks",
+ );
+ LIBRARY_SEARCH_PATHS = (
+ "$(inherited)",
+ "$(PROJECT_DIR)/Sources/opus/lib",
+ );
+ MACH_O_TYPE = staticlib;
+ PRODUCT_BUNDLE_IDENTIFIER = org.telegram.Opus;
+ PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
+ PROVISIONING_PROFILE_SPECIFIER = "";
+ SKIP_INSTALL = YES;
+ TARGETED_DEVICE_FAMILY = "1,2";
+ };
+ name = ReleaseHockeyappInternal;
+ };
+/* End XCBuildConfiguration section */
+
+/* Begin XCConfigurationList section */
+ D03E43BE230582870049C28B /* Build configuration list for PBXProject "opus_Xcode" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ D03E43CA230582870049C28B /* DebugAppStoreLLC */,
+ D03E43CF230582D70049C28B /* DebugHockeyapp */,
+ D03E43CB230582870049C28B /* ReleaseAppStoreLLC */,
+ D03E43D1230582E40049C28B /* ReleaseHockeyappInternal */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = ReleaseAppStoreLLC;
+ };
+ D03E43CC230582870049C28B /* Build configuration list for PBXNativeTarget "opus" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ D03E43CD230582870049C28B /* DebugAppStoreLLC */,
+ D03E43D0230582D70049C28B /* DebugHockeyapp */,
+ D03E43CE230582870049C28B /* ReleaseAppStoreLLC */,
+ D03E43D2230582E40049C28B /* ReleaseHockeyappInternal */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = ReleaseAppStoreLLC;
+ };
+/* End XCConfigurationList section */
+ };
+ rootObject = D03E43BB230582870049C28B /* Project object */;
+}
diff --git a/submodules/OpusBinding/Info.plist b/submodules/OpusBinding/Info.plist
new file mode 100644
index 0000000000..e1fe4cfb7b
--- /dev/null
+++ b/submodules/OpusBinding/Info.plist
@@ -0,0 +1,22 @@
+
+
+
+
+ CFBundleDevelopmentRegion
+ $(DEVELOPMENT_LANGUAGE)
+ CFBundleExecutable
+ $(EXECUTABLE_NAME)
+ CFBundleIdentifier
+ $(PRODUCT_BUNDLE_IDENTIFIER)
+ CFBundleInfoDictionaryVersion
+ 6.0
+ CFBundleName
+ $(PRODUCT_NAME)
+ CFBundlePackageType
+ FMWK
+ CFBundleShortVersionString
+ 1.0
+ CFBundleVersion
+ $(CURRENT_PROJECT_VERSION)
+
+
diff --git a/submodules/OpusBinding/OpusBinding_Xcode.xcodeproj/project.pbxproj b/submodules/OpusBinding/OpusBinding_Xcode.xcodeproj/project.pbxproj
new file mode 100644
index 0000000000..b0f40fb056
--- /dev/null
+++ b/submodules/OpusBinding/OpusBinding_Xcode.xcodeproj/project.pbxproj
@@ -0,0 +1,672 @@
+// !$*UTF8*$!
+{
+ archiveVersion = 1;
+ classes = {
+ };
+ objectVersion = 50;
+ objects = {
+
+/* Begin PBXBuildFile section */
+ D03E434D23057EBE0049C28B /* OpusBinding.h in Headers */ = {isa = PBXBuildFile; fileRef = D03E434B23057EBE0049C28B /* OpusBinding.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ D03E437D23057FD50049C28B /* internal.h in Headers */ = {isa = PBXBuildFile; fileRef = D03E435E23057FD50049C28B /* internal.h */; };
+ D03E437E23057FD50049C28B /* opusfile.c in Sources */ = {isa = PBXBuildFile; fileRef = D03E435F23057FD50049C28B /* opusfile.c */; };
+ D03E437F23057FD50049C28B /* info.c in Sources */ = {isa = PBXBuildFile; fileRef = D03E436023057FD50049C28B /* info.c */; };
+ D03E438023057FD50049C28B /* internal.c in Sources */ = {isa = PBXBuildFile; fileRef = D03E436123057FD50049C28B /* internal.c */; };
+ D03E438123057FD50049C28B /* opusfile.h in Headers */ = {isa = PBXBuildFile; fileRef = D03E436223057FD50049C28B /* opusfile.h */; };
+ D03E438223057FD50049C28B /* stream.c in Sources */ = {isa = PBXBuildFile; fileRef = D03E436323057FD50049C28B /* stream.c */; };
+ D03E438923057FD50049C28B /* picture.h in Headers */ = {isa = PBXBuildFile; fileRef = D03E436F23057FD50049C28B /* picture.h */; };
+ D03E438A23057FD50049C28B /* opusenc.m in Sources */ = {isa = PBXBuildFile; fileRef = D03E437023057FD50049C28B /* opusenc.m */; };
+ D03E438B23057FD50049C28B /* opus_header.c in Sources */ = {isa = PBXBuildFile; fileRef = D03E437123057FD50049C28B /* opus_header.c */; };
+ D03E438C23057FD50049C28B /* wav_io.c in Sources */ = {isa = PBXBuildFile; fileRef = D03E437223057FD50049C28B /* wav_io.c */; };
+ D03E438D23057FD50049C28B /* diag_range.h in Headers */ = {isa = PBXBuildFile; fileRef = D03E437323057FD50049C28B /* diag_range.h */; };
+ D03E438E23057FD50049C28B /* picture.c in Sources */ = {isa = PBXBuildFile; fileRef = D03E437423057FD50049C28B /* picture.c */; };
+ D03E438F23057FD50049C28B /* opus_header.h in Headers */ = {isa = PBXBuildFile; fileRef = D03E437523057FD50049C28B /* opus_header.h */; };
+ D03E439123057FD50049C28B /* wav_io.h in Headers */ = {isa = PBXBuildFile; fileRef = D03E437723057FD50049C28B /* wav_io.h */; };
+ D03E439223057FD50049C28B /* diag_range.c in Sources */ = {isa = PBXBuildFile; fileRef = D03E437823057FD50049C28B /* diag_range.c */; };
+ D03E439F230581B30049C28B /* TGDataItem.m in Sources */ = {isa = PBXBuildFile; fileRef = D03E439D230581B30049C28B /* TGDataItem.m */; };
+ D03E43A0230581B30049C28B /* TGDataItem.h in Headers */ = {isa = PBXBuildFile; fileRef = D03E439E230581B30049C28B /* TGDataItem.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ D03E43E3230590210049C28B /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D03E43E2230590210049C28B /* Foundation.framework */; };
+ D03E43E8230593140049C28B /* TGOggOpusWriter.h in Headers */ = {isa = PBXBuildFile; fileRef = D03E43E6230593140049C28B /* TGOggOpusWriter.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ D03E44122305ACC10049C28B /* opus.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D03E44112305ACC10049C28B /* opus.framework */; };
+ D03E441C2305AEE30049C28B /* ogg.h in Headers */ = {isa = PBXBuildFile; fileRef = D03E44182305AEE30049C28B /* ogg.h */; };
+ D03E441D2305AEE30049C28B /* framing.c in Sources */ = {isa = PBXBuildFile; fileRef = D03E44192305AEE30049C28B /* framing.c */; };
+ D03E441E2305AEE30049C28B /* os_types.h in Headers */ = {isa = PBXBuildFile; fileRef = D03E441A2305AEE30049C28B /* os_types.h */; };
+ D03E441F2305AEE30049C28B /* bitwise.c in Sources */ = {isa = PBXBuildFile; fileRef = D03E441B2305AEE30049C28B /* bitwise.c */; };
+ D03E44222305AFEB0049C28B /* OggOpusReader.h in Headers */ = {isa = PBXBuildFile; fileRef = D03E44202305AFEB0049C28B /* OggOpusReader.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ D03E44232305AFEB0049C28B /* OggOpusReader.m in Sources */ = {isa = PBXBuildFile; fileRef = D03E44212305AFEB0049C28B /* OggOpusReader.m */; };
+/* End PBXBuildFile section */
+
+/* Begin PBXFileReference section */
+ D03E434823057EBE0049C28B /* OpusBinding.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = OpusBinding.framework; sourceTree = BUILT_PRODUCTS_DIR; };
+ D03E434B23057EBE0049C28B /* OpusBinding.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = OpusBinding.h; sourceTree = ""; };
+ D03E434C23057EBE0049C28B /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; };
+ D03E435E23057FD50049C28B /* internal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = internal.h; sourceTree = ""; };
+ D03E435F23057FD50049C28B /* opusfile.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = opusfile.c; sourceTree = ""; };
+ D03E436023057FD50049C28B /* info.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = info.c; sourceTree = ""; };
+ D03E436123057FD50049C28B /* internal.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = internal.c; sourceTree = ""; };
+ D03E436223057FD50049C28B /* opusfile.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = opusfile.h; sourceTree = ""; };
+ D03E436323057FD50049C28B /* stream.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = stream.c; sourceTree = ""; };
+ D03E436F23057FD50049C28B /* picture.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = picture.h; sourceTree = ""; };
+ D03E437023057FD50049C28B /* opusenc.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = opusenc.m; sourceTree = ""; };
+ D03E437123057FD50049C28B /* opus_header.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = opus_header.c; sourceTree = ""; };
+ D03E437223057FD50049C28B /* wav_io.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = wav_io.c; sourceTree = ""; };
+ D03E437323057FD50049C28B /* diag_range.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = diag_range.h; sourceTree = ""; };
+ D03E437423057FD50049C28B /* picture.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = picture.c; sourceTree = ""; };
+ D03E437523057FD50049C28B /* opus_header.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = opus_header.h; sourceTree = ""; };
+ D03E437723057FD50049C28B /* wav_io.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = wav_io.h; sourceTree = ""; };
+ D03E437823057FD50049C28B /* diag_range.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = diag_range.c; sourceTree = ""; };
+ D03E439D230581B30049C28B /* TGDataItem.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TGDataItem.m; sourceTree = ""; };
+ D03E439E230581B30049C28B /* TGDataItem.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TGDataItem.h; sourceTree = ""; };
+ D03E43E2230590210049C28B /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
+ D03E43E4230590240049C28B /* Opus.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = Opus.framework; sourceTree = BUILT_PRODUCTS_DIR; };
+ D03E43E6230593140049C28B /* TGOggOpusWriter.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TGOggOpusWriter.h; sourceTree = ""; };
+ D03E440F2305ACBB0049C28B /* ogg.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = ogg.framework; sourceTree = BUILT_PRODUCTS_DIR; };
+ D03E44112305ACC10049C28B /* opus.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = opus.framework; sourceTree = BUILT_PRODUCTS_DIR; };
+ D03E44182305AEE30049C28B /* ogg.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ogg.h; sourceTree = ""; };
+ D03E44192305AEE30049C28B /* framing.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = framing.c; sourceTree = ""; };
+ D03E441A2305AEE30049C28B /* os_types.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = os_types.h; sourceTree = ""; };
+ D03E441B2305AEE30049C28B /* bitwise.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bitwise.c; sourceTree = ""; };
+ D03E44202305AFEB0049C28B /* OggOpusReader.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = OggOpusReader.h; sourceTree = ""; };
+ D03E44212305AFEB0049C28B /* OggOpusReader.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = OggOpusReader.m; sourceTree = ""; };
+/* End PBXFileReference section */
+
+/* Begin PBXFrameworksBuildPhase section */
+ D03E434523057EBE0049C28B /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ D03E44122305ACC10049C28B /* opus.framework in Frameworks */,
+ D03E43E3230590210049C28B /* Foundation.framework in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXFrameworksBuildPhase section */
+
+/* Begin PBXGroup section */
+ D03E433E23057EBE0049C28B = {
+ isa = PBXGroup;
+ children = (
+ D03E434C23057EBE0049C28B /* Info.plist */,
+ D03E434A23057EBE0049C28B /* Sources */,
+ D03E434923057EBE0049C28B /* Products */,
+ D03E43E1230590200049C28B /* Frameworks */,
+ );
+ sourceTree = "";
+ };
+ D03E434923057EBE0049C28B /* Products */ = {
+ isa = PBXGroup;
+ children = (
+ D03E434823057EBE0049C28B /* OpusBinding.framework */,
+ );
+ name = Products;
+ sourceTree = "";
+ };
+ D03E434A23057EBE0049C28B /* Sources */ = {
+ isa = PBXGroup;
+ children = (
+ D03E439E230581B30049C28B /* TGDataItem.h */,
+ D03E439D230581B30049C28B /* TGDataItem.m */,
+ D03E43E6230593140049C28B /* TGOggOpusWriter.h */,
+ D03E44202305AFEB0049C28B /* OggOpusReader.h */,
+ D03E44212305AFEB0049C28B /* OggOpusReader.m */,
+ D03E44172305AEE30049C28B /* ogg */,
+ D03E436E23057FD50049C28B /* opusenc */,
+ D03E435D23057FD50049C28B /* opusfile */,
+ D03E434B23057EBE0049C28B /* OpusBinding.h */,
+ );
+ path = Sources;
+ sourceTree = "";
+ };
+ D03E435D23057FD50049C28B /* opusfile */ = {
+ isa = PBXGroup;
+ children = (
+ D03E435E23057FD50049C28B /* internal.h */,
+ D03E435F23057FD50049C28B /* opusfile.c */,
+ D03E436023057FD50049C28B /* info.c */,
+ D03E436123057FD50049C28B /* internal.c */,
+ D03E436223057FD50049C28B /* opusfile.h */,
+ D03E436323057FD50049C28B /* stream.c */,
+ );
+ path = opusfile;
+ sourceTree = "";
+ };
+ D03E436E23057FD50049C28B /* opusenc */ = {
+ isa = PBXGroup;
+ children = (
+ D03E436F23057FD50049C28B /* picture.h */,
+ D03E437023057FD50049C28B /* opusenc.m */,
+ D03E437123057FD50049C28B /* opus_header.c */,
+ D03E437223057FD50049C28B /* wav_io.c */,
+ D03E437323057FD50049C28B /* diag_range.h */,
+ D03E437423057FD50049C28B /* picture.c */,
+ D03E437523057FD50049C28B /* opus_header.h */,
+ D03E437723057FD50049C28B /* wav_io.h */,
+ D03E437823057FD50049C28B /* diag_range.c */,
+ );
+ path = opusenc;
+ sourceTree = "";
+ };
+ D03E43E1230590200049C28B /* Frameworks */ = {
+ isa = PBXGroup;
+ children = (
+ D03E44112305ACC10049C28B /* opus.framework */,
+ D03E440F2305ACBB0049C28B /* ogg.framework */,
+ D03E43E4230590240049C28B /* Opus.framework */,
+ D03E43E2230590210049C28B /* Foundation.framework */,
+ );
+ name = Frameworks;
+ sourceTree = "";
+ };
+ D03E44172305AEE30049C28B /* ogg */ = {
+ isa = PBXGroup;
+ children = (
+ D03E44182305AEE30049C28B /* ogg.h */,
+ D03E44192305AEE30049C28B /* framing.c */,
+ D03E441A2305AEE30049C28B /* os_types.h */,
+ D03E441B2305AEE30049C28B /* bitwise.c */,
+ );
+ path = ogg;
+ sourceTree = "";
+ };
+/* End PBXGroup section */
+
+/* Begin PBXHeadersBuildPhase section */
+ D03E434323057EBE0049C28B /* Headers */ = {
+ isa = PBXHeadersBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ D03E438923057FD50049C28B /* picture.h in Headers */,
+ D03E438F23057FD50049C28B /* opus_header.h in Headers */,
+ D03E439123057FD50049C28B /* wav_io.h in Headers */,
+ D03E437D23057FD50049C28B /* internal.h in Headers */,
+ D03E44222305AFEB0049C28B /* OggOpusReader.h in Headers */,
+ D03E441C2305AEE30049C28B /* ogg.h in Headers */,
+ D03E434D23057EBE0049C28B /* OpusBinding.h in Headers */,
+ D03E43A0230581B30049C28B /* TGDataItem.h in Headers */,
+ D03E438123057FD50049C28B /* opusfile.h in Headers */,
+ D03E441E2305AEE30049C28B /* os_types.h in Headers */,
+ D03E438D23057FD50049C28B /* diag_range.h in Headers */,
+ D03E43E8230593140049C28B /* TGOggOpusWriter.h in Headers */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXHeadersBuildPhase section */
+
+/* Begin PBXNativeTarget section */
+ D03E434723057EBE0049C28B /* OpusBinding */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = D03E435023057EBE0049C28B /* Build configuration list for PBXNativeTarget "OpusBinding" */;
+ buildPhases = (
+ D03E434323057EBE0049C28B /* Headers */,
+ D03E434423057EBE0049C28B /* Sources */,
+ D03E434523057EBE0049C28B /* Frameworks */,
+ D03E434623057EBE0049C28B /* Resources */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ );
+ name = OpusBinding;
+ productName = OpusBinding;
+ productReference = D03E434823057EBE0049C28B /* OpusBinding.framework */;
+ productType = "com.apple.product-type.framework";
+ };
+/* End PBXNativeTarget section */
+
+/* Begin PBXProject section */
+ D03E433F23057EBE0049C28B /* Project object */ = {
+ isa = PBXProject;
+ attributes = {
+ DefaultBuildSystemTypeForWorkspace = Latest;
+ LastUpgradeCheck = 1030;
+ ORGANIZATIONNAME = "Telegram Messenger LLP";
+ TargetAttributes = {
+ D03E434723057EBE0049C28B = {
+ CreatedOnToolsVersion = 10.3;
+ };
+ };
+ };
+ buildConfigurationList = D03E434223057EBE0049C28B /* Build configuration list for PBXProject "OpusBinding_Xcode" */;
+ compatibilityVersion = "Xcode 9.3";
+ developmentRegion = en;
+ hasScannedForEncodings = 0;
+ knownRegions = (
+ en,
+ );
+ mainGroup = D03E433E23057EBE0049C28B;
+ productRefGroup = D03E434923057EBE0049C28B /* Products */;
+ projectDirPath = "";
+ projectRoot = "";
+ targets = (
+ D03E434723057EBE0049C28B /* OpusBinding */,
+ );
+ };
+/* End PBXProject section */
+
+/* Begin PBXResourcesBuildPhase section */
+ D03E434623057EBE0049C28B /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXResourcesBuildPhase section */
+
+/* Begin PBXSourcesBuildPhase section */
+ D03E434423057EBE0049C28B /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ D03E437E23057FD50049C28B /* opusfile.c in Sources */,
+ D03E437F23057FD50049C28B /* info.c in Sources */,
+ D03E438E23057FD50049C28B /* picture.c in Sources */,
+ D03E438A23057FD50049C28B /* opusenc.m in Sources */,
+ D03E438C23057FD50049C28B /* wav_io.c in Sources */,
+ D03E44232305AFEB0049C28B /* OggOpusReader.m in Sources */,
+ D03E441F2305AEE30049C28B /* bitwise.c in Sources */,
+ D03E439223057FD50049C28B /* diag_range.c in Sources */,
+ D03E439F230581B30049C28B /* TGDataItem.m in Sources */,
+ D03E438B23057FD50049C28B /* opus_header.c in Sources */,
+ D03E438023057FD50049C28B /* internal.c in Sources */,
+ D03E438223057FD50049C28B /* stream.c in Sources */,
+ D03E441D2305AEE30049C28B /* framing.c in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXSourcesBuildPhase section */
+
+/* Begin XCBuildConfiguration section */
+ D03E434E23057EBE0049C28B /* DebugAppStoreLLC */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ CLANG_ANALYZER_NONNULL = YES;
+ CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
+ CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
+ CLANG_CXX_LIBRARY = "libc++";
+ CLANG_ENABLE_MODULES = YES;
+ CLANG_ENABLE_OBJC_ARC = YES;
+ CLANG_ENABLE_OBJC_WEAK = YES;
+ CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
+ CLANG_WARN_BOOL_CONVERSION = YES;
+ CLANG_WARN_COMMA = YES;
+ CLANG_WARN_CONSTANT_CONVERSION = YES;
+ CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
+ CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
+ CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
+ CLANG_WARN_EMPTY_BODY = YES;
+ CLANG_WARN_ENUM_CONVERSION = YES;
+ CLANG_WARN_INFINITE_RECURSION = YES;
+ CLANG_WARN_INT_CONVERSION = YES;
+ CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
+ CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
+ CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
+ CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
+ CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
+ CLANG_WARN_STRICT_PROTOTYPES = YES;
+ CLANG_WARN_SUSPICIOUS_MOVE = YES;
+ CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
+ CLANG_WARN_UNREACHABLE_CODE = YES;
+ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
+ CODE_SIGN_IDENTITY = "iPhone Developer";
+ COPY_PHASE_STRIP = NO;
+ CURRENT_PROJECT_VERSION = 1;
+ DEBUG_INFORMATION_FORMAT = dwarf;
+ ENABLE_STRICT_OBJC_MSGSEND = YES;
+ ENABLE_TESTABILITY = YES;
+ GCC_C_LANGUAGE_STANDARD = gnu11;
+ GCC_DYNAMIC_NO_PIC = NO;
+ GCC_NO_COMMON_BLOCKS = YES;
+ GCC_OPTIMIZATION_LEVEL = 0;
+ GCC_PREPROCESSOR_DEFINITIONS = (
+ "DEBUG=1",
+ "$(inherited)",
+ );
+ GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
+ GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
+ GCC_WARN_UNDECLARED_SELECTOR = YES;
+ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
+ GCC_WARN_UNUSED_FUNCTION = YES;
+ GCC_WARN_UNUSED_VARIABLE = YES;
+ IPHONEOS_DEPLOYMENT_TARGET = 8.0;
+ MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
+ MTL_FAST_MATH = YES;
+ ONLY_ACTIVE_ARCH = YES;
+ SDKROOT = iphoneos;
+ VERSIONING_SYSTEM = "apple-generic";
+ VERSION_INFO_PREFIX = "";
+ };
+ name = DebugAppStoreLLC;
+ };
+ D03E434F23057EBE0049C28B /* ReleaseAppStoreLLC */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ CLANG_ANALYZER_NONNULL = YES;
+ CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
+ CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
+ CLANG_CXX_LIBRARY = "libc++";
+ CLANG_ENABLE_MODULES = YES;
+ CLANG_ENABLE_OBJC_ARC = YES;
+ CLANG_ENABLE_OBJC_WEAK = YES;
+ CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
+ CLANG_WARN_BOOL_CONVERSION = YES;
+ CLANG_WARN_COMMA = YES;
+ CLANG_WARN_CONSTANT_CONVERSION = YES;
+ CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
+ CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
+ CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
+ CLANG_WARN_EMPTY_BODY = YES;
+ CLANG_WARN_ENUM_CONVERSION = YES;
+ CLANG_WARN_INFINITE_RECURSION = YES;
+ CLANG_WARN_INT_CONVERSION = YES;
+ CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
+ CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
+ CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
+ CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
+ CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
+ CLANG_WARN_STRICT_PROTOTYPES = YES;
+ CLANG_WARN_SUSPICIOUS_MOVE = YES;
+ CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
+ CLANG_WARN_UNREACHABLE_CODE = YES;
+ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
+ CODE_SIGN_IDENTITY = "iPhone Developer";
+ COPY_PHASE_STRIP = NO;
+ CURRENT_PROJECT_VERSION = 1;
+ DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
+ ENABLE_NS_ASSERTIONS = NO;
+ ENABLE_STRICT_OBJC_MSGSEND = YES;
+ GCC_C_LANGUAGE_STANDARD = gnu11;
+ GCC_NO_COMMON_BLOCKS = YES;
+ GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
+ GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
+ GCC_WARN_UNDECLARED_SELECTOR = YES;
+ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
+ GCC_WARN_UNUSED_FUNCTION = YES;
+ GCC_WARN_UNUSED_VARIABLE = YES;
+ IPHONEOS_DEPLOYMENT_TARGET = 8.0;
+ MTL_ENABLE_DEBUG_INFO = NO;
+ MTL_FAST_MATH = YES;
+ SDKROOT = iphoneos;
+ VALIDATE_PRODUCT = YES;
+ VERSIONING_SYSTEM = "apple-generic";
+ VERSION_INFO_PREFIX = "";
+ };
+ name = ReleaseAppStoreLLC;
+ };
+ D03E435123057EBE0049C28B /* DebugAppStoreLLC */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ CODE_SIGN_IDENTITY = "";
+ CODE_SIGN_STYLE = Manual;
+ DEFINES_MODULE = YES;
+ DEVELOPMENT_TEAM = "";
+ DYLIB_COMPATIBILITY_VERSION = 1;
+ DYLIB_CURRENT_VERSION = 1;
+ DYLIB_INSTALL_NAME_BASE = "@rpath";
+ HEADER_SEARCH_PATHS = "$(PROJECT_DIR)/Sources";
+ INFOPLIST_FILE = Info.plist;
+ INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
+ LD_RUNPATH_SEARCH_PATHS = (
+ "$(inherited)",
+ "@executable_path/Frameworks",
+ "@loader_path/Frameworks",
+ );
+ LIBRARY_SEARCH_PATHS = (
+ "$(inherited)",
+ "$(PROJECT_DIR)/Sources/opus/lib",
+ );
+ MACH_O_TYPE = staticlib;
+ PRODUCT_BUNDLE_IDENTIFIER = org.telegram.OpusBinding;
+ PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
+ PROVISIONING_PROFILE_SPECIFIER = "";
+ SKIP_INSTALL = YES;
+ TARGETED_DEVICE_FAMILY = "1,2";
+ USER_HEADER_SEARCH_PATHS = "";
+ };
+ name = DebugAppStoreLLC;
+ };
+ D03E435223057EBE0049C28B /* ReleaseAppStoreLLC */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ CODE_SIGN_IDENTITY = "";
+ CODE_SIGN_STYLE = Manual;
+ DEFINES_MODULE = YES;
+ DEVELOPMENT_TEAM = "";
+ DYLIB_COMPATIBILITY_VERSION = 1;
+ DYLIB_CURRENT_VERSION = 1;
+ DYLIB_INSTALL_NAME_BASE = "@rpath";
+ HEADER_SEARCH_PATHS = "$(PROJECT_DIR)/Sources";
+ INFOPLIST_FILE = Info.plist;
+ INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
+ LD_RUNPATH_SEARCH_PATHS = (
+ "$(inherited)",
+ "@executable_path/Frameworks",
+ "@loader_path/Frameworks",
+ );
+ LIBRARY_SEARCH_PATHS = (
+ "$(inherited)",
+ "$(PROJECT_DIR)/Sources/opus/lib",
+ );
+ MACH_O_TYPE = staticlib;
+ PRODUCT_BUNDLE_IDENTIFIER = org.telegram.OpusBinding;
+ PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
+ PROVISIONING_PROFILE_SPECIFIER = "";
+ SKIP_INSTALL = YES;
+ TARGETED_DEVICE_FAMILY = "1,2";
+ USER_HEADER_SEARCH_PATHS = "";
+ };
+ name = ReleaseAppStoreLLC;
+ };
+ D03E435323057F620049C28B /* DebugHockeyapp */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ CLANG_ANALYZER_NONNULL = YES;
+ CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
+ CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
+ CLANG_CXX_LIBRARY = "libc++";
+ CLANG_ENABLE_MODULES = YES;
+ CLANG_ENABLE_OBJC_ARC = YES;
+ CLANG_ENABLE_OBJC_WEAK = YES;
+ CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
+ CLANG_WARN_BOOL_CONVERSION = YES;
+ CLANG_WARN_COMMA = YES;
+ CLANG_WARN_CONSTANT_CONVERSION = YES;
+ CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
+ CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
+ CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
+ CLANG_WARN_EMPTY_BODY = YES;
+ CLANG_WARN_ENUM_CONVERSION = YES;
+ CLANG_WARN_INFINITE_RECURSION = YES;
+ CLANG_WARN_INT_CONVERSION = YES;
+ CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
+ CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
+ CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
+ CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
+ CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
+ CLANG_WARN_STRICT_PROTOTYPES = YES;
+ CLANG_WARN_SUSPICIOUS_MOVE = YES;
+ CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
+ CLANG_WARN_UNREACHABLE_CODE = YES;
+ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
+ CODE_SIGN_IDENTITY = "iPhone Developer";
+ COPY_PHASE_STRIP = NO;
+ CURRENT_PROJECT_VERSION = 1;
+ DEBUG_INFORMATION_FORMAT = dwarf;
+ ENABLE_STRICT_OBJC_MSGSEND = YES;
+ ENABLE_TESTABILITY = YES;
+ GCC_C_LANGUAGE_STANDARD = gnu11;
+ GCC_DYNAMIC_NO_PIC = NO;
+ GCC_NO_COMMON_BLOCKS = YES;
+ GCC_OPTIMIZATION_LEVEL = 0;
+ GCC_PREPROCESSOR_DEFINITIONS = (
+ "DEBUG=1",
+ "$(inherited)",
+ );
+ GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
+ GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
+ GCC_WARN_UNDECLARED_SELECTOR = YES;
+ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
+ GCC_WARN_UNUSED_FUNCTION = YES;
+ GCC_WARN_UNUSED_VARIABLE = YES;
+ IPHONEOS_DEPLOYMENT_TARGET = 8.0;
+ MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
+ MTL_FAST_MATH = YES;
+ ONLY_ACTIVE_ARCH = YES;
+ SDKROOT = iphoneos;
+ VERSIONING_SYSTEM = "apple-generic";
+ VERSION_INFO_PREFIX = "";
+ };
+ name = DebugHockeyapp;
+ };
+ D03E435423057F620049C28B /* DebugHockeyapp */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ CODE_SIGN_IDENTITY = "";
+ CODE_SIGN_STYLE = Manual;
+ DEFINES_MODULE = YES;
+ DEVELOPMENT_TEAM = "";
+ DYLIB_COMPATIBILITY_VERSION = 1;
+ DYLIB_CURRENT_VERSION = 1;
+ DYLIB_INSTALL_NAME_BASE = "@rpath";
+ HEADER_SEARCH_PATHS = "$(PROJECT_DIR)/Sources";
+ INFOPLIST_FILE = Info.plist;
+ INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
+ LD_RUNPATH_SEARCH_PATHS = (
+ "$(inherited)",
+ "@executable_path/Frameworks",
+ "@loader_path/Frameworks",
+ );
+ LIBRARY_SEARCH_PATHS = (
+ "$(inherited)",
+ "$(PROJECT_DIR)/Sources/opus/lib",
+ );
+ MACH_O_TYPE = staticlib;
+ PRODUCT_BUNDLE_IDENTIFIER = org.telegram.OpusBinding;
+ PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
+ PROVISIONING_PROFILE_SPECIFIER = "";
+ SKIP_INSTALL = YES;
+ TARGETED_DEVICE_FAMILY = "1,2";
+ USER_HEADER_SEARCH_PATHS = "";
+ };
+ name = DebugHockeyapp;
+ };
+ D03E435523057F6B0049C28B /* ReleaseHockeyappInternal */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ CLANG_ANALYZER_NONNULL = YES;
+ CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
+ CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
+ CLANG_CXX_LIBRARY = "libc++";
+ CLANG_ENABLE_MODULES = YES;
+ CLANG_ENABLE_OBJC_ARC = YES;
+ CLANG_ENABLE_OBJC_WEAK = YES;
+ CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
+ CLANG_WARN_BOOL_CONVERSION = YES;
+ CLANG_WARN_COMMA = YES;
+ CLANG_WARN_CONSTANT_CONVERSION = YES;
+ CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
+ CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
+ CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
+ CLANG_WARN_EMPTY_BODY = YES;
+ CLANG_WARN_ENUM_CONVERSION = YES;
+ CLANG_WARN_INFINITE_RECURSION = YES;
+ CLANG_WARN_INT_CONVERSION = YES;
+ CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
+ CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
+ CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
+ CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
+ CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
+ CLANG_WARN_STRICT_PROTOTYPES = YES;
+ CLANG_WARN_SUSPICIOUS_MOVE = YES;
+ CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
+ CLANG_WARN_UNREACHABLE_CODE = YES;
+ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
+ CODE_SIGN_IDENTITY = "iPhone Developer";
+ COPY_PHASE_STRIP = NO;
+ CURRENT_PROJECT_VERSION = 1;
+ DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
+ ENABLE_NS_ASSERTIONS = NO;
+ ENABLE_STRICT_OBJC_MSGSEND = YES;
+ GCC_C_LANGUAGE_STANDARD = gnu11;
+ GCC_NO_COMMON_BLOCKS = YES;
+ GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
+ GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
+ GCC_WARN_UNDECLARED_SELECTOR = YES;
+ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
+ GCC_WARN_UNUSED_FUNCTION = YES;
+ GCC_WARN_UNUSED_VARIABLE = YES;
+ IPHONEOS_DEPLOYMENT_TARGET = 8.0;
+ MTL_ENABLE_DEBUG_INFO = NO;
+ MTL_FAST_MATH = YES;
+ SDKROOT = iphoneos;
+ VALIDATE_PRODUCT = YES;
+ VERSIONING_SYSTEM = "apple-generic";
+ VERSION_INFO_PREFIX = "";
+ };
+ name = ReleaseHockeyappInternal;
+ };
+ D03E435623057F6B0049C28B /* ReleaseHockeyappInternal */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ CODE_SIGN_IDENTITY = "";
+ CODE_SIGN_STYLE = Manual;
+ DEFINES_MODULE = YES;
+ DEVELOPMENT_TEAM = "";
+ DYLIB_COMPATIBILITY_VERSION = 1;
+ DYLIB_CURRENT_VERSION = 1;
+ DYLIB_INSTALL_NAME_BASE = "@rpath";
+ HEADER_SEARCH_PATHS = "$(PROJECT_DIR)/Sources";
+ INFOPLIST_FILE = Info.plist;
+ INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
+ LD_RUNPATH_SEARCH_PATHS = (
+ "$(inherited)",
+ "@executable_path/Frameworks",
+ "@loader_path/Frameworks",
+ );
+ LIBRARY_SEARCH_PATHS = (
+ "$(inherited)",
+ "$(PROJECT_DIR)/Sources/opus/lib",
+ );
+ MACH_O_TYPE = staticlib;
+ PRODUCT_BUNDLE_IDENTIFIER = org.telegram.OpusBinding;
+ PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
+ PROVISIONING_PROFILE_SPECIFIER = "";
+ SKIP_INSTALL = YES;
+ TARGETED_DEVICE_FAMILY = "1,2";
+ USER_HEADER_SEARCH_PATHS = "";
+ };
+ name = ReleaseHockeyappInternal;
+ };
+/* End XCBuildConfiguration section */
+
+/* Begin XCConfigurationList section */
+ D03E434223057EBE0049C28B /* Build configuration list for PBXProject "OpusBinding_Xcode" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ D03E434E23057EBE0049C28B /* DebugAppStoreLLC */,
+ D03E435323057F620049C28B /* DebugHockeyapp */,
+ D03E434F23057EBE0049C28B /* ReleaseAppStoreLLC */,
+ D03E435523057F6B0049C28B /* ReleaseHockeyappInternal */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = ReleaseAppStoreLLC;
+ };
+ D03E435023057EBE0049C28B /* Build configuration list for PBXNativeTarget "OpusBinding" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ D03E435123057EBE0049C28B /* DebugAppStoreLLC */,
+ D03E435423057F620049C28B /* DebugHockeyapp */,
+ D03E435223057EBE0049C28B /* ReleaseAppStoreLLC */,
+ D03E435623057F6B0049C28B /* ReleaseHockeyappInternal */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = ReleaseAppStoreLLC;
+ };
+/* End XCConfigurationList section */
+ };
+ rootObject = D03E433F23057EBE0049C28B /* Project object */;
+}
diff --git a/submodules/OpusBinding/Sources/OggOpusReader.h b/submodules/OpusBinding/Sources/OggOpusReader.h
new file mode 100644
index 0000000000..2bfe4c5438
--- /dev/null
+++ b/submodules/OpusBinding/Sources/OggOpusReader.h
@@ -0,0 +1,13 @@
+#import
+
+NS_ASSUME_NONNULL_BEGIN
+
+@interface OggOpusReader : NSObject
+
+- (instancetype _Nullable)initWithPath:(NSString *)path;
+
+- (int32_t)read:(void *)pcmData bufSize:(int)bufSize;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/submodules/OpusBinding/Sources/OggOpusReader.m b/submodules/OpusBinding/Sources/OggOpusReader.m
new file mode 100644
index 0000000000..bf569da19f
--- /dev/null
+++ b/submodules/OpusBinding/Sources/OggOpusReader.m
@@ -0,0 +1,35 @@
+#import "OggOpusReader.h"
+
+#import "opusfile/opusfile.h"
+
+@interface OggOpusReader () {
+ OggOpusFile *_opusFile;
+}
+
+@end
+
+@implementation OggOpusReader
+
+- (instancetype _Nullable)init:(NSString *)path {
+ self = [super init];
+ if (self != nil) {
+ int error = OPUS_OK;
+ _opusFile = op_open_file(path.UTF8String, &error);
+ if (_opusFile == NULL || error != OPUS_OK) {
+ return nil;
+ }
+ }
+ return self;
+}
+
+- (void)dealloc {
+ if (_opusFile) {
+ op_free(_opusFile);
+ }
+}
+
+- (int32_t)read:(void *)pcmData bufSize:(int)bufSize {
+ return op_read(_opusFile, pcmData, bufSize, NULL);
+}
+
+@end
diff --git a/submodules/OpusBinding/Sources/OpusBinding.h b/submodules/OpusBinding/Sources/OpusBinding.h
new file mode 100644
index 0000000000..43fe2aebe3
--- /dev/null
+++ b/submodules/OpusBinding/Sources/OpusBinding.h
@@ -0,0 +1,11 @@
+#import
+
+//! Project version number for OpusBinding.
+FOUNDATION_EXPORT double OpusBindingVersionNumber;
+
+//! Project version string for OpusBinding.
+FOUNDATION_EXPORT const unsigned char OpusBindingVersionString[];
+
+#import
+#import
+#import
diff --git a/submodules/TelegramUI/TelegramUI/TGDataItem.h b/submodules/OpusBinding/Sources/TGDataItem.h
similarity index 100%
rename from submodules/TelegramUI/TelegramUI/TGDataItem.h
rename to submodules/OpusBinding/Sources/TGDataItem.h
diff --git a/submodules/TelegramUI/TelegramUI/TGDataItem.m b/submodules/OpusBinding/Sources/TGDataItem.m
similarity index 100%
rename from submodules/TelegramUI/TelegramUI/TGDataItem.m
rename to submodules/OpusBinding/Sources/TGDataItem.m
diff --git a/submodules/TelegramUI/third-party/opusenc/opusenc.h b/submodules/OpusBinding/Sources/TGOggOpusWriter.h
similarity index 58%
rename from submodules/TelegramUI/third-party/opusenc/opusenc.h
rename to submodules/OpusBinding/Sources/TGOggOpusWriter.h
index 03d6425ede..ffaaaf8564 100644
--- a/submodules/TelegramUI/third-party/opusenc/opusenc.h
+++ b/submodules/OpusBinding/Sources/TGOggOpusWriter.h
@@ -1,17 +1,16 @@
-#ifndef __OPUSENC_H
-#define __OPUSENC_H
-
#import
+NS_ASSUME_NONNULL_BEGIN
+
@class TGDataItem;
@interface TGOggOpusWriter : NSObject
- (bool)beginWithDataItem:(TGDataItem *)dataItem;
-- (bool)writeFrame:(uint8_t *)framePcmBytes frameByteCount:(NSUInteger)frameByteCount;
+- (bool)writeFrame:(uint8_t * _Nullable)framePcmBytes frameByteCount:(NSUInteger)frameByteCount;
- (NSUInteger)encodedBytes;
- (NSTimeInterval)encodedDuration;
@end
-#endif /* __OPUSENC_H */
+NS_ASSUME_NONNULL_END
diff --git a/submodules/TelegramUI/third-party/ogg/ogg/bitwise.c b/submodules/OpusBinding/Sources/ogg/bitwise.c
similarity index 100%
rename from submodules/TelegramUI/third-party/ogg/ogg/bitwise.c
rename to submodules/OpusBinding/Sources/ogg/bitwise.c
diff --git a/submodules/TelegramUI/third-party/ogg/ogg/framing.c b/submodules/OpusBinding/Sources/ogg/framing.c
similarity index 100%
rename from submodules/TelegramUI/third-party/ogg/ogg/framing.c
rename to submodules/OpusBinding/Sources/ogg/framing.c
diff --git a/submodules/TelegramUI/third-party/ogg/ogg/ogg.h b/submodules/OpusBinding/Sources/ogg/ogg.h
similarity index 100%
rename from submodules/TelegramUI/third-party/ogg/ogg/ogg.h
rename to submodules/OpusBinding/Sources/ogg/ogg.h
diff --git a/submodules/TelegramUI/third-party/ogg/ogg/os_types.h b/submodules/OpusBinding/Sources/ogg/os_types.h
similarity index 100%
rename from submodules/TelegramUI/third-party/ogg/ogg/os_types.h
rename to submodules/OpusBinding/Sources/ogg/os_types.h
diff --git a/submodules/TelegramUI/third-party/opusenc/diag_range.c b/submodules/OpusBinding/Sources/opusenc/diag_range.c
similarity index 99%
rename from submodules/TelegramUI/third-party/opusenc/diag_range.c
rename to submodules/OpusBinding/Sources/opusenc/diag_range.c
index 20bbfe20dd..cd304ef90e 100644
--- a/submodules/TelegramUI/third-party/opusenc/diag_range.c
+++ b/submodules/OpusBinding/Sources/opusenc/diag_range.c
@@ -40,11 +40,7 @@
#endif
#include
-#ifdef BUCK
#include
-#else
-#include "opus.h"
-#endif
#include "diag_range.h"
/*This is some non-exported code copied wholesale from libopus.
diff --git a/submodules/TelegramUI/third-party/opusenc/diag_range.h b/submodules/OpusBinding/Sources/opusenc/diag_range.h
similarity index 100%
rename from submodules/TelegramUI/third-party/opusenc/diag_range.h
rename to submodules/OpusBinding/Sources/opusenc/diag_range.h
diff --git a/submodules/TelegramUI/third-party/opusenc/opus_header.c b/submodules/OpusBinding/Sources/opusenc/opus_header.c
similarity index 100%
rename from submodules/TelegramUI/third-party/opusenc/opus_header.c
rename to submodules/OpusBinding/Sources/opusenc/opus_header.c
diff --git a/submodules/TelegramUI/third-party/opusenc/opus_header.h b/submodules/OpusBinding/Sources/opusenc/opus_header.h
similarity index 100%
rename from submodules/TelegramUI/third-party/opusenc/opus_header.h
rename to submodules/OpusBinding/Sources/opusenc/opus_header.h
diff --git a/submodules/TelegramUI/third-party/opusenc/opusenc.m b/submodules/OpusBinding/Sources/opusenc/opusenc.m
similarity index 98%
rename from submodules/TelegramUI/third-party/opusenc/opusenc.m
rename to submodules/OpusBinding/Sources/opusenc/opusenc.m
index d29eaa10ad..b8d7ef69fc 100644
--- a/submodules/TelegramUI/third-party/opusenc/opusenc.m
+++ b/submodules/OpusBinding/Sources/opusenc/opusenc.m
@@ -1,13 +1,8 @@
-#import "opusenc.h"
-
-#ifdef BUCK
#include
-#else
-#include "opus_types.h"
-#endif
#include
#import "TGDataItem.h"
+#import "TGOggOpusWriter.h"
#ifdef ENABLE_NLS
#include
@@ -52,13 +47,7 @@ typedef struct
char *description;
} input_format;
-#ifdef BUCK
#include
-#include
-#else
-#include "opus.h"
-#include "opus_multistream.h"
-#endif
#include
#include "opus_header.h"
diff --git a/submodules/TelegramUI/third-party/opusenc/picture.c b/submodules/OpusBinding/Sources/opusenc/picture.c
similarity index 100%
rename from submodules/TelegramUI/third-party/opusenc/picture.c
rename to submodules/OpusBinding/Sources/opusenc/picture.c
diff --git a/submodules/TelegramUI/third-party/opusenc/picture.h b/submodules/OpusBinding/Sources/opusenc/picture.h
similarity index 100%
rename from submodules/TelegramUI/third-party/opusenc/picture.h
rename to submodules/OpusBinding/Sources/opusenc/picture.h
diff --git a/submodules/TelegramUI/third-party/opusenc/wav_io.c b/submodules/OpusBinding/Sources/opusenc/wav_io.c
similarity index 100%
rename from submodules/TelegramUI/third-party/opusenc/wav_io.c
rename to submodules/OpusBinding/Sources/opusenc/wav_io.c
diff --git a/submodules/TelegramUI/third-party/opusenc/wav_io.h b/submodules/OpusBinding/Sources/opusenc/wav_io.h
similarity index 97%
rename from submodules/TelegramUI/third-party/opusenc/wav_io.h
rename to submodules/OpusBinding/Sources/opusenc/wav_io.h
index 38c4423400..4309766d86 100644
--- a/submodules/TelegramUI/third-party/opusenc/wav_io.h
+++ b/submodules/OpusBinding/Sources/opusenc/wav_io.h
@@ -29,11 +29,7 @@
#define WAV_IO_H
#include
-#ifdef BUCK
#include
-#else
-#include "opus_types.h"
-#endif
#if !defined(__LITTLE_ENDIAN__) && ( defined(WORDS_BIGENDIAN) || defined(__BIG_ENDIAN__) )
#define le_short(s) ((short) ((unsigned short) (s) << 8) | ((unsigned short) (s) >> 8))
diff --git a/submodules/TelegramUI/third-party/opusfile/info.c b/submodules/OpusBinding/Sources/opusfile/info.c
similarity index 100%
rename from submodules/TelegramUI/third-party/opusfile/info.c
rename to submodules/OpusBinding/Sources/opusfile/info.c
diff --git a/submodules/TelegramUI/third-party/opusfile/internal.c b/submodules/OpusBinding/Sources/opusfile/internal.c
similarity index 100%
rename from submodules/TelegramUI/third-party/opusfile/internal.c
rename to submodules/OpusBinding/Sources/opusfile/internal.c
diff --git a/submodules/TelegramUI/third-party/opusfile/internal.h b/submodules/OpusBinding/Sources/opusfile/internal.h
similarity index 99%
rename from submodules/TelegramUI/third-party/opusfile/internal.h
rename to submodules/OpusBinding/Sources/opusfile/internal.h
index b1109deb90..2487cf25db 100644
--- a/submodules/TelegramUI/third-party/opusfile/internal.h
+++ b/submodules/OpusBinding/Sources/opusfile/internal.h
@@ -29,7 +29,7 @@
# endif
# include
-# include "opusfile.h"
+# include
typedef struct OggOpusLink OggOpusLink;
diff --git a/submodules/TelegramUI/third-party/opusfile/opusfile.c b/submodules/OpusBinding/Sources/opusfile/opusfile.c
similarity index 100%
rename from submodules/TelegramUI/third-party/opusfile/opusfile.c
rename to submodules/OpusBinding/Sources/opusfile/opusfile.c
diff --git a/submodules/TelegramUI/third-party/opusfile/opusfile.h b/submodules/OpusBinding/Sources/opusfile/opusfile.h
similarity index 99%
rename from submodules/TelegramUI/third-party/opusfile/opusfile.h
rename to submodules/OpusBinding/Sources/opusfile/opusfile.h
index 2c4a9963e9..fd7317ec6d 100644
--- a/submodules/TelegramUI/third-party/opusfile/opusfile.h
+++ b/submodules/OpusBinding/Sources/opusfile/opusfile.h
@@ -107,11 +107,7 @@ extern "C" {
# include
# include
# include
-#ifdef BUCK
# include
-#else
-# include "opus_multistream.h"
-#endif
/**@cond PRIVATE*/
diff --git a/submodules/TelegramUI/third-party/opusfile/stream.c b/submodules/OpusBinding/Sources/opusfile/stream.c
similarity index 100%
rename from submodules/TelegramUI/third-party/opusfile/stream.c
rename to submodules/OpusBinding/Sources/opusfile/stream.c
diff --git a/submodules/TelegramUI/TelegramUI/ApplicationContext.swift b/submodules/TelegramUI/TelegramUI/ApplicationContext.swift
index 621d517387..c71502fd18 100644
--- a/submodules/TelegramUI/TelegramUI/ApplicationContext.swift
+++ b/submodules/TelegramUI/TelegramUI/ApplicationContext.swift
@@ -16,6 +16,7 @@ import TelegramNotices
import LegacyUI
import TelegramPermissionsUI
import PasscodeUI
+import ImageBlur
func isAccessLocked(data: PostboxAccessChallengeData, at timestamp: Int32) -> Bool {
if data.isLockable, let autolockDeadline = data.autolockDeadline, autolockDeadline <= timestamp {
@@ -870,7 +871,7 @@ final class AuthorizedApplicationContext {
UIGraphicsPushContext(context)
self.mainWindow.hostView.containerView.drawHierarchy(in: CGRect(origin: CGPoint(), size: unscaledSize), afterScreenUpdates: false)
UIGraphicsPopContext()
- })?.applyScreenshotEffect()
+ }).flatMap(applyScreenshotEffectToImage)
self.lockedCoveringView.updateSnapshot(image)
} else {
self.lockedCoveringView.updateSnapshot(nil)
diff --git a/submodules/TelegramUI/TelegramUI/Bridge Audio/TGBridgeAudioDecoder.mm b/submodules/TelegramUI/TelegramUI/Bridge Audio/TGBridgeAudioDecoder.mm
index a65f3d3aa7..eb9da777bc 100644
--- a/submodules/TelegramUI/TelegramUI/Bridge Audio/TGBridgeAudioDecoder.mm
+++ b/submodules/TelegramUI/TelegramUI/Bridge Audio/TGBridgeAudioDecoder.mm
@@ -5,8 +5,7 @@
#import
-#import "opusfile.h"
-#import "opusenc.h"
+#import
const NSInteger TGBridgeAudioDecoderInputSampleRate = 48000;
const NSInteger TGBridgeAudioDecoderResultSampleRate = 24000;
@@ -56,7 +55,7 @@ static inline bool _checkResultLite(OSStatus result, const char *operation, cons
NSURL *_url;
NSURL *_resultURL;
- OggOpusFile *_opusFile;
+ OggOpusReader *_opusReader;
bool _finished;
bool _cancelled;
@@ -83,10 +82,8 @@ static inline bool _checkResultLite(OSStatus result, const char *operation, cons
{
[[TGBridgeAudioDecoder processingQueue] dispatch:^
{
- int error = OPUS_OK;
- _opusFile = op_open_file(_url.path.UTF8String, &error);
- if (_opusFile == NULL || error != OPUS_OK)
- {
+ _opusReader = [[OggOpusReader alloc] initWithPath:_url.path];
+ if (_opusReader == NULL) {
return;
}
@@ -148,7 +145,7 @@ static inline bool _checkResultLite(OSStatus result, const char *operation, cons
uint32_t writtenOutputBytes = 0;
while (writtenOutputBytes < TGBridgeAudioDecoderBufferSize)
{
- int32_t readSamples = op_read(_opusFile, (opus_int16 *)(srcBuffer + writtenOutputBytes), (TGBridgeAudioDecoderBufferSize - writtenOutputBytes) / sourceFormat.mBytesPerFrame, NULL);
+ int32_t readSamples = [_opusReader read:(uint16_t *)(srcBuffer + writtenOutputBytes) bufSize:(TGBridgeAudioDecoderBufferSize - writtenOutputBytes) / sourceFormat.mBytesPerFrame];
if (readSamples > 0)
writtenOutputBytes += readSamples * sourceFormat.mBytesPerFrame;
diff --git a/submodules/TelegramUI/TelegramUI/Bridge Audio/TGBridgeAudioEncoder.m b/submodules/TelegramUI/TelegramUI/Bridge Audio/TGBridgeAudioEncoder.m
index c2a137bfc0..bf32a17492 100644
--- a/submodules/TelegramUI/TelegramUI/Bridge Audio/TGBridgeAudioEncoder.m
+++ b/submodules/TelegramUI/TelegramUI/Bridge Audio/TGBridgeAudioEncoder.m
@@ -1,14 +1,8 @@
#import "TGBridgeAudioEncoder.h"
#import
-#ifdef BUCK
#import
-#else
-#import "opus.h"
-#endif
-#import "opusenc.h"
-
-#import "TGDataItem.h"
+#import
static const char *AMQueueSpecific = "AMQueueSpecific";
diff --git a/submodules/TelegramUI/TelegramUI/ManagedAudioRecorder.swift b/submodules/TelegramUI/TelegramUI/ManagedAudioRecorder.swift
index 01052fb460..116d296f84 100644
--- a/submodules/TelegramUI/TelegramUI/ManagedAudioRecorder.swift
+++ b/submodules/TelegramUI/TelegramUI/ManagedAudioRecorder.swift
@@ -7,6 +7,7 @@ import TelegramCore
import TelegramAudio
import UniversalMediaPlayer
import AccountContext
+import OpusBinding
private let kOutputBus: UInt32 = 0
private let kInputBus: UInt32 = 1
diff --git a/submodules/TelegramUI/TelegramUI/TelegramUIPrivate/module.modulemap b/submodules/TelegramUI/TelegramUI/TelegramUIPrivate/module.modulemap
index 715ab75f60..1cc43dffc0 100644
--- a/submodules/TelegramUI/TelegramUI/TelegramUIPrivate/module.modulemap
+++ b/submodules/TelegramUI/TelegramUI/TelegramUIPrivate/module.modulemap
@@ -1,6 +1,4 @@
module TelegramUIPrivateModule {
- header "../../third-party/opusenc/opusenc.h"
- header "../TGDataItem.h"
header "../Bridge Audio/TGBridgeAudioDecoder.h"
header "../Bridge Audio/TGBridgeAudioEncoder.h"
header "../TGContactModel.h"
@@ -10,5 +8,4 @@ module TelegramUIPrivateModule {
header "../TGAutoDownloadPreferences.h"
header "../TGPresentationAutoNightPreferences.h"
header "../TGProxyItem.h"
- header "../UIImage+ImageEffects.h"
}
diff --git a/submodules/TelegramUI/TelegramUI/UIImage+ImageEffects.h b/submodules/TelegramUI/TelegramUI/UIImage+ImageEffects.h
deleted file mode 100644
index d13a415abf..0000000000
--- a/submodules/TelegramUI/TelegramUI/UIImage+ImageEffects.h
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-#import
-
-@interface UIImage (ImageEffects)
-
-- (UIImage *)applyScreenshotEffect;
-
-@end
diff --git a/submodules/TelegramUI/TelegramUI_Xcode.xcodeproj/project.pbxproj b/submodules/TelegramUI/TelegramUI_Xcode.xcodeproj/project.pbxproj
index 076d144013..bad6b3e055 100644
--- a/submodules/TelegramUI/TelegramUI_Xcode.xcodeproj/project.pbxproj
+++ b/submodules/TelegramUI/TelegramUI_Xcode.xcodeproj/project.pbxproj
@@ -146,8 +146,6 @@
D00817DD22B47A14008A895F /* LockedWindowCoveringView.swift in Sources */ = {isa = PBXBuildFile; fileRef = D00817C322B47A13008A895F /* LockedWindowCoveringView.swift */; };
D00817DE22B47A14008A895F /* TGBridgeServer.m in Sources */ = {isa = PBXBuildFile; fileRef = D00817C422B47A13008A895F /* TGBridgeServer.m */; };
D00817DF22B47A14008A895F /* LegacyDataImportSplash.swift in Sources */ = {isa = PBXBuildFile; fileRef = D00817C522B47A13008A895F /* LegacyDataImportSplash.swift */; };
- D00817E022B47A14008A895F /* UIImage+ImageEffects.h in Headers */ = {isa = PBXBuildFile; fileRef = D00817C622B47A13008A895F /* UIImage+ImageEffects.h */; };
- D00817E222B47A14008A895F /* UIImage+ImageEffects.m in Sources */ = {isa = PBXBuildFile; fileRef = D00817C822B47A14008A895F /* UIImage+ImageEffects.m */; };
D00817E322B47A14008A895F /* TGPresentationAutoNightPreferences.m in Sources */ = {isa = PBXBuildFile; fileRef = D00817C922B47A14008A895F /* TGPresentationAutoNightPreferences.m */; };
D008184A22B57225008A895F /* WatchCommon.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D008184922B57225008A895F /* WatchCommon.framework */; };
D00818CD22B595CB008A895F /* LightweightAccountData.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D00818CC22B595CB008A895F /* LightweightAccountData.framework */; };
@@ -216,6 +214,9 @@
D03E42E6230572530049C28B /* ItemListAddressItem.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D03E42E5230572530049C28B /* ItemListAddressItem.framework */; };
D03E430F2305775D0049C28B /* DeviceProximity.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D03E430E2305775D0049C28B /* DeviceProximity.framework */; };
D03E4339230578550049C28B /* RaiseToListen.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D03E4338230578550049C28B /* RaiseToListen.framework */; };
+ D03E439423057FDF0049C28B /* OpusBinding.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D03E439323057FDF0049C28B /* OpusBinding.framework */; };
+ D03E43EC2305954C0049C28B /* opus.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D03E43EB2305954C0049C28B /* opus.framework */; };
+ D03E43EE230595600049C28B /* libopus.a in Frameworks */ = {isa = PBXBuildFile; fileRef = D03E43ED230595600049C28B /* libopus.a */; };
D04203152037162700490EA5 /* MediaInputPaneTrendingItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04203142037162700490EA5 /* MediaInputPaneTrendingItem.swift */; };
D04281F4200E5AB0009DDE36 /* ChatRecentActionsController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04281F3200E5AB0009DDE36 /* ChatRecentActionsController.swift */; };
D04281F6200E5AC2009DDE36 /* ChatRecentActionsControllerNode.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04281F5200E5AC2009DDE36 /* ChatRecentActionsControllerNode.swift */; };
@@ -478,7 +479,6 @@
D0EB5ADF1F798033004E89B6 /* PeerMediaCollectionEmptyNode.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0EB5ADE1F798033004E89B6 /* PeerMediaCollectionEmptyNode.swift */; };
D0EC55A3210231D600D1992C /* SearchPeerMembers.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0EC55A2210231D600D1992C /* SearchPeerMembers.swift */; };
D0EC6CC11EB9F58800EBF1C3 /* LegacyCamera.swift in Sources */ = {isa = PBXBuildFile; fileRef = D00E15251DDBD4E700ACF65C /* LegacyCamera.swift */; };
- D0EC6CC51EB9F58800EBF1C3 /* TGDataItem.m in Sources */ = {isa = PBXBuildFile; fileRef = D0D03B221DECB1AD00220C46 /* TGDataItem.m */; };
D0EC6CC91EB9F58800EBF1C3 /* ConvertToWebP.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0F69E941D6B8C9B0046BCD6 /* ConvertToWebP.swift */; };
D0EC6CCC1EB9F58800EBF1C3 /* ServiceSoundManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = D073CE641DCBC26B007511FD /* ServiceSoundManager.swift */; };
D0EC6CCD1EB9F58800EBF1C3 /* DeclareEncodables.swift in Sources */ = {isa = PBXBuildFile; fileRef = D073CE701DCBF23F007511FD /* DeclareEncodables.swift */; };
@@ -490,17 +490,6 @@
D0EC6CFD1EB9F58800EBF1C3 /* AudioWaveform.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0D03B2B1DED9B8900220C46 /* AudioWaveform.swift */; };
D0EC6CFF1EB9F58800EBF1C3 /* OverlayMediaController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0EC6B421EB92DF600EBF1C3 /* OverlayMediaController.swift */; };
D0EC6D001EB9F58800EBF1C3 /* OverlayMediaControllerNode.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0EC6B441EB92E5A00EBF1C3 /* OverlayMediaControllerNode.swift */; };
- D0EC6D021EB9F58800EBF1C3 /* diag_range.c in Sources */ = {isa = PBXBuildFile; fileRef = D0D03AE81DECB0FE00220C46 /* diag_range.c */; };
- D0EC6D031EB9F58800EBF1C3 /* opus_header.c in Sources */ = {isa = PBXBuildFile; fileRef = D0D03AEA1DECB0FE00220C46 /* opus_header.c */; };
- D0EC6D041EB9F58800EBF1C3 /* opusenc.m in Sources */ = {isa = PBXBuildFile; fileRef = D0D03AED1DECB0FE00220C46 /* opusenc.m */; };
- D0EC6D051EB9F58800EBF1C3 /* picture.c in Sources */ = {isa = PBXBuildFile; fileRef = D0D03AEE1DECB0FE00220C46 /* picture.c */; };
- D0EC6D061EB9F58800EBF1C3 /* wav_io.c in Sources */ = {isa = PBXBuildFile; fileRef = D0D03AF01DECB0FE00220C46 /* wav_io.c */; };
- D0EC6D071EB9F58800EBF1C3 /* bitwise.c in Sources */ = {isa = PBXBuildFile; fileRef = D0D03AF41DECB0FE00220C46 /* bitwise.c */; };
- D0EC6D081EB9F58800EBF1C3 /* framing.c in Sources */ = {isa = PBXBuildFile; fileRef = D0D03AF51DECB0FE00220C46 /* framing.c */; };
- D0EC6D091EB9F58800EBF1C3 /* info.c in Sources */ = {isa = PBXBuildFile; fileRef = D0D03B021DECB0FE00220C46 /* info.c */; };
- D0EC6D0A1EB9F58800EBF1C3 /* internal.c in Sources */ = {isa = PBXBuildFile; fileRef = D0D03B031DECB0FE00220C46 /* internal.c */; };
- D0EC6D0B1EB9F58800EBF1C3 /* opusfile.c in Sources */ = {isa = PBXBuildFile; fileRef = D0D03B051DECB0FE00220C46 /* opusfile.c */; };
- D0EC6D0C1EB9F58800EBF1C3 /* stream.c in Sources */ = {isa = PBXBuildFile; fileRef = D0D03B071DECB0FE00220C46 /* stream.c */; };
D0EC6D251EB9F58800EBF1C3 /* FetchCachedRepresentations.swift in Sources */ = {isa = PBXBuildFile; fileRef = D06879561DB8F22200424BBD /* FetchCachedRepresentations.swift */; };
D0EC6D261EB9F58800EBF1C3 /* TransformOutgoingMessageMedia.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04662801E68BA64006FAFC4 /* TransformOutgoingMessageMedia.swift */; };
D0EC6D271EB9F58800EBF1C3 /* FetchResource.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0F3A8B51E83120A00B4C64C /* FetchResource.swift */; };
@@ -698,7 +687,6 @@
D0EC6E921EB9F5B200EBF1C3 /* SwiftSignalKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D08D452C1D5E340300A7428A /* SwiftSignalKit.framework */; };
D0EC6E931EB9F5B200EBF1C3 /* TelegramCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D08D452D1D5E340300A7428A /* TelegramCore.framework */; };
D0EC6E961EB9F5B300EBF1C3 /* MtProtoKitDynamic.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0EC6E941EB9F5B300EBF1C3 /* MtProtoKitDynamic.framework */; };
- D0EC6EA21EB9FAFA00EBF1C3 /* libopus.a in Frameworks */ = {isa = PBXBuildFile; fileRef = D0D03B251DECB26D00220C46 /* libopus.a */; };
D0EC6EA31EB9FB7A00EBF1C3 /* SSignalKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D075518E1DDA4F9E0073E051 /* SSignalKit.framework */; };
D0EC6EA41EB9FB8000EBF1C3 /* libz.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = D0AB0BB21D6718EB002C78E7 /* libz.tbd */; };
D0EC6EA51EB9FBD300EBF1C3 /* libiconv.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = D0AB0BB01D6718DA002C78E7 /* libiconv.tbd */; };
@@ -861,8 +849,6 @@
D00817C322B47A13008A895F /* LockedWindowCoveringView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LockedWindowCoveringView.swift; sourceTree = ""; };
D00817C422B47A13008A895F /* TGBridgeServer.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TGBridgeServer.m; sourceTree = ""; };
D00817C522B47A13008A895F /* LegacyDataImportSplash.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LegacyDataImportSplash.swift; sourceTree = ""; };
- D00817C622B47A13008A895F /* UIImage+ImageEffects.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIImage+ImageEffects.h"; sourceTree = ""; };
- D00817C822B47A14008A895F /* UIImage+ImageEffects.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIImage+ImageEffects.m"; sourceTree = ""; };
D00817C922B47A14008A895F /* TGPresentationAutoNightPreferences.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TGPresentationAutoNightPreferences.m; sourceTree = ""; };
D008184922B57225008A895F /* WatchCommon.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = WatchCommon.framework; sourceTree = BUILT_PRODUCTS_DIR; };
D00818CC22B595CB008A895F /* LightweightAccountData.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = LightweightAccountData.framework; sourceTree = BUILT_PRODUCTS_DIR; };
@@ -974,6 +960,10 @@
D03E42E5230572530049C28B /* ItemListAddressItem.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = ItemListAddressItem.framework; sourceTree = BUILT_PRODUCTS_DIR; };
D03E430E2305775D0049C28B /* DeviceProximity.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = DeviceProximity.framework; sourceTree = BUILT_PRODUCTS_DIR; };
D03E4338230578550049C28B /* RaiseToListen.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = RaiseToListen.framework; sourceTree = BUILT_PRODUCTS_DIR; };
+ D03E439323057FDF0049C28B /* OpusBinding.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = OpusBinding.framework; sourceTree = BUILT_PRODUCTS_DIR; };
+ D03E43EB2305954C0049C28B /* opus.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = opus.framework; sourceTree = BUILT_PRODUCTS_DIR; };
+ D03E43ED230595600049C28B /* libopus.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libopus.a; path = ../Opus/Sources/opus/lib/libopus.a; sourceTree = ""; };
+ D03E44132305ACFC0049C28B /* ogg.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = ogg.framework; sourceTree = BUILT_PRODUCTS_DIR; };
D03E5E081E55C49C0029569A /* DebugAccountsController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DebugAccountsController.swift; sourceTree = ""; };
D04203142037162700490EA5 /* MediaInputPaneTrendingItem.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MediaInputPaneTrendingItem.swift; sourceTree = ""; };
D04281F3200E5AB0009DDE36 /* ChatRecentActionsController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ChatRecentActionsController.swift; sourceTree = ""; };
@@ -1272,32 +1262,6 @@
D0CFBB901FD881A600B65C0D /* AudioRecordningToneData.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AudioRecordningToneData.swift; sourceTree = ""; };
D0CFBB941FD8B05000B65C0D /* OverlayInstantVideoDecoration.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OverlayInstantVideoDecoration.swift; sourceTree = ""; };
D0D03AE41DECAE8900220C46 /* ManagedAudioRecorder.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ManagedAudioRecorder.swift; sourceTree = ""; };
- D0D03AE81DECB0FE00220C46 /* diag_range.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = diag_range.c; sourceTree = ""; };
- D0D03AE91DECB0FE00220C46 /* diag_range.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = diag_range.h; sourceTree = ""; };
- D0D03AEA1DECB0FE00220C46 /* opus_header.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = opus_header.c; sourceTree = ""; };
- D0D03AEB1DECB0FE00220C46 /* opus_header.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = opus_header.h; sourceTree = ""; };
- D0D03AEC1DECB0FE00220C46 /* opusenc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = opusenc.h; sourceTree = ""; };
- D0D03AED1DECB0FE00220C46 /* opusenc.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = opusenc.m; sourceTree = ""; };
- D0D03AEE1DECB0FE00220C46 /* picture.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = picture.c; sourceTree = ""; };
- D0D03AEF1DECB0FE00220C46 /* picture.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = picture.h; sourceTree = ""; };
- D0D03AF01DECB0FE00220C46 /* wav_io.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = wav_io.c; sourceTree = ""; };
- D0D03AF11DECB0FE00220C46 /* wav_io.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = wav_io.h; sourceTree = ""; };
- D0D03AF41DECB0FE00220C46 /* bitwise.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = bitwise.c; path = ogg/bitwise.c; sourceTree = ""; };
- D0D03AF51DECB0FE00220C46 /* framing.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = framing.c; path = ogg/framing.c; sourceTree = ""; };
- D0D03AF61DECB0FE00220C46 /* ogg.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ogg.h; path = ogg/ogg.h; sourceTree = ""; };
- D0D03AF71DECB0FE00220C46 /* os_types.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = os_types.h; path = ogg/os_types.h; sourceTree = ""; };
- D0D03AFB1DECB0FE00220C46 /* opus.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = opus.h; path = include/opus/opus.h; sourceTree = ""; };
- D0D03AFC1DECB0FE00220C46 /* opus_defines.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = opus_defines.h; path = include/opus/opus_defines.h; sourceTree = ""; };
- D0D03AFD1DECB0FE00220C46 /* opus_multistream.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = opus_multistream.h; path = include/opus/opus_multistream.h; sourceTree = ""; };
- D0D03AFE1DECB0FE00220C46 /* opus_types.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = opus_types.h; path = include/opus/opus_types.h; sourceTree = ""; };
- D0D03B021DECB0FE00220C46 /* info.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = info.c; sourceTree = ""; };
- D0D03B031DECB0FE00220C46 /* internal.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = internal.c; sourceTree = ""; };
- D0D03B041DECB0FE00220C46 /* internal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = internal.h; sourceTree = ""; };
- D0D03B051DECB0FE00220C46 /* opusfile.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = opusfile.c; sourceTree = ""; };
- D0D03B061DECB0FE00220C46 /* opusfile.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = opusfile.h; sourceTree = ""; };
- D0D03B071DECB0FE00220C46 /* stream.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = stream.c; sourceTree = ""; };
- D0D03B211DECB1AD00220C46 /* TGDataItem.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TGDataItem.h; sourceTree = ""; };
- D0D03B221DECB1AD00220C46 /* TGDataItem.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TGDataItem.m; sourceTree = ""; };
D0D03B251DECB26D00220C46 /* libopus.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libopus.a; path = "third-party/opus/lib/libopus.a"; sourceTree = ""; };
D0D03B2B1DED9B8900220C46 /* AudioWaveform.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AudioWaveform.swift; sourceTree = ""; };
D0D268661D78793B00C422DA /* ChatInterfaceStateNavigationButtons.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ChatInterfaceStateNavigationButtons.swift; sourceTree = ""; };
@@ -1467,6 +1431,9 @@
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
+ D03E43EE230595600049C28B /* libopus.a in Frameworks */,
+ D03E43EC2305954C0049C28B /* opus.framework in Frameworks */,
+ D03E439423057FDF0049C28B /* OpusBinding.framework in Frameworks */,
D03E4339230578550049C28B /* RaiseToListen.framework in Frameworks */,
D03E430F2305775D0049C28B /* DeviceProximity.framework in Frameworks */,
D03E42E6230572530049C28B /* ItemListAddressItem.framework in Frameworks */,
@@ -1609,7 +1576,6 @@
D0EC6EA51EB9FBD300EBF1C3 /* libiconv.tbd in Frameworks */,
D0EC6EA41EB9FB8000EBF1C3 /* libz.tbd in Frameworks */,
D0EC6EA31EB9FB7A00EBF1C3 /* SSignalKit.framework in Frameworks */,
- D0EC6EA21EB9FAFA00EBF1C3 /* libopus.a in Frameworks */,
D0EC6E961EB9F5B300EBF1C3 /* MtProtoKitDynamic.framework in Frameworks */,
D0EC6E8F1EB9F5B200EBF1C3 /* AsyncDisplayKit.framework in Frameworks */,
D0EC6E901EB9F5B200EBF1C3 /* Display.framework in Frameworks */,
@@ -1777,8 +1743,6 @@
D00817C222B47A13008A895F /* ManageSharedAccountInfo.swift */,
D00817BD22B47A13008A895F /* TGBridgeServer.h */,
D00817C422B47A13008A895F /* TGBridgeServer.m */,
- D00817C622B47A13008A895F /* UIImage+ImageEffects.h */,
- D00817C822B47A14008A895F /* UIImage+ImageEffects.m */,
D00817B622B47A12008A895F /* WakeupManager.swift */,
D00817B122B47A12008A895F /* WatchBridge.swift */,
D00817B222B47A12008A895F /* WatchCommunicationManager.swift */,
@@ -2176,8 +2140,6 @@
D0AE2FDB22B1D3610058D3BC /* Bridge Audio */,
D00E15251DDBD4E700ACF65C /* LegacyCamera.swift */,
D06BB8811F58994B0084FC30 /* LegacyInstantVideoController.swift */,
- D0D03B211DECB1AD00220C46 /* TGDataItem.h */,
- D0D03B221DECB1AD00220C46 /* TGDataItem.m */,
D007019B2029E8F2006B9E34 /* LegacyICloudFileController.swift */,
D0380DAC204ED434000414AB /* LegacyLiveUploadInterface.swift */,
D0B21B1E22156D92003F741D /* LegacyCache.swift */,
@@ -2215,6 +2177,10 @@
D08D45281D5E340200A7428A /* Frameworks */ = {
isa = PBXGroup;
children = (
+ D03E44132305ACFC0049C28B /* ogg.framework */,
+ D03E43ED230595600049C28B /* libopus.a */,
+ D03E43EB2305954C0049C28B /* opus.framework */,
+ D03E439323057FDF0049C28B /* OpusBinding.framework */,
D03E4338230578550049C28B /* RaiseToListen.framework */,
D03E430E2305775D0049C28B /* DeviceProximity.framework */,
D03E42E5230572530049C28B /* ItemListAddressItem.framework */,
@@ -2575,73 +2541,6 @@
name = "Terms of Service";
sourceTree = "";
};
- D0D03AE61DECB0D200220C46 /* Audio Recorder */ = {
- isa = PBXGroup;
- children = (
- D0D03AE71DECB0FE00220C46 /* opusenc */,
- D0D03AF21DECB0FE00220C46 /* ogg */,
- D0D03AF81DECB0FE00220C46 /* opus */,
- D0D03B011DECB0FE00220C46 /* opusfile */,
- );
- name = "Audio Recorder";
- sourceTree = "";
- };
- D0D03AE71DECB0FE00220C46 /* opusenc */ = {
- isa = PBXGroup;
- children = (
- D0D03AE81DECB0FE00220C46 /* diag_range.c */,
- D0D03AE91DECB0FE00220C46 /* diag_range.h */,
- D0D03AEA1DECB0FE00220C46 /* opus_header.c */,
- D0D03AEB1DECB0FE00220C46 /* opus_header.h */,
- D0D03AEC1DECB0FE00220C46 /* opusenc.h */,
- D0D03AED1DECB0FE00220C46 /* opusenc.m */,
- D0D03AEE1DECB0FE00220C46 /* picture.c */,
- D0D03AEF1DECB0FE00220C46 /* picture.h */,
- D0D03AF01DECB0FE00220C46 /* wav_io.c */,
- D0D03AF11DECB0FE00220C46 /* wav_io.h */,
- );
- name = opusenc;
- path = "third-party/opusenc";
- sourceTree = SOURCE_ROOT;
- };
- D0D03AF21DECB0FE00220C46 /* ogg */ = {
- isa = PBXGroup;
- children = (
- D0D03AF41DECB0FE00220C46 /* bitwise.c */,
- D0D03AF51DECB0FE00220C46 /* framing.c */,
- D0D03AF61DECB0FE00220C46 /* ogg.h */,
- D0D03AF71DECB0FE00220C46 /* os_types.h */,
- );
- name = ogg;
- path = "third-party/ogg";
- sourceTree = SOURCE_ROOT;
- };
- D0D03AF81DECB0FE00220C46 /* opus */ = {
- isa = PBXGroup;
- children = (
- D0D03AFB1DECB0FE00220C46 /* opus.h */,
- D0D03AFC1DECB0FE00220C46 /* opus_defines.h */,
- D0D03AFD1DECB0FE00220C46 /* opus_multistream.h */,
- D0D03AFE1DECB0FE00220C46 /* opus_types.h */,
- );
- name = opus;
- path = "third-party/opus";
- sourceTree = SOURCE_ROOT;
- };
- D0D03B011DECB0FE00220C46 /* opusfile */ = {
- isa = PBXGroup;
- children = (
- D0D03B021DECB0FE00220C46 /* info.c */,
- D0D03B031DECB0FE00220C46 /* internal.c */,
- D0D03B041DECB0FE00220C46 /* internal.h */,
- D0D03B051DECB0FE00220C46 /* opusfile.c */,
- D0D03B061DECB0FE00220C46 /* opusfile.h */,
- D0D03B071DECB0FE00220C46 /* stream.c */,
- );
- name = opusfile;
- path = "third-party/opusfile";
- sourceTree = SOURCE_ROOT;
- };
D0D2686A1D788F6600C422DA /* Title Accessory Panels */ = {
isa = PBXGroup;
children = (
@@ -2842,7 +2741,6 @@
D0EC6B441EB92E5A00EBF1C3 /* OverlayMediaControllerNode.swift */,
D0FE4DE31F0AEBB900E8A0B3 /* SharedVideoContextManager.swift */,
D09E637D1F0E8C66003444CD /* Shared Media Player */,
- D0D03AE61DECB0D200220C46 /* Audio Recorder */,
D0F69E9D1D6B8E240046BCD6 /* Resources */,
D0177B831DFB095000A5083A /* FileMediaResourceStatus.swift */,
D0ADF965212E05A300310BBC /* TonePlayer.swift */,
@@ -3235,7 +3133,6 @@
files = (
D0AE303622B1D3620058D3BC /* TGBridgeAudioDecoder.h in Headers */,
D00817DA22B47A14008A895F /* TGPresentationAutoNightPreferences.h in Headers */,
- D00817E022B47A14008A895F /* UIImage+ImageEffects.h in Headers */,
D08803C51F6064CF00DD7951 /* TelegramUI.h in Headers */,
D008177B22B46B7E008A895F /* TGContactModel.h in Headers */,
D0AE303722B1D3620058D3BC /* TGBridgeAudioEncoder.h in Headers */,
@@ -3440,7 +3337,6 @@
D0EC6CC11EB9F58800EBF1C3 /* LegacyCamera.swift in Sources */,
D0754D1E1EEDDF6200884F6E /* ChatMessageAttachedContentNode.swift in Sources */,
D0CFBB911FD881A600B65C0D /* AudioRecordningToneData.swift in Sources */,
- D0EC6CC51EB9F58800EBF1C3 /* TGDataItem.m in Sources */,
D00817D522B47A14008A895F /* ApplicationShortcutItem.swift in Sources */,
D077C5C122B59A800097D617 /* ApplicationContext.swift in Sources */,
D0EC6CC91EB9F58800EBF1C3 /* ConvertToWebP.swift in Sources */,
@@ -3476,28 +3372,17 @@
D0EC6CFF1EB9F58800EBF1C3 /* OverlayMediaController.swift in Sources */,
D0EC6D001EB9F58800EBF1C3 /* OverlayMediaControllerNode.swift in Sources */,
D02C81712177729000CD1006 /* NotificationExceptions.swift in Sources */,
- D0EC6D021EB9F58800EBF1C3 /* diag_range.c in Sources */,
09CE95112237F3C100A7D2C3 /* SettingsSearchRecentQueries.swift in Sources */,
- D0EC6D031EB9F58800EBF1C3 /* opus_header.c in Sources */,
0910B0EF21FA532D00F8F87D /* WallpaperResources.swift in Sources */,
09E4A807223D4B860038140F /* AccountUtils.swift in Sources */,
D069F5D0212700B90000565A /* StickerPanePeerSpecificSetupGridItem.swift in Sources */,
D06018B522F3659900796784 /* ChatTextFormat.swift in Sources */,
D0750C8322B2E4EE00BE5F6E /* SharedNotificationManager.swift in Sources */,
- D0EC6D041EB9F58800EBF1C3 /* opusenc.m in Sources */,
D0A8998D217A294100759EE6 /* SaveIncomingMediaController.swift in Sources */,
D0185E8A208A01AF005E1A6C /* ProxySettingsActionItem.swift in Sources */,
- D0EC6D051EB9F58800EBF1C3 /* picture.c in Sources */,
- D0EC6D061EB9F58800EBF1C3 /* wav_io.c in Sources */,
09DE2F272269D5730045E975 /* PrivacyIntroController.swift in Sources */,
- D0EC6D071EB9F58800EBF1C3 /* bitwise.c in Sources */,
- D0EC6D081EB9F58800EBF1C3 /* framing.c in Sources */,
09E4A803223B833B0038140F /* ForwardPrivacyChatPreviewItem.swift in Sources */,
- D0EC6D091EB9F58800EBF1C3 /* info.c in Sources */,
- D0EC6D0A1EB9F58800EBF1C3 /* internal.c in Sources */,
- D0EC6D0B1EB9F58800EBF1C3 /* opusfile.c in Sources */,
09C500242142BA6400EF253E /* ItemListWebsiteItem.swift in Sources */,
- D0EC6D0C1EB9F58800EBF1C3 /* stream.c in Sources */,
09FFBCD72281BB2D00C33B4B /* ChatTextLinkEditController.swift in Sources */,
09CE95042236C6B300A7D2C3 /* CachedInstantPages.swift in Sources */,
D0B69C3920EBB397003632C7 /* ChatMessageInteractiveInstantVideoNode.swift in Sources */,
@@ -3777,7 +3662,6 @@
09F2158D225CF5BC00AEDF6D /* Pasteboard.swift in Sources */,
D0C26D571FDF2388004ABF18 /* OpenChatMessage.swift in Sources */,
D00817CA22B47A14008A895F /* WatchRequestHandlers.swift in Sources */,
- D00817E222B47A14008A895F /* UIImage+ImageEffects.m in Sources */,
D007019C2029E8F2006B9E34 /* LegacyICloudFileController.swift in Sources */,
09B4819523028A8A00D5B32B /* ThemeAccentColorControllerNode.swift in Sources */,
D000CABC21F158AD0011B15D /* PrepareSecretThumbnailData.swift in Sources */,
@@ -4016,6 +3900,7 @@
"$(PROJECT_DIR)/third-party/libwebp/lib",
"$(PROJECT_DIR)/third-party/FFmpeg-iOS/lib",
"$(PROJECT_DIR)/third-party/libjpeg-turbo",
+ "$(PROJECT_DIR)/../opus/Sources/opus/lib",
);
OTHER_CFLAGS = (
"-DTGVOIP_USE_CUSTOM_CRYPTO",
@@ -4214,6 +4099,7 @@
"$(PROJECT_DIR)/third-party/libwebp/lib",
"$(PROJECT_DIR)/third-party/FFmpeg-iOS/lib",
"$(PROJECT_DIR)/third-party/libjpeg-turbo",
+ "$(PROJECT_DIR)/../opus/Sources/opus/lib",
);
OTHER_CFLAGS = (
"-DTGVOIP_USE_CUSTOM_CRYPTO",
@@ -4331,6 +4217,7 @@
"$(PROJECT_DIR)/third-party/libwebp/lib",
"$(PROJECT_DIR)/third-party/FFmpeg-iOS/lib",
"$(PROJECT_DIR)/third-party/libjpeg-turbo",
+ "$(PROJECT_DIR)/../opus/Sources/opus/lib",
);
OTHER_CFLAGS = (
"-DTGVOIP_USE_CUSTOM_CRYPTO",
@@ -4457,6 +4344,7 @@
"$(PROJECT_DIR)/third-party/libwebp/lib",
"$(PROJECT_DIR)/third-party/FFmpeg-iOS/lib",
"$(PROJECT_DIR)/third-party/libjpeg-turbo",
+ "$(PROJECT_DIR)/../opus/Sources/opus/lib",
);
OTHER_CFLAGS = (
"-DTGVOIP_USE_CUSTOM_CRYPTO",
@@ -4573,6 +4461,7 @@
"$(PROJECT_DIR)/third-party/libwebp/lib",
"$(PROJECT_DIR)/third-party/FFmpeg-iOS/lib",
"$(PROJECT_DIR)/third-party/libjpeg-turbo",
+ "$(PROJECT_DIR)/../opus/Sources/opus/lib",
);
OTHER_CFLAGS = (
"-DTGVOIP_USE_CUSTOM_CRYPTO",
@@ -4620,6 +4509,7 @@
"$(PROJECT_DIR)/third-party/libwebp/lib",
"$(PROJECT_DIR)/third-party/FFmpeg-iOS/lib",
"$(PROJECT_DIR)/third-party/libjpeg-turbo",
+ "$(PROJECT_DIR)/../opus/Sources/opus/lib",
);
OTHER_CFLAGS = (
"-DTGVOIP_USE_CUSTOM_CRYPTO",
@@ -4665,6 +4555,7 @@
"$(PROJECT_DIR)/third-party/libwebp/lib",
"$(PROJECT_DIR)/third-party/FFmpeg-iOS/lib",
"$(PROJECT_DIR)/third-party/libjpeg-turbo",
+ "$(PROJECT_DIR)/../opus/Sources/opus/lib",
);
OTHER_CFLAGS = (
"-DTGVOIP_USE_CUSTOM_CRYPTO",
@@ -4709,6 +4600,7 @@
"$(PROJECT_DIR)/third-party/libwebp/lib",
"$(PROJECT_DIR)/third-party/FFmpeg-iOS/lib",
"$(PROJECT_DIR)/third-party/libjpeg-turbo",
+ "$(PROJECT_DIR)/../opus/Sources/opus/lib",
);
OTHER_CFLAGS = (
"-DTGVOIP_USE_CUSTOM_CRYPTO",
diff --git a/submodules/libtgvoip/OpusDecoder.cpp b/submodules/libtgvoip/OpusDecoder.cpp
index 2080d8ca0a..7b2d7c8bfd 100755
--- a/submodules/libtgvoip/OpusDecoder.cpp
+++ b/submodules/libtgvoip/OpusDecoder.cpp
@@ -10,11 +10,7 @@
#include
#include
#include
-#if defined(HAVE_CONFIG_H) || defined(BUCK)
#include
-#else
-#include "opus.h"
-#endif
#include "VoIPController.h"
diff --git a/submodules/libtgvoip/OpusEncoder.cpp b/submodules/libtgvoip/OpusEncoder.cpp
index 028a3e915a..b50c16efcf 100755
--- a/submodules/libtgvoip/OpusEncoder.cpp
+++ b/submodules/libtgvoip/OpusEncoder.cpp
@@ -9,11 +9,7 @@
#include
#include "logging.h"
#include "VoIPServerConfig.h"
-#if defined(HAVE_CONFIG_H) || defined(BUCK)
#include
-#else
-#include "opus.h"
-#endif
namespace{
int serverConfigValueToBandwidth(int config){