古いリリースノート

CHANGE

後方互換性のない変更

UPDATE

後方互換性がある変更

ADD

後方互換性がある追加

FIX

バグ修正

1.x

1.10.0

日時

2019-11-14

対応 Sora

19.04.9

対応 libwebrtc

75.16.0

UPDATE

  • minSdkVersion を 21 に上げた - com.squareup.okhttp3:okhttp 4.2.2 が minSdkVersion 21 以上にのみ対応するため

  • libwebrtc を 78.8.0 に上げた

  • Android Studio 3.5.1 に対応した

  • Kotlin を 1.3.50 に上げた

  • Dokka を 0.10.0 に上げた

  • com.android.tools.build:gradle を 3.5.2 に上げた

  • com.squareup.okhttp3:okhttp を 4.2.2 に上げた

  • com.google.code.gson:gson を 2.8.6 に上げた

  • org.robolectric:robolectric を 4.3.1 に上げた

  • AudioDeviceManager 生成時のパラメータをオプション SoraAudioOption に追加した - audioSource: android.media.MediaRecorder.AudioSource のいずれか - useStereoInput: boolean - useStereoOutput: boolean

ADD

  • シグナリング connect メッセージに sdk_type, sdk_versionuser_agent を追加した

  • シグナリング connect メッセージに audio.opus_params を追加した

  • 1:N サイマルキャストの視聴に対応した

CHANGE

  • 時雨堂ビルドの libwebrtc ライブラリ名称を変更した - 旧: sora-webrtc-android 、 新: shiguredo-webrtc-android - transitive = truesora-android-sdk に依存している場合はアプリ側の変更は不要

  • シグナリング connect メッセージから simulcast_rid を削除した

FIX

  • 視聴のみかつ H.264 を指定した場合に接続できない現象を修正した

1.9.0

日時

2019-08-02

対応 Sora

19.04.9

対応 libwebrtc

75.16.0

UPDATE

  • libwebrtc を 75.16.0 に上げた

  • Android Studio 3.4.2 に対応した

  • Kotlin を 1.3.41 に上げた

  • com.squareup.okhttp3:okhttp を 3.14.2 に上げた

  • io.reactivex.rxjava2:rxjava を 2.2.10 に上げた

  • androidx.test:core を 1.2.0 に上げた

  • org.robolectric:robolectric を 4.3 に上げた

ADD

  • SoraMediaOptionaudioBitrate 設定を追加した

  • SoraMediaOptionaudioOption: SoraAudioOption を追加した

  • SoraAudioOption に libwebrtc 独自の音声処理設定のキーを追加した

    • media constraints キーとの対応は以下の通り:

    • ECHO_CANCELLATION_CONSTRAINT: "googEchoCancellation" 設定のキー

    • AUTO_GAIN_CONTROL_CONSTRAINT: "googAutoGainControl" 設定のキー

    • HIGH_PASS_FILTER_CONSTRAINT: "googHighpassFilter" 設定のキー

    • NOISE_SUPPRESSION_CONSTRAINT: "googNoiseSuppression"" 設定のキー

  • SoraAudioOption に音声処理に関するインターフェースをを追加した

    • AudioDeviceModule インスタンスの設定、デフォルトは null で JavaAudioDeviceModule を内部で生成します

    • ハードウェアの AEC (acoustic echo canceler) の利用有無を設定します。デフォルトでは可能であれば利用します。

    • ハードウェアの NS (noise suppressor) の利用有無を設定します。デフォルトでは可能であれば利用する。

    • libwebrtc 独自の音声処理の無効化設定、デフォルトはすべて有効。 - audioProcessingEchoCancellation: "googEchoCancellation" に対応 - audioProcessingAutoGainControl: "googAutoGainControl" に対応 - audioProcessingHighpassFilter: "googHighpassFilter" に対応 - audioProcessingNoiseSuppression: "googNoiseSuppression"" に対応

    • これらの設定の組み合わせ方によっては、端末依存でマイクからの音声が取れないことがあるため、 設定を決める際には実端末での動作確認が必要

  • SoraErrorReason に音声の録音(audio record)、音声トラック(audio track)のエラーを追加した

  • SoraMediaChannel.Lister のコールバックに onError(SoraErrorReason, String) を追加した

    • デフォルトで何もしない実装のため、ソースコード上の変更は不要

    • このバージョンでは JavaAudioDeviceModule の audio record, audio track 関連のエラーが このコールバックを通して通知されます。

  • rid-based simulcast に部分的に対応した

    • 現状では、ソフトウェアエンコーダのみで動作します。

    • 映像コーデックは VP8 のみの対応しています。

    • fixed resolution と一緒に使うとクラッシュ(SEGV)することが分かっています。

  • getStats を定期的に実行し統計を取得する API を追加した

CHANGE

  • org.webrtc.PeerConnectionFactory に明示的に JavaAudioDeviceModule を渡すように変更した

  • org.webrtc.audio.JavaAudioDeviceModuleHardwareAcousticEchoCanceler, HardwareNoiseSuppressor をデフォルトで有効にした

    • 無効化したい場合には、個別に SoraAudioOption で設定し SoraMediaOption 経由で設定を渡せます。

  • audio source 作成時のデフォルト MediaConstraint で、libwebrtc 独自の音声処理をすべて有効化した

    • 無効化したい場合には、個別に SoraAudioOption で設定し SoraMediaOption 経由で設定を渡せます。

1.8.1

日時

2019-04-18

対応 Sora

19.04.0

対応 libwebrtc

73.10.1

UPDATE

  • libwebrtc を 73.10.1 に上げた

  • encoder/decoder の対応コーデックのログ出力を追加した

  • Kotlin を 1.3.30 に上げた

  • Android Studio 3.4.0 に対応した

  • SoraMediaOptionVideoEncoderFactoryVideoDecoderFactory を指定するオプションを追加した

    • [プレビュー版]

  • SoraMediaChannel のコンストラクタに @JvmOverloads を追加し、Java からオーバーロードされて見えるよう 変更した

    • これにより第 6 引数のタイムアウト値を省略したコンストラクタを呼び出せるようになります。

  • シグナリング connect メッセージの metadata を文字列だけでなく任意の型を受け付けるよう変更した

    • 値は gson で変換できる必要があります。 Map, List は利用できます。

    • 文字列化された JSON を受け取った場合には、1.8.0 までと同様に、そのまま文字列値として取扱います。

  • シグナリング connect メッセージに client_id フィールドを追加した - Sora 19.04 より前のバージョンでは、このフィールドを文字列に設定するとエラーになる

  • シグナリング connect メッセージの signaling_notify_metadataSoraMediaChannel コンストラクタから 指定できるようにした

    • 値は gson で変換できる必要があります。 Map, List は利用できます。

    • オプション引数のため、これまでのコードでは指定なしで動作します。

    • Java で書かれたアプリケーションでは SoraMediaChannel のコンストラクタで signalingNotifyMetadata を を指定するには clientId を渡す必要があります。アプリケーションとして指定しない場合には null を渡すことで シグナリング connect メッセージには client_id が含まれません。

  • シグナリングパラメータのフィールド、型を Sora 19.04 に合わせ更新した

  • gradle.properties.example に Robolectric の設定 android.enableUnitTestBinaryResources=true を追加した

  • Sora 19.04.0 での connection_id 導入に伴い、ローカルトラック判定を connection_id で行うよう変更する

    • 以前のバージョンでも動作するよう、offer に connection_id がない場合はこれまでどおり client_id を使います。

  • シグナリング通知機能の network.status に対応した

  • com.squareup.okhttp3:okhttp を 3.14.1 に上げた

  • io.reactivex.rxjava2:rxandroid を 2.1.1 に上げた

  • io.reactivex.rxjava2:rxjava を 2.2.8 に上げた

CHANGE

  • kotlin-stdlib-jdk7 依存を kotlin-stdlib に変更した

    • sora-android-sdk の minSdkVersion が 16 であるためです

ADD

  • CameraCapturerFactory に解像度維持を優先するオプションを追加した

1.8.0

日時

2019-02-01

対応 Sora

18.10.5

対応 libwebrtc

71.16.0

UPDATE

  • libwebrtc を 71.16.0 に上げた

  • Kotlin を 1.3.20 に上げた

  • libwebrtc の M72 をスキップした

  • com.squareup.okhttp3:okhttp を 3.12.1 に上げた

  • io.reactivex.rxjava2:rxjava を 2.2.6 に上げた

  • Android Studio 3.3 に対応した

  • com.github.dcendents:android-maven-gradle-plugin を 2.1 に上げた

  • WebRTC 1.0 spec に一部追従した

    • offerToReceiveAudio/offerToReceiveVideo から Transceiver API に変更しました。

    • onTrack, onRemoveTrack は libwebrtc android sdk で対応されていないため見送っています。

CHANGE

  • SDP semantics のデフォルト値を Unified Plan に変更した

    • upstream のシグナリングで audio や video が false の場合でも、他の配信者の audio や video のトラックを受信する SDP が Sora から offer されるように変更されます。

    • Plan B のときには audio false のときには audio track が SDP に含まれず、 video が false のときには video のトラックが含まれていませんでした。 これは Plan B の制限による挙動でした。

1.7.1

日時

2018-10-18

対応 Sora

18.04.12

対応 libwebrtc

70.14.0

UPDATE

  • libwebrtc を 70.14.0 に上げた

  • com.google.code.gson:gson を 2.8.5 に上げた

  • com.squareup.okhttp3:okhttp を 3.11.0 に上げた

  • io.reactivex.rxjava2:rxandroid を 2.1.0 に上げた

  • io.reactivex.rxjava2:rxjava を 2.2.2 に上げた

  • io.reactivex.rxjava2:rxkotlin を 2.3.0 に上げた

ADD

  • Unified Plan に試験的に対応した

    • 正式対応ではありません

FIX

  • Sora サーバで turn が無効の場合にシグナリングに失敗する問題を修正した

1.7.0

日時

2018-08-14

対応 Sora

18.04.10

対応 libwebrtc

68.10.1.1

UPDATE

  • Android Studio 3.1.4 に対応した

  • libwebrtc を 68.10.1.1 に上げた

ADD

  • webrtc-buildのバージョンと webrtc git のハッシュのログを追加した

CHANGE

  • SoraSerivceUtil.isRunning を削除した

    • Oreo で ActivityManager#getRunningSerivces が deprecated になったため

    • このユーティリティを利用していた場合はソースコードの変更が必要です

1.6.0

日時

2018-07-24

対応 Sora

18.04.10

対応 libwebrtc

67.28.0.1

UPDATE

  • Android Studio 3.1.3 に対応した

  • Kotlin を 1.2.51 に上げた

  • PeerConnectionFactory を builder から作るよう修正した

  • libwebrtc を 67.28.0.1 に上げた

ADD

  • 時雨堂ビルドの libwebrtc AAR を jitpack.io 上にホストし、本 SDK からは build.gradle での依存とした

    • 本 SDK への依存設定に transitive を使っていないアプリケーションは別途依存を追加する必要があります

  • connect オプションの spotlight に対応した

  • 映像の解像度の選択肢を増やした

  • SoraMediaOption に enableCpuOveruseDetection を追加した

  • SoraMediaOption に sdpSemantics を追加した

    • ただし動作確認は Plan-B (PLAN_B) のみ

  • SoraMediaOption に tcpCandidatePolicy を追加した - もともと内部的に用いていたオプションの格上げです - デフォルト値はこれまでと同様に ENABLED としています

  • NotificationMessageclientId を追加した

    • 必須項目です (SDK が設定します)

  • NotificationMessageaudio, video, metadata, metadataList, channelId, spotlightId, fixed を追加した

    • すべてオプション(nullable)項目です

  • SoraMediaChannel にシグナリング通知機能のメッセージ受信コールバックを追加した

    • onNotificationMessage を実装することで独自のメッセージ処理が可能です

### CHANGE

  • NotificationMessagerole, connectionTime, numberOfConnections, numberOfUpstreamConnections, numberOfDownstreamConnections フィールドをオプション(nullable)に変更した

    • 型として下位互換性を壊す変更です これらのフィールドを参照しているソースコードは修正の必要があります

  • スナップショット機能を削除した

  • MediaStream#label() の代わりに id を使うよう変更した

    • libwebrtc の変更の影響です

    • label() を用いているアプリケーションコードは id に変更してください

### FIX

  • 自分のストリーム判断に配信ストリームがある場合のみの条件があったが、マルチストリームの場合という 条件に置き換えた

    • single stream (pub, sub) およびマルチストリームではこの変更は影響ありません

    • スポットライトのみ影響があり、視聴モードでも自分の clientId が MSID のストリームについて onAddRemotestream イベントを発火させないようになっています

1.5.4

日時

2018-03-28

対応 Sora

18.02.2

対応 libwebrtc

66.8.1

UPDATE

  • PeerConnectionFactory.createPeerConnection/3 deprecated に対応した

1.5.3

日時

2018-03-28

対応 Sora

18.02.2

対応 libwebrtc

66.8.1

UPDATE

  • libwebrtc を 66.8.1 に上げた

  • Kotlin を 1.2.31 に上げた

1.5.2

日時

2018-03-07

対応 Sora

18.02

対応 libwebrtc

64.5.0

UPDATE

  • libwebrtc を 64.5.0 に上げた

  • deprecated warning を潰した

  • Signaling connect 時に client offer の SDP を載せた

  • Kotlin 1.2.30 に上げた

1.5.1

日時

2018-02-16

対応 Sora

18.01

対応 libwebrtc

63.13.0

ADD

  • Sora Android SDK の API ドキュメントを追加した

1.5.0

日時

2018-02-15

対応 Sora

18.01

対応 libwebrtc

63.13.0

ADD

  • Sora のプッシュ API のメッセージを SoraMediaChannel.Listener に伝える機能を追加した

1.4.1

日時

2017-12-22

対応 Sora

17.10

対応 libwebrtc

63.13.0

UPDATE

  • 依存ライブラリのバージョンを上げた

1.4.0

日時

2017-12-22

対応 Sora

17.10

対応 libwebrtc

63.13.0

UPDATE

  • Android Studio 3.0 に対応した

    • gradle: 4.1

    • android-maven-gradle-plugin: 2.0

  • Kotlin 1.2.10 に上げた

1.3.1

日時

2017-12-21

対応 Sora

17.10

対応 libwebrtc

63.13.0

UPDATE

  • libwebrtc を 63.13.0 に上げた

  • Kotlin 1.1.51 に上げた

1.3.0

日時

2017-09-22

対応 Sora

17.08

対応 libwebrtc

61.5.0

FIX

  • 自身が down を持たない場合に multistream が有効にならない現象を修正した

  • 自身が up を持たない場合にリモートストリームが通知されない現象を修正した

1.2.0

日時

2017-09-21

対応 Sora

17.08

対応 libwebrtc

61.5.0

UPDATE

  • libwebrtc のバージョンを上げた

1.1.0

日時

2017-09-07

対応 Sora

17.08

対応 libwebrtc

60.11.0

UPDATE

  • 依存ライブラリのバージョンを上げた

ADD

  • sources jar 生成の設定を追加した

  • libwebrtc.aar ダウンロードを gradle task 化した

  • JitPack でにビルドと配布に対応した

CHANGE

  • libwebrtc.aar を sora-android-sdk AAR に含めた

1.0.0

日時

2017-08-30

対応 Sora

17.08

対応 libwebrtc

60.11.0

Sora Android SDK 最初のリリースです。

© Copyright 2018-2021, Shiguredo Inc. Created using Sphinx 4.2.0