# Copyright 2019 The Chromium OS Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

description     "Replay codec video device udev events"
author          "chromium-os-dev@chromium.org"

# This job is used to replay events of codec video devices. Chrome queries
# the video nodes for hardware decode and encode capabilities when it starts.
# The video nodes have to be present before it starts. So this job is a task
# and blocks Chrome to start.
#
# To avoid hardcoding the names in udev-trigger.conf, these events are
# replayed again there. But these events are simple and do not increase
# much boot time.
start on starting boot-services
task

script
  udevadm trigger --action=add --subsystem-match=video4linux \
    --attr-match="name=mtk-vcodec-*" --settle \
    --attr-match="name=mtk-mdp3:m2m" --settle \
    --attr-match="name=mtk-jpeg-enc" --settle
end script
