<!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>