Skip to content

Commit

Permalink
Merge branch 'LD-2871-update-libmediasoupclient'
Browse files Browse the repository at this point in the history
  • Loading branch information
fedulvtubudul committed Mar 31, 2023
2 parents bb9292c + af8696d commit ffbb6f4
Show file tree
Hide file tree
Showing 51 changed files with 961 additions and 309 deletions.
4 changes: 2 additions & 2 deletions Example/Podfile.lock
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
PODS:
- Mediasoup-Client-Swift (0.2.2)
- Mediasoup-Client-Swift (0.3.0)

DEPENDENCIES:
- Mediasoup-Client-Swift (from `../`)
Expand All @@ -9,7 +9,7 @@ EXTERNAL SOURCES:
:path: "../"

SPEC CHECKSUMS:
Mediasoup-Client-Swift: 264f4b5b79a9c9f9aa79fea8c6e4d41bc55cabec
Mediasoup-Client-Swift: 03b57ba84daecccc750b592a05a77c1fb337adf7

PODFILE CHECKSUM: d4fe3294dd9c7fc46519b6a7b26527f1f545e8d3

Expand Down
2 changes: 1 addition & 1 deletion Mediasoup-Client-Swift.podspec
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ Pod::Spec.new do |spec|
}

spec.name = "Mediasoup-Client-Swift"
spec.version = "0.2.2"
spec.version = "0.3.0"
spec.platform = :ios, "14.0"
spec.module_name = "Mediasoup"
spec.module_map = "Mediasoup/Mediasoup.modulemap"
Expand Down
15 changes: 11 additions & 4 deletions Mediasoup.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -478,7 +478,7 @@
BUILD_LIBRARY_FOR_DISTRIBUTION = YES;
CLANG_ANALYZER_NONNULL = YES;
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
CLANG_CXX_LANGUAGE_STANDARD = "c++14";
CLANG_CXX_LANGUAGE_STANDARD = "c++17";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
Expand Down Expand Up @@ -520,8 +520,10 @@
GCC_NO_COMMON_BLOCKS = YES;
GCC_OPTIMIZATION_LEVEL = 0;
GCC_PREPROCESSOR_DEFINITIONS = (
"DEBUG=1",
"$(inherited)",
WEBRTC_POSIX,
WEBRTC_IOS,
WEBRTC_MAC,
DEBUG,
);
GCC_SYMBOLS_PRIVATE_EXTERN = YES;
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
Expand Down Expand Up @@ -576,7 +578,7 @@
BUILD_LIBRARY_FOR_DISTRIBUTION = YES;
CLANG_ANALYZER_NONNULL = YES;
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
CLANG_CXX_LANGUAGE_STANDARD = "c++14";
CLANG_CXX_LANGUAGE_STANDARD = "c++17";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
Expand Down Expand Up @@ -616,6 +618,11 @@
GCC_C_LANGUAGE_STANDARD = gnu11;
GCC_NO_COMMON_BLOCKS = YES;
GCC_OPTIMIZATION_LEVEL = 0;
GCC_PREPROCESSOR_DEFINITIONS = (
WEBRTC_POSIX,
WEBRTC_IOS,
WEBRTC_MAC,
);
GCC_SYMBOLS_PRIVATE_EXTERN = YES;
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
Expand Down
6 changes: 1 addition & 5 deletions Mediasoup/dependencies/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ set(CMAKE_TRY_COMPILE_TARGET_TYPE "STATIC_LIBRARY")
project(Project)

# C++ requirements
set(CMAKE_CXX_STANDARD 14)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD REQUIRED ON)

# build for iphone or simulator
Expand Down Expand Up @@ -39,10 +39,6 @@ set(LIBSDPTRANSFORM_BUILD_READMEHELPER OFF)
set(IPHONE_SDKVER "14.0")
set(IPHONE_VERSION_MIN "14.0")

# enable bitcode
add_definitions(-DENABLE_BITCODE)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fembed-bitcode")

message(STATUS "\n========== libmediasoupclient iOS Build Configuration ==========\n")
message(STATUS "CMAKE_OSX_SYSROOT = " ${CMAKE_OSX_SYSROOT})
message(STATUS "CMAKE_OSX_ARCHITECTURES = " ${CMAKE_OSX_ARCHITECTURES})
Expand Down
2 changes: 1 addition & 1 deletion Mediasoup_Private/Device/DeviceWrapper.mm
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ - (instancetype)init {

self.pcFactory = [pcFactoryBuilder createPeerConnectionFactory];
_pcOptions = new mediasoupclient::PeerConnection::Options();
_pcOptions->factory = self.pcFactory.nativeFactory;
_pcOptions->factory = self.pcFactory.nativeFactory.get();
}
return self;
}
Expand Down
18 changes: 10 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ Swift wrapper for libmediasoupclient with iOS support
If you don't need to customize Mediasoup-Client-Swift itself or its dependencies, just add a line to your Podfile:

```Ruby
pod 'Mediasoup-Client-Swift', '0.2.2'
pod 'Mediasoup-Client-Swift', '0.3.0'
```

3. **Ease of building from scratch**
Expand Down Expand Up @@ -142,20 +142,22 @@ Swift wrapper for libmediasoupclient with iOS support

Mediasoup-Client-Swift has almost no logic, it's only a convenient wrapper for other nice libraries.

* [WebRTC (version m94 with patches applied locally)](https://groups.google.com/g/discuss-webrtc/c/ws0_MYHIBOw)
* [WebRTC (version m112 with patches applied locally)](https://groups.google.com/g/discuss-webrtc/c/ws0_MYHIBOw)

* [libmediasoupclient (version 3.4.0 patched fork)](https://github.com/VLprojects/libmediasoupclient)

## Roadmap

* Upgrade WebRTC and libmediasoupclient to latest versions
- [x] Upgrade WebRTC and libmediasoupclient to latest versions

* Support integration via SPM
- [ ] Support integration via SPM

* Add documentation for Mediasoup-Client-Swift public interface
- [ ] Add documentation for Mediasoup-Client-Swift public interface

* Investigate and reduce the amount of WebRTC patches
- [ ] Investigate and reduce the amount of WebRTC patches

* Make the dependencies build script more flexible: add parametrization for included codecs and other WebRTC modules, build architectures and so on
- [ ] Make the dependencies build script more flexible: add parametrization for included codecs and other WebRTC modules, build architectures and so on

* Add data channel support
- [ ] Add data channel support

- [ ] Implement example app compatible with https://v3demo.mediasoup.org
Binary file not shown.
Binary file not shown.
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@
</data>
<key>Modules/Mediasoup.swiftmodule/arm64-apple-ios-simulator.swiftmodule</key>
<data>
XJ6V1DVxenBWDCFayIL0MvzEVy8=
fk32g6HUU4sqmGPhXOdp/myU/j0=
</data>
<key>Modules/Mediasoup.swiftmodule/x86_64-apple-ios-simulator.abi.json</key>
<data>
Expand All @@ -58,7 +58,7 @@
</data>
<key>Modules/Mediasoup.swiftmodule/x86_64-apple-ios-simulator.swiftmodule</key>
<data>
ckvA8+8nTNkN31TGC37Y51Xzmak=
ue/Lmvme2fA4zZsDPJ+SDROe64s=
</data>
<key>Modules/module.modulemap</key>
<data>
Expand Down Expand Up @@ -184,7 +184,7 @@
<dict>
<key>hash2</key>
<data>
XSrcbn7QOeUF+mfWKY4TPYs7c1i0yca46KvMHheCwkE=
pfqce5EPX+1+hCvsN9Z4su2WslD2cPFsnkGJleQnfeM=
</data>
</dict>
<key>Modules/Mediasoup.swiftmodule/x86_64-apple-ios-simulator.abi.json</key>
Expand Down Expand Up @@ -219,7 +219,7 @@
<dict>
<key>hash2</key>
<data>
l2zzIohHei+9ALZyUlWLfDeyjnJDtNFeS3lfDnm4Ass=
3asaTmqJZnTZnTJXaP4hrDfHTeNBoTLlrbuplddV+Xk=
</data>
</dict>
<key>Modules/module.modulemap</key>
Expand Down
10 changes: 5 additions & 5 deletions bin/WebRTC.xcframework/Info.plist
Original file line number Diff line number Diff line change
Expand Up @@ -6,30 +6,30 @@
<array>
<dict>
<key>LibraryIdentifier</key>
<string>ios-arm64</string>
<string>ios-arm64_x86_64-simulator</string>
<key>LibraryPath</key>
<string>WebRTC.framework</string>
<key>SupportedArchitectures</key>
<array>
<string>arm64</string>
<string>x86_64</string>
</array>
<key>SupportedPlatform</key>
<string>ios</string>
<key>SupportedPlatformVariant</key>
<string>simulator</string>
</dict>
<dict>
<key>LibraryIdentifier</key>
<string>ios-arm64_x86_64-simulator</string>
<string>ios-arm64</string>
<key>LibraryPath</key>
<string>WebRTC.framework</string>
<key>SupportedArchitectures</key>
<array>
<string>arm64</string>
<string>x86_64</string>
</array>
<key>SupportedPlatform</key>
<string>ios</string>
<key>SupportedPlatformVariant</key>
<string>simulator</string>
</dict>
</array>
<key>CFBundlePackageType</key>
Expand Down
Loading

0 comments on commit ffbb6f4

Please sign in to comment.