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>
- 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 17:33:18 -0400
Yes, I tried it, but it has no effect.
I have the following in my vala code:
...
[CCode (vfunc = "get_type")]
public URIType get_uri_type (Type type) { return URIType.SRC; }
...
Is it what you recommended?
Basically, the problem is that "iface->get_type =..." is missing in
"...gst_uri_handler_interface_init()" function in the generated c file.
Regards,
LM
On 3/16/2014 10:37 AM, Luca Bruno wrote:
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
<mailto: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 <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
--
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]