a couple of questions about tcpserversink callbacks

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

a couple of questions about tcpserversink callbacks

Andres Gonzalez
Hi,
I am using tcpserversink for some streams feed by appsrc and I am having issues with the callbacks.

A tcpserversink signal is defined as follows:

"client-removed" :  void user_function (GstElement* object,
                                          gint arg0,
                                          GstMultiHandleSinkClientStatus arg1,
                                          gpointer user_data);

However, I cannot find where GstMultiHandleSinkClientStatus is defined. I have built and installed release 1.8.0 but it appears that a header file that defines it was not installed.  When I define my client-removed callback the compile fails because GstMultiHandleSinkClientStatus is undefined. The /tcp subdirectory in the plugins-base tree references it once, but does not appear to defined it.

Question: Where, or which header file, is this type defined?

Next is perhaps a basic glib question that I should know, so please forgive my ignorance here. But the gst-inspect output for tcpserversink lists several "Element Actions"  

Question: What are "Element Actions" and how are they different from "Element Signals"?

They appear to be some kind of callbacks since the function name is user-defined. So I am not sure how to use them.

Question: Are there any examples available of how to used "Element Actions"?
Question: Are there any examples available of how to use tcpserversink in general?  

The source tree for plugin-base has some example code under /tests/examples but there are none for any of the tcp elements. I recognize that tcp programming is rather basic but it would be nice to have some guidance on how to use these "Element Actions"

Thanks,
-Andres