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
추가됨
- 설정 시 Video 노드의
content.live필드를 반영하여VideoAction/VideoAdAction이벤트에contentIsLive속성을 추가했습니다. — 이를 통해 Roku가 표준 교차 에이전트 비디오 데이터 모델과 일치하게 됩니다.
결정된
- 비디오가 일시 중지된 동안 리버퍼링이 완료되었을 때 재생이 재개될 때까지
CONTENT_BUFFER_END이(가) 지연되는 문제를 수정했습니다. 이제 사용자가 재생을 재개했는지 여부와 관계없이 버퍼링이 실제로 복구되는 즉시 이벤트가 발생합니다. — 이를 통해 버퍼링 중 일시 중지 시나리오에서 과도하게 보고된 버퍼링 기간 및 총 리버퍼링 시간을 수정합니다. - 하트비트를 포함한 모든
VideoAction/VideoAdAction이벤트에errorCode/errorMessage/backtrace이(가) 찍히는 문제를 수정했습니다. — Roku의 Video 노드는 오류가 없는 경우에도 (invalid이(가) 아닌)errorCode: 0을(를) 보고하므로, 모든 비오류 이벤트에서 오류 형태의 속성이 누출되고 있었습니다(NR-606648). 이제 실제 오류 이벤트에만 나타납니다. - 4.2.0에 도입된 이후 MediaTailor SSAI 디버그 로깅(
nrActivateLogging)이 조용히 억제되는 문제를 수정했습니다. —callFunc을(를) 통해nrCheckLoggingState()에 전달된 추가 인수로 인해 로깅 게이트를 평가하는 대신 호출이 작동하지 않게 되어, 로깅 상태와 관계없이 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"와 함께) 이벤트, 로그, 메트릭 및 모바일 연결 트래픽을 뉴렐릭 일본 수집기 엔드포인트로 라우팅합니다. 리전 매칭은 대소문자를 구분하지 않습니다("JP"또는"jp").
버그 수정
- 수집 간에 4.2.1에 추가된 KPI(
avgDownloadRate,minDownloadRate,maxDownloadRate,totalSwitchUps,totalSwitchDowns,totalPauseTime,totalRenditions)만 변경될 때마다 첫 번째 이벤트 이후QOE_AGGREGATE이벤트 전송이 중단되는 더티 체크 간격을 수정했습니다 ― 이는totalPauseTime만 여전히 이동하는 값인 긴 일시 중지 중에 가장 두드러집니다.
Notes
QOE_AGGREGATE이벤트 및 내부 추적(rendition-switch-down 간격 누적)에서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 - 한 번의 호출로 RAFX_SSAI 어댑터에 뉴렐릭 리스너를 등록하도록
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을 할당했습니다- 광고 시간 타이밍 해결을 위해 작업 이벤트 루프에 비디오 노드
position필드 관찰 추가 - MediaTailor 지원을 옵트인으로 설정,
nrEnableMediaTailorTracking이(가) 호출될 때만 활성화됩니다
버그 수정
- 다음 대신
VideoAdAction을(를) 올바르게 생성하도록 Google IMA 광고 수명 주기 이벤트(AD_BREAK_START,AD_BREAK_END,AD_START,AD_END,AD_QUARTILE,AD_ERROR)를 수정했습니다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을(를) 수정했습니다.