Skip to content

Commit

Permalink
Releasing - POC3 (#1509) (#1510)
Browse files Browse the repository at this point in the history
* Last change.

* Latest changes.

* Update on review.

* call quality guide.

* Update prerequisites

* Filter out the docs without an example.

* Updates on review.

* Update API ref.

* Update API ref.

* Update docs to match the examples supplied so far.

* Add the custom audio, but not published as PR is not accepted yet.

* Last update.

* POC3 iOS get-stared changes.

* POC3 iOS call-quality changes.

* Updated doc structure

* Update

* Updates

* call quality updates

* Updates

* POC3 iOS authentication changes.

* POC3 macOS get-started, call-quality, authentication changes.

* Start merging all the PRs for POC3

* Start merging all the PRs for POC3

* Merge the other projects.

* Updates

* Merge the other projects.

* iOS macOS updates to match the latest code.

* Updates

* Update to GetStarted.

* Authentification workflow.

* Call quality updates.

* call quality doc updates

* Review updates

* Update

* doc structure

* Updates

* reversed changes committed to the wrong branch

* unity poc3

* update get started for vsdk poc3 web

* update vsdk secure auth docs

* get started

* Authentication guide.

* update call quality doc

* Call quality

* Windows POC3 Code Doc

* Updated for call quality

* Get started.

* Call quality.

* Call quality.

* implement Secure Authentication Server POC3 To DOC

* cloud proxy + additional updates

* media encryption unity

* android media player updates (#411)

* Update shared/video-sdk/get-started/get-started-sdk/project-implementation/unity.mdx



* Update shared/video-sdk/get-started/get-started-sdk/project-implementation/unity.mdx



* cloud-proxy updates

* Review updates

* review updates

* Updates

* review update

* update cloud proxy doc

* media-player

* audioAndVoiceEffects

* Update project-implement/unity.mdx

* product-workflow

* updated logic in swift join channel to show each of the three methods, all included in the sample project

* removed all spaces after triple ticks, which shouldn't be there

* added small description comment to callback handlers, added one for voice calling. unified ios and macos examples in get started root

* removed android and flutter separated implementations. added shared files for each code snippets

* removed separate ios and macos implementation, bundled them with android and flutter.

* removed older swift implementations

* android and flutter using poc3 mdx file for ensure-channel-quality

* Geofencing unity

* audio and voice effects updates

* updates

* Product workflow updates

* updated ensure channel quality to include ios and macos.

* cal quality updates

* added cloud proxy and encrypt media streams poc3 templates

* added geofencing poc3 example for ios and macos

* added reactjs to the geofencing example, but it will currently not render in the poc3 specific document due to platform wrappers

* Api ref updates + additional updates

* virtual background

* updates

* resolved build issues

* POC3 docs in new doc structure

* updated ios to have testing hardware options

* update platform added incorrectly fixed

* updated cloud proxy for ios and macos

* removed duplicated lines

* update ios screensharing code to use the replaykit extension

* update encrypt media, play media and custom audio video to use poc3.mdx for at least ios

* updated virtual background coumentation, including test your implementation section

* moved platform specific code to enable-audio-publishing code asset file

* added device compatibility check for virtual background

* Raw Video Audio Processing iOS POC3 new structure

* Fix auto-numbering, remove empty blocks from other platforms, remove platform specific code from poc3, remove unused variables, added api ref links

* added examples of modifying the pixelbuffer and audio buffer

* added api references for each ios and macos code blocks in cloud-proxy, encrypt-media-streams and ensure-channel-quality

* multi-channel live streaming

* updates

* added spatial audio for ios and macos poc3 style-y

* added api reference links for custom-video-and-audio, geofencing and play-media (ios/macos)

* 622 changes.

* added code blocks for joining and leaving secondary channel, added code for monitoring relay state, changed delegates to not be delegate2, updated extra delegate methods, fixed api reference urls, added secondConnection and destUid to variables, added media relay code block.

* updated all ios links to use engine api ref constant if required. added api ref links to product-workflow (#687)

* refactor web get started

* added screensharing example code in poc3 for macos

* update macos screenshare api reference links to open in new tab

* update web cloud proxy doc (#434)

* Release notes - first draft

* Link to beta docs

* Added a bug fix

* update get started for vsdk poc3 web

* update vsdk secure auth docs

* update call quality doc

* Get started.

* Call quality.

* Call quality.

* fix

* revert unrelated changes

* revert unrelated changes

* Removed the fixed issue

* Updated RN

* update cloud proxy doc

* refactor web get started

---------





* New poc3 structure for unity (#705)

* updates

* new structure for unity

* added screensharing example code in poc3 for macos

* update macos screenshare api reference links to open in new tab

* update web cloud proxy doc (#434)

* Release notes - first draft

* Link to beta docs

* Added a bug fix

* update get started for vsdk poc3 web

* update vsdk secure auth docs

* update call quality doc

* Get started.

* Call quality.

* Call quality.

* fix

* revert unrelated changes

* revert unrelated changes

* Removed the fixed issue

* Updated RN

* update cloud proxy doc

* refactor web get started

---------





* updates

* new structure for unity

* updates

* Update assets/code/video-sdk/audio-voice-effects/apply-voice-effects.mdx

---------








* added display media section to play-media story

* Update shared/video-sdk/develop/play-media/project-implementation/poc3.mdx



* Update shared/video-sdk/develop/play-media/project-implementation/poc3.mdx



* fix geofencing and spatial audio layouts

* updates

* align ios, macos, and unity in product-workflow doc

* get started

* updates

* updates

* updates

* updates

* updated terminal to sh on code block

* added POST request example for all, and removed GET for iOS/macOS (#732)

* added api ref links to get started guide for ios macos. added permission handler code for ios/macos (#730)

* update

* add auth workflow poc3

* add cloud proxy

* add more apps

* android updates for quickstart, authentication and call quality (#736)

* get-started and authentication updates

* authentication updates

* Update

* updates

* call quality updates

* Update

* Poc3 android code insertion (#745)

* get-started and authentication updates

* authentication updates

* Update

* updates

* call quality updates

* Update

* product workflow updates

* cloud proxy updates

* media encryption updates

* updates

* Geofencing updates

* media player updates

* multiple channels I

* Multiple channels update II

* Custom audio and video

* Raw video and audio

* Raw video and audio

* Audio and voice effects

* Virtual background

* AI noise suppression

* get-started update

* Update

* get-started numbering fix

* geofencing + cloud proxy (#735)

* geofencing + cloud proxy

* review updates

* code indentation

---------



* update play-media to include macos (#749)

* Audio and voice effects + product workflow for reactjs (#746)

* audio and voice effects

* product workflow

* svg updates

* updates

* audio and voice effects

* product workflow

* svg updates

* updates

* audio voice effects update

* updates

---------



* updates (#741)

* Update

* audio-voice-effects iOS + macOS (#753)

* added voice effect code blocks

* added api ref links to audio-and-voice-effects code blocks

* added ains code for ios and macos (#754)

* multichannel streaming and custom media (#755)

* multichannel streaming and custom media

* removed .DS_Store files

---------



* Call quality reactjs poc3 (#756)

* call quality

* review updates

* updates

* updates

* fixed the index file

---------



* add call quality doc

* Authentication workflow + ai denoiser for reactjs (#761)

* Authentication workflow

* ai-denoiser

* denoiser

* authentication updates

---------



* milestone39 review updates and improvements (#762)

* updates

* review updates

* review updates

* Added android spatial audio code

* Updates

* updates

* spatial audio + media encryption (#763)

* add product workflow doc

* add spatial audio docs

* add denoiser docs

* add custom av docs

* updates

* updated macos for raw video and custom audio-video (#767)

* custom-audio-video macos updates

* Voice calling updates/milestone39 rewrite video sdk docs (#764)

* get-started updates

* get-started setup and prereqs update

* voice-calling updates

* Update

* Call quality max suggestions (#760)

* updates

* updates

* Update

---------



* Multiple Channels Updates macOS (#768)

* updated macos for raw video and custom audio-video

* updated multiple channels docs for macos and ios

* Project Test Sections (#759)

* updated project-test section for some documents to use the reference apps, covering android/ios/macos

* test section improvements

* Call-quality updates

* stream-media and multiple-channels updates

* product-workflow updates

* updates

* updates

* virtual background updates

* Updates

---------




* Update

* poc3.mdx header updates (#772)

* Update

* update

* Update

* Updates after final checking (#769)

* updates

* updates

* updates

* updates

---------



* Docs organization changes (#771)

* Rearrange docs

* Rearrange docs

* Review updates/milestone39-poc3 (#779)

* review-updates

* update

* review updates

* Move api ref web (#775)

* refactor get started references

* refactor references for auth workflow

* refactor cloud proxy references

* refactor play media references

* refactor encrypt references

* refactor call quality refs

* refactor product workflow refs

* refactor custom audio video refs

* refactor geofencing

* virtual background in poc3

* geofencing update

* review updates

* updates

---------




* Release notes for ReactJS (#778)

* Release notes

* Release notes

* Multi-channel updates + Custom media source + Raw audio and video (#774)

* updates

* updates

* updates

* updates

* updates

* Updates

* updates

---------



* update

* Update

* Live stream over multiple channela doc (#780)

* refactor get started references

* refactor references for auth workflow

* refactor cloud proxy references

* refactor play media references

* refactor encrypt references

* refactor call quality refs

* refactor product workflow refs

* refactor custom audio video refs

* refactor geofencing

* virtual background in poc3

* geofencing update

* add live streaming over multiple channel

* review updates

---------



* Encryption Handler iOS (#783)

* add ios event handler to encryption, and remove duplicated code in some poc3 files

* remove ds store

* removed-repeated step

---------



* updates for voice calling (#787)

* updates for voice calling unity

* added back voice-calling custom-audio doc

---------



* Add error codes doc/milestone39 (#788)

* Updates

* Update

* Updates

* error-codes update

* updates

* fix ios declared variables and probe test in call quality doc (#794)

* get-started update

* non-poc3 platforms update

* updates

* review updates

* Added web demo links (#801)

* Voice changes for poc3 web (#804)

* voice-sdk-web-poc3

* review updates

---------



* update token example code link to latest release

---------

Co-authored-by: billy-the-fish <[email protected]>
Co-authored-by: Dasun Nirmitha <[email protected]>
Co-authored-by: saudsami <[email protected]>
Co-authored-by: Saud <[email protected]>
Co-authored-by: Hussain Khalid <[email protected]>
Co-authored-by: Kishan Dhakan <[email protected]>
Co-authored-by: pankajg123 <[email protected]>
Co-authored-by: Max Cobb <[email protected]>
Co-authored-by: Max Cobb <[email protected]>
Co-authored-by: Kishan Dhakan <[email protected]>
Co-authored-by: atovpeko <[email protected]>
Co-authored-by: atovpeko <[email protected]>
  • Loading branch information
13 people authored Dec 20, 2023
1 parent 0f1e99d commit dd5fa55
Show file tree
Hide file tree
Showing 920 changed files with 22,300 additions and 32,621 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
.DS_Store
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: 'Pricing'
sidebar_position: 1
sidebar_position: 3
platform_selector: false
description: >
Provides you with information on billing, fee deductions, free-of-charge policy, and any suspension to your account based on the account type.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: 'Release notes'
sidebar_position: 2.5
sidebar_position: 4
type: docs
platform_selector: false
description: >
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
---
title: 'Supported platforms'
sidebar_position: 6
sidebar_position: 5
type: docs
platform_selector: false
description: >
A list of terms used in Agora documentation.
A list of platforms supported by Agora Analytics.
---

import SupportedPlatform from '@docs/shared/common/_supported-platforms.mdx';
Expand Down
File renamed without changes.
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: 'Release notes'
sidebar_position: 1
sidebar_position: 4
type: docs
description: >
Provides release notes of Agora Chat.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: 'Supported platforms'
sidebar_position: 2
sidebar_position: 5
type: docs
description: >
Lists the platform that Chat supports.
Expand Down
18 changes: 18 additions & 0 deletions assets/code/video-sdk/ai-noise-suppression/configure-engine.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
<PlatformWrapper placeholder="react-js">
```typescript
export function AINoiseReduction() {
const agoraEngine = useRTCClient(AgoraRTC.createClient({ codec: "vp8", mode: "rtc" }));

return (
<div>
<h1>AI Noise Suppression</h1>
<AgoraRTCProvider client={agoraEngine}>
<AuthenticationWorkflowManager>
<AINoiseSuppressionComponent />
</AuthenticationWorkflowManager>
</AgoraRTCProvider>
</div>
);
}
```
</PlatformWrapper>
41 changes: 41 additions & 0 deletions assets/code/video-sdk/ai-noise-suppression/configure-extension.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
<PlatformWrapper placeholder="react-js">
```typescript
const extension = useRef(new AIDenoiserExtension({assetsPath:'./node_modules/agora-extension-ai-denoiser/external'}));
const processor = useRef<IAIDenoiserProcessor>();

useEffect(() => {
const initializeAIDenoiserProcessor = async () => {
AgoraRTC.registerExtensions([extension.current]);
if (!extension.current.checkCompatibility()) {
console.error("Does not support AI Denoiser!");
return;
}

if (agoraContext.localMicrophoneTrack)
{
console.log("Initializing an ai noise processor...");
try {
processor.current = extension.current.createProcessor();
agoraContext.localMicrophoneTrack.pipe(processor.current).pipe(agoraContext.localMicrophoneTrack.processorDestination);
await processor.current.enable();
} catch (error) {
console.error("Error applying noise reduction:", error);
}
}
};
void initializeAIDenoiserProcessor();

return () => {
const disableAIDenoiser = async () => {
processor.current?.unpipe();
agoraContext.localMicrophoneTrack.unpipe();
await processor.current?.disable();
};
void disableAIDenoiser();
};
}, [agoraContext.localMicrophoneTrack]);
```
* <Link to = "{{global.API_REF_WEB_ROOT}}/interfaces/ilocalaudiotrack.html#pipe">pipe</Link>
* <Link to = "{{global.API_REF_WEB_ROOT}}/interfaces/ilocalaudiotrack.html#unpipe">unpipe</Link>

</PlatformWrapper>
66 changes: 66 additions & 0 deletions assets/code/video-sdk/ai-noise-suppression/enable-denoiser.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
<PlatformWrapper platform="web">
```javascript
// Create an AIDenoiserExtension instance, and pass in the host URL of the Wasm files
const denoiser = new AIDenoiserExtension({ assetsPath: "/node_modules/agora-extension-ai-denoiser/external/" });
// Check compatibility
if (!denoiser.checkCompatibility()) {
// The extension might not be supported in the current browser. You can stop executing further code logic
console.error("Does not support AI Denoiser!");
}
// Register the extension
AgoraRTC.registerExtensions([denoiser]);
// (Optional) Listen for the callback reporting that the Wasm files fail to load
denoiser.onloaderror = (e) => {
// If the Wasm files fail to load, you can disable the plugin, for example:
// openDenoiserButton.enabled = false;
console.log(e);
};

// Create a processor
const processor = denoiser.createProcessor();

// Inject the extension to the audio processing pipeline
channelParameters.localAudioTrack
.pipe(processor)
.pipe(channelParameters.localAudioTrack.processorDestination);

await processor.enable();
```
- [createProcessor](#createprocessor)
- [enable](#enable)
</PlatformWrapper>
<PlatformWrapper platform="android">
```kotlin
override fun setupAgoraEngine(): Boolean {
val result = super.setupAgoraEngine()
// Enable AI noise suppression
val mode = 2
// Choose a noise suppression mode from the following:
// 0: (Default) Balanced noise reduction mode
// 1: Aggressive mode
// 2: Aggressive mode with low latency
agoraEngine!!.setAINSMode(true, mode)
return result
}
```
- <Link to="{{global.API_REF_ANDROID_ROOT}}/class_irtcengine.html#api_irtcengine_setainsmode">setAINSMode</Link>
</PlatformWrapper>

<PlatformWrapper platform="ios, macos">
```swift
func setNoiseSuppression(_ enable: Bool, mode: AUDIO_AINS_MODE) -> Int32 {
self.agoraEngine.setAINSMode(enable, mode: mode)
}
```
<PlatformWrapper platform="ios">
- <Link to="{{Global.API_REF_IOS_ROOT_RTC_KIT}}/agorartcenginekit/setainsmode(_:mode:)">setAINSMode(_:mode:)</Link>
- <Link to="{{Global.API_REF_IOS_ROOT_RTC_KIT}}/audio_ains_mode">AUDIO_AINS_MODE</Link>
</PlatformWrapper>
<PlatformWrapper platform="macos">
- <Link to="{{Global.API_REF_MACOS_ROOT_RTC_KIT}}/agorartcenginekit/setainsmode(_:mode:)">setAINSMode(_:mode:)</Link>
- <Link to="{{Global.API_REF_MACOS_ROOT_RTC_KIT}}/audio_ains_mode">AUDIO_AINS_MODE</Link>
</PlatformWrapper>

</PlatformWrapper>
18 changes: 18 additions & 0 deletions assets/code/video-sdk/ai-noise-suppression/import-library.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
<PlatformWrapper platform="web">
```javascript
import AgoraManager from "../agora_manager/agora_manager.js";
import AgoraRTC from "agora-rtc-sdk-ng";
import { AIDenoiserExtension } from "agora-extension-ai-denoiser";
```
</PlatformWrapper>
<PlatformWrapper platform="react-js">
```typescript
import AgoraRTC from "agora-rtc-sdk-ng";
import { useRTCClient, AgoraRTCProvider } from "agora-rtc-react";
import { useEffect, useRef, useState } from "react";
import AuthenticationWorkflowManager from "../authentication-workflow/authenticationWorkflowManager";
import {AIDenoiserExtension, AIDenoiserProcessorLevel, AIDenoiserProcessorMode, IAIDenoiserProcessor} from "agora-extension-ai-denoiser";
import { useConnectionState } from 'agora-rtc-react';
import { useAgoraContext } from "../agora-manager/agoraManager";
```
</PlatformWrapper>
25 changes: 25 additions & 0 deletions assets/code/video-sdk/ai-noise-suppression/import-plugin.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
<PlatformWrapper platform={["ios", "macos"]}>
To enable <Vg k="RTEE_NS"/>, you must import the plugin to your target.

* **Swift Package Manager**

Add the product "AINS" to your app target. This is part of the AgoraRtcEngine Swift Package.

* **CocoaPods**

Include "AINS" in the subspecs in your Podfile:
<PlatformWrapper platform="ios">
```rb
target 'Your App' do
pod 'AgoraRtcEngine_iOS', '~> 4.2', :subspecs => ['RtcBasic', 'AINS']
end
```
</PlatformWrapper>
<PlatformWrapper platform="macos">
```rb
target 'Your App' do
pod 'AgoraRtcEngine_macOS', '~> 4.2', :subspecs => ['RtcBasic', 'AINS']
end
```
</PlatformWrapper>
</PlatformWrapper>
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
<PlatformWrapper platform="react-js">
```typescript
const changeNoiseReductionMode = (selectedOption: string) => {
if (!processor.current) {
console.error("AI noise reduction processor not initialized");
return;
}
if(selectedOption === "STATIONARY_NS")
{
processor.current.setMode(AIDenoiserProcessorMode.STATIONARY_NS)
.then(() =>
{
console.log("Mode set to:", selectedOption);
})
.catch((error) =>
{
console.log(error);
});
}
else
{
processor.current.setMode(AIDenoiserProcessorMode.NSNG)
.then(() =>
{
console.log("Mode set to:", selectedOption);
})
.catch((error) =>
{
console.log(error);
});
}
}
```
</PlatformWrapper>
34 changes: 34 additions & 0 deletions assets/code/video-sdk/ai-noise-suppression/set-reduction-level.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
<PlatformWrapper platform="react-js">
```typescript
const changeNoiseReductionLevel = (selectedOption: string) => {
if (!processor.current) {
console.error("AI noise reduction processor not initialized");
return;
}
if(selectedOption === "aggressive")
{
processor.current.setLevel(AIDenoiserProcessorLevel.AGGRESSIVE)
.then(() =>
{
console.log("Level set to:", selectedOption);
})
.catch((error) =>
{
console.log(error);
});
}
else
{
processor.current.setLevel(AIDenoiserProcessorLevel.SOFT)
.then(() =>
{
console.log("Level set to:", selectedOption);
})
.catch((error) =>
{
console.log(error);
});
}
}
```
</PlatformWrapper>
21 changes: 21 additions & 0 deletions assets/code/video-sdk/ai-noise-suppression/setup-logging.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
<PlatformWrapper platform="web">
```javascript
// Setup logging
processor.ondump = (blob, name) => {
// Dump the audio data to a local folder in PCM format
const objectURL = URL.createObjectURL(blob);
const tag = document.createElement("a");
tag.download = name;
tag.href = objectURL;
tag.click();
setTimeout(() => {URL.revokeObjectURL(objectURL);}, 0);
}

processor.ondumpend = () => {
console.log("dump ended!!");
}

processor.dump();
```
- [ondump](#ondump)
</PlatformWrapper>
Loading

0 comments on commit dd5fa55

Please sign in to comment.