<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
On 08/20/11 17:05, Benjamin M. Schwartz wrote:<br>
<blockquote cite="mid:4E4FCD54.2000802@fas.harvard.edu" type="cite">
<pre wrap="">I think real ranges and types are valuable. For example, theoraenc's
quality is an integer [0...63], vorbisenc's is a float [-0.1 ... 1.0], and
x264enc's is an integer [1...50]. We could remap all of these to a fixed
float range (e.g. [0...1.0]), but we would lose the discreteness and
consistency with other tools+docs.
I don't know anything about GstPropertyProbe and interfaces, but I imagine
that most encoders will _not_ implement all of these properties, because
they are not all relevant to every encoder. We could require encoders to
implement them, even if they are read-only, but I would prefer not to.
</pre>
</blockquote>
GInterface is something from the GObject world (aka glib). The
advantage of using a GInterface is, that apps can simply check if
the element implements the interface and if use it appropriately. We
would get the same effect by putting the properties to a
GstBaseEncoder.<br>
<br>
The problem with properties on the interface or baseclass level is
that we have to use a unconstrained value range. Subclasses
unfortunately cannot refine that easily (no idea if one could
actually do that using g_param_spec_override). The GstPropertyProbe
iface allows to e.g. check at runtime if a specific property is
available and what the value range is. This could be used to get rid
of the -ignore properties as well.<br>
<br>
<blockquote cite="mid:4E4FCD54.2000802@fas.harvard.edu" type="cite">
<pre wrap="">If interfaces can express this kind of flexibility (properties that may be
absent, may have different types, and may have different ranges), then I
am all for it. Maybe interfaces should be upgraded for flexibility in 0.11?
</pre>
</blockquote>
GInterface is not GStreamer specific and is not under our control.
Btw. it might also be worth to consider to have a different set of
properties for audio and video encoders. We have separate
baseclasses anyway. <br>
<br>
Stefan<br>
<blockquote cite="mid:4E4FCD54.2000802@fas.harvard.edu" type="cite">
<pre wrap="">
--Ben
</pre>
<pre wrap="">
<fieldset class="mimeAttachmentHeader"></fieldset>
_______________________________________________
gstreamer-devel mailing list
<a class="moz-txt-link-abbreviated" href="mailto:gstreamer-devel@lists.freedesktop.org">gstreamer-devel@lists.freedesktop.org</a>
<a class="moz-txt-link-freetext" href="http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel">http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel</a>
</pre>
</blockquote>
<br>
</body>
</html>