August 27
Media agent for Roku v4.2.3
Added
- Added
contentIsLiveattribute toVideoAction/VideoAdActionevents, reflecting the Video node'scontent.livefield when set — brings Roku in line with the standard cross-agent video data model.
Fixed
- Fixed
CONTENT_BUFFER_ENDbeing delayed until playback resumed when a rebuffer completed while the video was paused. The event now fires as soon as buffering actually recovers, independent of whether the user has resumed playback — correcting over-reported buffering duration and total rebuffering time for pause-during-buffer scenarios. - Fixed
errorCode/errorMessage/backtracebeing stamped onto everyVideoAction/VideoAdActionevent, including heartbeats — Roku's Video node reportserrorCode: 0(notinvalid) even absent an error, so every non-error event was leaking error-shaped attributes (NR-606648). These now only appear on actual error events. - Fixed MediaTailor SSAI debug logging (
nrActivateLogging) being silently suppressed since its introduction in 4.2.0 — an extra argument passed tonrCheckLoggingState()viacallFunccaused the call to no-op instead of evaluating the logging gate, so no MediaTailor debug output was ever produced regardless of logging state.
August 27
Roku向けメディアエージェント v4.2.3
追加した
VideoAction/VideoAdActionイベントにcontentIsLive属性を追加し、設定時にVideoノードのcontent.liveフィールドを反映するようにしました — これにより、Rokuは標準のクロスエージェントのビデオデータモデルに準拠します。
修理済み
- ビデオの一時停止中にリバッファリングが完了した場合、再生が再開されるまで
CONTENT_BUFFER_ENDが遅延する問題を修正しました。ユーザーが再生を再開したかどうかに関係なく、バッファリングが実際に回復するとすぐにイベントが発生するようになりました — これにより、バッファリング中の一時停止シナリオにおいて過剰に報告されていたバッファリング時間と合計リバッファリング時間が修正されます。 - ハートビートを含むすべての
VideoAction/VideoAdActionイベントにerrorCode/errorMessage/backtraceが付与される問題を修正しました — RokuのVideoノードはエラーがない場合でも(invalidではなく)errorCode: 0を報告するため、エラーではないすべてのイベントでエラー形式の属性が漏洩していました(NR-606648)。これらは実際のエラーイベントにのみ表示されるようになりました。 - 4.2.0での導入以来、MediaTailor SSAIデバッグロギング(
nrActivateLogging)がサイレントに抑制されていた問題を修正しました —callFuncを介してnrCheckLoggingState()に渡された余分な引数により、ロギングゲートを評価する代わりに呼び出しがno-opになり、ロギング状態に関係なくMediaTailorのデバッグ出力が生成されることはありませんでした。
August 5
Media agent for Roku v4.2.2
New features
- Added
"JP"as a supportedregionvalue (alongside"US","EU", and"staging"), routing event, log, metric, and mobile-connect traffic to the New Relic Japan collector endpoints. Region matching is case-insensitive ("JP"or"jp").
Bug fixes
- Fixed a dirty-check gap where
QOE_AGGREGATEevents stopped being sent after the first one whenever only a KPI added in 4.2.1 (avgDownloadRate,minDownloadRate,maxDownloadRate,totalSwitchUps,totalSwitchDowns,totalPauseTime,totalRenditions) changed between harvests—most noticeable during a long pause, wheretotalPauseTimewas the only value still moving.
Notes
- Removed
totalTimeSwitchedDownfrom theQOE_AGGREGATEevent and its internal tracking (rendition-switch-down interval accumulation).
August 5
Roku向けメディアエージェント v4.2.2
新機能
- サポートされる
regionの値として"JP"を追加し("US"、"EU"、および"staging"とともに)、イベント、ログ、メトリクス、およびモバイル・コネクトのトラフィックをNew Relic Japanのコレクターのエンドポイントにルーティングするようにしました。リージョンの照合では大文字と小文字は区別されません("JP"または"jp")。
バグ修正
- ハーベスト間で4.2.1で追加されたKPI(
avgDownloadRate、minDownloadRate、maxDownloadRate、totalSwitchUps、totalSwitchDowns、totalPauseTime、totalRenditions)のみが変更されるたびに、最初のイベント以降にQOE_AGGREGATEイベントが送信されなくなるダーティ・チェックのギャップを修正しました — これは、totalPauseTimeが唯一変動し続けている値である長い一時停止中に最も顕著でした。
メモ
QOE_AGGREGATEイベントとその内部トラッキング(rendition-switch-down interval accumulation)からtotalTimeSwitchedDownを削除しました。
May 14
Media agent for Roku v4.2.0
New features
- Added native support for AWS Elemental MediaTailor server-side ad insertion via Roku's RAFX_SSAI
awsemtadapter - Added automatic
VideoAdActionrecording for MediaTailor ad lifecycle events:AD_BREAK_START,AD_REQUEST,AD_START,AD_QUARTILE,AD_END,AD_BREAK_END, andAD_ERROR - Added
nrEnableMediaTailorTracking(nr, adIface)to register New Relic listeners on a RAFX_SSAI adapter in one call - Added
nrSetMediaTailorAdMetadata(tracker, metadata)to inject sidecar key/value metadata intoVideoAdActionevents - Added
nrSendVideoAdEvent(nr, actionName, attr)for direct recording ofVideoAdActionfrom any tracker - Added
MediaTailorTask.brsreference task andVideoScene.brssample demonstrating the recommended integration pattern
Update
- Created
MediaTailorTrackerin the scene thread and passed to the task via a node field for RAFX listener compatibility - Initialised session through
RAFX_SSAI.requestStream(); assigned stitched manifest URL fromgetStreamInfo().manifest_urlto the Video node - Added Video node
positionfield observation in the task event loop for ad-break timing resolution - Set MediaTailor support as opt-in; activates only when
nrEnableMediaTailorTrackingis called
Bug fixes
- Fixed Google IMA ad lifecycle events (
AD_BREAK_START,AD_BREAK_END,AD_START,AD_END,AD_QUARTILE,AD_ERROR) to correctly produceVideoAdActioninstead ofVideoAction
May 14
Roku向けメディアエージェント v4.2.0
新機能
- RokuのRAFX_SSAI
awsemtアダプターを介したAWS Elemental MediaTailorサーバーサイド広告挿入のネイティブサポートを追加しました - MediaTailor 広告ライフサイクルイベントの自動
VideoAdAction記録を追加しました:AD_BREAK_START、AD_REQUEST、AD_START、AD_QUARTILE、AD_END、AD_BREAK_END、およびAD_ERROR - 1回の呼び出しでRAFX_SSAIアダプターにNew Relicリスナーを登録するための
nrEnableMediaTailorTracking(nr, adIface)を追加しました VideoAdActionイベントにサイドカーのキーの値メタデータを注入するためにnrSetMediaTailorAdMetadata(tracker, metadata)を追加しました- 任意のトラッカーから
VideoAdActionを直接記録するためのnrSendVideoAdEvent(nr, actionName, attr)を追加しました - 推奨されるインテグレーションパターンを示す
MediaTailorTask.brsリファレンスタスクとVideoScene.brsサンプルを追加しました
アップデート
- RAFXリスナーとの互換性のためにシーンスレッドで
MediaTailorTrackerを作成し、ノードフィールド経由でタスクに渡しました RAFX_SSAI.requestStream()経由でセッションを初期化しました;getStreamInfo().manifest_urlからのスティッチされたマニフェストURLをVideoノードに割り当てました- 広告ブレークのタイミングの解決のため、タスクのイベントループにVideoノードの
positionフィールドの監視を追加 - MediaTailorサポートをオプトインとして設定します;
nrEnableMediaTailorTrackingが呼び出されたときにのみアクティブになります
バグ修正
- Google IMA広告ライフサイクルイベント(
AD_BREAK_START、AD_BREAK_END、AD_START、AD_END、AD_QUARTILE、AD_ERROR)を修正し、次の代わりに正しくVideoAdActionを生成するようにしましたVideoAction
April 9
Media agent for Roku v4.1.0
New features
- Added QoE analytics for comprehensive video quality tracking with advanced performance metrics
- Added
averageBitrateattribute: time-weighted average bitrate across playback - Added
peakBitrateattribute: highest bitrate achieved during playback - Added
startupTimeattribute: time from content request to first frame (excludes pre-roll ads) - Added
rebufferingRatioattribute: percentage of playback time spent rebuffering - Added
totalRebufferingTimeattribute: total milliseconds in buffer states - Added
totalPlaytimeattribute: total content playback time in milliseconds - Added
hadStartupErrorattribute: boolean indicating if startup failed before content start - Added
hadPlaybackErrorattribute: boolean indicating if playback errors occurred during session - Added
nrActivateQoeTracking(nr)to enable QoE tracking (disabled by default) - Added
nrSetQoeAggregateIntervalMultiplier(nr, multiplier)to configure event frequency
Update
- Synchronized QoE events with harvest cycles
- Prevented redundant events through intelligent duplication
- Implemented per-session metric isolation and cleanup
- Implemented time-weighted bitrate calculations for accuracy
- Implemented smart startup time calculation excluding ad time
- Disabled QoE tracking by default; harvest multiplier set to 1 (every harvest cycle)
April 9
Roku向けメディアエージェント v4.1.0
新機能
- 高度なパフォーマンスメトリクスによる包括的なビデオ品質トラッキングのためのQoE分析を追加
averageBitrate属性を追加:再生全体における時間加重平均ビットレートpeakBitrate属性を追加しました:再生中に達成された最高ビットレートstartupTime属性を追加:コンテンツのリクエストから最初のフレームまでの時間(プレロール広告を除く)rebufferingRatio属性を追加:再バッファリングに費やされた再生時間の割合totalRebufferingTime属性を追加しました:バッファ状態の合計ミリ秒数totalPlaytime属性を追加:ミリ秒単位の合計コンテンツ再生時間hadStartupError属性を追加:コンテンツの開始前にスタートアップが失敗したかどうかを示すブール値hadPlaybackError属性を追加:セッション中に再生エラーが発生したかどうかを示すブール値- QoEトラッキングを有効にするために
nrActivateQoeTracking(nr)を追加しました(デフォルトでは無効) - イベント頻度を設定するための
nrSetQoeAggregateIntervalMultiplier(nr, multiplier)を追加しました
アップデート
- QoEイベントを収集サイクルと同期
- インテリジェントな重複排除により、冗長なイベントを防止
- セッションごとのメトリクスの分離とクリーンアップを実装しました
- 精度向上のため、時間加重ビットレート計算を実装しました
- 広告時間を除外したスマートな起動時間計算を実装
- デフォルトでQoEトラッキングを無効化;収集乗数を1に設定(収集サイクルごと)
November 12, 2025
Media agent for Roku v4.0.4
Bug fix
- Avoid adding
appIdfromdataToken. - Fixed
nrSendErrorEventto send proper data.
November 12, 2025
Roku 用メディアエージェント v4.0.4
バグ修正
dataTokenからappIdを追加しないでください。- 適切なデータを送信するように
nrSendErrorEventを修正しました。