org.gstreamer.lowlevel.GstRegistryAPI Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of gstreamer-java Show documentation
Show all versions of gstreamer-java Show documentation
Java binding for the Gstreamer framework
/*
* Copyright (c) 2009 Levente Farkas
* Copyright (c) 2007, 2008 Wayne Meissner
*
* This file is part of gstreamer-java.
*
* This code is free software: you can redistribute it and/or modify it under
* the terms of the GNU Lesser General Public License version 3 only, as
* published by the Free Software Foundation.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
* version 3 for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* version 3 along with this work. If not, see .
*/
package org.gstreamer.lowlevel;
import org.gstreamer.Plugin;
import org.gstreamer.PluginFeature;
import org.gstreamer.Registry;
import org.gstreamer.lowlevel.GstAPI.GstCallback;
import org.gstreamer.lowlevel.annotations.CallerOwnsReturn;
import com.sun.jna.Pointer;
/**
* 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);
}