Skip to content

Commit

Permalink
v1.9.0
Browse files Browse the repository at this point in the history
  • Loading branch information
yukotayuki committed Jun 6, 2024
1 parent c081cfb commit db27992
Show file tree
Hide file tree
Showing 19 changed files with 114 additions and 84 deletions.
18 changes: 9 additions & 9 deletions THIRD_PARTY_LICENSE
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ SOFTWARE.

---

@skyway-sdk/core@1.8.1
@skyway-sdk/core@1.9.0

MIT

Expand Down Expand Up @@ -122,7 +122,7 @@ SOFTWARE.

---

@skyway-sdk/room@1.8.1
@skyway-sdk/room@1.9.0

MIT

Expand Down Expand Up @@ -153,7 +153,7 @@ SOFTWARE.

---

@skyway-sdk/rtc-api-client@1.6.0
@skyway-sdk/rtc-api-client@1.7.0

MIT

Expand Down Expand Up @@ -184,7 +184,7 @@ SOFTWARE.

---

@skyway-sdk/rtc-rpc-api-client@1.6.0
@skyway-sdk/rtc-rpc-api-client@1.7.0

MIT

Expand Down Expand Up @@ -246,7 +246,7 @@ SOFTWARE.

---

@skyway-sdk/sfu-bot@1.8.1
@skyway-sdk/sfu-bot@1.9.0

MIT

Expand Down Expand Up @@ -457,7 +457,7 @@ OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.

---

[email protected].1
[email protected].2

MIT

Expand Down Expand Up @@ -552,7 +552,7 @@ THE SOFTWARE.

---

[email protected].4
[email protected].5

MIT

Expand Down Expand Up @@ -1226,7 +1226,7 @@ SOFTWARE.

---

[email protected].37
[email protected].38

MIT

Expand Down Expand Up @@ -1257,7 +1257,7 @@ SOFTWARE.

---

[email protected].0
[email protected].1

MIT

Expand Down
30 changes: 15 additions & 15 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions packages/core/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@skyway-sdk/core",
"version": "1.8.1",
"version": "1.9.0",
"description": "The official Next Generation JavaScript SDK for SkyWay",
"homepage": "https://skyway.ntt.com/",
"repository": {
Expand Down Expand Up @@ -48,7 +48,7 @@
},
"dependencies": {
"@skyway-sdk/analytics-client": "^0.1.0-beta3",
"@skyway-sdk/rtc-api-client": "^1.6.0",
"@skyway-sdk/rtc-api-client": "^1.7.0",
"@skyway-sdk/signaling-client": "^1.0.4",
"bowser": "^2.11.0",
"deepmerge": "^4.2.2",
Expand Down
11 changes: 7 additions & 4 deletions packages/core/src/channel/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -369,8 +369,9 @@ export class SkyWayChannelImpl implements Channel {
async ({ publication }) =>
await this._handleOnPublicationEnabled(publication)
);
this._channelImpl.onPublicationDisabled.add(({ publication }) =>
this._handleOnPublicationDisabled(publication)
this._channelImpl.onPublicationDisabled.add(
async ({ publication }) =>
await this._handleOnPublicationDisabled(publication)
);
this._channelImpl.onPublicationSubscribed.add(({ subscription }) => {
this._handleOnStreamSubscribe(subscription);
Expand Down Expand Up @@ -458,9 +459,11 @@ export class SkyWayChannelImpl implements Channel {
this.onPublicationEnabled.emit({ publication });
}

private _handleOnPublicationDisabled(publicationDto: model.Publication) {
private async _handleOnPublicationDisabled(
publicationDto: model.Publication
) {
const publication = this._getPublication(publicationDto.id);
publication._disable();
await publication._disable();

this.onPublicationDisabled.emit({ publication });
}
Expand Down
16 changes: 16 additions & 0 deletions packages/core/src/member/localPerson/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -477,6 +477,7 @@ export class LocalPersonImpl extends MemberImpl implements LocalPerson {
channel: this.channel.id,
contentType: stream.contentType,
codecCapabilities: options.codecCapabilities ?? [],
isEnabled: options.isEnabled,
};
if (
stream.contentType === 'video' &&
Expand All @@ -503,6 +504,14 @@ export class LocalPersonImpl extends MemberImpl implements LocalPerson {
})
);

// publication作成時にpublication.state=isEnabledとなり、その後isEnabledに合わせてpublicationのenableStream/disableStreamを呼び出してもsetIsEnabled/setEnabledが実行されない。
// そのままではpublication.stateとstreamで状態の乖離が発生する場合があるため、ここで直接実行し一致させておく。
if (stream.contentType === 'data') {
stream.setIsEnabled(published.isEnabled);
} else {
await stream.setEnabled(published.isEnabled);
}

const publication = this.channel._addPublication(published);
publication._setStream(stream);

Expand Down Expand Up @@ -956,6 +965,13 @@ export type PublicationOptions = {
* P2Pを利用している場合、最もビットレートの低い設定のみが適用される。
*/
encodings?: EncodingParameters[];
/**
* @description [japanese]
* publicationを有効にしてpublishするか指定する。
* デフォルトではtrueが設定される。
* falseに設定された場合、publicationは一時停止された状態でpublishされる。
*/
isEnabled?: boolean;
};

export type SubscriptionOptions = {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -192,6 +192,7 @@ export class P2PConnection implements SkyWayConnection {
stream = this.receiver.streams[publicationId];
}

stream.setIsEnabled(subscription.publication.state === 'enabled');
subscription.codec = stream.codec;
subscription._setStream(stream);

Expand Down
12 changes: 6 additions & 6 deletions packages/core/src/publication/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -233,10 +233,10 @@ export class PublicationImpl<T extends LocalStream = LocalStream>
this.origin = args.origin;
this.setCodecCapabilities(args.codecCapabilities ?? []);
this.setEncodings(normalizeEncodings(args.encodings ?? []));
this._state = args.isEnabled ? 'enabled' : 'disabled';
if (args.stream) {
this._setStream(args.stream);
}
this._state = args.isEnabled ? 'enabled' : 'disabled';
this._analytics = this._channel.localPerson?._analytics;

log.debug('publication spawned', this.toJSON());
Expand All @@ -255,8 +255,8 @@ export class PublicationImpl<T extends LocalStream = LocalStream>
}

/**@private */
_disable() {
this._disableStream();
async _disable() {
await this._disableStream();

this.onDisabled.emit();
this.onStateChanged.emit();
Expand Down Expand Up @@ -393,7 +393,7 @@ export class PublicationImpl<T extends LocalStream = LocalStream>
this
);

this._disableStream();
await this._disableStream();

let failed = false;
this._channel._disablePublication(this.id).catch((e) => {
Expand Down Expand Up @@ -421,7 +421,7 @@ export class PublicationImpl<T extends LocalStream = LocalStream>
});
});

private _disableStream() {
private async _disableStream() {
if (this.state === 'disabled') {
return;
}
Expand All @@ -433,7 +433,7 @@ export class PublicationImpl<T extends LocalStream = LocalStream>
if (this.stream.contentType === 'data') {
this.stream.setIsEnabled(false);
} else {
this.stream.setEnabled(false).catch((e) => {
await this.stream.setEnabled(false).catch((e) => {
log.warn(
createWarnPayload({
channel: this._channel,
Expand Down
2 changes: 1 addition & 1 deletion packages/core/src/version.ts
Original file line number Diff line number Diff line change
@@ -1 +1 @@
export const PACKAGE_VERSION = '1.8.1';
export const PACKAGE_VERSION = '1.9.0';
6 changes: 3 additions & 3 deletions packages/room/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@skyway-sdk/room",
"version": "1.8.1",
"version": "1.9.0",
"description": "The official Next Generation JavaScript SDK for SkyWay",
"homepage": "https://skyway.ntt.com/",
"repository": {
Expand Down Expand Up @@ -46,8 +46,8 @@
"watch:tsc": "tsc -p tsconfig.build.json -w"
},
"dependencies": {
"@skyway-sdk/core": "^1.8.1",
"@skyway-sdk/sfu-bot": "^1.8.1",
"@skyway-sdk/core": "^1.9.0",
"@skyway-sdk/sfu-bot": "^1.9.0",
"uuid": "^9.0.0"
},
"devDependencies": {
Expand Down
2 changes: 1 addition & 1 deletion packages/room/src/version.ts
Original file line number Diff line number Diff line change
@@ -1 +1 @@
export const PACKAGE_VERSION = '1.8.1';
export const PACKAGE_VERSION = '1.9.0';
4 changes: 2 additions & 2 deletions packages/rtc-api-client/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@skyway-sdk/rtc-api-client",
"version": "1.6.0",
"version": "1.7.0",
"description": "The official Next Generation JavaScript SDK for SkyWay",
"homepage": "https://skyway.ntt.com/",
"repository": {
Expand Down Expand Up @@ -35,7 +35,7 @@
"watch:tsc": "tsc -p tsconfig.build.json -w"
},
"dependencies": {
"@skyway-sdk/rtc-rpc-api-client": "^1.6.0",
"@skyway-sdk/rtc-rpc-api-client": "^1.7.0",
"@skyway-sdk/token": "^1.6.0",
"deepmerge": "^4.2.2",
"uuid": "^9.0.0"
Expand Down
11 changes: 9 additions & 2 deletions packages/rtc-api-client/src/domain/api.ts
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,10 @@ export interface RtcApi {
metadata: string
): Promise<void>;
/**@throws {@link SkyWayError} */
publish(appId: string, init: PublicationInit): Promise<model.Publication>;
publish(
appId: string,
init: PublicationInit
): Promise<model.Publication['id']>;
unpublish(
appId: string,
channelId: Channel['id'],
Expand All @@ -71,7 +74,10 @@ export interface RtcApi {
publicationId: Publication['id']
): Promise<void>;
/**@throws {@link SkyWayError} */
subscribe(appId: string, init: SubscriptionInit): Promise<model.Subscription>;
subscribe(
appId: string,
init: SubscriptionInit
): Promise<model.Subscription['id']>;
unsubscribe(
appId: string,
channelId: string,
Expand Down Expand Up @@ -108,6 +114,7 @@ export type PublicationInit = {
contentType: model.ContentType;
codecCapabilities?: model.Codec[];
encodings?: model.Encoding[];
isEnabled?: boolean;
};

export type SubscriptionInit = {
Expand Down
Loading

0 comments on commit db27992

Please sign in to comment.