Track per-session decode-error state on the reporter and attach to the
playback event whether the session ended in error and the last platform
error. Only terminal errors are counted; transient conditions such as waiting
for data are ignored. Drop the event's legacy Telemetry mirror as well, since
the new key names exceed the 15-character legacy extra-key limit, so it is now
Glean-only.
Whether a media engine playback session ended in a fatal error could not be
told from the existing telemetry, which reported only total play time. This
gives a true per-session failure rate and the error responsible for it,
rather than inferring user impact from the inflated error-event count.
Recovery from a recoverable hardware context reset is a separate concern
measured by the mfcdm.recovery event, so no resume-time field is recorded
here: a terminal decode error ends the session and playback does not resume.
Differential Revision: https://phabricator.services.mozilla.com/D307172