Why isn't [CCode (vfunc = "get_type")] related to it? Did you try already?


On Sun, Mar 16, 2014 at 3:07 PM, Lei Miao <[email protected]> wrote:

>  Thank you for the information, but it doesn't seem to be related to my
> case.
>
> To be clear, I was referring to the following interface:
> struct GstURIHandlerInterface
>
> struct GstURIHandlerInterface {
>   GTypeInterface parent;
>
>   /* vtable */
>   /* querying capabilities */
>   GstURIType             (* get_type)           (GType type);
>   const gchar * const *  (* get_protocols)      (GType type);
>
>   /* using the interface */
>   gchar *                (* get_uri)            (GstURIHandler * handler);
>   gboolean               (* set_uri)            (GstURIHandler * handler,
>                                                  const gchar   * uri,
>                                                  GError       ** error);
> };
>
>
> It has the "get_type" method that needs to be implemented in my vala code.
> In gst_element_register() in gstelementfactory.c, it checks the type by
> calling get_type():
>
> ...
>     if (!iface || !iface->get_type || !iface->get_protocols)
>       goto urierror;
> ...
>
> Regards,
>
> LM
>
> On 3/16/2014 6:08 AM, Luca Bruno wrote:
>
> Try [CCode (vfunc = "get_type")] or such, see gio vapi for some examples
> about read_fn.
>
>
> On Sun, Mar 16, 2014 at 10:05 AM, Abderrahim Kitouni 
> <[email protected]>wrote:
>
>> Hi,
>>
>> I've looked at thé gst docs and the vfunc for get_uri_type is called
>> get_type.
>>
>> HTH,
>>
>> On March 16, 2014 9:19:34 AM CET, Luca Bruno <[email protected]>
>> wrote:
>>>
>>> I don't understand what you mean by gstreamer uses get_type, can you point
>>> to the specific C method?
>>>
>>>
>>> On Sat, Mar 15, 2014 at 4:05 PM, Lei Miao <[email protected]> wrote:
>>>
>>>
>>>>
>>>>  Thank you for the response.
>>>>
>>>>  I could implement get_uri_type, but the problem is that gstreamer uses
>>>>
>>>>  get_type.
>>>>
>>>>  If I can implement get_type in vala, then I don't have to modify gstreamer
>>>>  code.
>>>>
>>>>  Regards,
>>>>
>>>>  LM
>>>>  On Mar 14, 2014 5:30 PM, "Luca Bruno" <[email protected]> wrote:
>>>>
>>>>
>>>>>
>>>>>  I don't understand why you are using get_type. Implement get_uri_type.
>>>>>
>>>>>
>>>>>  On Fri, Mar 14, 2014 at 10:21 PM, Lei Miao <[email protected]> wrote:
>>>>>
>>>>>
>>>>>>
>>>>>>  Hi,
>>>>>>
>>>>>>  I am trying to write a gstreamer 1.0 plugin using vala. However, I am
>>>>>>  having trouble to implement the get_type() method of the Gst.URIHandler
>>>>>>
>>>>>>  interface defined here:
>>>>>>
>>>>>>  
>>>>>> http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstUriHandler.html#GstURIHandlerInterface
>>>>>>
>>>>>>  .
>>>>>>
>>>>>>  In particular, my class inherits Gst.bin and implements Gst.URIHandler
>>>>>>  interface:
>>>>>>
>>>>>>   public class StreamingSource: Gst.Bin, Gst.URIHandler {
>>>>>>
>>>>>>  ...
>>>>>>
>>>>>>  public URIType get_type (Type type) { return URIType.SRC; }
>>>>>>
>>>>>>
>>>>>>  ...
>>>>>>  }
>>>>>>
>>>>>>  When I compile the vala code to c code, I get the following error:
>>>>>>
>>>>>>
>>>>>> StreamingSource.get_type hides inherited method `GLib.Object.get_type'.
>>>>>>  Use
>>>>>>  the `new' keyword if hiding was intentional
>>>>>>                  public URIType get_type (Type type) { return
>>>>>>  URIType.SRC; }
>>>>>>
>>>>>>
>>>>>>  The problem seems to be that GLib.Object also has a method called
>>>>>>  "get_type". So in this case, does anybody know how I can implement the
>>>>>>  "get_type" method of Gst.URIHandler?
>>>>>>
>>>>>>  It's worth noting that according to this link:
>>>>>>
>>>>>>  http://references.valadoc.org/#!api=gstreamer-1.0/Gst.URIHandler , the
>>>>>>  method is called get_uri_type() instead. This is inconsistent with the
>>>>>>
>>>>>>  gstreamer 1.0 reference manual. In fact, Gstreamer code has both methods
>>>>>>  defined, but it uses get_type() for element registration.
>>>>>>
>>>>>>  Regards,
>>>>>>
>>>>>>  LM
>>>>>> ------------------------------
>>>>>>
>>>>>>  vala-list mailing list
>>>>>>  [email protected]
>>>>>>
>>>>>>  https://mail.gnome.org/mailman/listinfo/vala-list
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>  --
>>>>>  www.debian.org - The Universal Operating System
>>>>
>>>>
>>>>
>>>>
>> --
>> Sent from my Android device with K-9 Mail. Please excuse my brevity.
>>
>
>
>
>  --
> www.debian.org - The Universal Operating System
>
>
>


-- 
www.debian.org - The Universal Operating System
_______________________________________________
vala-list mailing list
[email protected]
https://mail.gnome.org/mailman/listinfo/vala-list

Reply via email to