/**
 * @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 CastingVideoPlayerDt = DeviceType({
  name: "CastingVideoPlayer",
  id: 35,
  category: "Media",
  classification: "simple",
  details: "This defines conformance to the Casting 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 Casting Video Player has basic controls for playback (play, pause, etc.) and keypad input (up, down, number input), and is able to launch content.\nFor example, a Casting Video Player can be a smart TV device, a TV Set Top Box, or a content streaming device that provides input to another device like a TV or computer monitor.\nPlease see Video Player Architecture for additional Casting Video Player requirements relating to Video Player device endpoint composition, commissioning, feature representation in clusters, and UI context.",
  xref: { document: "device", section: "10.3" },
  children: [
    Requirement({
      name: "Descriptor",
      id: 29,
      element: "serverCluster",
      children: [
        Requirement({ name: "DeviceTypeList", default: [{ deviceType: 35, revision: 2 }], element: "attribute" })
      ]
    }),
    Requirement({
      name: "OnOff",
      id: 6,
      conformance: "M",
      element: "serverCluster",
      xref: { document: "device", section: "10.3.4" }
    }),
    Requirement({
      name: "WakeOnLan",
      id: 1283,
      conformance: "O",
      element: "serverCluster",
      xref: { document: "device", section: "10.3.4" }
    }),
    Requirement({
      name: "Channel",
      id: 1284,
      conformance: "O",
      element: "serverCluster",
      xref: { document: "device", section: "10.3.4" }
    }),
    Requirement({
      name: "TargetNavigator",
      id: 1285,
      conformance: "O",
      element: "serverCluster",
      xref: { document: "device", section: "10.3.4" }
    }),
    Requirement({
      name: "MediaPlayback",
      id: 1286,
      conformance: "M",
      element: "serverCluster",
      xref: { document: "device", section: "10.3.4" }
    }),
    Requirement({
      name: "MediaInput",
      id: 1287,
      conformance: "PhysicalInputs",
      element: "serverCluster",
      xref: { document: "device", section: "10.3.4" }
    }),
    Requirement({
      name: "LowPower",
      id: 1288,
      conformance: "O",
      element: "serverCluster",
      xref: { document: "device", section: "10.3.4" }
    }),
    Requirement({
      name: "KeypadInput",
      id: 1289,
      conformance: "M",
      element: "serverCluster",
      xref: { document: "device", section: "10.3.4" }
    }),
    Requirement({
      name: "ContentLauncher",
      id: 1290,
      conformance: "M",
      element: "serverCluster",
      xref: { document: "device", section: "10.3.4" }
    }),
    Requirement({
      name: "AudioOutput",
      id: 1291,
      conformance: "O",
      element: "serverCluster",
      xref: { document: "device", section: "10.3.4" }
    }),
    Requirement({
      name: "ApplicationLauncher",
      id: 1292,
      conformance: "ContentAppPlatform",
      element: "serverCluster",
      xref: { document: "device", section: "10.3.4" },
      children: [Requirement({ name: "APPLICATIONPLATFORM", conformance: "M", element: "feature" })]
    }),
    Requirement({
      name: "AccountLogin",
      id: 1294,
      conformance: "O",
      element: "serverCluster",
      xref: { document: "device", section: "10.3.4" }
    }),
    Requirement({
      name: "ContentControl",
      id: 1295,
      conformance: "P, O",
      element: "serverCluster",
      xref: { document: "device", section: "10.3.4" }
    }),
    Requirement({
      name: "Messages",
      id: 151,
      conformance: "O",
      element: "serverCluster",
      xref: { document: "device", section: "10.3.4" }
    }),
    Field({
      name: "conditions",
      type: "enum8",
      children: [
        Field({
          name: "ContentAppPlatform",
          description: "The device includes a Content App Platform. A Content App is usually an application built by a Content Provider. A Casting Video Player with a Content App Platform is able to launch Content Apps and represent these apps as separate endpoints.",
          xref: { document: "device", section: "10.3.3" }
        }),
        Field({
          name: "PhysicalInputs",
          description: "The device has physical inputs for media.",
          xref: { document: "device", section: "10.3.3" }
        })
      ]
    })
  ]
});
MatterDefinition.children.push(CastingVideoPlayerDt);
export {
  CastingVideoPlayerDt
};
//# sourceMappingURL=CastingVideoPlayerDT.js.map
