blob: ecd2f4aade8c3e2a2e581a24b20d7aef2ebf3339 [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.
type Problem = struct {
/// The type of problem. This is a string for extensibility.
type string;
/// Type-dependent details.
details string:optional;
};
const PROBLEM_INTERNAL string = "fuchsia.media.playback.Internal";
const PROBLEM_ASSET_NOT_FOUND string = "fuchsia.media.playback.AssetNotFound";
const PROBLEM_CONTAINER_NOT_SUPPORTED string = "fuchsia.media.playback.ContainerNotSupported";
const PROBLEM_AUDIO_ENCODING_NOT_SUPPORTED string
= "fuchsia.media.playback.AudioEncodingNotSupported";
const PROBLEM_VIDEO_ENCODING_NOT_SUPPORTED string
= "fuchsia.media.playback.VideoEncodingNotSupported";
const PROBLEM_CONNECTION_FAILED string = "fuchsia.media.playback.ConnectionFailed";