/**
 * @license
 * Copyright 2022-2024 Matter.js Authors
 * SPDX-License-Identifier: Apache-2.0
 */
import { MatterDefinition } from "../MatterDefinition.js";
import {
  DeviceTypeElement as DeviceType,
  RequirementElement as Requirement,
  FieldElement as Field
} from "../../elements/index.js";
const BasicVideoPlayerDt = DeviceType({
  name: "BasicVideoPlayer",
  id: 40,
  category: "Media",
  classification: "simple",
  details: "This defines conformance to the Basic Video Player device type.\nA Video Player (either Basic or Casting) represents a device that is able to play media to a physical output or to a display screen which is part of the device.\nA Basic Video Player has playback controls (play, pause, etc.) and keypad remote controls (up, down, number input), but is not able to launch content and is not a content app platform (the Casting Video Player device type is used for these functions).\nFor example, a Basic Video Player can be a traditional TV device a physical media playback device such as a DVD Player, or a device that provides input to another device like a TV or computer monitor.\nPlease see Video Player Architecture for additional Basic Video Player requirements relating to Video Player device endpoint composition, commissioning, feature representation in clusters, and UI context.",
  xref: { document: "device", section: "10.2" },
  children: [
    Requirement({
      name: "Descriptor",
      id: 29,
      element: "serverCluster",
      children: [
        Requirement({ name: "DeviceTypeList", default: [{ deviceType: 40, revision: 2 }], element: "attribute" })
      ]
    }),
    Requirement({
      name: "OnOff",
      id: 6,
      conformance: "M",
      element: "serverCluster",
      xref: { document: "device", section: "10.2.4" }
    }),
    Requirement({
      name: "WakeOnLan",
      id: 1283,
      conformance: "O",
      element: "serverCluster",
      xref: { document: "device", section: "10.2.4" }
    }),
    Requirement({
      name: "Channel",
      id: 1284,
      conformance: "O",
      element: "serverCluster",
      xref: { document: "device", section: "10.2.4" }
    }),
    Requirement({
      name: "TargetNavigator",
      id: 1285,
      conformance: "O",
      element: "serverCluster",
      xref: { document: "device", section: "10.2.4" }
    }),
    Requirement({
      name: "MediaPlayback",
      id: 1286,
      conformance: "M",
      element: "serverCluster",
      xref: { document: "device", section: "10.2.4" }
    }),
    Requirement({
      name: "MediaInput",
      id: 1287,
      conformance: "PhysicalInputs",
      element: "serverCluster",
      xref: { document: "device", section: "10.2.4" }
    }),
    Requirement({
      name: "LowPower",
      id: 1288,
      conformance: "O",
      element: "serverCluster",
      xref: { document: "device", section: "10.2.4" }
    }),
    Requirement({
      name: "KeypadInput",
      id: 1289,
      conformance: "M",
      element: "serverCluster",
      xref: { document: "device", section: "10.2.4" }
    }),
    Requirement({
      name: "AudioOutput",
      id: 1291,
      conformance: "O",
      element: "serverCluster",
      xref: { document: "device", section: "10.2.4" }
    }),
    Requirement({
      name: "ContentControl",
      id: 1295,
      conformance: "P, O",
      element: "serverCluster",
      xref: { document: "device", section: "10.2.4" }
    }),
    Requirement({
      name: "Messages",
      id: 151,
      conformance: "O",
      element: "serverCluster",
      xref: { document: "device", section: "10.2.4" }
    }),
    Field({
      name: "conditions",
      type: "enum8",
      children: [Field({
        name: "PhysicalInputs",
        description: "The device has physical inputs for media.",
        xref: { document: "device", section: "10.2.3" }
      })]
    })
  ]
});
MatterDefinition.children.push(BasicVideoPlayerDt);
export {
  BasicVideoPlayerDt
};
//# sourceMappingURL=BasicVideoPlayerDT.js.map
