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
Agent média pour Roku v4.2.3
Ajouté
- Ajout de l’attribut
contentIsLiveaux événementsVideoAction/VideoAdAction, reflétant le champcontent.livedu nœud Video lorsqu’il est défini, ce qui aligne Roku sur le modèle de données vidéo standard inter-agents.
Fixé
- Correction du retard de
CONTENT_BUFFER_ENDjusqu’à la reprise de la lecture lorsqu’une remise en mémoire tampon se terminait pendant que la vidéo était en pause. L’événement se déclenche désormais dès que la mise en mémoire tampon récupère réellement, indépendamment du fait que l’utilisateur ait repris la lecture ou non, ce qui corrige la durée de mise en mémoire tampon et le temps total de remise en mémoire tampon surévalués pour les scénarios de pause pendant la mise en mémoire tampon. - Correction de l’ajout de
errorCode/errorMessage/backtraceà chaque événementVideoAction/VideoAdAction, y compris les heartbeats : le nœud Video de Roku signaleerrorCode: 0(et noninvalid) même en l’absence d’erreur, de sorte que chaque événement sans erreur laissait fuiter des attributs en forme d’erreur (NR-606648). Ceux-ci n’apparaissent désormais que sur les événements d’erreur réels. - Correction du logging de débogage MediaTailor SSAI (
nrActivateLogging) qui était supprimée silencieusement depuis son introduction dans la version 4.2.0 : un argument supplémentaire passé ànrCheckLoggingState()viacallFunca rendu l’appel inopérant au lieu d’évaluer la porte de logging, de sorte qu’aucune sortie de débogage MediaTailor n’a jamais été produite, quel que soit l’état du logging.
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
Agent média pour Roku v4.2.2
Nouvelles fonctionnalités
- Ajout de
"JP"en tant que valeurregionprise en charge (aux côtés de"US","EU"et"staging"), acheminant le trafic d’événement, de log, de métrique et mobile-connect vers les points de terminaison du collecteur New Relic Japan. La correspondance de région est insensible à la casse ("JP"ou"jp").
Débogage
- Correction d'une lacune de vérification des modifications où les événements
QOE_AGGREGATEcessaient d'être envoyés après le premier chaque fois que seul un KPI ajouté dans la version 4.2.1 (avgDownloadRate,minDownloadRate,maxDownloadRate,totalSwitchUps,totalSwitchDowns,totalPauseTime,totalRenditions) changeait entre les collectes — ce qui était le plus visible lors d'une longue pause, oùtotalPauseTimeétait la seule valeur qui bougeait encore.
Remarques
- Suppression de
totalTimeSwitchedDownde l'événementQOE_AGGREGATEet de son suivi interne (accumulation d'intervalles rendition-switch-down).
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
Agent média pour Roku v4.2.0
Nouvelles fonctionnalités
- Ajout de la prise en charge native de l’insertion publicitaire côté serveur AWS Elemental MediaTailor via l’adaptateur RAFX_SSAI
awsemtde Roku - Ajout de l'enregistrement automatique de
VideoAdActionpour les événements du cycle de vie des publicités MediaTailor :AD_BREAK_START,AD_REQUEST,AD_START,AD_QUARTILE,AD_END,AD_BREAK_ENDetAD_ERROR - Ajout de
nrEnableMediaTailorTracking(nr, adIface)pour enregistrer les écouteurs New Relic sur un adaptateur RAFX_SSAI en un seul appel - Ajout de
nrSetMediaTailorAdMetadata(tracker, metadata)pour injecter des métadonnées valeur clé sidecar dans les événementsVideoAdAction - Ajout de
nrSendVideoAdEvent(nr, actionName, attr)pour l'enregistrement direct deVideoAdActiondepuis n'importe quel tracker - Ajout de la tâche de référence
MediaTailorTask.brset de l'exempleVideoScene.brsdémontrant le modèle d'intégration recommandé
Mise à jour
- Créé
MediaTailorTrackerdans le thread de la scène et transmis à la tâche via un champ de nœud pour la compatibilité de l'écouteur RAFX - Session initialisée via
RAFX_SSAI.requestStream(); URL du manifeste assemblé assignée depuisgetStreamInfo().manifest_urlau nœud Video - Ajout de l'observation du champ
positiondu nœud vidéo dans la boucle d'événements de la tâche pour la résolution du minutage des coupures publicitaires - Définir la prise en charge de MediaTailor comme opt-in ; s'active uniquement lorsque
nrEnableMediaTailorTrackingest appelé
Débogage
- Correction des événements du cycle de vie des annonces Google IMA (
AD_BREAK_START,AD_BREAK_END,AD_START,AD_END,AD_QUARTILE,AD_ERROR) pour produire correctementVideoAdActionau lieu deVideoAction
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
Agent média pour Roku v4.1.0
Nouvelles fonctionnalités
- Ajout d'analyses QoE pour un suivi complet de la qualité vidéo avec des métriques de performance avancées
- Ajout de l'attribut
averageBitrate: débit binaire moyen pondéré dans le temps sur l'ensemble de la lecture - Attribut
peakBitrateajouté : débit binaire le plus élevé atteint pendant la lecture - Ajout de l'attribut
startupTime: délai entre la requête de contenu et la première image (hors publicités pré-roll) - Ajout de l'attribut
rebufferingRatio: pourcentage du temps de lecture consacré au rebuffering - Ajout de l'attribut
totalRebufferingTime: total des millisecondes dans les états de mémoire tampon - Attribut
totalPlaytimeajouté : temps total de lecture du contenu en millisecondes - Ajout de l'attribut
hadStartupError: booléen indiquant si le démarrage a échoué avant le début du contenu - Ajout de l'attribut
hadPlaybackError: booléen indiquant si des erreurs de lecture se sont produites pendant la session - Ajout de
nrActivateQoeTracking(nr)pour activer le suivi de la QoE (désactivé par défaut) - Ajout de
nrSetQoeAggregateIntervalMultiplier(nr, multiplier)pour configurer la fréquence des événements
Mise à jour
- Événements QoE synchronisés avec les cycles de collecte
- Événements redondants évités grâce à la duplication intelligente
- Implémentation de l'isolation et du nettoyage des métriques par session
- Implémentation des calculs de débit binaire pondérés dans le temps pour plus de précision
- Implémentation du calcul intelligent du temps de démarrage excluant le temps de publicité
- Suivi de la QoE désactivé par défaut ; multiplicateur de collecte défini sur 1 (chaque cycle de collecte)
November 12, 2025
Media agent for Roku v4.0.4
Bug fix
- Avoid adding
appIdfromdataToken. - Fixed
nrSendErrorEventto send proper data.
November 12, 2025
Agent média pour Roku v4.0.4
Débogage
- Évitez d'ajouter
appIddepuisdataToken. - Correction de
nrSendErrorEventpour envoyer des données correctes.