blob: 4a115d05e1d8ff40268d1bfc0f7a8cb73b454a8d [file] [log] [blame]
// 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";