Home | History | Annotate | Download | only in libv4l2

Lines Matching defs:link

128             struct media_link_desc *link = &links.links[i];
134 source = exynos_media_get_entity_by_id(media, link->source.entity);
135 sink = exynos_media_get_entity_by_id(media, link->sink.entity);
137 ALOGE("WARNING entity %u link %u from %u/%u to %u/%u is invalid!",
138 id, i, link->source.entity,
139 link->source.index,
140 link->sink.entity,
141 link->sink.index);
145 fwdlink->source = &source->pads[link->source.index];
146 fwdlink->sink = &sink->pads[link->sink.index];
147 fwdlink->flags = link->flags;
150 backlink->source = &source->pads[link->source.index];
151 backlink->sink = &sink->pads[link->sink.index];
152 backlink->flags = link->flags;
362 * @brief Locate the pad at the other end of a link.
363 * @param pad - sink pad at one end of the link.
365 * Locate the source pad connected to @a pad through an enabled link. As only one
366 * link connected to a sink pad can be enabled at a time, the connected source
380 struct media_link *link = &pad->entity->links[i];
382 if (!(link->flags & MEDIA_LNK_FL_ENABLED))
385 if (link->sink == pad)
386 return link->source;
443 * @brief Configure a link.
445 * @param source - source pad at the link origin.
446 * @param sink - sink pad at the link target.
449 * Locate the link between @a source and @a sink, and configure it by applying
455 * -ENOENT: link not found
463 struct media_link *link;
469 link = &source->entity->links[i];
471 if (link->source->entity == source->entity &&
472 link->source->index == source->index &&
473 link->sink->entity == sink->entity &&
474 link->sink->index == sink->index)
479 ALOGE("Link not found");
493 ulink.flags = flags | (link->flags & MEDIA_LNK_FL_IMMUTABLE);
497 ALOGE("Unable to setup link (%s)", strerror(errno));
501 link->flags = ulink.flags;
502 link->twin->flags = ulink.flags;
524 struct media_link *link = &entity->links[j];
526 if (link->flags & MEDIA_LNK_FL_IMMUTABLE ||
527 link->source->entity != entity)
530 ret = exynos_media_setup_link(media, link->source, link->sink,
531 link->flags & ~MEDIA_LNK_FL_ENABLED);
659 * @brief Parse string to a link on the media device.
664 * Parse NULL terminated string p describing a link and return its struct
674 struct media_link *link;
695 link = &source->entity->links[i];
697 if (link->source == source && link->sink == sink)
698 return link;
705 * @brief Parse string to a link on the media device and set it up.
709 * Parse NULL terminated string p describing a link and its configuration
710 * and configure the link.
719 struct media_link *link;
723 link = exynos_media_parse_link(media, p, &end);
724 if (link == NULL) {
725 ALOGE("Unable to parse link");
731 ALOGE("Unable to parse link flags");
738 ALOGE("Unable to parse link flags");
745 ALOGD("%s: Setting up link %u:%u -> %u:%u [%u]", __func__,
746 link->source->entity->info.id, link->source->index,
747 link->sink->entity->info.id, link->sink->index,
750 return exynos_media_setup_link(media, link->source, link->sink, flags);
754 * @brief Parse string to link(s) on the media device and set it up.
758 * Parse NULL terminated string p describing link(s) separated by
759 * commas (,) and configure the link(s).