[gst-devel] handoff calling C++ object member function
Mathrick
mnews2 at wp.pl
Tue Jan 6 11:34:02 CET 2004
W liście z wto, 06-01-2004, godz. 20:06, Quan Nguyen pisze:
> I am having a problem with calling a C++ object's member function from
> a handoff. I want to be able to call a member function of an object
> from a listener handoff function. I assume that I will have to pass
> to the handoff function a pointer to that object, but I do not know
> how to do it. Here is some sample code of what I am trying to do.
>
> ...
> g_signal_connect (G_OBJECT (listener), "handoff", G_CALLBACK
> (cb_manipulate), NULL);
> ...
>
> }
>
> static void cb_manipulate (GstElement *element, GstData *data)
> {
> ...
> some_object->useful_func();
> ...
> }
>
> I want to be able to call useful_func() for some_object. My question
> is how do I pass more parameters to the handoff function?
Use the last param for g_signal_connect, so it should look like:
MyDataType *my_data = // ... fill my_data
g_signal_connect (G_OBJECT (listener), "handoff", G_CALLBACK
(cb_manipulate), my_data);
static void cb_manipulate(GstElement *elem, MyDataType *data)
{
// ...
// data is my_data you passed earlier on
some_object->useful_func(data->param1, data->param2)
// ...
}
Also, is there any specific reason to declare cb_manipulate as static?
You want to keep it private for file or some other one?
--
"Tautologizm to coś tautologicznego"
Maciej Katafiasz <mnews2 at wp.pl>
http://mathrick.blog.pl
More information about the gstreamer-devel
mailing list