blob: 8dc22b6f0d2efd7963c6c7635316e5838ab5809b [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.media.playback;
/// 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 PROBLEM_INTERNAL =
"fuchsia.media.playback.Internal";
const string PROBLEM_ASSET_NOT_FOUND =
"fuchsia.media.playback.AssetNotFound";
const string PROBLEM_CONTAINER_NOT_SUPPORTED =
"fuchsia.media.playback.ContainerNotSupported";
const string PROBLEM_AUDIO_ENCODING_NOT_SUPPORTED =
"fuchsia.media.playback.AudioEncodingNotSupported";
const string PROBLEM_VIDEO_ENCODING_NOT_SUPPORTED =
"fuchsia.media.playback.VideoEncodingNotSupported";
const string PROBLEM_CONNECTION_FAILED =
"fuchsia.media.playback.ConnectionFailed";