private void SettingsOKButtonActionPerformed(
      java.awt.event.ActionEvent evt) { // GEN-FIRST:event_SettingsOKButtonActionPerformed
    this.FieldParent.setText(NumberField.getText());

    CardLayout cl = (CardLayout) (Parent.GetCardManager().getLayout());
    cl.show(Parent.GetCardManager(), TargetCard);
  } // GEN-LAST:event_SettingsOKButtonActionPerformed
  GstreamerPlayer(ElphelVision parent) {
    this.Parent = parent;

    args = new String[2];
    args[1] = "";
    args[0] = "";

    try {
      args = Gst.init("ElphelVision", args);
    } catch (GstException e) {
      Parent.WriteErrortoConsole("Gst.init error: " + e);
    }

    //        Playbin = new PlayBin2("VideoPlayer");
    //        rtspsource = "rtspsrc location=rtsp://" + Parent.Camera.GetIP()[0] + ":554
    // protocols=0x00000001 latency=50 ! rtpjpegdepay ! jpegdec ! queue ! jp462bayer ! queue !
    // bayer2rgb2 method=0 ! ffmpegcolorspace  name=elphelstream";
    // Playbin.setInputFile(new File("test.avi"));
    /*java.net.URI uri = null;
    try {
    uri = new URI("rtsp://" + Parent.Camera.GetIP()[0] + ":554");
    } catch (URISyntaxException ex) {
    Logger.getLogger(GstreamerPlayer.class.getName()).log(Level.SEVERE, null, ex);
    }
    Playbin.setURI(uri);*/

    videoComponent = new VideoComponent();
    videoComponent.setPreferredSize(new Dimension(850, 480));
    //     Playbin.setVideoSink(videoComponent.getElement());

    /*
    Playbin.getBus().connect(new Bus.EOS() {

    public void endOfStream(GstObject source) {
    System.out.println("Finished playing file");
    Gst.quit();
    }
    });
    Playbin.getBus().connect(new Bus.ERROR() {

    public void errorMessage(GstObject source, int code, String message) {
    System.out.println("Error occurred: " + message);
    Gst.quit();
    }
    });
    Playbin.getBus().connect(new Bus.STATE_CHANGED() {

    public void stateChanged(GstObject source, State old, State current, State pending) {
    if (source == Playbin) {
    System.out.println("Pipeline state changed from " + old + " to " + current);
    }
    }
    });
     */
  }
  public void StopVideoStream() {
    Parent.WriteLogtoConsole("Stopping Gstreamer Video Player");

    pipe.setState(State.READY);

    // debugGST();

    Element videosink = videoComponent.getElement();
    videoComponent.repaint();
    pipe.getElementByName("elphelstream").unlink(videosink);
    pipe.remove(videosink);

    // debugGST();

    pipe.setState(State.NULL);

    // debugGST();

    List<Element> elements = pipe.getElementsRecursive();
    for (int i = 0; i < elements.size(); i++) {
      pipe.unlink(elements.get(i));
      pipe.remove(elements.get(i));
      elements.get(i).dispose();
    }

    List<Element> sources = pipe.getSources();
    for (int i = 0; i < sources.size(); i++) {
      pipe.unlink(sources.get(i));
      pipe.remove(sources.get(i));
      sources.get(i).dispose();
    }

    // debugGST();
    pipe = null;
    // debugGST();
  }
 private void SettingsCancelButtonActionPerformed(
     java.awt.event.ActionEvent evt) { // GEN-FIRST:event_SettingsCancelButtonActionPerformed
   CardLayout cl = (CardLayout) (Parent.GetCardManager().getLayout());
   cl.show(Parent.GetCardManager(), TargetCard);
 } // GEN-LAST:event_SettingsCancelButtonActionPerformed