1/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2/* This Source Code Form is subject to the terms of the Mozilla Public
3 * License, v. 2.0. If a copy of the MPL was not distributed with this file,
4 * You can obtain one at http://mozilla.org/MPL/2.0/.
5 */
6
7enum DecoderDoctorNotificationType {
8  "cannot-play",
9  "platform-decoder-not-found",
10  "can-play-but-some-missing-decoders",
11  "cannot-initialize-pulseaudio",
12  "unsupported-libavcodec",
13  "decode-error",
14  "decode-warning",
15};
16
17enum DecoderDoctorReportType {
18  "mediawidevinenowmf",
19  "mediawmfneeded",
20  "mediaplatformdecodernotfound",
21  "mediacannotplaynodecoders",
22  "medianodecoders",
23  "mediacannotinitializepulseaudio",
24  "mediaunsupportedlibavcodec",
25  "mediadecodeerror",
26  "mediadecodewarning",
27};
28
29[GenerateToJSON]
30dictionary DecoderDoctorNotification {
31  required DecoderDoctorNotificationType type;
32  // True when the issue has been solved.
33  required boolean isSolved;
34  // Key from dom.properties, used for telemetry and prefs.
35  required DOMString decoderDoctorReportId;
36  // If provided, formats (or key systems) at issue.
37  DOMString formats;
38  // If provided, technical details about the decode-error/warning.
39  DOMString decodeIssue;
40  // If provided, URL of the document where the issue happened.
41  DOMString docURL;
42  // If provided, URL of the media resource that caused a decode-error/warning.
43  DOMString resourceURL;
44};
45