Examples of AtomicBoolean


Examples of java.util.concurrent.atomic.AtomicBoolean

   
    @Test
    public void errorMessage() {
        final TestPipe pipe = new TestPipe("errorMessage");
      
        final AtomicBoolean signalFired = new AtomicBoolean(false);
        final AtomicReference<GstObject> signalSource = new AtomicReference<GstObject>();
        Bus.ERROR errorSignal = new Bus.ERROR() {

            public void errorMessage(GstObject source, int code, String message) {
                signalFired.set(true);
                signalSource.set(source);
                pipe.quit();
            }
        };
        pipe.getBus().connect(errorSignal);
       
        GErrorStruct msg = new GErrorStruct();
        gst.gst_element_post_message(pipe.src, gst.gst_message_new_error(pipe.src, msg, "testing error messages"));
        pipe.play().run();
        pipe.getBus().disconnect(errorSignal);
        pipe.dispose();
        assertTrue("ERROR signal not received", signalFired.get());
        assertEquals("Incorrect source object on signal", pipe.src, signalSource.get());
    }
View Full Code Here

Examples of java.util.concurrent.atomic.AtomicBoolean

    }
    @Test
    public void warningMessage() {
        final TestPipe pipe = new TestPipe("warningMessage");
      
        final AtomicBoolean signalFired = new AtomicBoolean(false);
        final AtomicReference<GstObject> signalSource = new AtomicReference<GstObject>();
        Bus.WARNING signal = new Bus.WARNING() {

            public void warningMessage(GstObject source, int code, String message) {
                signalFired.set(true);
                signalSource.set(source);
                pipe.quit();
            }
        };
        pipe.getBus().connect(signal);
       
        GErrorStruct msg = new GErrorStruct();
        pipe.play();
        gst.gst_element_post_message(pipe.src, gst.gst_message_new_warning(pipe.src, msg, "testing warning messages"));
        pipe.run();
        pipe.getBus().disconnect(signal);
        pipe.dispose();
        assertTrue("WARNING signal not received", signalFired.get());
        assertEquals("Incorrect source object on signal", pipe.src, signalSource.get());
    }
View Full Code Here

Examples of java.util.concurrent.atomic.AtomicBoolean

        if (Platform.isWindows()) {
            return; // This test does not work on windows - gst_message_new_info() doesn't exist.
        }
        final TestPipe pipe = new TestPipe("infoMessage");
      
        final AtomicBoolean signalFired = new AtomicBoolean(false);
        final AtomicReference<GstObject> signalSource = new AtomicReference<GstObject>();
        Bus.INFO signal = new Bus.INFO() {

            public void infoMessage(GstObject source, int code, String message) {
                signalFired.set(true);
                signalSource.set(source);
                pipe.quit();
            }
        };
        pipe.getBus().connect(signal);
       
        GErrorStruct msg = new GErrorStruct();
        pipe.play();
        gst.gst_element_post_message(pipe.src, gst.gst_message_new_info(pipe.src, msg, "testing warning messages"));
        pipe.run();
        pipe.getBus().disconnect(signal);
        pipe.dispose();
        assertTrue("INFO signal not received", signalFired.get());
        assertEquals("Incorrect source object on signal", pipe.src, signalSource.get());
    }
View Full Code Here

Examples of java.util.concurrent.atomic.AtomicBoolean

    }
    @Test
    public void bufferingData() {
        final TestPipe pipe = new TestPipe("bufferingData");
      
        final AtomicBoolean signalFired = new AtomicBoolean(false);
        final AtomicInteger signalValue = new AtomicInteger(-1);
        final AtomicReference<GstObject> signalSource = new AtomicReference<GstObject>();
        final int PERCENT = 95;
        Bus.BUFFERING signal = new Bus.BUFFERING() {

            public void bufferingData(GstObject source, int percent) {
                signalFired.set(true);
                signalValue.set(percent);
                signalSource.set(source);
                pipe.quit();
            }
        };
        pipe.getBus().connect(signal);
        gst.gst_element_post_message(pipe.src, gst.gst_message_new_buffering(pipe.src, PERCENT));
        pipe.play().run();
        pipe.getBus().disconnect(signal);
        pipe.dispose();
        assertTrue("BUFFERING signal not received", signalFired.get());
        assertEquals("Wrong percent value received for signal", PERCENT, signalValue.get());
        assertEquals("Incorrect source object on signal", pipe.src, signalSource.get());
    }
View Full Code Here

Examples of java.util.concurrent.atomic.AtomicBoolean

    }
    @Test
    public void tagsFound() {
        final TestPipe pipe = new TestPipe("tagsFound");
      
        final AtomicBoolean signalFired = new AtomicBoolean(false);
        final AtomicReference<GstObject> signalSource = new AtomicReference<GstObject>();
        Bus.TAG signal = new Bus.TAG() {

            public void tagsFound(GstObject source, TagList tagList) {
                signalFired.set(true);
                signalSource.set(source);
                pipe.quit();
            }
        };
        pipe.getBus().connect(signal);
       
        TagList tagList = new TagList();
        gst.gst_element_post_message(pipe.src, gst.gst_message_new_tag(pipe.src, tagList));
        pipe.play().run();
        pipe.getBus().disconnect(signal);
        pipe.dispose();
        assertTrue("TAG signal not received", signalFired.get());
        assertEquals("Incorrect source object on signal", pipe.src, signalSource.get());
    }
View Full Code Here

Examples of java.util.concurrent.atomic.AtomicBoolean

    }
    @Test public void anyMessage() {
        final TestPipe pipe = new TestPipe("anyMessage");
      
       
        final AtomicBoolean signalFired = new AtomicBoolean(false);
        final AtomicReference<GstObject> signalSource = new AtomicReference<GstObject>();
        Bus.MESSAGE listener = new Bus.MESSAGE() {

            public void busMessage(Bus bus, Message msg) {
                signalFired.set(true);
                signalSource.set(msg.getSource());
                pipe.quit();
            }
        };
        pipe.getBus().connect(listener);
        //
        // For the pipeline to post an EOS message, all sink elements must post it
        //
        for (Element elem : pipe.pipe.getSinks()) {
            gst.gst_element_post_message(elem, gst.gst_message_new_eos(elem));
        }
        pipe.play().run();
        pipe.getBus().disconnect(listener);

        assertTrue("EOS signal not received", signalFired.get());
        pipe.dispose();
    }
View Full Code Here

Examples of java.util.concurrent.atomic.AtomicBoolean

    }
    @Test public void postMessage() {
        final TestPipe pipe = new TestPipe();
      
       
        final AtomicBoolean signalFired = new AtomicBoolean(false);
        final AtomicReference<GstObject> signalSource = new AtomicReference<GstObject>();
        Bus.MESSAGE listener = new Bus.MESSAGE() {

            public void busMessage(Bus bus, Message msg) {
                signalFired.set(true);
                signalSource.set(msg.getSource());
                pipe.quit();
            }
        };
        pipe.getBus().connect(listener);
        pipe.getBus().post(new EOSMessage(pipe.src));
        pipe.run();
        assertTrue("Message not posted", signalFired.get());
        assertEquals("Wrong source in message", pipe.src, signalSource.get());
    }
View Full Code Here

Examples of java.util.concurrent.atomic.AtomicBoolean

        assertTrue("Runnable not called", exec.hasFired());
        assertEquals("Wrong value returned from Callable", MAGIC, f.get());
    }
    @Test public void periodicTimeout() {
        final TestExec exec = new TestExec();
        final AtomicBoolean called = new AtomicBoolean(false);
        exec.exec.scheduleAtFixedRate(new Runnable() {

            public void run() {
                if (called.getAndSet(true)) {
                    exec.fired();
                }
            }
        }, 10, 10, TimeUnit.MILLISECONDS);
       
View Full Code Here

Examples of java.util.concurrent.atomic.AtomicBoolean

  @BeforeClass
  public static void setUpBeforeClass() throws Exception {
    Gst.init("StreamInfoTest", new String[]{});
   
    final Object sync = "";
    final AtomicBoolean success = new AtomicBoolean();
    final AtomicReference<String> error = new AtomicReference<String>("");
   
    testSrc = File.createTempFile("StreamInfoTest-", ".ogg");
    testSrc.deleteOnExit();
   
    Pipeline p = Pipeline.launch(
        String.format(
            "videotestsrc num-buffers=25 ! theoraenc ! oggmux name=mux ! filesink location=%s " +
            "audiotestsrc num-buffers=44 !  vorbisenc ! mux."
            , testSrc.getAbsolutePath()
            )
            );
   
    Bus bus = p.getBus();
    bus.connect(new Bus.EOS() {
     
      public void endOfStream(GstObject source) {
        synchronized (sync) {
          sync.notify();
        }
        success.set(true);
      }
    });
   
    bus.connect(new Bus.ERROR() {
     
      public void errorMessage(GstObject source, int code, String message) {
        error.set(": " + message);
      }
    });
   
    synchronized (sync) {
      p.play();
      sync.wait(10000);
      p.stop();
    }
   
    if (!success.get()) {
      throw new Exception("could not create test src file" + error.get());
    }
  }
View Full Code Here

Examples of java.util.concurrent.atomic.AtomicBoolean

        Message msg = GstMessageAPI.GSTMESSAGE_API.gst_message_new_eos(fakesink);
        assertEquals("Wrong source in message", fakesink, msg.getSource());
    }
    @Test public void postEOS() {
        final TestPipe pipe = new TestPipe();
        final AtomicBoolean signalFired = new AtomicBoolean(false);
        final AtomicReference<Message> signalMessage = new AtomicReference<Message>(null);
        pipe.getBus().connect("message::eos", new Bus.MESSAGE() {

            public void busMessage(Bus bus, Message msg) {
                signalFired.set(true);
                signalMessage.set(msg);
                pipe.quit();
            }
        });
        GstElementAPI.GSTELEMENT_API.gst_element_post_message(pipe.sink, new EOSMessage(pipe.sink));
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.