Does `shmsrc` / `shmsink` have a "stable" protocol?

Greg Kennedy via gstreamer-devel <[email protected]>
Newsgroups gmane.comp.video.gstreamer.devel
Message-ID <CAN1+P_0ZYDTKY4f7UMoVdgyyCbqa7y-smeZh_mtY9yyaAt2FiA@mail.gmail.com>
I am trying to write an app that inserts frames into an external
gstreamer pipeline, but without marshalling through a socket or
container format.  I hit upon the idea of sharing the framebuffer via
shm IPC, avoiding a copy entirely.

So I considered writing a plugin for this, but it occurred to me that
there is already shmsrc in plugins-bad, and it does exactly what I
would want: getting frames from shared mem and pushing them into a
pipeline, plus supporting other gstreamer features like changing caps
midstream.

Normally of course shmsrc needs a matching shmsink; my question is
somewhat of a hack but I am curious if this could work:

* Modify my app to "look like" an shmsink - exposing framebuffer and
control info just like shmsink would
* Run a pipeline with shmsrc reading from my app's masquerading interface

I am curious how "stable" the interface is between shmsrc / shmsink.
If it changes frequently, this will be fragile - but if it's
well-defined, then I should be able to do it, and maybe it could be
documented (or spun off into a header) so others can do the same.

Thoughts?
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.