dec-0080

Vista generada de dec-0080: Default backends por familia

ImplementadoSin versión del tren todavía· generada desde docs/decisions/dec-0080-default-backends-familia.md
track/docsdec-0124track/docs:DC10

Vista generada desde docs/decisions/dec-0080-default-backends-familia.md. No se edita a mano: bun run docs:gen la regenera y bun run docs:check falla si difiere. El estado aquí es el del model: si discrepa con otra página, manda el model.

CampoValor
EstadoLOCKED (migrado de un rNN por gate-3: el fichero no declara estado)
Referencia legadaD5.2
Ficherodocs/decisions/dec-0080-default-backends-familia.md

Por qué importa (del frontmatter del ADR):

roadmap.spec.yml línea 1048 asigna literalmente 'GStreamer presentation path' a F-APPLIANCE-PI3; r59 confirma el mismo stack.

Nodos del roadmap que lo citan en refs: ninguno.

Páginas de la documentación que lo citan: ninguna todavía.

Texto del ADR

Leído de docs/decisions/dec-0080-default-backends-familia.md, el fichero canónico.

Default backends por familia

Default backends por familia: Web=React+MediaBunny+MSE, Apple=SwiftUI+AVFoundation, Android=Compose+Media3, Linux=GStreamer, Windows=GStreamer+D3D11/D3D12+WASAPI, Embedded=Qt Quick/QML+GStreamer+vendor HW.

Por qué pasa gate-3

  • Hard-to-reverse: Cambiar default backend require re-escritura de la capa de presentacion y adaptadores de plataforma; no es flip de config
  • Surprising sin contexto: NO es obvio sin el ADR que Linux/Windows usan GStreamer (NO FFmpeg directo) ni que Apple/Android tienen stacks nativos totalmente distintos (AVFoundation/Media3)
  • Trade-off real: Se rechazo GStreamer universal (porting tax a Apple/Android) y FFmpeg universal; coste visible = mantener multiples stacks, beneficio = optimizacion nativa por plataforma, evitar abstraction penalty

Procedencia

Split de docs/decisions/r57-platform-adapter-backend-policy-2026-07-15.md (lock D5.2) durante PASO 7 (2026-07-16). Ver el fichero padre para el contexto completo del pack original.