Skip to content

Commit

Permalink
Bump version to 0.7.0, add deprecation (#19)
Browse files Browse the repository at this point in the history
  • Loading branch information
vadymmarkov authored Mar 2, 2023
1 parent e007367 commit 42d9dfb
Show file tree
Hide file tree
Showing 10 changed files with 93 additions and 33 deletions.
27 changes: 19 additions & 8 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,23 @@ adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [Unreleased]

## [0.7.0] - 2023-03-02

### Added
- Screen capture:
- Make it possible to start capture session not only from the app, but also from the iOS control center while on an active call
- Introduce keep-alive time in order to stop broadcast extension, started from the iOS control center, when there are no active calls
- Add more broadcast error types and the API to finish screen capture session with reason, such as callEnded or presentationStolen. See `ScreenMediaTrack.stopCapture(reason:)`

### Changed
- Screen capture: change IPC on iOS from Unix domain sockets to memory-mapped file
- Deprecate `ScreenMediaTrackFactory.createScreenMediaTrack(appGroup:broadcastUploadExtension)` on iOS, use `createScreenMediaTrack(appGroup:broadcastUploadExtension:defaultVideoProfile)` instead
- Deprecate `ScreenMediaTrackFactory.createScreenMediaTrack(mediaSource)` on macOS, use `createScreenMediaTrack(mediaSource:defaultVideoProfile)` instead
- Deprecate `ScreenMediaCapturer.startCapture(atFps:outputDimensions)` on iOS, use `startCapture(atFps:)` instead

### Fixed
- Adapt WebRTC output format on iOS

## [0.6.0] - 2023-01-18

### Added
Expand All @@ -32,7 +49,6 @@ adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [0.5.0] - 2022-09-13

### Added

- Make it possible to receive incoming calls with [Registration API](https://pexip.github.io/pexip-swift-sdk/sdk/documentation/pexipswiftsdk/registration)

### Changed
Expand All @@ -47,43 +63,38 @@ adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [0.4.0] - 2022-08-02

### Added

- [Video filters](https://pexip.github.io/pexip-swift-sdk/sdk/documentation/pexipswiftsdk/videofilters), e.g. background blur, virtual background, custom filters, etc.
- [Live captions](https://pexip.github.io/pexip-swift-sdk/sdk/documentation/pexipswiftsdk/livecaptions)
- [DTMF support](https://pexip.github.io/pexip-swift-sdk/frameworks/ios/PexipConference/documentation/pexipconference/conference/dtmf(signals:))

## [0.3.0] - 2022-06-27

### Added

- [SDK Documentation](https://pexip.github.io/pexip-swift-sdk)
- [Screen sharing on iOS](https://pexip.github.io/pexip-swift-sdk/sdk/documentation/pexipswiftsdk/iosscreensharing) with ReplayKit and Broadcast Upload Extensions
- [Screen sharing on macOS](https://pexip.github.io/pexip-swift-sdk/sdk/documentation/pexipswiftsdk/macosscreensharing)
- `MediaConnectionConfig`: add an option to enable DSCP
- Move bandwidth setting from `QualityProfile` to `MediaConnectionConfig`

### Changed

- **BREAKING**: rename public methods in `MediaConnection`, see [docs](https://pexip.github.io/pexip-swift-sdk/frameworks/ios/PexipMedia/documentation/pexipmedia/mediaconnection) for reference.

## [0.2.0] - 2022-05-12

### Added

- Introduce `MediaConnectionFactory` to create local media tracks without an instance of `MediaConnection`
- Update example projects

### Changed

- Use WebRTC M96

## [0.1.0] - 2022-05-06

### Added

- Initial release

[Unreleased]: https://github.com/pexip/pexip-swift-sdk/compare/0.6.0...HEAD
[Unreleased]: https://github.com/pexip/pexip-swift-sdk/compare/0.7.0...HEAD
[0.7.0]: https://github.com/pexip/pexip-swift-sdk/releases/tag/0.7.0
[0.6.0]: https://github.com/pexip/pexip-swift-sdk/releases/tag/0.6.0
[0.5.0]: https://github.com/pexip/pexip-swift-sdk/releases/tag/0.5.0
[0.4.0]: https://github.com/pexip/pexip-swift-sdk/releases/tag/0.4.0
Expand Down
2 changes: 1 addition & 1 deletion Docs/header.html
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<header>
<nav class="top-nav">
<a href="/pexip-swift-sdk/" class="library-name">sdk</a>
<div class="version">0.6.0</div>
<div class="version">0.7.0</div>
<a href="/pexip-swift-sdk/sdk/documentation/pexipswiftsdk/macos">macOS</a>
<a href="/pexip-swift-sdk/sdk/documentation/pexipswiftsdk/ios">iOS</a>
<a href="/pexip-swift-sdk/sdk/documentation/pexipswiftsdk/">Home</a>
Expand Down
36 changes: 18 additions & 18 deletions Examples/VideoFilters/Podfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -59,19 +59,19 @@ PODS:
- nanopb/encode (= 2.30909.0)
- nanopb/decode (2.30909.0)
- nanopb/encode (2.30909.0)
- PexipCore (0.6.0)
- PexipInfinityClient (0.6.0):
- PexipCore (= 0.6.0)
- PexipMedia (0.6.0):
- PexipCore (= 0.6.0)
- PexipScreenCapture (= 0.6.0)
- PexipRTC (0.6.0):
- PexipCore (= 0.6.0)
- PexipMedia (= 0.6.0)
- PexipCore (0.7.0)
- PexipInfinityClient (0.7.0):
- PexipCore (= 0.7.0)
- PexipMedia (0.7.0):
- PexipCore (= 0.7.0)
- PexipScreenCapture (= 0.7.0)
- PexipRTC (0.7.0):
- PexipCore (= 0.7.0)
- PexipMedia (= 0.7.0)
- WebRTCObjc (= 105.0.0)
- PexipScreenCapture (0.6.0)
- PexipVideoFilters (0.6.0):
- PexipCore (= 0.6.0)
- PexipScreenCapture (0.7.0)
- PexipVideoFilters (0.7.0):
- PexipCore (= 0.7.0)
- PromisesObjC (2.2.0)
- Protobuf (3.22.0)
- WebRTCObjc (105.0.0)
Expand Down Expand Up @@ -132,12 +132,12 @@ SPEC CHECKSUMS:
MLKitVision: 96c96571190b7f63eddf4a12068ce8a8689e0d2c
MLKitXenoCommon: 39b7097db51f4716a2a0ff4e4459e002499f5523
nanopb: b552cce312b6c8484180ef47159bc0f65a1f0431
PexipCore: 377536199083547c191fff241655f68d374e2366
PexipInfinityClient: 4cfe592fd7f2db9d285daaf3a83872e07baccbc6
PexipMedia: 518256b706e540ba040f9d8032f052d18bd1e014
PexipRTC: 8dd43160a90c7845df14c15b1b8f3724def3fca1
PexipScreenCapture: f5220a9041844f80f87c00329141ffd1ff24395b
PexipVideoFilters: a12c29b7fa7b1f43e52deff842ec0f4cf933dad8
PexipCore: fccbf920f8112b7c143cde51f551987a4969d6c4
PexipInfinityClient: fbfa19b162361a1c18ae17e80b40efd1374c9b6f
PexipMedia: 7e2aefb66233c29502d15ff798d2501e83bfba5c
PexipRTC: 44717aa4a23b1c8758d5144a74ee5d5890d1b2db
PexipScreenCapture: ecf8b4348f0651983224eb7d13bd3ea84ed9a3bf
PexipVideoFilters: fc79f9c2c365696f8361e5f2d3cf9b1c5316a5ce
PromisesObjC: 09985d6d70fbe7878040aa746d78236e6946d2ef
Protobuf: 5e6cbc143d02fe08585d86b0098f8b755d2caaab
WebRTCObjc: eafbb6955adb16faa7d369ff308796caf854abf3
Expand Down
2 changes: 1 addition & 1 deletion PexipCore.podspec
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
Pod::Spec.new do |s|
s.name = 'PexipCore'
s.version = '0.6.0'
s.version = '0.7.0'
s.summary = 'Pexip Swift SDK extensions, utilities and shared components.'
s.description = <<-DESC
Pexip Swift SDK is designed for use by iOS/macOS voice/video applications
Expand Down
2 changes: 1 addition & 1 deletion PexipInfinityClient.podspec
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
Pod::Spec.new do |s|
s.name = 'PexipInfinityClient'
s.version = '0.6.0'
s.version = '0.7.0'
s.summary = 'A fluent client for Pexip Infinity REST API v2, conference controls, events, media signaling and token refreshing.'
s.description = <<-DESC
Pexip Swift SDK is designed for use by iOS/macOS voice/video applications
Expand Down
2 changes: 1 addition & 1 deletion PexipMedia.podspec
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
Pod::Spec.new do |s|
s.name = 'PexipMedia'
s.version = '0.6.0'
s.version = '0.7.0'
s.summary = 'Core components for working with audio and video in the Pexip Swift SDK'
s.description = <<-DESC
Pexip Swift SDK is designed for use by iOS/macOS voice/video applications
Expand Down
2 changes: 1 addition & 1 deletion PexipRTC.podspec
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
Pod::Spec.new do |s|
s.name = 'PexipRTC'
s.version = '0.6.0'
s.version = '0.7.0'
s.summary = 'Pexip WebRTC-based media stack for sending and receiving video streams.'
s.description = <<-DESC
Pexip Swift SDK is designed for use by iOS/macOS voice/video applications
Expand Down
2 changes: 1 addition & 1 deletion PexipScreenCapture.podspec
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
Pod::Spec.new do |s|
s.name = 'PexipScreenCapture'
s.version = '0.6.0'
s.version = '0.7.0'
s.summary = 'High level APIs for screen capture on iOS and macOS.'
s.description = <<-DESC
Pexip Swift SDK is designed for use by iOS/macOS voice/video applications
Expand Down
2 changes: 1 addition & 1 deletion PexipVideoFilters.podspec
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
Pod::Spec.new do |s|
s.name = 'PexipVideoFilters'
s.version = '0.6.0'
s.version = '0.7.0'
s.summary = 'A set of built-in video filters ready to use in your video conferencing app.'
s.description = <<-DESC
Pexip Swift SDK is designed for use by iOS/macOS voice/video applications
Expand Down
49 changes: 49 additions & 0 deletions Sources/PexipMedia/ScreenMediaTrackFactory.swift
Original file line number Diff line number Diff line change
Expand Up @@ -51,3 +51,52 @@ public protocol ScreenMediaTrackFactory {

#endif
}

// MARK: - Protocol extensions

public extension ScreenMediaTrackFactory {
#if os(iOS)

/**
Creates a new screen media track with default video profile .presentationHigh.
- Parameters:
- appGroup: The app group identifier.
- broadcastUploadExtension: Bundle identifier of your broadcast upload extension.
- defaultVideoProfile: The default video quality profile to use
when screen capture starts automatically
(e.g. from the Control Center on iOS)
- Returns: A new screen media track
*/
@available(*, deprecated, message: "Use createScreenMediaTrack(::defaultVideoProfile) instead.")
func createScreenMediaTrack(
appGroup: String,
broadcastUploadExtension: String
) -> ScreenMediaTrack {
return createScreenMediaTrack(
appGroup: appGroup,
broadcastUploadExtension: broadcastUploadExtension,
defaultVideoProfile: .presentationHigh
)
}

#else

/**
Creates a new screen media track with default video profile .presentationHigh.
- Parameters:
- mediaSource: The source of the screen content (display or window).
- defaultVideoProfile: The default video quality profile
- Returns: A new screen media track
*/
@available(*, deprecated, message: "Use createScreenMediaTrack(mediaSource:defaultVideoProfile) instead.")
func createScreenMediaTrack(
mediaSource: ScreenMediaSource
) -> ScreenMediaTrack {
return createScreenMediaTrack(
mediaSource: mediaSource,
defaultVideoProfile: .presentationHigh
)
}

#endif
}

0 comments on commit 42d9dfb

Please sign in to comment.