| // Copyright 2016 The Fuchsia Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| library fuchsia.mediaplayer; |
| |
| // Models a problem preventing intended operation. |
| // |
| // A |Problem| is generally surfaced as part of a component's status, probably |
| // as an optional field. Absence of a |Problem| means that nothing is preventing |
| // intended operation. When a |Problem| is exposed, the client can take action |
| // automatically or present relevant UI. If a |Problem| can be resolved by some |
| // action, the client may take that action automatically or enlist the user |
| // somehow in the resolution. In either case, the |Problem| goes away when the |
| // issue that caused it to be exposed is resolved. By design, there is no |
| // general means of dismissing a |Problem|. |
| struct Problem { |
| |
| // The type of problem. This is a string for extensibility. |
| string type; |
| |
| // Type-dependent details. |
| string? details; |
| }; |
| |
| const string kProblemInternal = "ProblemInternal"; |
| const string kProblemAssetNotFound = "ProblemAssetNotFound"; |
| const string kProblemContainerNotSupported = "ProblemContainerNotSupported"; |
| const string kProblemAudioEncodingNotSupported = |
| "ProblemAudioEncodingNotSupported"; |
| const string kProblemVideoEncodingNotSupported = |
| "ProblemVideoEncodingNotSupported"; |
| const string kProblemConnectionFailed = "ProblemConnectionFailed"; |