/** GstPadTemplate functions */
public interface GstPadTemplateAPI extends com.sun.jna.Library {
  GstPadTemplateAPI GSTPADTEMPLATE_API = GstNative.load(GstPadTemplateAPI.class);

  /* element class pad templates */
  void gst_element_class_add_pad_template(Pointer klass, PadTemplate templ);

  PadTemplate gst_element_class_get_pad_template(
      Pointer /*GstElementClass*/ element_class, String name);

  /* templates and factories */
  GType gst_pad_template_get_type();

  GType gst_static_pad_template_get_type();

  @CallerOwnsReturn
  Pointer ptr_gst_pad_template_new(
      String name_template, PadDirection direction, PadPresence presence, @IncRef Caps caps);

  @CallerOwnsReturn
  PadTemplate gst_pad_template_new(
      String name_template, PadDirection direction, PadPresence presence, @IncRef Caps caps);

  @CallerOwnsReturn
  PadTemplate gst_static_pad_template_get(GstStaticPadTemplate pad_template);

  @CallerOwnsReturn
  Caps gst_static_pad_template_get_caps(GstStaticPadTemplate template);

  @CallerOwnsReturn
  Caps gst_pad_template_get_caps(PadTemplate template);

  void gst_pad_template_pad_created(PadTemplate templ, Pad pad);

  public static final class GstStaticPadTemplate extends com.sun.jna.Structure {
    public volatile String name_template;
    public volatile PadDirection direction;
    public volatile PadPresence presence;
    public volatile GstStaticCapsStruct static_caps;

    public GstStaticPadTemplate(Pointer memory) {
      useMemory(memory);
      read();
    }

    @Override
    protected List<String> getFieldOrder() {
      return Arrays.asList(new String[] {"name_template", "direction", "presence", "static_caps"});
    }
  }
}
/** GstRegistry functions */
public interface GstRegistryAPI extends com.sun.jna.Library {
  GstRegistryAPI GSTREGISTRY_API = GstNative.load(GstRegistryAPI.class);

  /* function for filters */
  static interface PluginFilter extends GstCallback {
    /**
     * A function that can be used with e.g. gst_registry_plugin_filter() to get a list of plugins
     * that match certain criteria.
     *
     * @param plugin the plugin to check
     * @return true for a positive match, false otherwise
     */
    boolean callback(Plugin plugin);
  }

  static interface PluginFeatureFilter extends GstCallback {
    /**
     * A function that can be used with e.g. gst_registry_feature_filter() to get a list of
     * pluginfeature that match certain criteria.
     *
     * @param feature the pluginfeature to check
     * @return true if this plugin feature is accepted.
     */
    boolean callback(PluginFeature feature);
  }

  /* normal GObject stuff */
  GType gst_registry_get_type();
  /* registry_get_default returns a non-refcounted object */
  Pointer gst_registry_get_default();

  boolean gst_registry_scan_path(Registry registry, String path);

  boolean gst_registry_add_plugin(Registry registry, Plugin plugin);

  void gst_registry_remove_plugin(Registry registry, Plugin plugin);

  boolean gst_registry_add_feature(Registry registry, PluginFeature feature);

  void gst_registry_remove_feature(Registry registry, PluginFeature feature);

  @CallerOwnsReturn
  Plugin gst_registry_find_plugin(Registry registry, String name);

  @CallerOwnsReturn
  PluginFeature gst_registry_find_feature(Registry registry, String name, GType type);

  @CallerOwnsReturn
  Plugin gst_registry_lookup(Registry registry, String filename);

  @CallerOwnsReturn
  PluginFeature gst_registry_lookup_feature(Registry registry, String name);

  boolean gst_registry_binary_read_cache(Registry registry, String location);

  boolean gst_registry_binary_write_cache(Registry registry, String location);

  boolean gst_registry_xml_read_cache(Registry registry, String location);

  boolean gst_registry_xml_write_cache(Registry registry, String location);
}
Esempio n. 3
0
/** @author wayne */
public interface TcpAPI extends com.sun.jna.Library {
  TcpAPI TCP_API = GstNative.load("gsttcp", TcpAPI.class);

  // AppSrc functions
  GType gst_app_src_get_type();
}