August 31
Media agent for Android v4.5.0
Features
- sample-app: show a LIVE badge instead of a countdown for live streams
- sample-app: support direct manifest URL playback and mock-server testing
Bug Fixes
- exoplayer: report contentIsLive and omit contentDuration for live streams
- mediatailor: append newly-reported ads when a tracking-built avail grows (fd2b5fd), closes #2 #3
- mediatailor: centralise trailing-segment sessionId extraction
- mediatailor: classify how the tracking endpoint was resolved
- mediatailor: correct DASH cue offset and give HLS breaks a stable id
- mediatailor: derive tracking URL from implicit-session DASH playlist path
- mediatailor: derive tracking URL from implicit-session HLS playlist path
- mediatailor: describe pending implicit-session tracking URL as deferral
- mediatailor: emit AD_ERROR when tracking fetch fails silently
- mediatailor: expose creativeId-first primary key for per-ad metrics
- mediatailor: harden schedule merge against zombie breaks and pod drift
- mediatailor: keep manifest pod boundaries when tracking ad count disagrees
- mediatailor: let EXT-X-DATERANGE override an earlier trackingUrl guess
- mediatailor: make playhead poll interval configurable at construction
- mediatailor: match growing-avail ads by start time when adId is absent
- mediatailor: match manifest breaks by id, gate MISSING_AVAIL_START once
- mediatailor: paginate NextToken within one poll instead of across polls
- mediatailor: parse tracking-event beacons with ad-start-relative timing
- mediatailor: pod endTimeMs must not exceed its enclosing break
- mediatailor: prune viewed avails from the live schedule
- mediatailor: read HLS tracking URL from EXT-X-DATERANGE when advertised
- mediatailor: rename segmentPrefix to canonical adSegmentPrefix
- mediatailor: require unanimous representation agreement for DASH ad periods
- mediatailor: revert tracking requests from POST back to GET
- mediatailor: round-trip NextToken across tracking polls
- mediatailor: stabilise avail identity across live window rotations
- mediatailor: surface avails missing startTimeInSeconds as an error
- mediatailor: surface pods appended after the playhead left their window
- mediatailor: treat empty avails as no-fill instead of firing AD_START
August 4
Media agent for Android v4.4.0
New features
- Added JP region support. (e97c6ca)
Bug fixes
- Aligned
totalPauseTimewith the iOS clock model and stopped emittingtotalTimeSwitchedDown. (924c7b9) - Classified startup and playback errors by content-started state, for iOS parity. (a6b3288)
- Corrected
CONTENT_DROPPED_FRAMESevent fields and fixed the underlying ANR root cause. (a5afc73) - Deduplicated consecutive identical download-rate samples. (e9b6d1f)
- Emitted a fresh
totalPlaytimevalue inQOE_AGGREGATE. (af065d6) - Excluded only ad time from
startupTime, for iOS parity. (9321ac8) - Recorded the final QoE event into the crash-safe buffer at
CONTENT_END. (e1d3ae1) - Removed an unused classpath. (f729768)
- Removed an unused dependency. (0bdd95b)
- Removed an unused plugin. (fa11838)
- Replaced the global
harvestCycleNumbergate with a per-tracker gate. (9e19faf) - Updated a variable name. (72de035)
- Updated the allowlist for
QOE_AGGREGATEcontext attributes, for iOS parity. (dd1d3ef) - Updated the bitrate timer to use the
isPlayingtransition. (011ade3)
August 4
Agente de medios para Android v4.4.0
Nueva característica
- Se agregó soporte para la región JP. (e97c6ca)
Corrección de errores
- Se alineó
totalPauseTimecon el modelo de reloj de iOS y se dejó de emitirtotalTimeSwitchedDown. (924c7b9) - Errores de inicio y reproducción clasificados por estado de inicio de contenido, para paridad con iOS. (a6b3288)
- Se corrigieron
CONTENT_DROPPED_FRAMEScampos de evento y se solucionó la causa raíz subyacente de ANR. (a5afc73) - Muestras de tasa de descarga idénticas consecutivas deduplicadas. (e9b6d1f)
- Emitió un valor
totalPlaytimenuevo enQOE_AGGREGATE. (af065d6) - Se excluyó solo el tiempo de anuncios de
startupTime, para la paridad con iOS. (9321ac8) - Se registró el evento final de QoE en el búfer a prueba de fallas en
CONTENT_END. (e1d3ae1) - Se eliminó un classpath no utilizado. (f729768)
- Se eliminó una dependencia no utilizada. (0bdd95b)
- Se eliminó un plug-in no utilizado. (fa11838)
- Se reemplazó la puerta global
harvestCycleNumberpor una puerta por rastreador. (9e19faf) - Nombre de variable actualizado. (72de035)
- Se actualizó la lista de permitidos para los atributos de contexto de
QOE_AGGREGATE, para la paridad de iOS. (dd1d3ef) - Se actualizó el temporizador de tasa de bits para usar la transición
isPlaying. (011ade3)
August 4
Media agent for iOS v4.3.0
Published to CocoaPods
NewRelicVideoAgent4.3.0NRAVPlayerTracker4.3.0NRIMATracker4.3.0
New features
Bug fixes
August 4
Agente de medios para iOS v4.3.0
Publicado en CocoaPods
NewRelicVideoAgent4.3.0NRAVPlayerTracker4.3.0NRIMATracker4.3.0
Nueva característica
Corrección de errores
July 13
July 13
June 5
Media agent for iOS v4.1.4
Published to CocoaPods
NewRelicVideoAgent4.1.4NRAVPlayerTracker4.1.4NRIMATracker4.1.4
Bug fixes
- Exposed
sendSeekStart/sendSeekEndonNRVAVideo; auto-detected seek inAVPlayerTracker(34493b4) - Fixed
NRTrackerPairleakingNSNullsentinel to callers (82ef94f) - Implemented partial container sanitization, nil guard, and dead code removal (6aac79f)
- Read
totalPreRollAdTimefromCONTENT_STARTattributes (d565378) - Sanitized attribute values at
setAttributestorage boundary (7d07298)
June 5
Agente de medios para iOS v4.1.4
Publicado en CocoaPods
NewRelicVideoAgent4.1.4NRAVPlayerTracker4.1.4NRIMATracker4.1.4
Corrección de errores
- Se expuso
sendSeekStart/sendSeekEndenNRVAVideo; búsqueda detectada automáticamente enAVPlayerTracker(34493b4) - Se corrigió que
NRTrackerPairfiltrara el centinelaNSNulla los llamadores (82ef94f) - Se implementó la desinfección parcial del contenedor, la protección contra valores nulos y la eliminación de código muerto (6aac79f)
- Leer
totalPreRollAdTimede los atributosCONTENT_START(d565378) - Valores de atributo saneados en el límite de almacenamiento de
setAttribute(7d07298)
May 21