Commit graph

6 commits

Author SHA1 Message Date
Tim-Philipp Müller
843f118523 proxy: remove unneeded object private structs
Plugin headers are not installed.

Also mark internal funcs as internal.
2018-02-12 19:35:19 +00:00
Nirbheek Chauhan
20a6dacf71 proxy: Fix plugin definition
I'm not sure how this was missed in review...
2018-02-08 15:19:12 +05:30
Nirbheek Chauhan
f6104ca38b proxy: Remove dead code from Makefile.am
There is no gstproxytest.c
2018-02-08 14:45:28 +05:30
Nirbheek Chauhan
3f7e29d5b3 Add new 'proxy' element to stream data between pipelines
This keep-it-simple plugin is useful when you want to pipe arbitrary
data to a different pipeline within the same process. Some advantages
over appsink/appsrc, the inter elements, etc:

* Ease of use. Buffers, events, and caps are transmitted as-is without
  copying or serialization.
* Enables zerocopy (especially DMABUF) transparently without any
  special-casing.
* Enables usage with sinks or elements that are unreliable and may
  throw errors and need re-initialization, such as a network sink, a
  USB device sink (v4l2), etc.
* Transmits arbitrary data, not just audio/video/subs
* Can easily implement 1 producer pipeline -> N dynamic consumer
  pipelines within a single process when combined with the `tee`
  element.

All queries, events, buffers, and buffer lists are proxied. State
changes, clocks, and base times for the two pipelines are independent
since the upstream and downstreams continue to be different pipelines.

https://bugzilla.gnome.org/show_bug.cgi?id=788200
2018-02-07 22:49:36 +05:30
Nirbheek Chauhan
11af685d64 Revert "New element 'proxy' to send data to in-process pipelines"
This reverts commit 8a056af05e.

Accidentally pushed this element, oops! Progress on this element is
being tracked at: https://bugzilla.gnome.org/show_bug.cgi?id=788200
2017-12-19 01:16:35 +05:30
Nirbheek Chauhan
8a056af05e New element 'proxy' to send data to in-process pipelines
This plugin is useful when you want to pipe arbitrary data to
a different pipeline within the same process. Buffers, events, and caps
are transmitted as-is without copying or manipulation.
2017-12-19 01:09:50 +05:30