Re: [Vala] How to implement the get_type method of Gst.URIHandler interface in vala?



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 <leimiao09 gmail com> 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 <a kitouni gmail com>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 <lethalman88 gmail com>
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 <leimiao09 gmail com> 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" <lethalman88 gmail com> 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 <leimiao09 gmail com> 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
 vala-list gnome org

 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


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]