Lines Matching full:media
3 Media Controller devices
6 Media Controller
9 The media controller userspace API is documented in
10 :ref:`the Media Controller uAPI book <media_controller>`. This document focus
11 on the kernel-side implementation of the media framework.
13 Abstract media device model
17 of the goals of the media framework. To achieve this, hardware devices are
21 An entity is a basic media hardware building block. It can correspond to
36 Media device
39 A media device is represented by a struct media_device
40 instance, defined in ``include/media/media-device.h``.
41 Allocation of the structure is handled by the media device driver, usually by
45 Drivers register media device instances by calling
53 instance, defined in ``include/media/media-entity.h``. The structure is usually
61 Drivers register entities with a media device by calling
71 ``include/media/media-entity.h``. Currently, only one type of interface is
83 defined in ``include/media/media-entity.h``. Each entity stores its pads in
108 defined in ``include/media/media-entity.h``. There are two types of links:
140 The media framework provides APIs to iterate over entities in a graph.
142 To iterate over all entities belonging to a media device, drivers can use
144 ``include/media/media-device.h``.
156 reached only through enabled links starting at a given entity. The media
189 needs, the media controller does not implement power management. However,
191 field that media drivers
196 media drivers and must not be
206 Pipelines and media streams
262 Media Controller Device Allocator API
265 When the media device belongs to more than one driver, the shared media
268 The shared media device should stay in registered state until the last
269 driver unregisters it. In addition, the media device should be released when
270 all the references are released. Each driver gets a reference to the media
271 device during probe, when it allocates the media device. If media device is
273 existing media device. The driver puts the reference back in its disconnect
276 The media device is unregistered and cleaned up from the kref put handler to
277 ensure that the media device stays in registered state until the last driver
278 unregisters the media device.
282 Drivers should use the appropriate media-core routines to manage the shared
283 media device life-time handling the two states:
287 call :c:func:`media_device_delete()` routine to make sure the shared media
292 Call :c:func:`media_device_register()`, if media devnode isn't registered
301 .. kernel-doc:: include/media/media-device.h
303 .. kernel-doc:: include/media/media-devnode.h
305 .. kernel-doc:: include/media/media-entity.h
307 .. kernel-doc:: include/media/media-request.h
309 .. kernel-doc:: include/media/media-dev-allocator.h