@microsoft/teams-js 2.10.0-beta.3 → 2.10.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -4
- package/dist/MicrosoftTeams.d.ts +36 -69
- package/dist/MicrosoftTeams.js +14 -225
- package/dist/MicrosoftTeams.js.map +1 -1
- package/dist/MicrosoftTeams.min.js +1 -1
- package/dist/MicrosoftTeams.min.js.map +1 -1
- package/package.json +34 -1
package/README.md
CHANGED
@@ -24,7 +24,7 @@ To install the stable [version](https://learn.microsoft.com/javascript/api/overv
|
|
24
24
|
|
25
25
|
### Production
|
26
26
|
|
27
|
-
You can reference these files directly [from here](https://res.cdn.office.net/teams-js/2.
|
27
|
+
You can reference these files directly [from here](https://res.cdn.office.net/teams-js/2.10.1/js/MicrosoftTeams.min.js) or point your package manager at them.
|
28
28
|
|
29
29
|
## Usage
|
30
30
|
|
@@ -45,13 +45,13 @@ Reference the library inside of your `.html` page using:
|
|
45
45
|
```html
|
46
46
|
<!-- Microsoft Teams JavaScript API (via CDN) -->
|
47
47
|
<script
|
48
|
-
src="https://res.cdn.office.net/teams-js/2.
|
49
|
-
integrity="sha384-
|
48
|
+
src="https://res.cdn.office.net/teams-js/2.10.1/js/MicrosoftTeams.min.js"
|
49
|
+
integrity="sha384-Tc1x2xjzm4vRqLV4l416qPm+i7t8ujpxrioZEjRCNP7g/gQNDW41TB1SpVkQxowY"
|
50
50
|
crossorigin="anonymous"
|
51
51
|
></script>
|
52
52
|
|
53
53
|
<!-- Microsoft Teams JavaScript API (via npm) -->
|
54
|
-
<script src="node_modules/@microsoft/teams-js@2.
|
54
|
+
<script src="node_modules/@microsoft/teams-js@2.10.1/dist/MicrosoftTeams.min.js"></script>
|
55
55
|
|
56
56
|
<!-- Microsoft Teams JavaScript API (via local) -->
|
57
57
|
<script src="MicrosoftTeams.min.js"></script>
|
package/dist/MicrosoftTeams.d.ts
CHANGED
@@ -2075,7 +2075,7 @@ export namespace videoEx {
|
|
2075
2075
|
* @internal
|
2076
2076
|
* Limited to Microsoft-internal use
|
2077
2077
|
*/
|
2078
|
-
interface VideoFrame extends video.
|
2078
|
+
interface VideoFrame extends video.VideoFrame {
|
2079
2079
|
/**
|
2080
2080
|
* @hidden
|
2081
2081
|
* The model output if you passed in an {@linkcode VideoFrameConfig.audioInferenceModel}
|
@@ -3868,6 +3868,7 @@ export namespace app {
|
|
3868
3868
|
templateId?: string;
|
3869
3869
|
/**
|
3870
3870
|
* The user's role in the team.
|
3871
|
+
|
3871
3872
|
* Because a malicious party can run your content in a browser, this value should
|
3872
3873
|
* be used only as a hint as to the user's role, and never as proof of her role.
|
3873
3874
|
*/
|
@@ -3879,8 +3880,13 @@ export namespace app {
|
|
3879
3880
|
interface UserInfo {
|
3880
3881
|
/**
|
3881
3882
|
* The Azure AD object id of the current user.
|
3882
|
-
*
|
3883
|
-
*
|
3883
|
+
*
|
3884
|
+
* Because a malicious party can run your content in a browser, this value should
|
3885
|
+
* be used only as a optimization hint as to who the user is and never as proof of identity.
|
3886
|
+
* Specifically, this value should never be used to determine if a user is authorized to access
|
3887
|
+
* a resource; access tokens should be used for that.
|
3888
|
+
* See {@link authentication.getAuthToken} and {@link authentication.authenticate} for more information on access tokens.
|
3889
|
+
*
|
3884
3890
|
* This field is available only when the identity permission is requested in the manifest.
|
3885
3891
|
*/
|
3886
3892
|
id: string;
|
@@ -3902,17 +3908,25 @@ export namespace app {
|
|
3902
3908
|
*/
|
3903
3909
|
licenseType?: string;
|
3904
3910
|
/**
|
3905
|
-
* A value suitable for use
|
3911
|
+
* A value suitable for use when providing a login_hint to Azure Active Directory for authentication purposes.
|
3912
|
+
* See [Provide optional claims to your app](https://learn.microsoft.com/azure/active-directory/develop/active-directory-optional-claims#v10-and-v20-optional-claims-set)
|
3913
|
+
* for more information about the use of login_hint
|
3914
|
+
*
|
3906
3915
|
* Because a malicious party can run your content in a browser, this value should
|
3907
|
-
* be used only as a hint as to who the user is and never as proof of identity.
|
3908
|
-
*
|
3916
|
+
* be used only as a optimization hint as to who the user is and never as proof of identity.
|
3917
|
+
* Specifically, this value should never be used to determine if a user is authorized to access
|
3918
|
+
* a resource; access tokens should be used for that.
|
3919
|
+
* See {@link authentication.getAuthToken} and {@link authentication.authenticate} for more information on access tokens.
|
3909
3920
|
*/
|
3910
3921
|
loginHint?: string;
|
3911
3922
|
/**
|
3912
3923
|
* The UPN of the current user. This may be an externally-authenticated UPN (e.g., guest users).
|
3913
|
-
|
3914
|
-
*
|
3915
|
-
*
|
3924
|
+
|
3925
|
+
* Because a malicious party can run your content in a browser, this value should
|
3926
|
+
* be used only as a optimization hint as to who the user is and never as proof of identity.
|
3927
|
+
* Specifically, this value should never be used to determine if a user is authorized to access
|
3928
|
+
* a resource; access tokens should be used for that.
|
3929
|
+
* See {@link authentication.getAuthToken} and {@link authentication.authenticate} for more information on access tokens.
|
3916
3930
|
*/
|
3917
3931
|
userPrincipalName?: string;
|
3918
3932
|
/**
|
@@ -3926,9 +3940,12 @@ export namespace app {
|
|
3926
3940
|
interface TenantInfo {
|
3927
3941
|
/**
|
3928
3942
|
* The Azure AD tenant ID of the current user.
|
3943
|
+
|
3929
3944
|
* Because a malicious party can run your content in a browser, this value should
|
3930
|
-
* be used only as a hint as to who the user is and never as proof of identity.
|
3931
|
-
*
|
3945
|
+
* be used only as a optimization hint as to who the user is and never as proof of identity.
|
3946
|
+
* Specifically, this value should never be used to determine if a user is authorized to access
|
3947
|
+
* a resource; access tokens should be used for that.
|
3948
|
+
* See {@link authentication.getAuthToken} and {@link authentication.authenticate} for more information on access tokens.
|
3932
3949
|
*/
|
3933
3950
|
id: string;
|
3934
3951
|
/**
|
@@ -6713,7 +6730,7 @@ export namespace video {
|
|
6713
6730
|
* Represents a video frame
|
6714
6731
|
* @beta
|
6715
6732
|
*/
|
6716
|
-
interface
|
6733
|
+
interface VideoFrame {
|
6717
6734
|
/**
|
6718
6735
|
* Video frame width
|
6719
6736
|
*/
|
@@ -6725,7 +6742,7 @@ export namespace video {
|
|
6725
6742
|
/**
|
6726
6743
|
* Video frame buffer
|
6727
6744
|
*/
|
6728
|
-
|
6745
|
+
data: Uint8ClampedArray;
|
6729
6746
|
/**
|
6730
6747
|
* NV12 luma stride, valid only when video frame format is NV12
|
6731
6748
|
*/
|
@@ -6748,7 +6765,7 @@ export namespace video {
|
|
6748
6765
|
* @beta
|
6749
6766
|
*/
|
6750
6767
|
enum VideoFrameFormat {
|
6751
|
-
NV12 =
|
6768
|
+
NV12 = 0
|
6752
6769
|
}
|
6753
6770
|
/**
|
6754
6771
|
* Video frame configuration supplied to the host to customize the generated video frame parameters, like format
|
@@ -6768,17 +6785,17 @@ export namespace video {
|
|
6768
6785
|
/**
|
6769
6786
|
* Current video effect changed
|
6770
6787
|
*/
|
6771
|
-
EffectChanged =
|
6788
|
+
EffectChanged = 0,
|
6772
6789
|
/**
|
6773
6790
|
* Disable the video effect
|
6774
6791
|
*/
|
6775
|
-
EffectDisabled =
|
6792
|
+
EffectDisabled = 1
|
6776
6793
|
}
|
6777
6794
|
/**
|
6778
6795
|
* Video frame call back function definition
|
6779
6796
|
* @beta
|
6780
6797
|
*/
|
6781
|
-
type VideoFrameCallback = (frame:
|
6798
|
+
type VideoFrameCallback = (frame: VideoFrame, notifyVideoFrameProcessed: () => void, notifyError: (errorMessage: string) => void) => void;
|
6782
6799
|
/**
|
6783
6800
|
* Predefined failure reasons for preparing the selected video effect
|
6784
6801
|
* @beta
|
@@ -6831,56 +6848,6 @@ export namespace video {
|
|
6831
6848
|
*
|
6832
6849
|
*/
|
6833
6850
|
function isSupported(): boolean;
|
6834
|
-
/**
|
6835
|
-
* @beta
|
6836
|
-
* Namespace to get video frames from a media stream.
|
6837
|
-
* When the host supports this capability, developer should call {@link mediaStream.registerForVideoFrame} to get the video frames instead of {@link registerForVideoFrame} to get the video frames, callback of {@link registerForVideoFrame} will be ignored when the host supports this capability.
|
6838
|
-
*/
|
6839
|
-
namespace mediaStream {
|
6840
|
-
/**
|
6841
|
-
* @beta
|
6842
|
-
* Checks if video.mediaStream capability is supported by the host
|
6843
|
-
* @returns boolean to represent whether the video.medisStream capability is supported
|
6844
|
-
*
|
6845
|
-
* @throws Error if {@linkcode app.initialize} has not successfully completed
|
6846
|
-
*
|
6847
|
-
*/
|
6848
|
-
function isSupported(): boolean;
|
6849
|
-
/**
|
6850
|
-
* @beta
|
6851
|
-
* Video frame data extracted from the media stream. More properties may be added in the future.
|
6852
|
-
*/
|
6853
|
-
type MediaStreamFrameData = {
|
6854
|
-
/**
|
6855
|
-
* The video frame from the media stream.
|
6856
|
-
*/
|
6857
|
-
videoFrame: VideoFrame;
|
6858
|
-
};
|
6859
|
-
/**
|
6860
|
-
* @beta
|
6861
|
-
* Video effect change call back function definition.
|
6862
|
-
* The video app should resolve the promise to notify a successfully processed video frame.
|
6863
|
-
* The video app should reject the promise to notify a failure.
|
6864
|
-
*/
|
6865
|
-
type VideoFrameCallback = (receivedVideoFrame: MediaStreamFrameData) => Promise<VideoFrame>;
|
6866
|
-
/**
|
6867
|
-
* @beta
|
6868
|
-
* Register to read the video frames from the media stream provided by the host.
|
6869
|
-
* @param frameCallback - The callback to invoke when recieve a video frame from the media stream.
|
6870
|
-
* @example
|
6871
|
-
* ```typescript
|
6872
|
-
* video.mediaStream.registerForVideoFrame(async (receivedVideoFrame) => {
|
6873
|
-
* const { videoFrame } = receivedVideoFrame;
|
6874
|
-
* try {
|
6875
|
-
* return await processVideoFrame(videoFrame);
|
6876
|
-
* } catch (error) {
|
6877
|
-
* throw error;
|
6878
|
-
* }
|
6879
|
-
* });
|
6880
|
-
* ```
|
6881
|
-
*/
|
6882
|
-
function registerForVideoFrame(frameCallback: VideoFrameCallback): void;
|
6883
|
-
}
|
6884
6851
|
}
|
6885
6852
|
|
6886
6853
|
/**
|
@@ -7127,7 +7094,7 @@ export namespace call {
|
|
7127
7094
|
* @remarks
|
7128
7095
|
* Currently the User ID field supports the Azure AD UserPrincipalName,
|
7129
7096
|
* typically an email address, or in case of a PSTN call, it supports a pstn
|
7130
|
-
* mri 4
|
7097
|
+
* mri 4:\<phonenumber>.
|
7131
7098
|
*/
|
7132
7099
|
targets: string[];
|
7133
7100
|
/**
|
@@ -7596,7 +7563,7 @@ export namespace tasks {
|
|
7596
7563
|
function submitTask(result?: string | object, appIds?: string | string[]): void;
|
7597
7564
|
/**
|
7598
7565
|
* Sets the height and width of the {@link TaskInfo} object to the original height and width, if initially specified,
|
7599
|
-
* otherwise uses the height and width values corresponding to {@link
|
7566
|
+
* otherwise uses the height and width values corresponding to {@link DialogDimension | TaskModuleDimension.Small}
|
7600
7567
|
* @param taskInfo TaskInfo object from which to extract size info, if specified
|
7601
7568
|
* @returns TaskInfo with height and width specified
|
7602
7569
|
*/
|
package/dist/MicrosoftTeams.js
CHANGED
@@ -7,7 +7,7 @@
|
|
7
7
|
exports["microsoftTeams"] = factory();
|
8
8
|
else
|
9
9
|
root["microsoftTeams"] = factory();
|
10
|
-
})(self, () => {
|
10
|
+
})(typeof self !== 'undefined' ? self : this, () => {
|
11
11
|
return /******/ (() => { // webpackBootstrap
|
12
12
|
/******/ var __webpack_modules__ = ({
|
13
13
|
|
@@ -1011,10 +1011,6 @@ var validOrigins = [
|
|
1011
1011
|
'local.teams.live.com:8080',
|
1012
1012
|
'local.teams.office.com',
|
1013
1013
|
'local.teams.office.com:8080',
|
1014
|
-
'msft.spoppe.com',
|
1015
|
-
'*.sharepoint.com',
|
1016
|
-
'*.sharepoint-df.com',
|
1017
|
-
'*.sharepointonline.com',
|
1018
1014
|
'outlook.office.com',
|
1019
1015
|
'outlook-sdf.office.com',
|
1020
1016
|
'outlook.office365.com',
|
@@ -2003,7 +1999,7 @@ var _minRuntimeConfigToUninitialize = {
|
|
2003
1999
|
};
|
2004
2000
|
|
2005
2001
|
;// CONCATENATED MODULE: ./src/public/version.ts
|
2006
|
-
var version = "2.10.
|
2002
|
+
var version = "2.10.1";
|
2007
2003
|
|
2008
2004
|
;// CONCATENATED MODULE: ./src/internal/internalAPIs.ts
|
2009
2005
|
|
@@ -2087,13 +2083,15 @@ function isCurrentSDKVersionAtLeast(requiredVersion) {
|
|
2087
2083
|
}
|
2088
2084
|
/**
|
2089
2085
|
* @hidden
|
2090
|
-
* Helper function to identify if host client is either android or
|
2086
|
+
* Helper function to identify if host client is either android, ios, or ipados
|
2091
2087
|
*
|
2092
2088
|
* @internal
|
2093
2089
|
* Limited to Microsoft-internal use
|
2094
2090
|
*/
|
2095
2091
|
function isHostClientMobile() {
|
2096
|
-
return GlobalVars.hostClientType == HostClientType.android ||
|
2092
|
+
return (GlobalVars.hostClientType == HostClientType.android ||
|
2093
|
+
GlobalVars.hostClientType == HostClientType.ios ||
|
2094
|
+
GlobalVars.hostClientType == HostClientType.ipados);
|
2097
2095
|
}
|
2098
2096
|
/**
|
2099
2097
|
* @hidden
|
@@ -2222,6 +2220,7 @@ var authentication;
|
|
2222
2220
|
if (GlobalVars.hostClientType === HostClientType.desktop ||
|
2223
2221
|
GlobalVars.hostClientType === HostClientType.android ||
|
2224
2222
|
GlobalVars.hostClientType === HostClientType.ios ||
|
2223
|
+
GlobalVars.hostClientType === HostClientType.ipados ||
|
2225
2224
|
GlobalVars.hostClientType === HostClientType.rigel ||
|
2226
2225
|
GlobalVars.hostClientType === HostClientType.teamsRoomsWindows ||
|
2227
2226
|
GlobalVars.hostClientType === HostClientType.teamsRoomsAndroid ||
|
@@ -7638,53 +7637,6 @@ var profile;
|
|
7638
7637
|
})(profile || (profile = {}));
|
7639
7638
|
|
7640
7639
|
;// CONCATENATED MODULE: ./src/public/video.ts
|
7641
|
-
var video_assign = (undefined && undefined.__assign) || function () {
|
7642
|
-
video_assign = Object.assign || function(t) {
|
7643
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
7644
|
-
s = arguments[i];
|
7645
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
7646
|
-
t[p] = s[p];
|
7647
|
-
}
|
7648
|
-
return t;
|
7649
|
-
};
|
7650
|
-
return video_assign.apply(this, arguments);
|
7651
|
-
};
|
7652
|
-
var video_awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {
|
7653
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
7654
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
7655
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
7656
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
7657
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
7658
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
7659
|
-
});
|
7660
|
-
};
|
7661
|
-
var video_generator = (undefined && undefined.__generator) || function (thisArg, body) {
|
7662
|
-
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
7663
|
-
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
7664
|
-
function verb(n) { return function (v) { return step([n, v]); }; }
|
7665
|
-
function step(op) {
|
7666
|
-
if (f) throw new TypeError("Generator is already executing.");
|
7667
|
-
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
7668
|
-
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
7669
|
-
if (y = 0, t) op = [op[0] & 2, t.value];
|
7670
|
-
switch (op[0]) {
|
7671
|
-
case 0: case 1: t = op; break;
|
7672
|
-
case 4: _.label++; return { value: op[1], done: false };
|
7673
|
-
case 5: _.label++; y = op[1]; op = [0]; continue;
|
7674
|
-
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
7675
|
-
default:
|
7676
|
-
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
7677
|
-
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
7678
|
-
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
7679
|
-
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
7680
|
-
if (t[2]) _.ops.pop();
|
7681
|
-
_.trys.pop(); continue;
|
7682
|
-
}
|
7683
|
-
op = body.call(thisArg, _);
|
7684
|
-
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
7685
|
-
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
7686
|
-
}
|
7687
|
-
};
|
7688
7640
|
|
7689
7641
|
|
7690
7642
|
|
@@ -7702,7 +7654,7 @@ var video;
|
|
7702
7654
|
*/
|
7703
7655
|
var VideoFrameFormat;
|
7704
7656
|
(function (VideoFrameFormat) {
|
7705
|
-
VideoFrameFormat["NV12"] = "NV12";
|
7657
|
+
VideoFrameFormat[VideoFrameFormat["NV12"] = 0] = "NV12";
|
7706
7658
|
})(VideoFrameFormat = video.VideoFrameFormat || (video.VideoFrameFormat = {}));
|
7707
7659
|
/**
|
7708
7660
|
* Video effect change type enum
|
@@ -7713,11 +7665,11 @@ var video;
|
|
7713
7665
|
/**
|
7714
7666
|
* Current video effect changed
|
7715
7667
|
*/
|
7716
|
-
EffectChangeType["EffectChanged"] = "EffectChanged";
|
7668
|
+
EffectChangeType[EffectChangeType["EffectChanged"] = 0] = "EffectChanged";
|
7717
7669
|
/**
|
7718
7670
|
* Disable the video effect
|
7719
7671
|
*/
|
7720
|
-
EffectChangeType["EffectDisabled"] = "EffectDisabled";
|
7672
|
+
EffectChangeType[EffectChangeType["EffectDisabled"] = 1] = "EffectDisabled";
|
7721
7673
|
})(EffectChangeType = video.EffectChangeType || (video.EffectChangeType = {}));
|
7722
7674
|
/**
|
7723
7675
|
* Predefined failure reasons for preparing the selected video effect
|
@@ -7746,14 +7698,10 @@ var video;
|
|
7746
7698
|
if (!isSupported()) {
|
7747
7699
|
throw errorNotSupportedOnPlatform;
|
7748
7700
|
}
|
7749
|
-
registerHandler('video.newVideoFrame',
|
7750
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
7751
|
-
function (videoFrame) {
|
7701
|
+
registerHandler('video.newVideoFrame', function (videoFrame) {
|
7752
7702
|
if (videoFrame) {
|
7753
|
-
|
7754
|
-
|
7755
|
-
var timestamp_1 = videoFrameData.timestamp;
|
7756
|
-
frameCallback(videoFrameData, function () {
|
7703
|
+
var timestamp_1 = videoFrame.timestamp;
|
7704
|
+
frameCallback(videoFrame, function () {
|
7757
7705
|
notifyVideoFrameProcessed(timestamp_1);
|
7758
7706
|
}, notifyError);
|
7759
7707
|
}
|
@@ -7829,165 +7777,6 @@ var video;
|
|
7829
7777
|
return ensureInitialized(runtime) && runtime.supports.video ? true : false;
|
7830
7778
|
}
|
7831
7779
|
video.isSupported = isSupported;
|
7832
|
-
/**
|
7833
|
-
* @beta
|
7834
|
-
* Namespace to get video frames from a media stream.
|
7835
|
-
* When the host supports this capability, developer should call {@link mediaStream.registerForVideoFrame} to get the video frames instead of {@link registerForVideoFrame} to get the video frames, callback of {@link registerForVideoFrame} will be ignored when the host supports this capability.
|
7836
|
-
*/
|
7837
|
-
var mediaStream;
|
7838
|
-
(function (mediaStream_1) {
|
7839
|
-
/**
|
7840
|
-
* @beta
|
7841
|
-
* Checks if video.mediaStream capability is supported by the host
|
7842
|
-
* @returns boolean to represent whether the video.medisStream capability is supported
|
7843
|
-
*
|
7844
|
-
* @throws Error if {@linkcode app.initialize} has not successfully completed
|
7845
|
-
*
|
7846
|
-
*/
|
7847
|
-
function isSupported() {
|
7848
|
-
var _a;
|
7849
|
-
return ensureInitialized(runtime) && isTextureStreamAvailable() && !!((_a = runtime.supports.video) === null || _a === void 0 ? void 0 : _a.mediaStream);
|
7850
|
-
}
|
7851
|
-
mediaStream_1.isSupported = isSupported;
|
7852
|
-
function isTextureStreamAvailable() {
|
7853
|
-
var _a, _b, _c, _d;
|
7854
|
-
return (typeof window !== 'undefined' &&
|
7855
|
-
!!(((_b = (_a = window['chrome']) === null || _a === void 0 ? void 0 : _a.webview) === null || _b === void 0 ? void 0 : _b.getTextureStream) && ((_d = (_c = window['chrome']) === null || _c === void 0 ? void 0 : _c.webview) === null || _d === void 0 ? void 0 : _d.registerTextureStream)));
|
7856
|
-
}
|
7857
|
-
/**
|
7858
|
-
* @beta
|
7859
|
-
* Register to read the video frames from the media stream provided by the host.
|
7860
|
-
* @param frameCallback - The callback to invoke when recieve a video frame from the media stream.
|
7861
|
-
* @example
|
7862
|
-
* ```typescript
|
7863
|
-
* video.mediaStream.registerForVideoFrame(async (receivedVideoFrame) => {
|
7864
|
-
* const { videoFrame } = receivedVideoFrame;
|
7865
|
-
* try {
|
7866
|
-
* return await processVideoFrame(videoFrame);
|
7867
|
-
* } catch (error) {
|
7868
|
-
* throw error;
|
7869
|
-
* }
|
7870
|
-
* });
|
7871
|
-
* ```
|
7872
|
-
*/
|
7873
|
-
function registerForVideoFrame(frameCallback) {
|
7874
|
-
var _this = this;
|
7875
|
-
ensureInitialized(runtime, FrameContexts.sidePanel);
|
7876
|
-
if (!isSupported()) {
|
7877
|
-
throw errorNotSupportedOnPlatform;
|
7878
|
-
}
|
7879
|
-
registerHandler('video.startVideoExtensibilityVideoStream', function (mediaStreamInfo) { return video_awaiter(_this, void 0, void 0, function () {
|
7880
|
-
var streamId, videoTrack, generator;
|
7881
|
-
var _a, _b;
|
7882
|
-
return video_generator(this, function (_c) {
|
7883
|
-
switch (_c.label) {
|
7884
|
-
case 0:
|
7885
|
-
streamId = mediaStreamInfo.streamId;
|
7886
|
-
return [4 /*yield*/, getInputVideoTrack(streamId)];
|
7887
|
-
case 1:
|
7888
|
-
videoTrack = _c.sent();
|
7889
|
-
generator = createProcessedStreamGenerator(videoTrack, frameCallback);
|
7890
|
-
// register the video track with processed frames back to the stream:
|
7891
|
-
typeof window !== 'undefined' && ((_b = (_a = window['chrome']) === null || _a === void 0 ? void 0 : _a.webview) === null || _b === void 0 ? void 0 : _b.registerTextureStream(streamId, generator));
|
7892
|
-
return [2 /*return*/];
|
7893
|
-
}
|
7894
|
-
});
|
7895
|
-
}); });
|
7896
|
-
sendMessageToParent('video.mediaStream.registerForVideoFrame', [
|
7897
|
-
{
|
7898
|
-
format: VideoFrameFormat.NV12,
|
7899
|
-
},
|
7900
|
-
]);
|
7901
|
-
}
|
7902
|
-
mediaStream_1.registerForVideoFrame = registerForVideoFrame;
|
7903
|
-
/**
|
7904
|
-
* Get the video track from the media stream gotten from chrome.webview.getTextureStream(streamId).
|
7905
|
-
*/
|
7906
|
-
function getInputVideoTrack(streamId) {
|
7907
|
-
return video_awaiter(this, void 0, void 0, function () {
|
7908
|
-
var chrome, mediaStream_2, tracks, error_1, errorMsg;
|
7909
|
-
return video_generator(this, function (_a) {
|
7910
|
-
switch (_a.label) {
|
7911
|
-
case 0:
|
7912
|
-
if (typeof window === 'undefined') {
|
7913
|
-
throw errorNotSupportedOnPlatform;
|
7914
|
-
}
|
7915
|
-
chrome = window['chrome'];
|
7916
|
-
_a.label = 1;
|
7917
|
-
case 1:
|
7918
|
-
_a.trys.push([1, 3, , 4]);
|
7919
|
-
return [4 /*yield*/, chrome.webview.getTextureStream(streamId)];
|
7920
|
-
case 2:
|
7921
|
-
mediaStream_2 = _a.sent();
|
7922
|
-
tracks = mediaStream_2.getVideoTracks();
|
7923
|
-
if (tracks.length === 0) {
|
7924
|
-
throw new Error("No video track in stream ".concat(streamId));
|
7925
|
-
}
|
7926
|
-
return [2 /*return*/, tracks[0]];
|
7927
|
-
case 3:
|
7928
|
-
error_1 = _a.sent();
|
7929
|
-
errorMsg = "Failed to get video track from stream ".concat(streamId, ", error: ").concat(error_1);
|
7930
|
-
notifyError(errorMsg);
|
7931
|
-
throw new Error(errorMsg);
|
7932
|
-
case 4: return [2 /*return*/];
|
7933
|
-
}
|
7934
|
-
});
|
7935
|
-
});
|
7936
|
-
}
|
7937
|
-
/**
|
7938
|
-
* The function to create a processed video track from the original video track.
|
7939
|
-
* It reads frames from the video track and pipes them to the video frame callback to process the frames.
|
7940
|
-
* The processed frames are then enqueued to the generator.
|
7941
|
-
* The generator can be registered back to the media stream so that the host can get the processed frames.
|
7942
|
-
*/
|
7943
|
-
function createProcessedStreamGenerator(videoTrack, videoFrameCallback) {
|
7944
|
-
var processor = new MediaStreamTrackProcessor({ track: videoTrack });
|
7945
|
-
var source = processor.readable;
|
7946
|
-
var generator = new MediaStreamTrackGenerator({ kind: 'video' });
|
7947
|
-
var sink = generator.writable;
|
7948
|
-
source
|
7949
|
-
.pipeThrough(new TransformStream({
|
7950
|
-
transform: function (originalFrame, controller) {
|
7951
|
-
return video_awaiter(this, void 0, void 0, function () {
|
7952
|
-
var timestamp, frameProcessedByApp, processedFrame, error_2;
|
7953
|
-
return video_generator(this, function (_a) {
|
7954
|
-
switch (_a.label) {
|
7955
|
-
case 0:
|
7956
|
-
timestamp = originalFrame.timestamp;
|
7957
|
-
if (!(timestamp !== null)) return [3 /*break*/, 5];
|
7958
|
-
_a.label = 1;
|
7959
|
-
case 1:
|
7960
|
-
_a.trys.push([1, 3, , 4]);
|
7961
|
-
return [4 /*yield*/, videoFrameCallback({ videoFrame: originalFrame })];
|
7962
|
-
case 2:
|
7963
|
-
frameProcessedByApp = _a.sent();
|
7964
|
-
processedFrame = new VideoFrame(frameProcessedByApp, {
|
7965
|
-
// we need the timestamp to be unchanged from the oirginal frame, so we explicitly set it here.
|
7966
|
-
timestamp: timestamp,
|
7967
|
-
});
|
7968
|
-
controller.enqueue(processedFrame);
|
7969
|
-
originalFrame.close();
|
7970
|
-
frameProcessedByApp.close();
|
7971
|
-
return [3 /*break*/, 4];
|
7972
|
-
case 3:
|
7973
|
-
error_2 = _a.sent();
|
7974
|
-
originalFrame.close();
|
7975
|
-
notifyError(error_2);
|
7976
|
-
return [3 /*break*/, 4];
|
7977
|
-
case 4: return [3 /*break*/, 6];
|
7978
|
-
case 5:
|
7979
|
-
notifyError('timestamp of the original video frame is null');
|
7980
|
-
_a.label = 6;
|
7981
|
-
case 6: return [2 /*return*/];
|
7982
|
-
}
|
7983
|
-
});
|
7984
|
-
});
|
7985
|
-
},
|
7986
|
-
}))
|
7987
|
-
.pipeTo(sink);
|
7988
|
-
return generator;
|
7989
|
-
}
|
7990
|
-
})(mediaStream = video.mediaStream || (video.mediaStream = {}));
|
7991
7780
|
})(video || (video = {})); //end of video namespace
|
7992
7781
|
|
7993
7782
|
;// CONCATENATED MODULE: ./src/public/search.ts
|
@@ -8995,7 +8784,7 @@ var tasks;
|
|
8995
8784
|
}
|
8996
8785
|
/**
|
8997
8786
|
* Sets the height and width of the {@link TaskInfo} object to the original height and width, if initially specified,
|
8998
|
-
* otherwise uses the height and width values corresponding to {@link
|
8787
|
+
* otherwise uses the height and width values corresponding to {@link DialogDimension | TaskModuleDimension.Small}
|
8999
8788
|
* @param taskInfo TaskInfo object from which to extract size info, if specified
|
9000
8789
|
* @returns TaskInfo with height and width specified
|
9001
8790
|
*/
|