Versions Compared
Key
- This line was added.
- This line was removed.
- Formatting was changed.
3.0.
232 (2024.
0011.
0007)
AI倍速スクリプトパスエラーに対する防御コード追加
2.0.22 (2024.00.00)
ネットワークの状況により、再生開始中にExoPlayerでエラーが発生した場合にANR現象を修正
1007エラー発生する状況のエラーコード分離
-1018 : KollusStorage因子エラーまたは再生パスエラー時
-1019 : Kollus Storage 初期化されていない場合SocketTimeoutException発生時 -1010から -8028に変更
2.0.21 (2024.06.14)
Google未認証端末にPallyconライブラリの初期化失敗を修正
端末名で初期化skip
2.0.20 (2024.05.20)
AI倍速コンテンツ情報をN-screenに追加
Kollus User AgentにChrome OSを追加
2.0.19 (2024.03.28)
次の動画再生追加
Released date: 2024-11-07
Added APIs
KollusContent に public boolean isIgnoreZero() 追加
再生URLのQuery parameterとしてign_z flagの値を返還します。(default: false)
変更理由: 動画を再生開始から10秒以内、または終了前の10秒以内に停止した場合でも、次回の再生時に「続き再生」が有効となる機能を追加しました。
影響範囲: 追加機能を有効化するお客様
アプリの変更有無: No (変更不要)追加機能を有効化する場合、再生URLのQuery parameterにign_z flagの値を追加
Fixed
AI倍速のバグ修正
変更理由: media3の適用に伴い発生したバグの修正
影響範囲: AI倍速機能をご利用中のお客様
アプリの変更有無: No (変更不要)Googleのアプリ脆弱性警告への対応
警告の内容:アプリに暗示的な内部インテントの脆弱性があります。
対象モジュール:com.teruten.mcm.module.a0.F
変更理由: Googleアプリの脆弱性警告に対応するためのモジュールアップデート
影響範囲: Google Play Consoleにおいて当該警告が表示された場合にアップデートが必要
アプリの変更有無: No (変更不要)
3.0.1 (2024.09.11)
Released date: 2024-09-11
Added Features
LMS Callback 転送項目を追加(Background <> Foreground切り替え時のタイムスタンプ
変更理由: 新規APIの追加
影響範囲: 新規APIなので利用しない場合、影響なし
アプリの変更有無: No
Added APIs
Added Features項目の1のため、APIをMediaPlayerに追加 (Android Only)
変更理由: ユーザーがBackgroundの状態にしている時間を計算するための機能を追加
影響範囲: 新規APIなので利用しない場合、影響なし
アプリの変更有無: NoCode Block /** * LMSデータを送信する際、アプリの状態がbackgroundまたはforegroundになった時の時間も一緒に送るために * アプリの状況が変更される時点を保存する関数 * LMS Callback設定に{APP_STATUS_JSON}を追加した場合に有効になります。 * @param status アプリの状況 */ public void setAppStatus(@APP_STATUS int status); // 1 : background, 2: foreground
Fixed
Seek中に終了したとき、NullPointerException対応(Play Consoleのvitals対応)
変更理由: SDK 3.0.0から発生したBug Fix
影響範囲: SDK 3.0.0をご利用中でしたら影響あり、3.0.1への適用必須
アプリの変更有無: No
3.0.0 (2024.08.29)
Released date: 2024-08-29
Changed APIs
KollusStorageのsetDevice/setDeviceASync変更
変更理由: 独自のplayerIdを使用したいという要求事項により変更
変更前
public int setDevice(String storagePath, String playerId, String playerIdMd5, boolean bTablet);
public void setDeviceASync(String storagePath, String playerId, String playerIdMd5, boolean bTablet, OnKollusStorageDeviceListener listener);
変更後
public int setDevice(String storagePath, boolean bTablet);
public void setDeviceASync(String storagePath, boolean bTablet, OnKollusStorageDeviceListener listener);
Added Features
ExoPlayer2からmedia3に変更
変更理由: ExoPlayer2の対応終了
MultiDRMのライブラリー変更
変更理由: media3の対応のために変更
Fixed
SRT字幕改行文字漏れに対する例外処理
終了時にnscreenデータのみai関連情報を送出
Warning
独自のplayerIdを使用する場合は (Utils.setPlayerIdをリクエストする場合) KollusStorageの setDevice/setDeviceASyncをリクエストする前にUtils.setPlayerIdでPlayerIdを設定する必要があります。
ProGuard修正
exoplayer2項目削除
下記の項目を追加
Code Block -dontwarn androidx.media3.** -keep interface androidx.media3.** { *; }
MultiDRMのライブラリ変更
以前バージョンからDLしたMultiDRMコンテンツは対応しておりません。DLリストからは表示されますが、再生はできません。(Kollus DRMは関係ありません)
minSDKを21になります。
PallyconWVMSDK.aarをSubProjectとして追加もしくはlibsフォルダーに追加が必要です。
build.gradle修正
MultiDRMのライブラリーはKotlinになりましたので下記のKotlin設定が必要です。
Code Block //apply plugin: 'com.android.application' plugins { id 'com.android.application' id 'org.jetbrains.kotlin.android' id 'kotlin-android' id 'kotlin-parcelize' }
media3関連のdependencies追加
build.gradle修正
Code Block dependencies { api ('com.google.guava:guava:31.1-android') { // Exclude dependencies that are only used by Guava at compile time // (but declared as runtime deps) [internal b/168188131]. exclude group: 'com.google.code.findbugs', module: 'jsr305' exclude group: 'org.checkerframework', module: 'checker-compat-qual' exclude group: 'org.checkerframework', module: 'checker-qual' exclude group: 'com.google.errorprone', module: 'error_prone_annotations' exclude group: 'com.google.j2objc', module: 'j2objc-annotations' exclude group: 'org.codehaus.mojo', module: 'animal-sniffer-annotations' } compileOnly 'com.google.errorprone:error_prone_annotations:2.15.0' compileOnly 'org.checkerframework:checker-qual:3.13.0' compileOnly 'org.checkerframework:checker-compat-qual:2.5.0' implementation "androidx.security:security-crypto-ktx:1.1.0-alpha03" ... }
2.0.23 (2024.07.16)
AI倍速スクリプトパスエラーに対する防御コード追加
2.0.22 (2024.07.11)
ネットワークの状況により、再生開始中にExoPlayerでエラーが発生した場合にANR現象を修正
1007エラー発生する状況のエラーコード分離
-1018 : KollusStorage因子エラーまたは再生パスエラー時
-1019 : Kollus Storage 初期化されていない場合SocketTimeoutException発生時 -1010から -8028に変更
2.0.21 (2024.06.14)
Google未認証端末にPallyconライブラリの初期化失敗を修正
端末名で初期化skip
2.0.20 (2024.05.20)
AI倍速コンテンツ情報をN-screenに追加
Kollus User AgentにChrome OSを追加
2.0.19 (2024.03.28)
次の動画再生追加
Code Block KollusContentに下記のAPIを追加 /** * 次の動画再生 Callback URL 獲得する関数 * @return 次の動画再生 Callback URL */ public String getNextEpisodeCallbackUrl(); /** * 次の動画再生 Callback URL 呼び出し時 post データを取得する関数 * @return 次の動画再生 Callback URL 呼び出し時 post データ */ public String getNextEpisodeCallbackData(); /** * 次の動画再生がある時にUIボタンを表示する時間を取得する関数 * @return 次の動画再生 Callback URL 呼び出し時 post データ見える時間 */ public int getNextEpisodeShowTime();
KollusContent API整理
Code Block /** * Parcelで再生コンテンツ情報を設定する関数 * SDK内部で使用 * @param in コンテンツ情報を盛り込んだ Parcel */ public Stringvoid getNextEpisodeCallbackDatasetForPlay(Parcel in); /** * 次の動画再生がある時にUIボタンを表示する時間を取得する関数Parcelでダウンロードコンテンツ情報を設定する関数 * SDK内部で使用 * @param in @returnコンテンツ情報を盛り込んだ 見える時間Parcel */ public intvoid getNextEpisodeShowTimesetForDownload(Parcel in);
KollusContent API整理
Code Block /** * Parcelで再生コンテンツ情報を設定する関数Json Stringでコンテンツ情報を設定する関数 * SDK内部で使用 * @param injsonString コンテンツ情報を盛り込んだ ParcelJson String */ public void setForPlaysetByJson(ParcelString injsonString); /** * Parcelでダウンロードコンテンツ情報を設定する関数 * SDK内部で使用与えられた因子にコンテンツ情報をコピーする関数 * @param incontent コンテンツ情報を盛り込んだコンテンツ情報をコピーする対象 ParcelKollusContent */ public void setForDownloadcopy(ParcelKollusContent incontent); 下記の関数を除いたset関数を削除 /** public void *setMediaContentKey(String Json Stringでコンテンツ情報を設定する関数key); public * SDK内部で使用 * @param jsonString コンテンツ情報を盛り込んだ Json String */void setContentT+D1ype(ContentType type); public void setByJsonsetUriIndex(Stringint jsonStringindex); public /** void setPlaytime(int playtime); * 与えられた因子にコンテンツ情報をコピーする関数 public void setReceivedSize(long receiveSize); * @param content コンテンツ情報をコピーする対象public KollusContentvoid setReceivingSize(long receiveSize); */ public void copysetFileSize(KollusContentlong contentfileSize); 下記の関数を除いたset関数を削除public void setLocalMediaUrl(String mediaUrl); public void setMediaContentKeysetDownloadPercent(Stringint keypercent); public void setContentT+D1ypesetDownloadCompleted(ContentTypeboolean typecomplete); public void setUriIndexsetDownloadError(intboolean indexbError); public void setPlaytimesetLoaded(intboolean playtimebLoaded); public void setReceivedSizesetContentExpired (longboolean receiveSizeexpired); public void setReceivingSizesetDownloading(longboolean receiveSizedownloading); public void setFileSizesetDownloadCanceled(long fileSize); public void setLocalMediaUrl(String mediaUrl); public void setDownloadPercent(int percent); public void setDownloadCompleted(boolean complete); setServiceProviderMessage(String message);
4.2以下の断末から倍速をする時、安定性を改善
2.0.18 (2024.03.04)
AwesomePlayerでseek中にLMSデータが出る場合、LMSデータのPlaytimeエラーを修正
字幕がない区間でseek時以前の時間の字幕が少し出て消える現象を修正
AI倍速チューニング
LMSコールバックURLが複数ある場合、エラー発生時(4xx、5xx)以降のオフラインLMSデータが上がらない現象を修正
2.0.17 (2024.02.07)
MediaInfoを取得中の間、再生終了する時にIndexOutOfBoundsExceptionの問題を修正
StorageManager load中の間、再生終了する時にANR発生現象を修正
LMSデータにai_playtimeを追加
2.0.16 (2024.01.23)
AI倍速追加
Code Block MediaPlayerに下記のAPI追加 /** AI倍速可否を設定する関数 @param enable true : AI 倍速, false : 基本倍速 */ public void setDownloadErrorsetAiPlaybackRateEnable(boolean bErrorenable); /** AI 可否を知らせるする関数 @return publictrue void: setLoaded(boolean bLoaded); AI 倍速, false : 基本倍速 */ public voidboolean setContentExpired isAiPlaybackRateEnabled(boolean expired); KollusContentに以下のAPI追加 /** AI SCriptアドレスを設定する関数としてSDK public内で使用します。 void@param setDownloading(boolean downloading); scriptPath AI SCriptアドレス */ public void setDownloadCanceledsetAiScriptPath(String scriptPath); /** AI SCriptアドレスを取得する関数で、パスが空の文字でなければAIの倍速が可能なコンテンツです。 */ public voidString setServiceProviderMessagegetAiScriptPath(String message);
4.2以下の断末から倍速をする時、安定性を改善
2.0.18 (2024.03.04)
AwesomePlayerでseek中にLMSデータが出る場合、LMSデータのPlaytimeエラーを修正
字幕がない区間でseek時以前の時間の字幕が少し出て消える現象を修正
AI倍速チューニング
LMSコールバックURLが複数ある場合、エラー発生時(4xx、5xx)以降のオフラインLMSデータが上がらない現象を修正
2.0.17 (2024.02.07)
MediaInfoを取得中の間、再生終了する時にIndexOutOfBoundsExceptionの問題を修正
StorageManager load中の間、再生終了する時にANR発生現象を修正
LMSデータにai_playtimeを追加
MultiDRMコンテンツのサムネイル、スナップショットイメージエラーを修正
区間再生パラメータ追加
KollusContentに下記のAPIを追加Code Block /** * 区間再生の開始時間を設定する関数 * @param time 区間再生の開始時間 (ミリ秒) */ public void setRepeatPlaySectionStart(int time); /** * 区間再生の開始時間を取る関数 * @return 区間再生の開始時間 (ミリ秒) */ public int getRepeatPlaySectionStart(); /** * 区間再生の終了時間を設定する関数 * @param time 区間再生の終了時間 (ミリ秒) */ public void setRepeatPlaySectionEnd(int time); /** * 区間再生の終了時間を取る関数 * @return 区間再生の終了時間 (ミリ秒) */ public int getRepeatPlaySectionEnd();
2.0.15 (2023.11.01)
断続的に発生したメディア パーシング エラー(-8633)を修正
エラー レポート時のエンコーディング プロファイルのキー追加
prepared前に終了時、LMSのruntimeデータの収集エラー修正
ブックマークタイトルにurlencodeを追加
2.0.14 (2023.08.10)
Edge接続時にHttp Request Headerを追加
2.0.13 (2023.08.09)
HLS、Mpeg-Dashの場合、エラーログの収集ができないエラーを修正
エラーログ収集時パラメータの欠落している現象を修正
Download DRM v2支援
2.0.12 (2023.07.18)
初期バッファリング収集データの追加
onPrepared以降、最初の再生するタイミングから字幕を表示修正
2.0.11 (2023.06.09)
Virtual Master検知パッチされたライブラリの適用
ライブ再生の試み時にエラーが発生した場合、エラーレポートが抜ける現象を修正
最初のエッジ接続時、UserAgentにcpkが抜ける現象を修正
フォレンジックウォーターの開始エラー時にonPreparedがNotifyされて再生される現象を修正
on Prepared以降、初再生の試み時に字幕が上がるように修正
Emulator Checker Listenerに下記APIを追加
/**
* 再生中にデバッグモードがオンになっている場合に呼び出されます。
*/
public void onDetectDebuggingMode();
2.0.10 (2023.03.14)
FD_SETSIZE 1024制限でソケットが1024より大きい場合、FD_SETからCrashされ、selectからpollに変更
ストレージマネージャーでエラーが発生した場合、stパラメータが漏れる現象を修正
Terutenモジュールアップデート
Terutenモジュール初期化失敗時エラーレポート漏れ現象修正
エミュレータ検出時にエラーレポートを追加
TimeShiftを最大にseek時、間欠的に-3012エラーが出る現象を修正
2.0.9 (2022.09.29)
再生終了時にANR現像を修正
Teruten エミュレータチェックモジュールの追加
AnroidManifest.xmlに下記項目追加
<receiver
android:name="com.kollus.sdk.media.MediaPlayer$TMCMReceiver"
tools:ignore="Instantiatable"
android:exported="false">
<intent-filter>
<action android:name="com.teruten.mcm.receiver" />
</intent-filter>
</receiver>
2.0.8 (2022.08.23)
マルチ字幕対応
KolluesContent API 追加
public Vector<SubtitleInfo> getSubtitleSubInfo();
MediaPlayer API 変更
変更前
Code Block |
---|
public void addTimedTextSource(Context context, Uri uri); public void addTimedTextSource(String path); public void selectTrack(int index); public void deselectTrack(int index); |
変更後
Code Block |
---|
public void addTimedTextSource(Context context, boolean bSubTimedText, Uri uri); public void addTimedTextSource(boolean bSubTimedText, String path); public void selectTrack(boolean bSubTimedText, int index); public void deselectTrack(boolean bSubTimedText, int index); |
MediaPlayer.OnTimedTextDetectListener API 追加
public void onSubTimedTextDetect(MediaPlayer mp, int trackIndex);
MediaPlayer.OnTimedTextListener API 追加
public void onSubTimedText(MediaPlayer mp, int trackIndex);
2. 下記APIパラメータ変更
変更前
Code Block |
---|
MediaPlayer.OnExternalDisplayDetectListenerの public void onExternalDisplayDetect(int type, boolean plugged); KollusContentの public int getContentType(); |
変更後
Code Block |
---|
MediaPlayer.OnExternalDisplayDetectListenerの public void onExternalDisplayDetect(EXTERNAL_DISPLAY_MODE type, boolean plugged); KollusContentの public KollusContent.ContentType getContentType(); |
2.0.7 (2022.07.01)
FireTV App専用のSDK提供
64ビットに対応
ダウンロードリンクにdownloadパラメータをSDK内に追加
アプリにあったものをSDK段に移す(顧客から漏れてネットワークthrottlingにかかり遅い現象を防止)
アプリ脆弱性警告及びエミュレータ感知できない問題でTerutenエミュレータチェックライブラリー除去
Android11以上では権限問題で最初からチェック不可能
以下のCPUアーキテクチャの除去
armeabi, mips, mips64
2.0.6 (2022.02.08)
TimeShiftする際のcurrent positionとdurationエラーを修正
進捗率にVolume, Playrate関連スペックを追加
prepareAsync 重複リクエストによりバッファリング時間がマイナスにリターンされる問題を修正
releaseバージョンでProguardを適用した際にCrashする問題を修正
lmsに置換子 {PLAY_BLOCK_JSON}を使用する際のデータエラーを修正
2.0.5 (2021.11.22)
バグ修正: ExoPlayer seekする際のcomplete notifyする時点を変更
一般的にシーク動作がリクエストされると、Playerは最も近いキーフレームに移動します。
例)動画の10秒時点にキーフレームがあって、11秒時点をシークするようにリクエストされた場合、シーク動作後の実際の場所は10秒になります。
※全てのVideo Playerはこの方式で動作します。
バグ修正前
例)11秒時点にシークをリクエストされた場合に10秒時点にキーフレームがあると上記動作のようにPlayerは10秒に移動するが、シーク動作に対するリターン値は11秒になる。
実際再生には影響がなくても、LMS Callbackなどに影響する可能性あり。
バグ修正後
シーク動作のリターン値が、実際シーク関数が完了された時点(10秒)と一致する。
スペック変更: setBandwidth動作変更
変更前
"setBandwidth"関数をリクエストしても、exoPlayerはバッファされたストリームサイズが25秒未満にならない限り、ビットレートを変更しない。
変更後
"setBandwidth"関数をリクエストすると、exoPlayerはバッファされたストリームサイズを無視し、関数がリクエストされた直後にビットレートを変更する。
Forensic Video Watermark関連のAPIを追加
/**
* ForensicWatermarkViewを設定する関数。SurfaceViewまたはSurfaceを入れた状態でリクエストしてください。
* フォレンジックビデオウォーターマークに対応する場合、必須で設定してください。
*
* @param view
*/
public void setForensicWatermarkView(ForensicWatermarkView view);/**
* フォレンジックウォーターマークを表示するView、最上位のViewGroupにてaddViewしてください。
* @param context
* @param storage
* @param key 発行されたキー
* @param expireDate 発行されたキーの有効期限
* @param isDownload ダウンロードコンテンツかどうか
*/
public ForensicWatermarkView(Context context, KollusStorage storage, String key, String expireDate, boolean isDownload);
2.0.4 (2021.10.28)
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);MediaPlayerから以下のAPIを削除
public void setBufferDurationsMs(int minBufferMs, int maxBufferMs);
理由: 設定されたサイズだけ必ずバッファリングするため、円滑なABR動作を妨害するMulti DRM コンテンツのストリーミング再生終了後、キャッシュフォルダを削除
2.0.3 (2021.10.21)
サムネイルダウンロード完了及びABRの画質が変更する際のデバッグログを追加
→バッファリングに時間が掛かる区間を確認するサムネイルダウンロードログを追加
→初期画質変更の際の遅延を確認するためのログを追加ログサーバーとの通信をリクエストされたプロトコルに合わせて動作するように修正
→httpsでリクエストした際に、SDK内部で行われるhttp通信はlocal proxyを除いて全て削除Multi DRMサムネイルダウンロード方式を、非同期方式で動作できるオプションを追加
→サムネイルダウンロードに掛かる時間がバッファリングに影響を与えるため、この動作方式を同期→非同期に変更
→関連インターフェースCode Block 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に指定します。small thumbnailに対応
サムネイルサイズは、254*108, 50*50の2つとなり、オプション処理でsmallサイズでダウンロードすることが可能
関連オプションは
https://support.catenoid.net/display/SUPJP/JWT
上記の内容の中、thumbnailのtypeをsmallに指定します。
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にて以下の内容を追加Code Block 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を追加
再生開始後すぐにクラッシュする不具合を修正
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
intro動画で正確なSeekを繰り返した際に落ちる問題修正
----------------------------------------------------------------------------------------
2020.11.30
User Agent 規則変更 (pc, mobile, tablet 区別)
KollusContentに最大倍速関連APIを追加
/**
SDK 内部で使用
@param rate
*/
public void setMaxPlaybackRate(int rate);
/**
最大倍速を取得する関数
@return
*/
public int getMaxPlaybackRate();
----------------------------------------------------------------------------------------
2020.11.12
KollusStorageに以下のAPIを追加
public void sendStoredLMS(StoredLMSListener listener);
KollusStorageのリスナー関連、API変更及び追加
OnKollusStorageListener 関連事項
setOnKollusStorageListener -> registerKollusStorageListener に変更
unregisterKollusStorageListener 追加
KollusPlayerDRMListener 関連事項
setKollusPlayerDRMListener -> registerKollusPlayerDRMListener に変更
unregisterKollusPlayerDRMListener 追加
KollusPlayerLMSListener 関連事項
setKollusPlayerLMSListener -> registerKollusPlayerLMSListener に変更
unregisterKollusPlayerLMSListener 追加
KollusPlayerThumbnailListener 関連事項
setKollusPlayerThumbnailListener -> registerKollusPlayerThumbnailListener に変更
unregisterKollusPlayerThumbnailListener 追加
KollusPlayerCallbackListener 関連事項
setKollusPlayerCallbackListener -> registerKollusPlayerCallbackListener に変更
unregisterKollusPlayerCallbackListener 追加
/**
保存されたLMSデータをPlayerではなく別途APIで取得する際に、
結果がリターンされるリスナー
*/
public interface StoredLMSListener {
/**
保存されたLMSデータを全て転送してから取得する関数
@param successCount 転送成功件数
@param failCount 転送失敗件数
*/
void onSendComplete(int successCount, int failCount);
}
ライブ再生中、重複再生遮断に必要な情報が抜けていた問題を修正
----------------------------------------------------------------------------------------
2020.11.02
Current Position エラー修正
Rollypop以前の場合、Pallycon Agentを生成しない
----------------------------------------------------------------------------------------
2020.10.19
再生初期バッファリング時間reportingを間違ったURLに送る問題を修正
再生初期バッファリング時間reportingをASyncするように変更
ダウンロードするためにコンテンツがLoadされたかを確認するAPIを追加
KollusContentに以下のAPIを追加
public void setLoaded(boolean bLoaded);//内部のみ使用
public boolean isLoaded();
prepare 完了される前に再生終了した際に落ちる問題を修正 (マーケットの一部NullPointExceptionと関連)
prepare直後に終了した際に、uriがnullのため落ちる
prepare後、onPrepared リクエストする時点に終了した場合、コンテンツ情報がnullのため落ちる
ライブPlaycallback resultが 0の場合、エラーメッセージがないと間違ったエラーコードが上がる問題を修正
内部で管理するダウンロードリストに存在しないmckでdowload apiをリクエストした際に落ちる問題を修正
ダウンロードするためにloadし、削除してからdowload apiをリクエストすると判断
ブックマークタイトルが抜ける問題を修正(for ExoPlayer)
----------------------------------------------------------------------------------------
2020.08.10
2020.06.08_r1 Base
ネットワークが断絶されていてもタイムアウトが適用されるように修正
introで、Audio watermarking映像を再生し、次にAudio watermarkingが適用されてない映像を再生した際に落ちる問題を修正
ExoPlayer リピート再生するときにバッファリング表示になる問題を修正
リピート再生の時に、暫くバッファリング状態になる可能性があるため、リピート再生中にはバッファリング表示をしないように修正することを推奨します。
disable_nscreenが trueのダウンロードコンテンツにnscreen情報が出る問題を修正
オフラインブックマークタイトルが抜ける問題を修正
Multi DRM ダウンロード機能を追加
KollusContentにpublic @ContentType int getContentType(); 追加
KOLLUS_CONTENT, EXT_DRM_CONTENT
ダウンロード中にはファイルサイズ情報が正確に取得できない可能性があります。
User Agent 規則変更
ライブLMSデータのエラーを修正
10. ライブにVideo watermark表示されない問題を修正
----------------------------------------------------------------------------------------
2020.08.03
オフラインブックマークタイトルが抜ける問題を修正
オフラインブックマークの追加を連打すると落ちる問題を修正
----------------------------------------------------------------------------------------
2020.07.21
2020.03.20_r1にロールバック
VMチェック不具合エラーが報告されない時点(2019.04.09_r1)に適用
OnInfoListenerに以下の関数を追加
void onCodecInitFail(String componentName);
disable_nscreenがtrueのダウンロードコンテンツにnscreen情報が出る問題を修正
----------------------------------------------------------------------------------------
2020.06.08
OnInfoListenerに以下の関数を追加
void onCodecInitFail(String componentName);
No Kollus VOD 字幕対応
No Kollus VOD Playcallback対応
No Kollus VOD ネットワークタイム適用
VMチェックするに変更
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)に変更
HLS 終了した際に落ちる問題を修正
----------------------------------------------------------------------------------------
2020.04.22
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 の設定が必要
OnInfoListenerに以下の関数を追加
void onDetectBandwidthList(MediaPlayer mp, List<BandwidthItem> list);
void onChangedBandwidth(MediaPlayer mp, BandwidthItem item);
MediaPlayerに以下の関数を追加
public void setBandwidth(String bandwidthName);
introがある映像で、本映像にPlayCallbackでエラーが発生した際にhangになる問題を修正
MediaPlayerのsetCencProxyPath関数を除去 (MediaInfoを使用)
----------------------------------------------------------------------------------------
2020.03.20
Audio watermarkingが適用されている場合、全体リピート再生した際に画面更新されない問題を修正
----------------------------------------------------------------------------------------
2020.02.18
Seekする際に次の区間まで字幕が表示されない問題を修正
onPrepared以降に字幕が出るように修正
----------------------------------------------------------------------------------------
2020.01.18
ToolChain 及びビルドスクリプトを変更
CpuInfoにisSupportDevice関数を追加
外部からPlayer IDを設定する場合、重複再生遮断ができない問題を修正
OMXCodecにて、連続でSeekするとき落ちる問題を修正
Seekする際に次の区間まで字幕が表示されない問題を修正
onPrepared以降に字幕が出るように修正
----------------------------------------------------------------------------------------
2019.12.10
LMS データに置換子 TIMEMAP_DATA 追加
エミュレータチェックロジックを変更
----------------------------------------------------------------------------------------
2019.11.13
SW コーデックにて、まれに落ちる問題を修正
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);
ブックマーク追加した際にラベルも取得できるように修正
MediaPlayer
既存 : public void updateKollusBookmark(int position);
修正 : public void updateKollusBookmark(int position, String label);
Mpeg Dash ABR 追加
Table of Contents | ||
---|---|---|
|