Open azure-sdk opened 1 year ago
Reviewing 3 platforms: Android, iOS, and Windows Android: 2.3.0 GA May release Please review rev 25 vs rev 21: https://apiview.dev/Assemblies/Review/e6c6e8d284fd4a7a80dff09e97f6eb88?diffRevisionId=8eaafc3231134267ac90acf3e8ce15d0&diffOnly=False&revisionId=bead67b4b1074acb84b8223505e49c8f&doc=False
iOS: 2.4.0 GA May release Please review rev 4 vs rev 3: https://apiview.dev/Assemblies/Review/209f39ac4ecf434ea5d2257fa0774f2d?diffRevisionId=becf31ba4f4b4c3b96e924d5df967da0&diffOnly=False&revisionId=e7737db2177944e7987f4671d6faeb7c&doc=False
Windows: 1.0.0 GA May release Please review rev 4 vs rev 2: https://apiview.dev/Assemblies/Review/8c75b91bc08f427886d1cf72925e7a77?diffRevisionId=816ffead990e44069d7a5c76b2955a08&diffOnly=False&revisionId=050a2865a0634ed6b9160c9f1721cbbb&doc=False
Samples for video effect:
Create an instance of the Video Effects feature:
VideoEffectsLocalVideoStreamFeature videoEffectsFeature = localVideoStream.feature(Features.VIDEO_EFFECTS);
Create a new BackgroundBlurEffect object and start the effect:
BackgroundBlurEffect backgroundBlurEffect = new BackgroundBlurEffect();
if (videoEffectsFeature.isEffectSupported(backgroundBlurEffect)) {
videoEffectsFeature.enableEffect(backgroundBlurEffect);
} else{
throw new UnsupportedOperationException("Video Effect is not supported");
}
Stop the effect
videoEffectsFeature.disableEffect(backgroundBlurEffect);
Subscribe to the events
videoEffectsFeature.addOnVideoEffectEnabledListener(this::handleOnVideoEffectEnabled);
videoEffectsFeature.addOnVideoEffectDisabledListener(this::handleOnVideoEffectDisabled);
videoEffectsFeature.addOnVideoEffectErrorListener(this::handleOnVideoEffectError);
Create event handlers for the events
private void handleOnVideoEffectEnabled(VideoEffectEnabledEvent args) {
Log.i("BackgroundBlurFeature", "Effect Enabled for effect " + args.getVideoEffectName());
}
private void handleOnVideoEffectDisabled(VideoEffectDisabledEvent args) {
Log.i("BackgroundBlurFeature", "Effect Disabled for effect " + args.getVideoEffectName());
}
private void handleOnVideoEffectError(VideoEffectErrorEvent args) {
Log.i("BackgroundBlurFeature", "Error " + args.getCode() + ":" + args.getMessage()
+ " for effect " + args.getVideoEffectName());
}}
Create an instance of Video Effects feature
private VideoEffectsLocalVideoStreamFeature videoEffectsFeature;
videoEffectsFeature = localVideoStream[0].Features.VideoEffects;
Create a new BackgroundBlur Effect object.
BackgroundBlurEffect backgroundBlurVideoEffect = new BackgroundBlurEffect();
Start the the Background Blur Video Effect on the Video Effects Feature.
videoEffectsFeature.EnableEffect(backgroundBlurVideoEffect);
Stop the Background Blur Video Effect
videoEffectsFeature.DisableEffect(backgroundBlurVideoEffect);
Subscribe to the events
videoEffectsFeature.OnVideoEffectEnabled += VideoEffectsFeature_OnVideoEffectEnabled;
videoEffectsFeature.OnVideoEffectDisabled += VideoEffectsFeature_OnVideoEffectDisabled;
videoEffectsFeature.OnVideoEffectError += VideoEffectsFeature_OnVideoEffectError;
Create event handlers
private void VideoEffectsFeature_OnVideoEffectEnabled(object sender, VideoEffectEnabledEventArgs args)
{
String effectName = args.VideoEffectName;
Trace.WriteLine("VideoEffects OnVideoEffectEnabled on effect " + effectName);
}
private void VideoEffectsFeature_OnVideoEffectDisabled(object sender, VideoEffectDisabledEventArgs args)
{
String effectName = args.VideoEffectName;
Trace.WriteLine("VideoEffects OnVideoEffectDisabled on effect " + effectName);
}
private void VideoEffectsFeature_OnVideoEffectError(object sender, VideoEffectErrorEventArgs args)
{
String effectName = args.VideoEffectName;
String errorCode = args.Code;
String errorMessage = args.Message;
Trace.WriteLine("VideoEffects OnVideoEffectError on effect " + effectName + "with code "
+ errorCode + "and error message " + errorMessage);
}
Create an instance of the Video Effects feature:
@State var videoEffectsLocalVideoStreamFeature:VideoEffectsLocalVideoStreamFeature?
videoEffectsLocalVideoStreamFeature = self.localVideoStreams.first.feature(Features.videoEffectsLocalVideoStream)
Create a Background Blur Effect object:
@State var backgroundBlurVideoEffect:BackgroundBlurEffect?
backgroundBlurVideoEffect = BackgroundBlurEffect()
Start background blur video effect:
if((videoEffectsLocalVideoStreamFeature.isSupported(effect: backgroundBlurVideoEffect)) != nil)
{
videoEffectsLocalVideoStreamFeature.enable(effect: backgroundBlurVideoEffect)
}
Stop background blur video effect:
videoEffectsLocalVideoStreamFeature.disable(effect: backgroundBlurVideoEffect!)
Subscribe to the events
extension CallObserver: VideoEffectsLocalVideoStreamFeatureDelegate {
public func videoEffectsLocalVideoStreamFeature(_ videoEffectsLocalVideoStreamFeature: VideoEffectsLocalVideoStreamFeature, didEnableVideoEffect args: VideoEffectEnabledEventArgs) {
os_log("Video Effect Enabled, VideoEffectName: %s", log:log, args.videoEffectName)
}
public func videoEffectsLocalVideoStreamFeature(_ videoEffectsLocalVideoStreamFeature: VideoEffectsLocalVideoStreamFeature, didDisableVideoEffect args: VideoEffectDisabledEventArgs) {
os_log("Video Effect Disabled, VideoEffectName: %s", log:log, args.videoEffectName)
}
public func videoEffectsLocalVideoStreamFeature(_ videoEffectsLocalVideoStreamFeature: VideoEffectsLocalVideoStreamFeature, didOccurVideoEffectError args: VideoEffectErrorEventArgs) {
os_log("Video Effect Error, VideoEffectName: %s, Code: %s, Message: %s", log:log, args.videoEffectName, args.code, args.message)
}
}
iOS ApiView for video effects https://apiview.dev/Assemblies/Review/209f39ac4ecf434ea5d2257fa0774f2d
New SDK Review meeting has been requested.
Service Name: IC3 ACS Calling Review Created By: Bob Gao Review Date: 05/08/2023 02:05 PM PT
Hero Scenarios Link: Not Provided Architecture Diagram Link: Not Provided Core Concepts Doc Link: Not Provided APIView Links: Please see comments below
Description: ACS Calling SDKs (native + JS) May GA release review placeholder
Detailed meeting information and documents provided can be accessed here