Re: [Vala] How to implement the get_type method of Gst.URIHandler interface in vala?
- From: Lei Miao <leimiao09 gmail com>
- To: Luca Bruno <lethalman88 gmail com>, Abderrahim Kitouni <a kitouni gmail com>
- Cc: Vala List <vala-list gnome org>
- Subject: Re: [Vala] How to implement the get_type method of Gst.URIHandler interface in vala?
- Date: Sun, 16 Mar 2014 10:07:42 -0400
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 <mailto: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 <mailto: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 <mailto: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
<mailto: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
<mailto: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
<http://references.valadoc.org/#%21api=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
<mailto:vala-list gnome org>
https://mail.gnome.org/mailman/listinfo/vala-list
-- www.debian.org <http://www.debian.org> - The
Universal Operating System
--
Sent from my Android device with K-9 Mail. Please excuse my brevity.
--
www.debian.org <http://www.debian.org> - The Universal Operating System
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]