org.gstreamer.lowlevel.GstControllerAPI 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 (0.10 compatible)
The newest version!
/*
* Copyright (c) 2009 Levente Farkas
*
* 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 java.util.Arrays;
import java.util.List;
import org.gstreamer.ClockTime;
import org.gstreamer.GObject;
import org.gstreamer.controller.ControlSource;
import org.gstreamer.controller.Controller;
import org.gstreamer.lowlevel.GObjectAPI.GObjectClass;
import org.gstreamer.lowlevel.GValueAPI.GValue;
import org.gstreamer.lowlevel.GlibAPI.GList;
import org.gstreamer.lowlevel.GlibAPI.GSList;
import com.sun.jna.Library;
import com.sun.jna.Pointer;
import com.sun.jna.ptr.IntByReference;
import com.sun.jna.ptr.PointerByReference;
public interface GstControllerAPI extends Library {
GstControllerAPI GSTCONTROLLER_API = GstNative.load("gstcontroller", GstControllerAPI.class);
int GST_PADDING = GstAPI.GST_PADDING;
public static final class GstControllerStruct extends com.sun.jna.Structure {
public volatile GObjectAPI.GObjectStruct parent;
public volatile GList properties; /* List of GstControlledProperty */
public volatile /* GMutex */ Pointer lock; /* Secure property access, elements will access from threads */
public volatile GObject object; /* the object we control */
/*< private >*/
public volatile /* GstControllerPrivate */ Pointer priv;
public volatile Pointer[] _gst_reserved = new Pointer[GST_PADDING - 1];
@Override
protected List getFieldOrder() {
return Arrays.asList(new String[]{
"parent", "properties", "lock",
"object", "priv", "_gst_reserved"
});
}
}
public static final class GstControllerClass extends com.sun.jna.Structure {
public GstControllerClass() {}
public GstControllerClass(Pointer ptr) {
useMemory(ptr);
read();
}
public volatile GObjectClass parent_class;
/*< private >*/
public volatile Pointer[] _gst_reserved = new Pointer[GST_PADDING];
@Override
protected List getFieldOrder() {
return Arrays.asList(new String[]{
"parent_class", "_gst_reserved"
});
}
}
GType gst_controller_get_type();
/* GstController functions */
Controller gst_controller_new_list(GObject object, GList list);
Controller gst_controller_new(GObject ... object) /*G_GNUC_NULL_TERMINATED*/;
boolean gst_controller_remove_properties_list(Controller self, GList list);
boolean gst_controller_remove_properties(Controller ... self) /*G_GNUC_NULL_TERMINATED*/;
void gst_controller_set_disabled(Controller self, boolean disabled);
void gst_controller_set_property_disabled(Controller self, String property_name, boolean disabled);
boolean gst_controller_set_control_source(Controller self, String property_name, ControlSource csource);
ControlSource gst_controller_get_control_source(Controller self, String property_name);
ClockTime gst_controller_suggest_next_sync(Controller self);
boolean gst_controller_sync_values(Controller self, ClockTime timestamp);
GValue gst_controller_get(Controller self, String property_name, ClockTime timestamp);
boolean gst_controller_get_value_arrays(Controller self, ClockTime timestamp, GSList value_arrays);
//boolean gst_controller_get_value_array(Controller self, ClockTime timestamp, ValueArray * value_array);
/* GObject convenience functions */
Controller gst_object_control_properties(GObject ... object) /*G_GNUC_NULL_TERMINATED*/;
boolean gst_object_uncontrol_properties(GObject ... object) /*G_GNUC_NULL_TERMINATED*/;
Controller gst_object_get_controller(GObject object);
boolean gst_object_set_controller(GObject object, Controller controller);
ClockTime gst_object_suggest_next_sync(GObject object);
boolean gst_object_sync_values(GObject object, ClockTime timestamp);
boolean gst_object_set_control_source(GObject object, String property_name, ControlSource csource);
ControlSource gst_object_get_control_source(GObject object, String property_name);
boolean gst_object_get_value_arrays(GObject object, ClockTime timestamp, GSList value_arrays);
//boolean gst_object_get_value_array(GObject object, ClockTime timestamp, ValueArray * value_array);
ClockTime gst_object_get_control_rate(GObject object);
void gst_object_set_control_rate(GObject object, ClockTime control_rate);
/* lib init/done */
boolean gst_controller_init(IntByReference argc, PointerByReference argv);
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy