Versions Compared

Key

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

Table of Contents
maxLevel3

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に指定します。

2.0.2 (2021.10.17)

  1. 再生開始後、終了する際に落ちる問題を修正
    →ネットワークに接続をトライする際に終了されるとANRが発生する可能性あり
    SDK内部でcurlを使用しているため、ネットワークに接続をトライする際には止める手段がないため弱電界でのANRは回避が不可能
  2. DASH, HLSの場合、UserAgentが間違って取得される問題を修正
    →ログ取得プロセスに問題があったため、顧客サービスには関係ない内容
  3. MediaPlayerにて以下のAPIを追加
    /**
    * バッファリング時間を設定する関数、prepareAsyncの前にリクエストする。DASH, HLSのみで動作
    * @param minBufferMs
    * @param maxBufferMs
    */
    public void setBufferDurationsMs(int minBufferMs, int maxBufferMs);
    →低画質から高画質に転換されるまで30秒が掛かるということで、loadControlが効かない可能性があると判断し、
    loadControlのsetBufferDurationMs因子の1番、2番目因子の値をそれぞれ6秒、12秒で固定していたものを、外部から取得した値で設定できるようなAPIを追加しました。※ネットワーク状態によって既にバッファリングされたものや最高画質再生に至らない回線速度の場合、バッファリングのstart, endがなくても30秒以上掛かる可能性があります。

...

  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;

      }

...