Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents
maxLevel3

2.0.4 (2021.10.28)

  1. MediaPlayerに以下のAPIを追加しました。
    /**
    * 再生を開始するBandwidthを設定する関数となります。0に設定するとbandwidthリストの最上段項目から再生を開始します。
    * 0より大きい値を設定すると、設定された範囲内で最も高いbandwidthで開始します。
    * prepareAsyncする前にリクエストしてください。
    * @param bandwidth
    */
    public void setInitialBandwidth(int bandwidth);

    /**
    * 上位bandwidthに転換する際に、残っているバッファ容量が設定値以上の場合のみに適用されるように設定する関数となります。
    * デフォルト値は10秒です。
    * prepareAsyncする前にリクエストしてください。
    * @param msec
    */
    public void setMinDurationForQualityIncreaseMs(int msec);

  2. MediaPlayerから以下のAPIを削除
    public void setBufferDurationsMs(int minBufferMs, int maxBufferMs);
    理由: 設定されたサイズだけ必ずバッファリングするため、円滑なABR動作を妨害する

  3. Multi DRM コンテンツのストリーミング再生終了後、キャッシュフォルダを削除

2.0.3 (2021.10.21)

  1. サムネイルダウンロード完了及びABRの画質が変更する際のデバッグログを追加
    →バッファリングに時間が掛かる区間を確認するサムネイルダウンロードログを追加
    →初期画質変更の際の遅延を確認するためのログを追加
  2. ログサーバーとの通信をリクエストされたプロトコルに合わせて動作するように修正
    →httpsでリクエストした際に、SDK内部で行われるhttp通信はlocal proxyを除いて全て削除
  3. Multi DRMサムネイルダウンロード方式を、非同期方式で動作できるオプションを追加
    →サムネイルダウンロードに掛かる時間がバッファリングに影響を与えるため、この動作方式を同期→非同期に変更
    →関連インターフェース

    Code Block
    themeDJango
    public interface KollusPlayerThumbnailListener {
    void onCached(int index, int nErrorCode, String savePath);
    }
    
    - KollusStorageに追加されたAPI
    /**
     * KollusPlayerThumbnailListener 登録関数
     * @param listener
     */
    public void setKollusPlayerThumbnailListener(KollusPlayerThumbnailListener listener);
    
    
     - KollusContentに追加されたAPI
    /**
     * SDK内部で使用
     * @param enable サムネイル有効化有無を設定
     */
    public void setThumbnailEnable(boolean enable);
    
    /**
     * サムネイル有効化有無
     * @return
     */
    public boolean isThumbnailEnable();
    
    /**
     * SDK内部で使用
     * @param bThread サムネイルダウンロードがスレッド方式かどうかを設定
     */
    public void setThumbnailThread(boolean bThread);
    
    
    /**
     * load する時にサムネイルダウンロードが Sync(no thread)かどうかを取得
     * @return
     */
    public boolean isThumbnailDownloadSync();

    アプリ側では上記のように作業してサムネイルダウンロードが完了されるまでには表示されないようにUI側で処理が必要
    他にこの機能の制御はトークンで行います。
    https://support.catenoid.net/display/SUPJP/JWT
    上記の内容の中、thumbnailのthreadをtrueに指定します。

  4. small thumbnailに対応
    サムネイルサイズは、254*108, 50*50の2つとなり、オプション処理でsmallサイズでダウンロードすることが可能
    関連オプションは
    https://support.catenoid.net/display/SUPJP/JWT
    上記の内容の中、thumbnailのtypeをsmallに指定します。

...

  1. コンテンツ DurationがLMSのブロック数より大きい場合の防御コードを追加
  2. MP4ボックスエラーの防御コードを追加 (ExoPlayer)
  3. MP4ボックスのコーデック情報と実際のコーデック情報が異なる場合の防御コードを追加 (AwesomePlayer)
  4. マルチダウンロード途中に同一なリストを再度リクエストした際に download completeになる不具合を修正
  5. KollusContentにて以下のオーディオファイル確認関連APIを追加

    /**
    * SDK 内部で使用
    * @param bAudioFile AudioFile
    */
    public void setAudioFile(boolean bAudioFile);

    /**
    * オーディオコンテンツかどうかを取得する関数
    * @return オーディオファイル可否
    */
    public boolean isAudioFile() ;

  6. テルテンエミュレータチェックライブラリを適用
    • KollusContentにてAPIを追加

      /**
      * SDK 内部で使用
      * @param block
      */
      public void setBlockEmulator(boolean block);

      /**
      * エミュレータ使用中かどうか
      * @return
      */
      public boolean useBlockEmulator();

    • EmulatorCheckerListenerにてAPIを追加
      • public void onDetectRooting();
    • AndroidManifest.xmlにて <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> permissionを追加
  7. 再生開始後すぐにクラッシュする不具合を修正
    • prepare 途中に ExoPlayerが生成されずdestroyDisplayした際にNullPointerExceptionが発生
  8. 弱電系状態での -8403エラーを修正
    • ExoPlayerの timeout(8秒)によってリトライするとproxy側では既にclientが存在することに判断されたため発生
    • 500ms sleep 後、connectionがない場合には正常処理

2021.02.05

  1. 再生開始直後に終了する現象を修正

    1. * 終了の際にURLをnull処理する際に、prepareのURL値がnullだったため発生。Lockerを追加

  2. NDK Codecで発生するCashの疑いがある要素を修正

  3. ExoPlayerでTrackInfoの取得ができるように修正

  4. Proxy Server セキュリティ強化

  5. 外部メモリにダウンロードしている途中に分離される場合、-8623で処理される現象を修正

  6. チャット関連事項を追加

    • KollusContent 以下の要素を追加

      /**

      * SDK 内部で使用

      * @param info チャット関連情報

      */

      public void setChattingInfo(ChattingInfo info);

      /**

      * チャット設定に必要な情報を取得する関数

      * @return チャット情報

      */

      public ChattingInfo getChattingInfo();

      public class ChattingInfo {

      public String mainUrl;

      public String kind;

      public String position;

      public boolean isVisible;

      public boolean isAdmin;

      public boolean bDisableDefaulProfilePhoto;

      public String roomId;

      public String chatServer;

      public String helloMessage;

      public String userName;

      public String userId;

      public String photoUrl;

      }

...