2.0.2 (2021.10.17)
- 再生開始後、終了する際に落ちる問題を修正
→ネットワークに接続をトライする際に終了されるとANRが発生する可能性あり
SDK内部でcurlを使用しているため、ネットワークに接続をトライする際には止める手段がないため弱電界でのANRは回避が不可能 - DASH, HLSの場合、UserAgentが間違って取得される問題を修正
→ログ取得プロセスに問題があったため、顧客サービスには関係ない内容 - 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秒以上掛かる可能性があります。
2.0.1 (2021.10.07)
- load途中で再生終了する時にANRを防止(for ExoPlayer)
- intro映像、またはseekableがfalseの場合ブックマークを取得しないように修正(for ExoPlayer)
- 再生中エラーの時にエラーレポートが抜ける問題を修正 (for ExoPlayer)
- ABR 画質を選択する際に画質を固定しないで、該当画質までABRするように変更 (for ExoPlayer)
- ABR Playlistの最初項目を再生するように修正 (for ExoPlayer)
- 画質選択APIを以下のように変更
- 変更前
public void setBandwidth(String bandWidthName);
- 変更後
public void setBandwidth(int bandWidth);
public void setBandwidthName(String bandWidthName); - Utilsクラスの以下のAPIを変更
- isTablet アクセサ privateに変更
- public static @DEVICE_TYPE int getDeviceType(Context context)を追加
2.0.0 (2021.08.31)
- forensic watermark追加
- KollusContentにて以下のAPIを変更
- public void setHasWaterMark(boolean hasWaterMark) --> public void setAudioWaterMark(String waterMark)
- public boolean getHasWaterMark() --> public boolean hasAudioWaterMark()
- KollusContentにて以下のAPIを追加
- public String getAudioWaterMark()
- public void setForensicWaterMark(String waterMark)
- public String getForensicWaterMark()
- public boolean hasForensicWaterMark()
- ライブストリーミング(HLS, Mpeg-Dash)がエラーになった際、リトライと終了、衝突防止
- 保存場所を読み込む際にNullPointerExceptionを防止
- 終了する際に、フリーズする現象を防止(弱電界にて発生する可能性)
ExoPlayer 更新(2.10.3 -> 2.13.2)
MultiDRM ライブラリ開発環境が2.13.2
build.gradleにて以下の内容を追加defaultConfig { ... multiDexEnabled true } dependencies { ... implementation 'androidx.multidex:multidex:2.0.1' implementation 'com.google.guava:guava:27.1-android' }
- Multi DRM 2.1.3ライブラリを適用
- AndroidManifestにてorg.apache.http.legacyの使用を除去
2021.06.14
- コンテンツ DurationがLMSのブロック数より大きい場合の防御コードを追加
- MP4ボックスエラーの防御コードを追加 (ExoPlayer)
- MP4ボックスのコーデック情報と実際のコーデック情報が異なる場合の防御コードを追加 (AwesomePlayer)
- マルチダウンロード途中に同一なリストを再度リクエストした際に download completeになる不具合を修正
- KollusContentにて以下のオーディオファイル確認関連APIを追加
/**
* SDK 内部で使用
* @param bAudioFile AudioFile
*/
public void setAudioFile(boolean bAudioFile);/**
* オーディオコンテンツかどうかを取得する関数
* @return オーディオファイル可否
*/
public boolean isAudioFile() ; - テルテンエミュレータチェックライブラリを適用
- 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を追加
- KollusContentにてAPIを追加
- 再生開始後すぐにクラッシュする不具合を修正
- prepare 途中に ExoPlayerが生成されずdestroyDisplayした際にNullPointerExceptionが発生
- 弱電系状態での -8403エラーを修正
- ExoPlayerの timeout(8秒)によってリトライするとproxy側では既にclientが存在することに判断されたため発生
- 500ms sleep 後、connectionがない場合には正常処理
2021.02.05
再生開始直後に終了する現象を修正
* 終了の際にURLをnull処理する際に、prepareのURL値がnullだったため発生。Lockerを追加
NDK Codecで発生するCashの疑いがある要素を修正
ExoPlayerでTrackInfoの取得ができるように修正
Proxy Server セキュリティ強化
外部メモリにダウンロードしている途中に分離される場合、-8623で処理される現象を修正
チャット関連事項を追加
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;
}
2020.12.09
1. intro動画で正確なSeekを繰り返した際に落ちる問題修正
----------------------------------------------------------------------------------------
2020.11.30
1. User Agent 規則変更 (pc, mobile, tablet 区別)
2. KollusContentに最大倍速関連APIを追加
/**
* SDK 内部で使用
* @param rate
*/
public void setMaxPlaybackRate(int rate);
/**
* 最大倍速を取得する関数
* @return
*/
public int getMaxPlaybackRate();
----------------------------------------------------------------------------------------
2020.11.12
1. KollusStorageに以下のAPIを追加
* public void sendStoredLMS(StoredLMSListener listener);
2. KollusStorageのリスナー関連、API変更及び追加
1. OnKollusStorageListener 関連事項
* setOnKollusStorageListener -> registerKollusStorageListener に変更
* unregisterKollusStorageListener 追加
2. KollusPlayerDRMListener 関連事項
* setKollusPlayerDRMListener -> registerKollusPlayerDRMListener に変更
* unregisterKollusPlayerDRMListener 追加
3. KollusPlayerLMSListener 関連事項
* setKollusPlayerLMSListener -> registerKollusPlayerLMSListener に変更
* unregisterKollusPlayerLMSListener 追加
4. KollusPlayerThumbnailListener 関連事項
* setKollusPlayerThumbnailListener -> registerKollusPlayerThumbnailListener に変更
* unregisterKollusPlayerThumbnailListener 追加
5. KollusPlayerCallbackListener 関連事項
* setKollusPlayerCallbackListener -> registerKollusPlayerCallbackListener に変更
* unregisterKollusPlayerCallbackListener 追加
/**
* 保存されたLMSデータをPlayerではなく別途APIで取得する際に、
* 結果がリターンされるリスナー
*/
public interface StoredLMSListener {
/**
* 保存されたLMSデータを全て転送してから取得する関数
* @param successCount 転送成功件数
* @param failCount 転送失敗件数
*/
void onSendComplete(int successCount, int failCount);
}
3. ライブ再生中、重複再生遮断に必要な情報が抜けていた問題を修正
----------------------------------------------------------------------------------------
2020.11.02
1. Current Position エラー修正
2. Rollypop以前の場合、Pallycon Agentを生成しない
----------------------------------------------------------------------------------------
2020.10.19
1. 再生初期バッファリング時間reportingを間違ったURLに送る問題を修正
2. 再生初期バッファリング時間reportingをASyncするように変更
3. ダウンロードするためにコンテンツがLoadされたかを確認するAPIを追加
* KollusContentに以下のAPIを追加
* public void setLoaded(boolean bLoaded);//内部のみ使用
* public boolean isLoaded();
4. prepare 完了される前に再生終了した際に落ちる問題を修正 (マーケットの一部NullPointExceptionと関連)
* prepare直後に終了した際に、uriがnullのため落ちる
* prepare後、onPrepared リクエストする時点に終了した場合、コンテンツ情報がnullのため落ちる
5. ライブPlaycallback resultが 0の場合、エラーメッセージがないと間違ったエラーコードが上がる問題を修正
6. 内部で管理するダウンロードリストに存在しないmckでdowload apiをリクエストした際に落ちる問題を修正
* ダウンロードするためにloadし、削除してからdowload apiをリクエストすると判断
7. ブックマークタイトルが抜ける問題を修正(for ExoPlayer)
----------------------------------------------------------------------------------------
2020.08.10
1. 2020.06.08_r1 Base
2. ネットワークが断絶されていてもタイムアウトが適用されるように修正
3. introで、Audio watermarking映像を再生し、次にAudio watermarkingが適用されてない映像を再生した際に落ちる問題を修正
4. ExoPlayer リピート再生するときにバッファリング表示になる問題を修正
* リピート再生の時に、暫くバッファリング状態になる可能性があるため、リピート再生中にはバッファリング表示をしないように修正することを推奨します。
5. disable_nscreenが trueのダウンロードコンテンツにnscreen情報が出る問題を修正
6. オフラインブックマークタイトルが抜ける問題を修正
7. Multi DRM ダウンロード機能を追加
* KollusContentにpublic @ContentType int getContentType(); 追加
* KOLLUS_CONTENT, EXT_DRM_CONTENT
* ダウンロード中にはファイルサイズ情報が正確に取得できない可能性があります。
8. User Agent 規則変更
9. ライブLMSデータのエラーを修正
10. ライブにVideo watermark表示されない問題を修正
----------------------------------------------------------------------------------------
2020.08.03
1. オフラインブックマークタイトルが抜ける問題を修正
2. オフラインブックマークの追加を連打すると落ちる問題を修正
----------------------------------------------------------------------------------------
2020.07.21
1. 2020.03.20_r1にロールバック
2. VMチェック不具合エラーが報告されない時点(2019.04.09_r1)に適用
3. OnInfoListenerに以下の関数を追加
* void onCodecInitFail(String componentName);
4. disable_nscreenがtrueのダウンロードコンテンツにnscreen情報が出る問題を修正
----------------------------------------------------------------------------------------
2020.06.08
1. OnInfoListenerに以下の関数を追加
* void onCodecInitFail(String componentName);
2. No Kollus VOD 字幕対応
3. No Kollus VOD Playcallback対応
4. No Kollus VOD ネットワークタイム適用
5. VMチェックするに変更
6. Utilsの関数変更
* public static String createUUIDSHA1(Context context)からpublic static String getPlayerId(Context context)に変更
* public static String createUUIDMD5(Context context)からpublic static String getPlayerIdMd5(Context context)に変更
* public static String getPlayerId(Context context)からpublic static String getPlayerIdSha1(Context context)に変更
7. HLS 終了した際に落ちる問題を修正
----------------------------------------------------------------------------------------
2020.04.22
1. ExoPlayer 適用
* JellyBean MR2(18)以上、AudioWatermarkがない場合、デフォルトPlayerをExoPlayerに変更
* appのbuild.gradleに追加
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
* AndroidManifest.xmlのapplicationタグ
* android:usesCleartextTraffic="true" 追加
* <uses-library android:name="org.apache.http.legacy" android:required="false" />
* port number の設定が必要
2. OnInfoListenerに以下の関数を追加
* void onDetectBandwidthList(MediaPlayer mp, List<BandwidthItem> list);
* void onChangedBandwidth(MediaPlayer mp, BandwidthItem item);
3. MediaPlayerに以下の関数を追加
* public void setBandwidth(String bandwidthName);
4. introがある映像で、本映像にPlayCallbackでエラーが発生した際にhangになる問題を修正
5. MediaPlayerのsetCencProxyPath関数を除去 (MediaInfoを使用)
----------------------------------------------------------------------------------------
2020.03.20
1. Audio watermarkingが適用されている場合、全体リピート再生した際に画面更新されない問題を修正
----------------------------------------------------------------------------------------
2020.02.18
1. Seekする際に次の区間まで字幕が表示されない問題を修正
2. onPrepared以降に字幕が出るように修正
----------------------------------------------------------------------------------------
2020.01.18
1. ToolChain 及びビルドスクリプトを変更
2. CpuInfoにisSupportDevice関数を追加
3. 外部からPlayer IDを設定する場合、重複再生遮断ができない問題を修正
4. OMXCodecにて、連続でSeekするとき落ちる問題を修正
5. Seekする際に次の区間まで字幕が表示されない問題を修正
6. onPrepared以降に字幕が出るように修正
----------------------------------------------------------------------------------------
2019.12.10
1. LMS データに置換子 TIMEMAP_DATA 追加
2. エミュレータチェックロジックを変更
----------------------------------------------------------------------------------------
2019.11.13
1. SW コーデックにて、まれに落ちる問題を修正
2. DRM Callback/Play Callback 動的因子追加で以下の項目を修正
. KollusStorage
既存 : public int load(String path, KollusContent content);
修正 : public int load(String path, String extraDrmParam, KollusContent content);
. MediaPlayer
既存
public void setDataSourceByUrl(String path);
public void setDataSourceByKey(String mediaContentKey);
修正
public void setDataSourceByUrl(String path, String extraDrmParam);
public void setDataSourceByKey(String mediaContentKey, String extraDrmParam);
3. ブックマーク追加した際にラベルも取得できるように修正
MediaPlayer
既存 : public void updateKollusBookmark(int position);
修正 : public void updateKollusBookmark(int position, String label);
4. Mpeg Dash ABR 追加