Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /* 
   * 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 <http://www.gnu.org/licenses/>.
  */
 
 package org.gstreamer.lowlevel;
 
 
 
GstElement methods
 
 public interface GstElementAPI extends com.sun.jna.Library {
     GstElementAPI GSTELEMENT_API = GstNative.load(GstElementAPI.class);
 
     StateChangeReturn gst_element_get_state(Element elemState[] stateState[] pendinglong timeout);
     StateChangeReturn gst_element_get_state(Element elemState[] stateState[] pendingClockTime timeout);
     boolean gst_element_query_position(Element elemFormat[] fmtlong[] pos);
     boolean gst_element_query_duration(Element elemFormat[] fmtlong[] pos);
     boolean gst_element_query(Element elemQuery query);
     boolean gst_element_seek(Element elemdouble rateFormat formatint flags,
             SeekType cur_typelong curSeekType stop_typelong stop);
     boolean gst_element_seek_simple(Element elemFormat formatint flagslong pos);
     boolean gst_element_link(Element elem1Element elem2);
     boolean gst_element_link_many(Element... elements);
     void gst_element_unlink_many(Element... elements);
     void gst_element_unlink(Element elem1Element elem2);
     // pads returned from get_request have to be freed via release_request_pad
     Pad gst_element_get_request_pad(Element elementString name);
     void gst_element_release_request_pad(Element elementPad pad);
     boolean gst_element_add_pad(Element elemPad pad);
     boolean gst_element_remove_pad(Element elem, @IncRef Pad pad);
     boolean gst_element_link_pads(Element srcString srcpadnameElement destString destpadname);
     void gst_element_unlink_pads(Element srcString srcpadnameElement destString destpadname);
     boolean gst_element_link_pads_filtered(Element srcString srcpadnameElement destString destpadname,
             Caps filter);
     
     /* factory management */
     boolean gst_element_send_event(Element element, @IncRef Event event);
     boolean gst_element_post_message(Element element, @IncRef Message message);
 
     boolean gst_element_implements_interface(Element elementNativeLong iface_type);
     /* clocking */
     Clock gst_element_get_clock(Element element);
     boolean gst_element_set_clock(Element elementClock clock);
     void gst_element_set_base_time(Element elementClockTime time);
 
     
     public final static class GstElementDetails extends com.sun.jna.Structure {
          /*< public > */
         public volatile String longname;
         public volatile String klass;
        public volatile String description;
        public volatile String author;
        /*< private > */
        public volatile Pointer[] _gst_reserved = new Pointer[.];        
    }
    public final static class GstElementStruct extends com.sun.jna.Structure {
        public GstObjectStruct object;
        public volatile Pointer state_lock;
        public volatile Pointer state_cond;
        public volatile int state_cookie;
        public volatile State current_state;
        public volatile State next_state
        public volatile State pending_state;         
        public volatile StateChangeReturn last_return;
        public volatile Pointer bus;
        public volatile Pointer clock;
        public volatile long base_time;
        public volatile short numpads;
        public volatile Pointer pads;
        public volatile short numsrcpads;
        public volatile Pointer srcpads;
        public volatile short numsinkpads;
        public volatile Pointer sinkpads;
        public volatile int pads_cookie;
        // Use an array of byte as arrays of Pointer don't work
        public volatile Pointer[] _gst_reserved = new Pointer[.];
    }
    public final static class GstElementClass extends com.sun.jna.Structure {
        //
        // Callbacks for this class
        //
        public static interface RequestNewPad extends GstCallback {
            public Pad callback(Element element/* PadTemplate */ Pointer templString name);
        }
        public static interface ReleasePad extends GstCallback {
            public void callback(Element elementPad pad);
        }
        public static interface GetState extends GstCallback {
            public StateChangeReturn callback(Element elementPointer p_state
                    Pointer p_pendinglong timeout);
        }
        public static interface SetState extends GstCallback {
            public StateChangeReturn callback(Element elementState state);
        }
        public static interface ChangeState extends GstCallback {
            public StateChangeReturn callback(Element elementint transition);
        }
        //
        // Actual data members
        //
        public GstObjectClass parent_class;
        public volatile GstElementDetails details;
        public volatile ElementFactory elementfactory;
        public volatile Pointer padtemplates;
        public volatile int numpadtemplates;
        public volatile int pad_templ_cookie;
        /*< private >*/
        /* signal callbacks */
        public volatile Pointer pad_added;
        public volatile Pointer pad_removed;
        public volatile Pointer no_more_pads;
        /* request/release pads */
        public RequestNewPad request_new_pad;
        public ReleasePad release_pad;
        /* state changes */
        public GetState get_state;
        public SetState set_state;
        public ChangeState change_state;
        /* bus */
        public volatile Pointer set_bus;
        /* set/get clocks */
        public volatile Pointer provide_clock;
        public volatile Pointer set_clock;
        
        /* index */
        public volatile Pointer get_index;
        public volatile Pointer set_index;
        public volatile Pointer send_event;
        /* query functions */
        public volatile Pointer get_query_types;
        public volatile Pointer query;
      
        /*< private >*/  
        // Use an array of byte if arrays of Pointer don't work
        public volatile Pointer[] _gst_reserved = new Pointer[.];
    }
New to GrepCode? Check out our FAQ X