All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.freedesktop.gstreamer.lowlevel.GstControlSourceAPI Maven / Gradle / Ivy

/* 
 * Copyright (c) 2019 Neil C Smith
 * 
 * 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.freedesktop.gstreamer.lowlevel;

import com.sun.jna.Library;
import com.sun.jna.Pointer;
import com.sun.jna.Structure;

/**
 * GstControlSource API
 *
 * https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstControlBinding.html
 * https://gitlab.freedesktop.org/gstreamer/gstreamer/tree/master/libs/gst/controller
 */

public interface GstControlSourceAPI extends Library {

    GstControlSourceAPI GSTCONTROLSOURCE_API = GstNative.load(GstControlSourceAPI.class);    


    boolean gst_control_source_get_value(GstControlSourcePtr self, long timestamp, double[] value);
    boolean gst_control_source_get_value_array(GstControlSourcePtr self, long timestamp, long interval, int n_values, double[] values);

//    static class Direct implements GstControlSourceAPI {
//
//        @Override
//        public native boolean gst_control_source_get_value(GstControlSourcePtr self, long timestamp, double[] value);
//
//        @Override
//        public native boolean gst_control_source_get_value_array(GstControlSourcePtr self, long timestamp, long interval, int n_values, double[] values);
//        
//    }

    @Structure.FieldOrder({"timestamp", "value"})
    public static final class GstTimedValue extends Structure {
        
        public volatile long timestamp;
        public volatile double value;
        
        public GstTimedValue() {
            super();
        }
        
        public GstTimedValue(Pointer ptr) {
            super(ptr);
        }
        
    } 
    
    

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy