import java.nio.ByteOrder;import org.freedesktop.gstreamer.Bin;import org.freedesktop.gstreamer.Bus;import org.freedesktop.gstreamer.Caps;import org.freedesktop.gstreamer.Gst;import org.freedesktop.gstreamer.Message;import org.freedesktop.gstreamer.Pipeline;import org.freedesktop.gstreamer.elements.AppSink;import javafx.application.Application;import javafx.application.Platform;import javafx.beans.value.ChangeListener;import javafx.beans.value.ObservableValue;import javafx.scene.Scene;import javafx.scene.image.Image;import javafx.scene.image.ImageView;import javafx.scene.layout.BorderPane;import javafx.stage.Stage;/** The main idea is to create a pipeline that has an appsink to display the images.* Connect the AppSink to the rest of the pipeline.* Connect the AppSinkListener to the AppSink.* The AppSink writes frames to the ImageContainer.* if you want to display the Videoframes simply add a changeListener to the container who will draw the current* Image to a Canvas or ImageView.*/public class GstRenderer extends Application{private ImageView imageView;private AppSink videosink;private Pipeline pipe;private Bin bin;Bus bus;private StringBuilder caps;private ImageContainer imageContainer;public GstRenderer() {videosink = new AppSink("GstVideoComponent");videosink.set("emit-signals", true);AppSinkListener GstListener = new AppSinkListener();videosink.connect(GstListener);caps = new StringBuilder("video/x-raw, ");// JNA creates ByteBuffer using native byte order, set masks according to that.if (ByteOrder.nativeOrder() == ByteOrder.LITTLE_ENDIAN) {caps.append("format=BGRx");} else {caps.append("format=xRGB");}videosink.setCaps(new Caps(caps.toString()));videosink.set("max-buffers", 5000);videosink.set("drop", true);bin = Bin.launch("playbin3 uri=\"https://r3---sn-25ge7nse.googlevideo.com/videoplayback?sparams=dur%2Cei%2Cid%2Cinitcwndbps%2Cip%2Cipbits%2Citag%2Clmt%2Cmime%2Cmm%2Cmn%2Cms%2Cmv%2Cpl%2Cratebypass%2Crequiressl%2Csource%2Cexpire&c=WEB&requiressl=yes&expire=1527779448&key=yt6&signature=2BDEF620EDFF94D801B905BBC8F75E5A34169F4C.53472FA6E280CD27D98AB3C7ABCAC57A55B5C2A9&mt=1527757724&ipbits=0&mm=31%2C29&mn=sn-25ge7nse%2Csn-25glenes&id=o-ANj_JLdEBZzyUBseDM3FjPVfrzalRzv8Rd5nLc_9XH74&ratebypass=yes&initcwndbps=2305000&mime=video%2Fmp4&ip=146.255.173.20&lmt=1524432032437132&dur=365.807&pl=21&itag=22&source=youtube&mv=m&ei=F7wPW7KcPK2mV5S4udAN&ms=au%2Crdu&fvip=3\"", true);pipe = new Pipeline();pipe.addMany(bin, videosink);Pipeline.linkMany(bin, videosink);imageView = new ImageView();imageContainer = GstListener.getImageContainer();imageContainer.addListener(new ChangeListener<Image>() {@Overridepublic void changed(ObservableValue<? extends Image> observable, Image oldValue, finalImage newValue) {Platform.runLater(new Runnable() {@Overridepublic void run() {imageView.setImage(newValue);}});}});bus = pipe.getBus();bus.connect(new Bus.MESSAGE() {@Overridepublic void busMessage(Bus arg0, Message arg1) {System.out.println(arg1.getStructure());}});pipe.play();}@Overridepublic void start(Stage primaryStage) throws Exception {primaryStage.setTitle("Drawing Operations Test");BorderPane grid = new BorderPane();grid.setCenter(imageView);imageView.fitWidthProperty().bind(grid.widthProperty());imageView.fitHeightProperty().bind(grid.heightProperty());imageView.setPreserveRatio(true);primaryStage.setScene(new Scene(grid, 460, 460));primaryStage.show();}public static void main(String[] args) {Gst.init("CameraTest",args);launch(args);}}
bin = Bin.launch("videotestsrc ! omxh264enc ! h264parse ! omxh264dec ! glimagesink", true);
Looking in classpath from sun.misc.Launcher$ExtClassLoader@15da254 for /com/sun/jna/linux-arm/libjnidispatch.soFound library resource at jar:file:/root/armv6hf-sdk-corrected/armv6hf-sdk/rt/lib/ext/jna.jar!/com/sun/jna/linux-arm/libjnidispatch.soLooking for library 'gstreamer-1.0'Adding paths from jna.library.path: /usr/lib/arm-linux-gnueabihf/gstreamer-1.0/Trying libgstreamer-1.0.soAdding system paths: [/usr/lib, /lib, /usr/lib/arm-linux-gnueabihf, /lib/arm-linux-gnueabihf, /usr/lib/arm-linux-gnueabihf/neon/vfp, /usr/lib/arm-linux-gnueabihf/vfp/neon, /opt/vc/lib, /usr/lib/arm-linux-gnueabihf/libfakeroot]Trying libgstreamer-1.0.soLooking for version variantsTrying /usr/lib/arm-linux-gnueabihf/libgstreamer-1.0.so.0.1004.0Found library 'gstreamer-1.0' at /usr/lib/arm-linux-gnueabihf/libgstreamer-1.0.so.0.1004.0Looking for library 'glib-2.0'Adding paths from jna.library.path: /usr/lib/arm-linux-gnueabihf/gstreamer-1.0/Trying libglib-2.0.soFound library 'glib-2.0' at libglib-2.0.soLooking for library 'gobject-2.0'Adding paths from jna.library.path: /usr/lib/arm-linux-gnueabihf/gstreamer-1.0/Trying libgobject-2.0.soFound library 'gobject-2.0' at libgobject-2.0.soLooking for library 'gobject-2.0'Adding paths from jna.library.path: /usr/lib/arm-linux-gnueabihf/gstreamer-1.0/Trying libgobject-2.0.soFound library 'gobject-2.0' at libgobject-2.0.soLooking for library 'gobject-2.0'Adding paths from jna.library.path: /usr/lib/arm-linux-gnueabihf/gstreamer-1.0/Trying libgobject-2.0.soFound library 'gobject-2.0' at libgobject-2.0.soLooking for library 'gstapp-1.0'Adding paths from jna.library.path: /usr/lib/arm-linux-gnueabihf/gstreamer-1.0/Trying libgstapp-1.0.soAdding system paths: [/usr/lib, /lib, /usr/lib/arm-linux-gnueabihf, /lib/arm-linux-gnueabihf, /usr/lib/arm-linux-gnueabihf/neon/vfp, /usr/lib/arm-linux-gnueabihf/vfp/neon, /opt/vc/lib, /usr/lib/arm-linux-gnueabihf/libfakeroot]Trying libgstapp-1.0.soLooking for version variantsTrying /usr/lib/arm-linux-gnueabihf/libgstapp-1.0.so.0.1004.0Found library 'gstapp-1.0' at /usr/lib/arm-linux-gnueabihf/libgstapp-1.0.so.0.1004.0GstMessageStateChanged, old-state=(GstState)GST_STATE_NULL, new-state=(GstState)GST_STATE_READY, pending-state=(GstState)GST_STATE_VOID_PENDING;GstMessageStateChanged, old-state=(GstState)GST_STATE_NULL, new-state=(GstState)GST_STATE_READY, pending-state=(GstState)GST_STATE_VOID_PENDING;GstMessageStateChanged, old-state=(GstState)GST_STATE_NULL, new-state=(GstState)GST_STATE_READY, pending-state=(GstState)GST_STATE_VOID_PENDING;GstMessageStateChanged, old-state=(GstState)GST_STATE_NULL, new-state=(GstState)GST_STATE_READY, pending-state=(GstState)GST_STATE_VOID_PENDING;GstMessageStateChanged, old-state=(GstState)GST_STATE_NULL, new-state=(GstState)GST_STATE_READY, pending-state=(GstState)GST_STATE_VOID_PENDING;GstMessageStateChanged, old-state=(GstState)GST_STATE_NULL, new-state=(GstState)GST_STATE_READY, pending-state=(GstState)GST_STATE_PLAYING;GstMessageStateChanged, old-state=(GstState)GST_STATE_READY, new-state=(GstState)GST_STATE_PAUSED, pending-state=(GstState)GST_STATE_VOID_PENDING;GstMessageStateChanged, old-state=(GstState)GST_STATE_NULL, new-state=(GstState)GST_STATE_READY, pending-state=(GstState)GST_STATE_VOID_PENDING;GstMessageStateChanged, old-state=(GstState)GST_STATE_NULL, new-state=(GstState)GST_STATE_READY, pending-state=(GstState)GST_STATE_PAUSED;GstMessageStateChanged, old-state=(GstState)GST_STATE_READY, new-state=(GstState)GST_STATE_PAUSED, pending-state=(GstState)GST_STATE_VOID_PENDING;GstMessageStateChanged, old-state=(GstState)GST_STATE_READY, new-state=(GstState)GST_STATE_PAUSED, pending-state=(GstState)GST_STATE_VOID_PENDING;GstMessageStateChanged, old-state=(GstState)GST_STATE_NULL, new-state=(GstState)GST_STATE_READY, pending-state=(GstState)GST_STATE_PAUSED;GstMessageStateChanged, old-state=(GstState)GST_STATE_NULL, new-state=(GstState)GST_STATE_READY, pending-state=(GstState)GST_STATE_PAUSED;GstMessageStateChanged, old-state=(GstState)GST_STATE_READY, new-state=(GstState)GST_STATE_PAUSED, pending-state=(GstState)GST_STATE_VOID_PENDING;GstMessageStateChanged, old-state=(GstState)GST_STATE_NULL, new-state=(GstState)GST_STATE_READY, pending-state=(GstState)GST_STATE_PAUSED;GstMessageStreamStatus, type=(GstStreamStatusType)GST_STREAM_STATUS_TYPE_CREATE, owner=(GstElement)"\(GstSoupHTTPSrc\)\ source", object=(GstTask)"\(GstTask\)\ task0";GstMessageStateChanged, old-state=(GstState)GST_STATE_READY, new-state=(GstState)GST_STATE_PAUSED, pending-state=(GstState)GST_STATE_VOID_PENDING;GstMessageStreamStatus, type=(GstStreamStatusType)GST_STREAM_STATUS_TYPE_ENTER, owner=(GstElement)"\(GstSoupHTTPSrc\)\ source", object=(GstTask)"\(GstTask\)\ source:src";GstMessageDurationChanged;GstMessageStateChanged, old-state=(GstState)GST_STATE_NULL, new-state=(GstState)GST_STATE_READY, pending-state=(GstState)GST_STATE_PAUSED;GstMessageStreamStatus, type=(GstStreamStatusType)GST_STREAM_STATUS_TYPE_CREATE, owner=(GstElement)"\(GstQueue2\)\ queue2-0", object=(GstTask)"\(GstTask\)\ task1";GstMessageStateChanged, old-state=(GstState)GST_STATE_READY, new-state=(GstState)GST_STATE_PAUSED, pending-state=(GstState)GST_STATE_VOID_PENDING;GstMessageStreamStatus, type=(GstStreamStatusType)GST_STREAM_STATUS_TYPE_ENTER, owner=(GstElement)"\(GstQueue2\)\ queue2-0", object=(GstTask)"\(GstTask\)\ queue2-0:src";GstMessageStateChanged, old-state=(GstState)GST_STATE_NULL, new-state=(GstState)GST_STATE_READY, pending-state=(GstState)GST_STATE_VOID_PENDING;GstMessageStateChanged, old-state=(GstState)GST_STATE_NULL, new-state=(GstState)GST_STATE_READY, pending-state=(GstState)GST_STATE_PAUSED;GstMessageStateChanged, old-state=(GstState)GST_STATE_PAUSED, new-state=(GstState)GST_STATE_PAUSED, pending-state=(GstState)GST_STATE_PAUSED;GstMessageStateChanged, old-state=(GstState)GST_STATE_READY, new-state=(GstState)GST_STATE_PAUSED, pending-state=(GstState)GST_STATE_VOID_PENDING;GstMessageStateChanged, old-state=(GstState)GST_STATE_READY, new-state=(GstState)GST_STATE_PAUSED, pending-state=(GstState)GST_STATE_VOID_PENDING;GstMessageBuffering, buffer-percent=(int)1, buffering-mode=(GstBufferingMode)GST_BUFFERING_STREAM, avg-in-rate=(int)0, avg-out-rate=(int)0, buffering-left=(gint64)4000;GstMessageBuffering, buffer-percent=(int)2, buffering-mode=(GstBufferingMode)GST_BUFFERING_STREAM, avg-in-rate=(int)0, avg-out-rate=(int)0, buffering-left=(gint64)4000;GstMessageStateChanged, old-state=(GstState)GST_STATE_NULL, new-state=(GstState)GST_STATE_READY, pending-state=(GstState)GST_STATE_VOID_PENDING;GstMessageStateChanged, old-state=(GstState)GST_STATE_READY, new-state=(GstState)GST_STATE_PAUSED, pending-state=(GstState)GST_STATE_VOID_PENDING;GstMessageBuffering, buffer-percent=(int)3, buffering-mode=(GstBufferingMode)GST_BUFFERING_STREAM, avg-in-rate=(int)0, avg-out-rate=(int)0, buffering-left=(gint64)4000;GstMessageBuffering, buffer-percent=(int)4, buffering-mode=(GstBufferingMode)GST_BUFFERING_STREAM, avg-in-rate=(int)0, avg-out-rate=(int)0, buffering-left=(gint64)4000;GstMessageBuffering, buffer-percent=(int)3, buffering-mode=(GstBufferingMode)GST_BUFFERING_STREAM, avg-in-rate=(int)0, avg-out-rate=(int)0, buffering-left=(gint64)4000;GstMessageBuffering, buffer-percent=(int)5, buffering-mode=(GstBufferingMode)GST_BUFFERING_STREAM, avg-in-rate=(int)0, avg-out-rate=(int)0, buffering-left=(gint64)4000;GstMessageBuffering, buffer-percent=(int)4, buffering-mode=(GstBufferingMode)GST_BUFFERING_STREAM, avg-in-rate=(int)0, avg-out-rate=(int)0, buffering-left=(gint64)4000;GstMessageBuffering, buffer-percent=(int)3, buffering-mode=(GstBufferingMode)GST_BUFFERING_STREAM, avg-in-rate=(int)0, avg-out-rate=(int)0, buffering-left=(gint64)4000;GstMessageBuffering, buffer-percent=(int)4, buffering-mode=(GstBufferingMode)GST_BUFFERING_STREAM, avg-in-rate=(int)0, avg-out-rate=(int)0, buffering-left=(gint64)4000;GstMessageBuffering, buffer-percent=(int)3, buffering-mode=(GstBufferingMode)GST_BUFFERING_STREAM, avg-in-rate=(int)0, avg-out-rate=(int)0, buffering-left=(gint64)4000;GstMessageBuffering, buffer-percent=(int)5, buffering-mode=(GstBufferingMode)GST_BUFFERING_STREAM, avg-in-rate=(int)0, avg-out-rate=(int)0, buffering-left=(gint64)4000;GstMessageBuffering, buffer-percent=(int)4, buffering-mode=(GstBufferingMode)GST_BUFFERING_STREAM, avg-in-rate=(int)0, avg-out-rate=(int)0, buffering-left=(gint64)4000;GstMessageBuffering, buffer-percent=(int)5, buffering-mode=(GstBufferingMode)GST_BUFFERING_STREAM, avg-in-rate=(int)0, avg-out-rate=(int)0, buffering-left=(gint64)4000;GstMessageBuffering, buffer-percent=(int)4, buffering-mode=(GstBufferingMode)GST_BUFFERING_STREAM, avg-in-rate=(int)0, avg-out-rate=(int)0, buffering-left=(gint64)4000;GstMessageBuffering, buffer-percent=(int)2, buffering-mode=(GstBufferingMode)GST_BUFFERING_STREAM, avg-in-rate=(int)0, avg-out-rate=(int)0, buffering-left=(gint64)4000;GstMessageBuffering, buffer-percent=(int)4, buffering-mode=(GstBufferingMode)GST_BUFFERING_STREAM, avg-in-rate=(int)0, avg-out-rate=(int)0, buffering-left=(gint64)4000;GstMessageBuffering, buffer-percent=(int)2, buffering-mode=(GstBufferingMode)GST_BUFFERING_STREAM, avg-in-rate=(int)0, avg-out-rate=(int)0, buffering-left=(gint64)4000;GstMessageBuffering, buffer-percent=(int)4, buffering-mode=(GstBufferingMode)GST_BUFFERING_STREAM, avg-in-rate=(int)0, avg-out-rate=(int)0, buffering-left=(gint64)4000;GstMessageBuffering, buffer-percent=(int)2, buffering-mode=(GstBufferingMode)GST_BUFFERING_STREAM, avg-in-rate=(int)0, avg-out-rate=(int)0, buffering-left=(gint64)4000;GstMessageBuffering, buffer-percent=(int)1, buffering-mode=(GstBufferingMode)GST_BUFFERING_STREAM, avg-in-rate=(int)0, avg-out-rate=(int)0, buffering-left=(gint64)4000;GstMessageBuffering, buffer-percent=(int)2, buffering-mode=(GstBufferingMode)GST_BUFFERING_STREAM, avg-in-rate=(int)0, avg-out-rate=(int)0, buffering-left=(gint64)4000;GstMessageBuffering, buffer-percent=(int)1, buffering-mode=(GstBufferingMode)GST_BUFFERING_STREAM, avg-in-rate=(int)0, avg-out-rate=(int)0, buffering-left=(gint64)4000;GstMessageBuffering, buffer-percent=(int)2, buffering-mode=(GstBufferingMode)GST_BUFFERING_STREAM, avg-in-rate=(int)0, avg-out-rate=(int)0, buffering-left=(gint64)4000;GstMessageBuffering, buffer-percent=(int)1, buffering-mode=(GstBufferingMode)GST_BUFFERING_STREAM, avg-in-rate=(int)0, avg-out-rate=(int)0, buffering-left=(gint64)4000;GstMessageBuffering, buffer-percent=(int)0, buffering-mode=(GstBufferingMode)GST_BUFFERING_STREAM, avg-in-rate=(int)0, avg-out-rate=(int)0, buffering-left=(gint64)4000;GstMessageStateChanged, old-state=(GstState)GST_STATE_NULL, new-state=(GstState)GST_STATE_READY, pending-state=(GstState)GST_STATE_VOID_PENDING;GstMessageStateChanged, old-state=(GstState)GST_STATE_READY, new-state=(GstState)GST_STATE_PAUSED, pending-state=(GstState)GST_STATE_VOID_PENDING;GstMessageStateChanged, old-state=(GstState)GST_STATE_NULL, new-state=(GstState)GST_STATE_READY, pending-state=(GstState)GST_STATE_VOID_PENDING;GstMessageStateChanged, old-state=(GstState)GST_STATE_READY, new-state=(GstState)GST_STATE_PAUSED, pending-state=(GstState)GST_STATE_VOID_PENDING;GstMessageStreamCollection, collection=(GstStreamCollection)"\(GstStreamCollection\)\ streamcollection0";GstMessageStateChanged, old-state=(GstState)GST_STATE_READY, new-state=(GstState)GST_STATE_PAUSED, pending-state=(GstState)GST_STATE_VOID_PENDING;GstMessageStateChanged, old-state=(GstState)GST_STATE_PAUSED, new-state=(GstState)GST_STATE_PAUSED, pending-state=(GstState)GST_STATE_VOID_PENDING;GstMessageDurationChanged;GstMessageStreamStatus, type=(GstStreamStatusType)GST_STREAM_STATUS_TYPE_ENTER, owner=(GstElement)"\(GstMultiQueue\)\ multiqueue0", object=(GstTask)"\(GstTask\)\ multiqueue0:src_0";GstMessageStreamStatus, type=(GstStreamStatusType)GST_STREAM_STATUS_TYPE_ENTER, owner=(GstElement)"\(GstMultiQueue\)\ multiqueue0", object=(GstTask)"\(GstTask\)\ multiqueue0:src_1";GstMessageBuffering, buffer-percent=(int)1, buffering-mode=(GstBufferingMode)GST_BUFFERING_STREAM, avg-in-rate=(int)0, avg-out-rate=(int)0, buffering-left=(gint64)4000;GstMessageBuffering, buffer-percent=(int)0, buffering-mode=(GstBufferingMode)GST_BUFFERING_STREAM, avg-in-rate=(int)0, avg-out-rate=(int)0, buffering-left=(gint64)4000;GstMessageBuffering, buffer-percent=(int)1, buffering-mode=(GstBufferingMode)GST_BUFFERING_STREAM, avg-in-rate=(int)0, avg-out-rate=(int)0, buffering-left=(gint64)4000;GstMessageBuffering, buffer-percent=(int)0, buffering-mode=(GstBufferingMode)GST_BUFFERING_STREAM, avg-in-rate=(int)0, avg-out-rate=(int)0, buffering-left=(gint64)4000;GstMessageStateChanged, old-state=(GstState)GST_STATE_NULL, new-state=(GstState)GST_STATE_READY, pending-state=(GstState)GST_STATE_PAUSED;GstMessageStateChanged, old-state=(GstState)GST_STATE_READY, new-state=(GstState)GST_STATE_PAUSED, pending-state=(GstState)GST_STATE_VOID_PENDING;GstMessageBuffering, buffer-percent=(int)1, buffering-mode=(GstBufferingMode)GST_BUFFERING_STREAM, avg-in-rate=(int)0, avg-out-rate=(int)0, buffering-left=(gint64)4000;GstMessageBuffering, buffer-percent=(int)3, buffering-mode=(GstBufferingMode)GST_BUFFERING_STREAM, avg-in-rate=(int)0, avg-out-rate=(int)0, buffering-left=(gint64)4000;GstMessageStateChanged, old-state=(GstState)GST_STATE_NULL, new-state=(GstState)GST_STATE_READY, pending-state=(GstState)GST_STATE_PAUSED;GstMessageStateChanged, old-state=(GstState)GST_STATE_READY, new-state=(GstState)GST_STATE_PAUSED, pending-state=(GstState)GST_STATE_VOID_PENDING;GstMessageStateChanged, old-state=(GstState)GST_STATE_NULL, new-state=(GstState)GST_STATE_READY, pending-state=(GstState)GST_STATE_PAUSED;GstMessageBuffering, buffer-percent=(int)4, buffering-mode=(GstBufferingMode)GST_BUFFERING_STREAM, avg-in-rate=(int)0, avg-out-rate=(int)0, buffering-left=(gint64)4000;GstMessageStateChanged, old-state=(GstState)GST_STATE_READY, new-state=(GstState)GST_STATE_PAUSED, pending-state=(GstState)GST_STATE_VOID_PENDING;GstMessageStreamsSelected, collection=(GstStreamCollection)"\(GstStreamCollection\)\ streamcollection0", streams=(GstStream)< "\(GstStream\)\ stream1", "\(GstStream\)\ stream2" >;GstMessageBuffering, buffer-percent=(int)3, buffering-mode=(GstBufferingMode)GST_BUFFERING_STREAM, avg-in-rate=(int)0, avg-out-rate=(int)0, buffering-left=(gint64)4000;GstMessageBuffering, buffer-percent=(int)2, buffering-mode=(GstBufferingMode)GST_BUFFERING_STREAM, avg-in-rate=(int)0, avg-out-rate=(int)0, buffering-left=(gint64)4000;GstMessageBuffering, buffer-percent=(int)3, buffering-mode=(GstBufferingMode)GST_BUFFERING_STREAM, avg-in-rate=(int)0, avg-out-rate=(int)0, buffering-left=(gint64)4000;GstMessageBuffering, buffer-percent=(int)2, buffering-mode=(GstBufferingMode)GST_BUFFERING_STREAM, avg-in-rate=(int)0, avg-out-rate=(int)0, buffering-left=(gint64)4000;GstMessageBuffering, buffer-percent=(int)3, buffering-mode=(GstBufferingMode)GST_BUFFERING_STREAM, avg-in-rate=(int)0, avg-out-rate=(int)0, buffering-left=(gint64)4000;GstMessageBuffering, buffer-percent=(int)5, buffering-mode=(GstBufferingMode)GST_BUFFERING_STREAM, avg-in-rate=(int)0, avg-out-rate=(int)0, buffering-left=(gint64)4000;GstMessageBuffering, buffer-percent=(int)6, buffering-mode=(GstBufferingMode)GST_BUFFERING_STREAM, avg-in-rate=(int)1764058, avg-out-rate=(int)0, buffering-left=(gint64)3953;GstMessageBuffering, buffer-percent=(int)5, buffering-mode=(GstBufferingMode)GST_BUFFERING_STREAM, avg-in-rate=(int)1764058, avg-out-rate=(int)0, buffering-left=(gint64)3962;GstMessageBuffering, buffer-percent=(int)6, buffering-mode=(GstBufferingMode)GST_BUFFERING_STREAM, avg-in-rate=(int)1764058, avg-out-rate=(int)0, buffering-left=(gint64)3953;GstMessageBuffering, buffer-percent=(int)7, buffering-mode=(GstBufferingMode)GST_BUFFERING_STREAM, avg-in-rate=(int)1764058, avg-out-rate=(int)0, buffering-left=(gint64)3944;GstMessageBuffering, buffer-percent=(int)6, buffering-mode=(GstBufferingMode)GST_BUFFERING_STREAM, avg-in-rate=(int)1764058, avg-out-rate=(int)0, buffering-left=(gint64)3953;GstMessageBuffering, buffer-percent=(int)5, buffering-mode=(GstBufferingMode)GST_BUFFERING_STREAM, avg-in-rate=(int)1764058, avg-out-rate=(int)0, buffering-left=(gint64)3962;GstMessageBuffering, buffer-percent=(int)6, buffering-mode=(GstBufferingMode)GST_BUFFERING_STREAM, avg-in-rate=(int)1764058, avg-out-rate=(int)0, buffering-left=(gint64)3953;GstMessageBuffering, buffer-percent=(int)5, buffering-mode=(GstBufferingMode)GST_BUFFERING_STREAM, avg-in-rate=(int)1764058, avg-out-rate=(int)0, buffering-left=(gint64)3962;GstMessageBuffering, buffer-percent=(int)3, buffering-mode=(GstBufferingMode)GST_BUFFERING_STREAM, avg-in-rate=(int)1764058, avg-out-rate=(int)0, buffering-left=(gint64)3972;GstMessageBuffering, buffer-percent=(int)2, buffering-mode=(GstBufferingMode)GST_BUFFERING_STREAM, avg-in-rate=(int)1764058, avg-out-rate=(int)0, buffering-left=(gint64)3981;GstMessageBuffering, buffer-percent=(int)1, buffering-mode=(GstBufferingMode)GST_BUFFERING_STREAM, avg-in-rate=(int)1764058, avg-out-rate=(int)0, buffering-left=(gint64)3990;GstMessageBuffering, buffer-percent=(int)0, buffering-mode=(GstBufferingMode)GST_BUFFERING_STREAM, avg-in-rate=(int)1764058, avg-out-rate=(int)0, buffering-left=(gint64)4000;GstMessageBuffering, buffer-percent=(int)1, buffering-mode=(GstBufferingMode)GST_BUFFERING_STREAM, avg-in-rate=(int)1764058, avg-out-rate=(int)0, buffering-left=(gint64)3990;GstMessageBuffering, buffer-percent=(int)0, buffering-mode=(GstBufferingMode)GST_BUFFERING_STREAM, avg-in-rate=(int)1764058, avg-out-rate=(int)0, buffering-left=(gint64)4000;GstMessageBuffering, buffer-percent=(int)1, buffering-mode=(GstBufferingMode)GST_BUFFERING_STREAM, avg-in-rate=(int)1764058, avg-out-rate=(int)0, buffering-left=(gint64)3990;GstMessageBuffering, buffer-percent=(int)0, buffering-mode=(GstBufferingMode)GST_BUFFERING_STREAM, avg-in-rate=(int)1764058, avg-out-rate=(int)0, buffering-left=(gint64)4000;GstMessageBuffering, buffer-percent=(int)1, buffering-mode=(GstBufferingMode)GST_BUFFERING_STREAM, avg-in-rate=(int)1764058, avg-out-rate=(int)0, buffering-left=(gint64)3990;GstMessageBuffering, buffer-percent=(int)0, buffering-mode=(GstBufferingMode)GST_BUFFERING_STREAM, avg-in-rate=(int)1764058, avg-out-rate=(int)0, buffering-left=(gint64)4000;GstMessageBuffering, buffer-percent=(int)1, buffering-mode=(GstBufferingMode)GST_BUFFERING_STREAM, avg-in-rate=(int)1764058, avg-out-rate=(int)0, buffering-left=(gint64)3990;GstMessageBuffering, buffer-percent=(int)0, buffering-mode=(GstBufferingMode)GST_BUFFERING_STREAM, avg-in-rate=(int)1764058, avg-out-rate=(int)2330501, buffering-left=(gint64)4000;GstMessageBuffering, buffer-percent=(int)1, buffering-mode=(GstBufferingMode)GST_BUFFERING_STREAM, avg-in-rate=(int)1764058, avg-out-rate=(int)2330501, buffering-left=(gint64)3990;GstMessageBuffering, buffer-percent=(int)0, buffering-mode=(GstBufferingMode)GST_BUFFERING_STREAM, avg-in-rate=(int)1764058, avg-out-rate=(int)2330501, buffering-left=(gint64)4000;GstMessageBuffering, buffer-percent=(int)1, buffering-mode=(GstBufferingMode)GST_BUFFERING_STREAM, avg-in-rate=(int)1764058, avg-out-rate=(int)2330501, buffering-left=(gint64)3990;GstMessageBuffering, buffer-percent=(int)0, buffering-mode=(GstBufferingMode)GST_BUFFERING_STREAM, avg-in-rate=(int)1764058, avg-out-rate=(int)2330501, buffering-left=(gint64)4000;GstMessageBuffering, buffer-percent=(int)1, buffering-mode=(GstBufferingMode)GST_BUFFERING_STREAM, avg-in-rate=(int)1764058, avg-out-rate=(int)2330501, buffering-left=(gint64)3990;GstMessageBuffering, buffer-percent=(int)2, buffering-mode=(GstBufferingMode)GST_BUFFERING_STREAM, avg-in-rate=(int)1764058, avg-out-rate=(int)2330501, buffering-left=(gint64)3981;GstMessageBuffering, buffer-percent=(int)3, buffering-mode=(GstBufferingMode)GST_BUFFERING_STREAM, avg-in-rate=(int)1764058, avg-out-rate=(int)2330501, buffering-left=(gint64)3972;GstMessageBuffering, buffer-percent=(int)5, buffering-mode=(GstBufferingMode)GST_BUFFERING_STREAM, avg-in-rate=(int)1764058, avg-out-rate=(int)2330501, buffering-left=(gint64)3962;GstMessageBuffering, buffer-percent=(int)6, buffering-mode=(GstBufferingMode)GST_BUFFERING_STREAM, avg-in-rate=(int)1764058, avg-out-rate=(int)2330501, buffering-left=(gint64)3953;GstMessageBuffering, buffer-percent=(int)5, buffering-mode=(GstBufferingMode)GST_BUFFERING_STREAM, avg-in-rate=(int)1764058, avg-out-rate=(int)2330501, buffering-left=(gint64)3962;GstMessageBuffering, buffer-percent=(int)3, buffering-mode=(GstBufferingMode)GST_BUFFERING_STREAM, avg-in-rate=(int)1764058, avg-out-rate=(int)2330501, buffering-left=(gint64)3972;GstMessageBuffering, buffer-percent=(int)2, buffering-mode=(GstBufferingMode)GST_BUFFERING_STREAM, avg-in-rate=(int)1764058, avg-out-rate=(int)2330501, buffering-left=(gint64)3981;GstMessageBuffering, buffer-percent=(int)1, buffering-mode=(GstBufferingMode)GST_BUFFERING_STREAM, avg-in-rate=(int)1764058, avg-out-rate=(int)2330501, buffering-left=(gint64)3990;GstMessageBuffering, buffer-percent=(int)2, buffering-mode=(GstBufferingMode)GST_BUFFERING_STREAM, avg-in-rate=(int)1764058, avg-out-rate=(int)2330501, buffering-left=(gint64)3981;GstMessageBuffering, buffer-percent=(int)1, buffering-mode=(GstBufferingMode)GST_BUFFERING_STREAM, avg-in-rate=(int)1764058, avg-out-rate=(int)2330501, buffering-left=(gint64)3990;GstMessageBuffering, buffer-percent=(int)0, buffering-mode=(GstBufferingMode)GST_BUFFERING_STREAM, avg-in-rate=(int)1764058, avg-out-rate=(int)2330501, buffering-left=(gint64)4000;GstMessageBuffering, buffer-percent=(int)1, buffering-mode=(GstBufferingMode)GST_BUFFERING_STREAM, avg-in-rate=(int)1764058, avg-out-rate=(int)2330501, buffering-left=(gint64)3990;GstMessageBuffering, buffer-percent=(int)0, buffering-mode=(GstBufferingMode)GST_BUFFERING_STREAM, avg-in-rate=(int)1764058, avg-out-rate=(int)2330501, buffering-left=(gint64)4000;GstMessageBuffering, buffer-percent=(int)1, buffering-mode=(GstBufferingMode)GST_BUFFERING_STREAM, avg-in-rate=(int)1764058, avg-out-rate=(int)2330501, buffering-left=(gint64)3990;GstMessageStateChanged, old-state=(GstState)GST_STATE_NULL, new-state=(GstState)GST_STATE_READY, pending-state=(GstState)GST_STATE_VOID_PENDING;GstMessageStateChanged, old-state=(GstState)GST_STATE_NULL, new-state=(GstState)GST_STATE_READY, pending-state=(GstState)GST_STATE_VOID_PENDING;GstMessageStateChanged, old-state=(GstState)GST_STATE_NULL, new-state=(GstState)GST_STATE_READY, pending-state=(GstState)GST_STATE_PAUSED;GstMessageBuffering, buffer-percent=(int)2, buffering-mode=(GstBufferingMode)GST_BUFFERING_STREAM, avg-in-rate=(int)1764058, avg-out-rate=(int)2330501, buffering-left=(gint64)3981;GstMessageBuffering, buffer-percent=(int)1, buffering-mode=(GstBufferingMode)GST_BUFFERING_STREAM, avg-in-rate=(int)1764058, avg-out-rate=(int)2330501, buffering-left=(gint64)3990;GstMessageStateChanged, old-state=(GstState)GST_STATE_READY, new-state=(GstState)GST_STATE_PAUSED, pending-state=(GstState)GST_STATE_VOID_PENDING;GstMessageStateChanged, old-state=(GstState)GST_STATE_READY, new-state=(GstState)GST_STATE_PAUSED, pending-state=(GstState)GST_STATE_VOID_PENDING;GstMessageBuffering, buffer-percent=(int)0, buffering-mode=(GstBufferingMode)GST_BUFFERING_STREAM, avg-in-rate=(int)1764058, avg-out-rate=(int)2330501, buffering-left=(gint64)4000;GstMessageStateChanged, old-state=(GstState)GST_STATE_READY, new-state=(GstState)GST_STATE_PAUSED, pending-state=(GstState)GST_STATE_VOID_PENDING;GstMessageNeedContext, context-type=(string)gst.gl.GLDisplay;GstMessageHaveContext, context=(GstContext)NULL;GstMessageStateChanged, old-state=(GstState)GST_STATE_NULL, new-state=(GstState)GST_STATE_READY, pending-state=(GstState)GST_STATE_VOID_PENDING;GstMessageStateChanged, old-state=(GstState)GST_STATE_NULL, new-state=(GstState)GST_STATE_READY, pending-state=(GstState)GST_STATE_VOID_PENDING;GstMessageStateChanged, old-state=(GstState)GST_STATE_NULL, new-state=(GstState)GST_STATE_READY, pending-state=(GstState)GST_STATE_VOID_PENDING;GstMessageStateChanged, old-state=(GstState)GST_STATE_NULL, new-state=(GstState)GST_STATE_READY, pending-state=(GstState)GST_STATE_VOID_PENDING;GstMessageStateChanged, old-state=(GstState)GST_STATE_NULL, new-state=(GstState)GST_STATE_READY, pending-state=(GstState)GST_STATE_VOID_PENDING;GstMessageStateChanged, old-state=(GstState)GST_STATE_NULL, new-state=(GstState)GST_STATE_READY, pending-state=(GstState)GST_STATE_PAUSED;GstMessageBuffering, buffer-percent=(int)1, buffering-mode=(GstBufferingMode)GST_BUFFERING_STREAM, avg-in-rate=(int)1764058, avg-out-rate=(int)2330501, buffering-left=(gint64)3990;GstMessageStateChanged, old-state=(GstState)GST_STATE_READY, new-state=(GstState)GST_STATE_PAUSED, pending-state=(GstState)GST_STATE_VOID_PENDING;GstMessageStateChanged, old-state=(GstState)GST_STATE_READY, new-state=(GstState)GST_STATE_PAUSED, pending-state=(GstState)GST_STATE_VOID_PENDING;GstMessageStateChanged, old-state=(GstState)GST_STATE_READY, new-state=(GstState)GST_STATE_PAUSED, pending-state=(GstState)GST_STATE_VOID_PENDING;GstMessageStateChanged, old-state=(GstState)GST_STATE_READY, new-state=(GstState)GST_STATE_PAUSED, pending-state=(GstState)GST_STATE_VOID_PENDING;GstMessageBuffering, buffer-percent=(int)2, buffering-mode=(GstBufferingMode)GST_BUFFERING_STREAM, avg-in-rate=(int)1764058, avg-out-rate=(int)2330501, buffering-left=(gint64)3981;GstMessageStateChanged, old-state=(GstState)GST_STATE_READY, new-state=(GstState)GST_STATE_PAUSED, pending-state=(GstState)GST_STATE_VOID_PENDING;GstMessageStateChanged, old-state=(GstState)GST_STATE_READY, new-state=(GstState)GST_STATE_PAUSED, pending-state=(GstState)GST_STATE_VOID_PENDING;GstMessageStateChanged, old-state=(GstState)GST_STATE_READY, new-state=(GstState)GST_STATE_PAUSED, pending-state=(GstState)GST_STATE_VOID_PENDING;GstMessageBuffering, buffer-percent=(int)3, buffering-mode=(GstBufferingMode)GST_BUFFERING_STREAM, avg-in-rate=(int)1764058, avg-out-rate=(int)2330501, buffering-left=(gint64)3972;GstMessageStreamStatus, type=(GstStreamStatusType)GST_STREAM_STATUS_TYPE_CREATE, owner=(GstElement)"\(GstQueue\)\ vqueue", object=(GstTask)"\(GstTask\)\ vqueue:src";GstMessageStateChanged, old-state=(GstState)GST_STATE_READY, new-state=(GstState)GST_STATE_PAUSED, pending-state=(GstState)GST_STATE_VOID_PENDING;GstMessageStreamStatus, type=(GstStreamStatusType)GST_STREAM_STATUS_TYPE_ENTER, owner=(GstElement)"\(GstQueue\)\ vqueue", object=(GstTask)"\(GstTask\)\ vqueue:src";GstMessageStateChanged, old-state=(GstState)GST_STATE_NULL, new-state=(GstState)GST_STATE_READY, pending-state=(GstState)GST_STATE_VOID_PENDING;GstMessageStateChanged, old-state=(GstState)GST_STATE_NULL, new-state=(GstState)GST_STATE_READY, pending-state=(GstState)GST_STATE_VOID_PENDING;GstMessageStateChanged, old-state=(GstState)GST_STATE_NULL, new-state=(GstState)GST_STATE_READY, pending-state=(GstState)GST_STATE_VOID_PENDING;GstMessageStateChanged, old-state=(GstState)GST_STATE_NULL, new-state=(GstState)GST_STATE_READY, pending-state=(GstState)GST_STATE_VOID_PENDING;GstMessageStateChanged, old-state=(GstState)GST_STATE_NULL, new-state=(GstState)GST_STATE_READY, pending-state=(GstState)GST_STATE_VOID_PENDING;GstMessageStateChanged, old-state=(GstState)GST_STATE_NULL, new-state=(GstState)GST_STATE_READY, pending-state=(GstState)GST_STATE_PAUSED;GstMessageStateChanged, old-state=(GstState)GST_STATE_READY, new-state=(GstState)GST_STATE_PAUSED, pending-state=(GstState)GST_STATE_VOID_PENDING;GstMessageStateChanged, old-state=(GstState)GST_STATE_READY, new-state=(GstState)GST_STATE_PAUSED, pending-state=(GstState)GST_STATE_VOID_PENDING;GstMessageBuffering, buffer-percent=(int)5, buffering-mode=(GstBufferingMode)GST_BUFFERING_STREAM, avg-in-rate=(int)1764058, avg-out-rate=(int)2330501, buffering-left=(gint64)3962;GstMessageStateChanged, old-state=(GstState)GST_STATE_READY, new-state=(GstState)GST_STATE_PAUSED, pending-state=(GstState)GST_STATE_VOID_PENDING;GstMessageStateChanged, old-state=(GstState)GST_STATE_READY, new-state=(GstState)GST_STATE_PAUSED, pending-state=(GstState)GST_STATE_VOID_PENDING;GstMessageBuffering, buffer-percent=(int)6, buffering-mode=(GstBufferingMode)GST_BUFFERING_STREAM, avg-in-rate=(int)1764058, avg-out-rate=(int)2330501, buffering-left=(gint64)3953;GstMessageStreamStatus, type=(GstStreamStatusType)GST_STREAM_STATUS_TYPE_CREATE, owner=(GstElement)"\(GstQueue\)\ aqueue", object=(GstTask)"\(GstTask\)\ aqueue:src";GstMessageStateChanged, old-state=(GstState)GST_STATE_READY, new-state=(GstState)GST_STATE_PAUSED, pending-state=(GstState)GST_STATE_VOID_PENDING;GstMessageBuffering, buffer-percent=(int)7, buffering-mode=(GstBufferingMode)GST_BUFFERING_STREAM, avg-in-rate=(int)1764058, avg-out-rate=(int)2330501, buffering-left=(gint64)3944;GstMessageBuffering, buffer-percent=(int)9, buffering-mode=(GstBufferingMode)GST_BUFFERING_STREAM, avg-in-rate=(int)1764058, avg-out-rate=(int)2330501, buffering-left=(gint64)3934;GstMessageBuffering, buffer-percent=(int)10, buffering-mode=(GstBufferingMode)GST_BUFFERING_STREAM, avg-in-rate=(int)2097096, avg-out-rate=(int)2330501, buffering-left=(gint64)3937;GstMessageBuffering, buffer-percent=(int)11, buffering-mode=(GstBufferingMode)GST_BUFFERING_STREAM, avg-in-rate=(int)2097096, avg-out-rate=(int)2330501, buffering-left=(gint64)3929;GstMessageBuffering, buffer-percent=(int)13, buffering-mode=(GstBufferingMode)GST_BUFFERING_STREAM, avg-in-rate=(int)2097096, avg-out-rate=(int)2330501, buffering-left=(gint64)3921;GstMessageStreamStatus, type=(GstStreamStatusType)GST_STREAM_STATUS_TYPE_ENTER, owner=(GstElement)"\(GstQueue\)\ aqueue", object=(GstTask)"\(GstTask\)\ aqueue:src";GstMessageBuffering, buffer-percent=(int)14, buffering-mode=(GstBufferingMode)GST_BUFFERING_STREAM, avg-in-rate=(int)2097096, avg-out-rate=(int)2330501, buffering-left=(gint64)3914;GstMessageBuffering, buffer-percent=(int)15, buffering-mode=(GstBufferingMode)GST_BUFFERING_STREAM, avg-in-rate=(int)2097096, avg-out-rate=(int)2330501, buffering-left=(gint64)3906;GstMessageBuffering, buffer-percent=(int)16, buffering-mode=(GstBufferingMode)GST_BUFFERING_STREAM, avg-in-rate=(int)2097096, avg-out-rate=(int)2330501, buffering-left=(gint64)3898;GstMessageBuffering, buffer-percent=(int)18, buffering-mode=(GstBufferingMode)GST_BUFFERING_STREAM, avg-in-rate=(int)2097096, avg-out-rate=(int)2330501, buffering-left=(gint64)3890;GstMessageBuffering, buffer-percent=(int)19, buffering-mode=(GstBufferingMode)GST_BUFFERING_STREAM, avg-in-rate=(int)2097096, avg-out-rate=(int)2330501, buffering-left=(gint64)3882;nullGstMessageTag, taglist=(taglist)"taglist\,\ audio-codec\=\(string\)\"MPEG-4\\\ AAC\\\ audio\"\,\ language-code\=\(string\)en\;";GstMessageTag, taglist=(taglist)"taglist\,\ datetime\=\(datetime\)2018-04-22T21:19:32Z\,\ private-qt-tag\=\(sample\)\{\ 00000019677373740000001164617461000000010000000030:None:R3N0U2VnbWVudCwgZmxhZ3M9KEdzdFNlZ21lbnRGbGFncylHU1RfU0VHTUVOVF9GTEFHX05PTkUsIHJhdGU9KGRvdWJsZSkxLCBhcHBsaWVkLXJhdGU9KGRvdWJsZSkxLCBmb3JtYXQ9KEdzdEZvcm1hdClHU1RfRk9STUFUX1RJTUUsIGJhc2U9KGd1aW50NjQpMCwgb2Zmc2V0PShndWludDY0KTAsIHN0YXJ0PShndWludDY0KTAsIHN0b3A9KGd1aW50NjQpMTg0NDY3NDQwNzM3MDk1NTE2MTUsIHRpbWU9KGd1aW50NjQpMCwgcG9zaXRpb249KGd1aW50NjQpMCwgZHVyYXRpb249KGd1aW50NjQpMTg0NDY3NDQwNzM3MDk1NTE2MTU7AA__:YXBwbGljYXRpb24veC1nc3QtcXQtZ3NzdC10YWcsIHN0eWxlPShzdHJpbmcpaXR1bmVzOwA_\,\ 0000001e6773746400000016646174610000000100000000333635383037:None:R3N0U2VnbWVudCwgZmxhZ3M9KEdzdFNlZ21lbnRGbGFncylHU1RfU0VHTUVOVF9GTEFHX05PTkUsIHJhdGU9KGRvdWJsZSkxLCBhcHBsaWVkLXJhdGU9KGRvdWJsZSkxLCBmb3JtYXQ9KEdzdEZvcm1hdClHU1RfRk9STUFUX1RJTUUsIGJhc2U9KGd1aW50NjQpMCwgb2Zmc2V0PShndWludDY0KTAsIHN0YXJ0PShndWludDY0KTAsIHN0b3A9KGd1aW50NjQpMTg0NDY3NDQwNzM3MDk1NTE2MTUsIHRpbWU9KGd1aW50NjQpMCwgcG9zaXRpb249KGd1aW50NjQpMCwgZHVyYXRpb249KGd1aW50NjQpMTg0NDY3NDQwNzM3MDk1NTE2MTU7AA__:YXBwbGljYXRpb24veC1nc3QtcXQtZ3N0ZC10YWcsIHN0eWxlPShzdHJpbmcpaXR1bmVzOwA_\ \}\,\ container-format\=\(string\)\"ISO\\\ MP4/M4A\"\;";GstMessageTag, taglist=(taglist)"taglist\,\ audio-codec\=\(string\)\"MPEG-4\\\ AAC\"\,\ language-code\=\(string\)en\;";GstMessageStateChanged, old-state=(GstState)GST_STATE_READY, new-state=(GstState)GST_STATE_PAUSED, pending-state=(GstState)GST_STATE_VOID_PENDING;GstMessageStateChanged, old-state=(GstState)GST_STATE_READY, new-state=(GstState)GST_STATE_PAUSED, pending-state=(GstState)GST_STATE_VOID_PENDING;GstMessageStreamStatus, type=(GstStreamStatusType)GST_STREAM_STATUS_TYPE_ENTER, owner=(GstElement)"\(GstOMXHdmiAudioSink-omxhdmiaudiosink\)\ audiosink-actual-sink-omxhdmiaudio", object=(GThread)NULL;GstMessageStateChanged, old-state=(GstState)GST_STATE_READY, new-state=(GstState)GST_STATE_PAUSED, pending-state=(GstState)GST_STATE_VOID_PENDING;GstMessageBuffering, buffer-percent=(int)20, buffering-mode=(GstBufferingMode)GST_BUFFERING_STREAM, avg-in-rate=(int)2097096, avg-out-rate=(int)2330501, buffering-left=(gint64)3874;GstMessageBuffering, buffer-percent=(int)22, buffering-mode=(GstBufferingMode)GST_BUFFERING_STREAM, avg-in-rate=(int)2097096, avg-out-rate=(int)2330501, buffering-left=(gint64)3867;GstMessageBuffering, buffer-percent=(int)23, buffering-mode=(GstBufferingMode)GST_BUFFERING_STREAM, avg-in-rate=(int)2097096, avg-out-rate=(int)2330501, buffering-left=(gint64)3859;GstMessageBuffering, buffer-percent=(int)24, buffering-mode=(GstBufferingMode)GST_BUFFERING_STREAM, avg-in-rate=(int)2097096, avg-out-rate=(int)2330501, buffering-left=(gint64)3851;GstMessageBuffering, buffer-percent=(int)26, buffering-mode=(GstBufferingMode)GST_BUFFERING_STREAM, avg-in-rate=(int)2097096, avg-out-rate=(int)2330501, buffering-left=(gint64)3843;GstMessageBuffering, buffer-percent=(int)27, buffering-mode=(GstBufferingMode)GST_BUFFERING_STREAM, avg-in-rate=(int)2097096, avg-out-rate=(int)2330501, buffering-left=(gint64)3835;GstMessageBuffering, buffer-percent=(int)28, buffering-mode=(GstBufferingMode)GST_BUFFERING_STREAM, avg-in-rate=(int)2097096, avg-out-rate=(int)2330501, buffering-left=(gint64)3828;GstMessageBuffering, buffer-percent=(int)29, buffering-mode=(GstBufferingMode)GST_BUFFERING_STREAM, avg-in-rate=(int)2097096, avg-out-rate=(int)2330501, buffering-left=(gint64)3820;GstMessageBuffering, buffer-percent=(int)31, buffering-mode=(GstBufferingMode)GST_BUFFERING_STREAM, avg-in-rate=(int)2097096, avg-out-rate=(int)2330501, buffering-left=(gint64)3812;GstMessageBuffering, buffer-percent=(int)32, buffering-mode=(GstBufferingMode)GST_BUFFERING_STREAM, avg-in-rate=(int)2097096, avg-out-rate=(int)2330501, buffering-left=(gint64)3804;GstMessageBuffering, buffer-percent=(int)33, buffering-mode=(GstBufferingMode)GST_BUFFERING_STREAM, avg-in-rate=(int)2097096, avg-out-rate=(int)2330501, buffering-left=(gint64)3796;GstMessageStreamStatus, type=(GstStreamStatusType)GST_STREAM_STATUS_TYPE_CREATE, owner=(GstElement)"\(GstOMXH264Dec-omxh264dec\)\ omxh264dec-omxh264dec0", object=(GstTask)"\(GstTask\)\ omxh264dec-omxh264dec0:src";GstMessageBuffering, buffer-percent=(int)35, buffering-mode=(GstBufferingMode)GST_BUFFERING_STREAM, avg-in-rate=(int)2097096, avg-out-rate=(int)2330501, buffering-left=(gint64)3789;GstMessageStreamStatus, type=(GstStreamStatusType)GST_STREAM_STATUS_TYPE_ENTER, owner=(GstElement)"\(GstOMXH264Dec-omxh264dec\)\ omxh264dec-omxh264dec0", object=(GstTask)"\(GstTask\)\ omxh264dec-omxh264dec0:src";GstMessageBuffering, buffer-percent=(int)36, buffering-mode=(GstBufferingMode)GST_BUFFERING_STREAM, avg-in-rate=(int)2097096, avg-out-rate=(int)2330501, buffering-left=(gint64)3781;GstMessageBuffering, buffer-percent=(int)37, buffering-mode=(GstBufferingMode)GST_BUFFERING_STREAM, avg-in-rate=(int)2097096, avg-out-rate=(int)2330501, buffering-left=(gint64)3773;GstMessageBuffering, buffer-percent=(int)39, buffering-mode=(GstBufferingMode)GST_BUFFERING_STREAM, avg-in-rate=(int)2097096, avg-out-rate=(int)2330501, buffering-left=(gint64)3765;GstMessageBuffering, buffer-percent=(int)40, buffering-mode=(GstBufferingMode)GST_BUFFERING_STREAM, avg-in-rate=(int)2097096, avg-out-rate=(int)2330501, buffering-left=(gint64)3757;GstMessageBuffering, buffer-percent=(int)41, buffering-mode=(GstBufferingMode)GST_BUFFERING_STREAM, avg-in-rate=(int)2097096, avg-out-rate=(int)2330501, buffering-left=(gint64)3749;GstMessageBuffering, buffer-percent=(int)42, buffering-mode=(GstBufferingMode)GST_BUFFERING_STREAM, avg-in-rate=(int)2097096, avg-out-rate=(int)2330501, buffering-left=(gint64)3742;GstMessageBuffering, buffer-percent=(int)44, buffering-mode=(GstBufferingMode)GST_BUFFERING_STREAM, avg-in-rate=(int)2097096, avg-out-rate=(int)2330501, buffering-left=(gint64)3734;GstMessageBuffering, buffer-percent=(int)45, buffering-mode=(GstBufferingMode)GST_BUFFERING_STREAM, avg-in-rate=(int)2122810, avg-out-rate=(int)2330501, buffering-left=(gint64)3729;GstMessageBuffering, buffer-percent=(int)46, buffering-mode=(GstBufferingMode)GST_BUFFERING_STREAM, avg-in-rate=(int)2122810, avg-out-rate=(int)2330501, buffering-left=(gint64)3722;GstMessageBuffering, buffer-percent=(int)48, buffering-mode=(GstBufferingMode)GST_BUFFERING_STREAM, avg-in-rate=(int)2122810, avg-out-rate=(int)2330501, buffering-left=(gint64)3714;GstMessageBuffering, buffer-percent=(int)49, buffering-mode=(GstBufferingMode)GST_BUFFERING_STREAM, avg-in-rate=(int)2122810, avg-out-rate=(int)2330501, buffering-left=(gint64)3706;GstMessageBuffering, buffer-percent=(int)50, buffering-mode=(GstBufferingMode)GST_BUFFERING_STREAM, avg-in-rate=(int)2122810, avg-out-rate=(int)2330501, buffering-left=(gint64)3698;GstMessageBuffering, buffer-percent=(int)52, buffering-mode=(GstBufferingMode)GST_BUFFERING_STREAM, avg-in-rate=(int)2122810, avg-out-rate=(int)2330501, buffering-left=(gint64)3691;GstMessageBuffering, buffer-percent=(int)53, buffering-mode=(GstBufferingMode)GST_BUFFERING_STREAM, avg-in-rate=(int)2122810, avg-out-rate=(int)2330501, buffering-left=(gint64)3683;GstMessageBuffering, buffer-percent=(int)54, buffering-mode=(GstBufferingMode)GST_BUFFERING_STREAM, avg-in-rate=(int)2122810, avg-out-rate=(int)2330501, buffering-left=(gint64)3675;GstMessageBuffering, buffer-percent=(int)55, buffering-mode=(GstBufferingMode)GST_BUFFERING_STREAM, avg-in-rate=(int)2122810, avg-out-rate=(int)2330501, buffering-left=(gint64)3668;GstMessageBuffering, buffer-percent=(int)57, buffering-mode=(GstBufferingMode)GST_BUFFERING_STREAM, avg-in-rate=(int)2122810, avg-out-rate=(int)2330501, buffering-left=(gint64)3660;GstMessageBuffering, buffer-percent=(int)58, buffering-mode=(GstBufferingMode)GST_BUFFERING_STREAM, avg-in-rate=(int)2122810, avg-out-rate=(int)2330501, buffering-left=(gint64)3652;GstMessageBuffering, buffer-percent=(int)59, buffering-mode=(GstBufferingMode)GST_BUFFERING_STREAM, avg-in-rate=(int)2122810, avg-out-rate=(int)2330501, buffering-left=(gint64)3644;GstMessageBuffering, buffer-percent=(int)61, buffering-mode=(GstBufferingMode)GST_BUFFERING_STREAM, avg-in-rate=(int)2122810, avg-out-rate=(int)2330501, buffering-left=(gint64)3637;GstMessageBuffering, buffer-percent=(int)62, buffering-mode=(GstBufferingMode)GST_BUFFERING_STREAM, avg-in-rate=(int)2122810, avg-out-rate=(int)2330501, buffering-left=(gint64)3629;GstMessageBuffering, buffer-percent=(int)63, buffering-mode=(GstBufferingMode)GST_BUFFERING_STREAM, avg-in-rate=(int)2122810, avg-out-rate=(int)2330501, buffering-left=(gint64)3621;GstMessageBuffering, buffer-percent=(int)65, buffering-mode=(GstBufferingMode)GST_BUFFERING_STREAM, avg-in-rate=(int)2122810, avg-out-rate=(int)2330501, buffering-left=(gint64)3614;GstMessageBuffering, buffer-percent=(int)66, buffering-mode=(GstBufferingMode)GST_BUFFERING_STREAM, avg-in-rate=(int)2122810, avg-out-rate=(int)2330501, buffering-left=(gint64)3606;GstMessageBuffering, buffer-percent=(int)67, buffering-mode=(GstBufferingMode)GST_BUFFERING_STREAM, avg-in-rate=(int)2122810, avg-out-rate=(int)2330501, buffering-left=(gint64)3598;GstMessageBuffering, buffer-percent=(int)69, buffering-mode=(GstBufferingMode)GST_BUFFERING_STREAM, avg-in-rate=(int)2122810, avg-out-rate=(int)2330501, buffering-left=(gint64)3590;GstMessageBuffering, buffer-percent=(int)70, buffering-mode=(GstBufferingMode)GST_BUFFERING_STREAM, avg-in-rate=(int)2122810, avg-out-rate=(int)2330501, buffering-left=(gint64)3583;GstMessageBuffering, buffer-percent=(int)71, buffering-mode=(GstBufferingMode)GST_BUFFERING_STREAM, avg-in-rate=(int)2122810, avg-out-rate=(int)2330501, buffering-left=(gint64)3575;GstMessageTag, taglist=(taglist)"taglist\,\ video-codec\=\(string\)\"H.264\\\ \\\(Main\\\ Profile\\\)\"\;";GstMessageTag, taglist=(taglist)"taglist\,\ datetime\=\(datetime\)2018-04-22T21:19:32Z\,\ private-qt-tag\=\(sample\)\{\ 00000019677373740000001164617461000000010000000030:None:R3N0U2VnbWVudCwgZmxhZ3M9KEdzdFNlZ21lbnRGbGFncylHU1RfU0VHTUVOVF9GTEFHX05PTkUsIHJhdGU9KGRvdWJsZSkxLCBhcHBsaWVkLXJhdGU9KGRvdWJsZSkxLCBmb3JtYXQ9KEdzdEZvcm1hdClHU1RfRk9STUFUX1RJTUUsIGJhc2U9KGd1aW50NjQpMCwgb2Zmc2V0PShndWludDY0KTAsIHN0YXJ0PShndWludDY0KTAsIHN0b3A9KGd1aW50NjQpMTg0NDY3NDQwNzM3MDk1NTE2MTUsIHRpbWU9KGd1aW50NjQpMCwgcG9zaXRpb249KGd1aW50NjQpMCwgZHVyYXRpb249KGd1aW50NjQpMTg0NDY3NDQwNzM3MDk1NTE2MTU7AA__:YXBwbGljYXRpb24veC1nc3QtcXQtZ3NzdC10YWcsIHN0eWxlPShzdHJpbmcpaXR1bmVzOwA_\,\ 0000001e6773746400000016646174610000000100000000333635383037:None:R3N0U2VnbWVudCwgZmxhZ3M9KEdzdFNlZ21lbnRGbGFncylHU1RfU0VHTUVOVF9GTEFHX05PTkUsIHJhdGU9KGRvdWJsZSkxLCBhcHBsaWVkLXJhdGU9KGRvdWJsZSkxLCBmb3JtYXQ9KEdzdEZvcm1hdClHU1RfRk9STUFUX1RJTUUsIGJhc2U9KGd1aW50NjQpMCwgb2Zmc2V0PShndWludDY0KTAsIHN0YXJ0PShndWludDY0KTAsIHN0b3A9KGd1aW50NjQpMTg0NDY3NDQwNzM3MDk1NTE2MTUsIHRpbWU9KGd1aW50NjQpMCwgcG9zaXRpb249KGd1aW50NjQpMCwgZHVyYXRpb249KGd1aW50NjQpMTg0NDY3NDQwNzM3MDk1NTE2MTU7AA__:YXBwbGljYXRpb24veC1nc3QtcXQtZ3N0ZC10YWcsIHN0eWxlPShzdHJpbmcpaXR1bmVzOwA_\ \}\,\ container-format\=\(string\)\"ISO\\\ MP4/M4A\"\;";GstMessageBuffering, buffer-percent=(int)72, buffering-mode=(GstBufferingMode)GST_BUFFERING_STREAM, avg-in-rate=(int)2122810, avg-out-rate=(int)2330501, buffering-left=(gint64)3567;GstMessageBuffering, buffer-percent=(int)74, buffering-mode=(GstBufferingMode)GST_BUFFERING_STREAM, avg-in-rate=(int)2122810, avg-out-rate=(int)2330501, buffering-left=(gint64)3560;GstMessageBuffering, buffer-percent=(int)75, buffering-mode=(GstBufferingMode)GST_BUFFERING_STREAM, avg-in-rate=(int)2122810, avg-out-rate=(int)2330501, buffering-left=(gint64)3552;GstMessageBuffering, buffer-percent=(int)76, buffering-mode=(GstBufferingMode)GST_BUFFERING_STREAM, avg-in-rate=(int)2122810, avg-out-rate=(int)2330501, buffering-left=(gint64)3544;GstMessageBuffering, buffer-percent=(int)78, buffering-mode=(GstBufferingMode)GST_BUFFERING_STREAM, avg-in-rate=(int)2122810, avg-out-rate=(int)2330501, buffering-left=(gint64)3536;GstMessageBuffering, buffer-percent=(int)79, buffering-mode=(GstBufferingMode)GST_BUFFERING_STREAM, avg-in-rate=(int)2122810, avg-out-rate=(int)2330501, buffering-left=(gint64)3529;GstMessageStateChanged, old-state=(GstState)GST_STATE_READY, new-state=(GstState)GST_STATE_PAUSED, pending-state=(GstState)GST_STATE_VOID_PENDING;GstMessageBuffering, buffer-percent=(int)80, buffering-mode=(GstBufferingMode)GST_BUFFERING_STREAM, avg-in-rate=(int)2122810, avg-out-rate=(int)2330501, buffering-left=(gint64)3521;GstMessageStateChanged, old-state=(GstState)GST_STATE_READY, new-state=(GstState)GST_STATE_PAUSED, pending-state=(GstState)GST_STATE_VOID_PENDING;GstMessageStateChanged, old-state=(GstState)GST_STATE_READY, new-state=(GstState)GST_STATE_PAUSED, pending-state=(GstState)GST_STATE_VOID_PENDING;GstMessageStateChanged, old-state=(GstState)GST_STATE_READY, new-state=(GstState)GST_STATE_PAUSED, pending-state=(GstState)GST_STATE_VOID_PENDING;GstMessageBuffering, buffer-percent=(int)82, buffering-mode=(GstBufferingMode)GST_BUFFERING_STREAM, avg-in-rate=(int)2122810, avg-out-rate=(int)2330501, buffering-left=(gint64)3513;GstMessageStateChanged, old-state=(GstState)GST_STATE_READY, new-state=(GstState)GST_STATE_PAUSED, pending-state=(GstState)GST_STATE_VOID_PENDING;GstMessageStateChanged, old-state=(GstState)GST_STATE_READY, new-state=(GstState)GST_STATE_PAUSED, pending-state=(GstState)GST_STATE_VOID_PENDING;GstMessageBuffering, buffer-percent=(int)83, buffering-mode=(GstBufferingMode)GST_BUFFERING_STREAM, avg-in-rate=(int)2122810, avg-out-rate=(int)2330501, buffering-left=(gint64)3506;GstMessageStateChanged, old-state=(GstState)GST_STATE_READY, new-state=(GstState)GST_STATE_PAUSED, pending-state=(GstState)GST_STATE_VOID_PENDING;GstMessageBuffering, buffer-percent=(int)84, buffering-mode=(GstBufferingMode)GST_BUFFERING_STREAM, avg-in-rate=(int)2122810, avg-out-rate=(int)2330501, buffering-left=(gint64)3498;GstMessageBuffering, buffer-percent=(int)85, buffering-mode=(GstBufferingMode)GST_BUFFERING_STREAM, avg-in-rate=(int)2220046, avg-out-rate=(int)2330501, buffering-left=(gint64)3512;GstMessageBuffering, buffer-percent=(int)87, buffering-mode=(GstBufferingMode)GST_BUFFERING_STREAM, avg-in-rate=(int)2220046, avg-out-rate=(int)2330501, buffering-left=(gint64)3505;GstMessageBuffering, buffer-percent=(int)88, buffering-mode=(GstBufferingMode)GST_BUFFERING_STREAM, avg-in-rate=(int)2220046, avg-out-rate=(int)2330501, buffering-left=(gint64)3498;GstMessageBuffering, buffer-percent=(int)89, buffering-mode=(GstBufferingMode)GST_BUFFERING_STREAM, avg-in-rate=(int)2220046, avg-out-rate=(int)2330501, buffering-left=(gint64)3490;GstMessageBuffering, buffer-percent=(int)91, buffering-mode=(GstBufferingMode)GST_BUFFERING_STREAM, avg-in-rate=(int)2220046, avg-out-rate=(int)2330501, buffering-left=(gint64)3483;GstMessageBuffering, buffer-percent=(int)92, buffering-mode=(GstBufferingMode)GST_BUFFERING_STREAM, avg-in-rate=(int)2220046, avg-out-rate=(int)2330501, buffering-left=(gint64)3476;GstMessageBuffering, buffer-percent=(int)93, buffering-mode=(GstBufferingMode)GST_BUFFERING_STREAM, avg-in-rate=(int)2220046, avg-out-rate=(int)2330501, buffering-left=(gint64)3468;GstMessageBuffering, buffer-percent=(int)95, buffering-mode=(GstBufferingMode)GST_BUFFERING_STREAM, avg-in-rate=(int)2220046, avg-out-rate=(int)2330501, buffering-left=(gint64)3461;GstMessageBuffering, buffer-percent=(int)96, buffering-mode=(GstBufferingMode)GST_BUFFERING_STREAM, avg-in-rate=(int)2220046, avg-out-rate=(int)2330501, buffering-left=(gint64)3453;GstMessageBuffering, buffer-percent=(int)97, buffering-mode=(GstBufferingMode)GST_BUFFERING_STREAM, avg-in-rate=(int)2220046, avg-out-rate=(int)2330501, buffering-left=(gint64)3446;GstMessageBuffering, buffer-percent=(int)98, buffering-mode=(GstBufferingMode)GST_BUFFERING_STREAM, avg-in-rate=(int)2220046, avg-out-rate=(int)2330501, buffering-left=(gint64)3439;GstMessageBuffering, buffer-percent=(int)100, buffering-mode=(GstBufferingMode)GST_BUFFERING_STREAM, avg-in-rate=(int)2220046, avg-out-rate=(int)2330501, buffering-left=(gint64)0;ES2ResourceFactory: Prism - createStockShader: Solid_TextureRGB.fragHow can I use omxh264enc/omxh264dec in the same way ?
But when I change the Bin.launch to set my pipeline, it launch and disapear in background and the state of Gst is pending, the Stage is showing up with a center white square.
//private Bin bin;
Bus bus;private StringBuilder caps;private ImageContainer imageContainer;public GstRenderer() {videosink = new AppSink("GstVideoComponent");videosink.set("emit-signals", true);AppSinkListener GstListener = new AppSinkListener();videosink.connect(GstListener);caps = new StringBuilder("video/x-raw, ");// JNA creates ByteBuffer using native byte order, set masks according to that.if (ByteOrder.nativeOrder() == ByteOrder.LITTLE_ENDIAN) {caps.append("format=BGRx");} else {caps.append("format=xRGB");}videosink.setCaps(new Caps(caps.toString()));videosink.set("max-buffers", 5000);videosink.set("drop", true);
//bin = Bin.launch("videotestsrc ! omxh264enc ! h264parse ! omxh264dec ! glimagesink", true);pipe = Pipeline.launch("videotestsrc ! omxh264enc ! h264parse ! omxh264dec ! glimagesink");//pipe.addMany(bin, videosink);Pipeline.linkMany(pipe, videosink);
imageView = new ImageView();imageContainer = GstListener.getImageContainer();imageContainer.addListener(new ChangeListener<Image>() {@Overridepublic void changed(ObservableValue<? extends Image> observable, Image oldValue, finalImage newValue) {
Platform.runLater(new Runnable() {@Overridepublic void run() {imageView.setImage(newValue);
}});}});bus = pipe.getBus();bus.connect(new Bus.MESSAGE() {@Overridepublic void busMessage(Bus arg0, Message arg1) {System.out.println(arg1.getStructure());}});pipe.play();}@Overridepublic void start(Stage primaryStage) throws Exception {primaryStage.setTitle("Drawing Operations Test");BorderPane grid = new BorderPane();grid.setCenter(imageView);imageView.fitWidthProperty().bind(grid.widthProperty());imageView.fitHeightProperty().bind(grid.heightProperty());imageView.setPreserveRatio(true);
}public static void main(String[] args) {Gst.init("CameraTest",args);launch(args);}}
Thanks for you fast answerI tried to launch with Pipeline.launch and the result is the same.
//videosink.connect(GstListener);
caps = new StringBuilder("video/x-raw, ");// JNA creates ByteBuffer using native byte order, set masks according to that.if (ByteOrder.nativeOrder() == ByteOrder.LITTLE_ENDIAN) {caps.append("format=BGRx");} else {caps.append("format=xRGB");}
//videosink.setCaps(new Caps(caps.toString()));//videosink.set("max-buffers", 5000);//videosink.set("drop", true);
//bin = Bin.launch("videotestsrc ! omxh264enc ! h264parse ! omxh264dec ! glimagesink", true);pipe = Pipeline.launch("videotestsrc ! omxh264enc ! h264parse ! omxh264dec ! glimagesink");//pipe.addMany(bin, videosink);
//Pipeline.linkMany(pipe);
Ok I understand.Can the Pipeline.launch be added to the imageView like the Bin.launch ?How can I link the pipe to GstListener ?
Found library 'gstapp-1.0' at /usr/lib/arm-linux-gnueabihf/libgstapp-1.0.so.0.1004.0GstMessageStateChanged, old-state=(GstState)GST_STATE_NULL, new-state=(GstState)GST_STATE_READY, pending-state=(GstState)GST_STATE_VOID_PENDING;GstMessageStateChanged, old-state=(GstState)GST_STATE_NULL, new-state=(GstState)GST_STATE_READY, pending-state=(GstState)GST_STATE_VOID_PENDING;GstMessageStateChanged, old-state=(GstState)GST_STATE_NULL, new-state=(GstState)GST_STATE_READY, pending-state=(GstState)GST_STATE_VOID_PENDING;GstMessageStateChanged, old-state=(GstState)GST_STATE_NULL, new-state=(GstState)GST_STATE_READY, pending-state=(GstState)GST_STATE_VOID_PENDING;GstMessageStateChanged, old-state=(GstState)GST_STATE_NULL, new-state=(GstState)GST_STATE_READY, pending-state=(GstState)GST_STATE_VOID_PENDING;GstMessageStateChanged, old-state=(GstState)GST_STATE_NULL, new-state=(GstState)GST_STATE_READY, pending-state=(GstState)GST_STATE_PLAYING;GstMessageStateChanged, old-state=(GstState)GST_STATE_READY, new-state=(GstState)GST_STATE_PAUSED, pending-state=(GstState)GST_STATE_VOID_PENDING;
GstMessageStateChanged, old-state=(GstState)GST_STATE_READY, new-state=(GstState)GST_STATE_PAUSED, pending-state=(GstState)GST_STATE_VOID_PENDING;GstMessageStateChanged, old-state=(GstState)GST_STATE_READY, new-state=(GstState)GST_STATE_PAUSED, pending-state=(GstState)GST_STATE_VOID_PENDING;GstMessageStreamStatus, type=(GstStreamStatusType)GST_STREAM_STATUS_TYPE_CREATE, owner=(GstElement)"\(GstVideoTestSrc\)\ videotestsrc0", object=(GstTask)"\(GstTask\)\ videotestsrc0:src";GstMessageStateChanged, old-state=(GstState)GST_STATE_READY, new-state=(GstState)GST_STATE_PAUSED, pending-state=(GstState)GST_STATE_VOID_PENDING;GstMessageStreamStatus, type=(GstStreamStatusType)GST_STREAM_STATUS_TYPE_ENTER, owner=(GstElement)"\(GstVideoTestSrc\)\ videotestsrc0", object=(GstTask)"\(GstTask\)\ videotestsrc0:src";GstMessageStreamStatus, type=(GstStreamStatusType)GST_STREAM_STATUS_TYPE_CREATE, owner=(GstElement)"\(GstOMXH264Enc-omxh264enc\)\ omxh264enc-omxh264enc0", object=(GstTask)"\(GstTask\)\ omxh264enc-omxh264enc0:src";GstMessageStreamStatus, type=(GstStreamStatusType)GST_STREAM_STATUS_TYPE_ENTER, owner=(GstElement)"\(GstOMXH264Enc-omxh264enc\)\ omxh264enc-omxh264enc0", object=(GstTask)"\(GstTask\)\ omxh264enc-omxh264enc0:src";GstMessageStreamStart, group-id=(uint)0;GstMessageQOS, live=(boolean)false, running-time=(guint64)0, stream-time=(guint64)0, timestamp=(guint64)0, duration=(guint64)18446744073709551615, jitter=(gint64)-1, proportion=(double)0.5, quality=(int)1000000, format=(GstFormat)GST_FORMAT_BUFFERS, processed=(guint64)0, dropped=(guint64)1;GstMessageStreamStatus, type=(GstStreamStatusType)GST_STREAM_STATUS_TYPE_CREATE, owner=(GstElement)"\(GstOMXH264Dec-omxh264dec\)\ decoder", object=(GstTask)"\(GstTask\)\ decoder:src";GstMessageStreamStatus, type=(GstStreamStatusType)GST_STREAM_STATUS_TYPE_ENTER, owner=(GstElement)"\(GstOMXH264Dec-omxh264dec\)\ decoder", object=(GstTask)"\(GstTask\)\ decoder:src";GstMessageError, gerror=(GError)NULL, debug=(string)"gstomxvideodec.c\(1599\):\ gst_omx_video_dec_loop\ \(\):\ /GstPipeline:pipeline0/GstOMXH264Dec-omxh264dec:decoder:\012stream\ stopped\,\ reason\ not-negotiated";GstMessageStateChanged, old-state=(GstState)GST_STATE_READY, new-state=(GstState)GST_STATE_PAUSED, pending-state=(GstState)GST_STATE_VOID_PENDING;GstMessageStateChanged, old-state=(GstState)GST_STATE_READY, new-state=(GstState)GST_STATE_PAUSED, pending-state=(GstState)GST_STATE_PLAYING;GstMessageNewClock, clock=(GstClock)"\(GstSystemClock\)\ GstSystemClock";GstMessageStateChanged, old-state=(GstState)GST_STATE_PAUSED, new-state=(GstState)GST_STATE_PLAYING, pending-state=(GstState)GST_STATE_VOID_PENDING;GstMessageError, gerror=(GError)NULL, debug=(string)"gstomxvideoenc.c\(883\):\ gst_omx_video_enc_loop\ \(\):\ /GstPipeline:pipeline0/GstOMXH264Enc-omxh264enc:omxh264enc-omxh264enc0:\012stream\ stopped\,\ reason\ not-negotiated";GstMessageStateChanged, old-state=(GstState)GST_STATE_PAUSED, new-state=(GstState)GST_STATE_PLAYING, pending-state=(GstState)GST_STATE_VOID_PENDING;GstMessageError, gerror=(GError)NULL, debug=(string)"gstbasesrc.c\(2950\):\ gst_base_src_loop\ \(\):\ /GstPipeline:pipeline0/GstVideoTestSrc:videotestsrc0:\012streaming\ stopped\,\ reason\ not-negotiated\ \(-4\)", details=(structure)"details\,\ flow-return\=\(int\)-4\;";GstMessageStateChanged, old-state=(GstState)GST_STATE_PAUSED, new-state=(GstState)GST_STATE_PLAYING, pending-state=(GstState)GST_STATE_VOID_PENDING;GstMessageStateChanged, old-state=(GstState)GST_STATE_PAUSED, new-state=(GstState)GST_STATE_PLAYING, pending-state=(GstState)GST_STATE_VOID_PENDING;GstMessageStateChanged, old-state=(GstState)GST_STATE_PAUSED, new-state=(GstState)GST_STATE_PLAYING, pending-state=(GstState)GST_STATE_VOID_PENDING;GstMessageStateChanged, old-state=(GstState)GST_STATE_PAUSED, new-state=(GstState)GST_STATE_PLAYING, pending-state=(GstState)GST_STATE_VOID_PENDING;
GstMessageError, gerror=(GError)NULL, debug=(string)"gstomxvideoenc.c\(883\):\ gst_omx_video_enc_loop\ \(\):\ /GstPipeline:pipeline0/GstOMXH264Enc-omxh264enc:omxh264enc-omxh264enc0:\012stream\ stopped\,\ reason\ not-negotiated";
GstMessageStateChanged, old-state=(GstState)GST_STATE_PAUSED, new-state=(GstState)GST_STATE_PLAYING, pending-state=(GstState)GST_STATE_VOID_PENDING;
GstMessageError, gerror=(GError)NULL, debug=(string)"gstbasesrc.c\(2950\):\ gst_base_src_loop\ \(\):\ /GstPipeline:pipeline0/GstVideoTestSrc:videotestsrc0:\012streaming\ stopped\,\ reason\ not-negotiated\ \(-4\)", details=(structure)"details\,\ flow-return\=\(int\)-4\;";
Do you have an idea what this mean ?
caps = new StringBuilder("video/x-h264, ");Because the omxh264dec can only decode h264 according to gst-inspect
GstMessageError, gerror=(GError)NULL, debug=(string)"gstbasesrc.c\(2950\):\ gst_base_src_loop\ \(\):\ /GstPipeline:pipeline0/GstVideoTestSrc:videotestsrc0:\012streaming\ stopped\,\ reason\ not-linked\ \(-1\)", details=(structure)"details
I changed the caps to :caps = new StringBuilder("video/x-h264, ");Because the omxh264dec can only decode h264 according to gst-inspect
gst-launch-1.0 -v videotestsrc ! omxh264enc ! h264parse ! omxh264dec ! glimagesink Définition du pipeline à PAUSED...Le pipeline est en phase de PREROLL…Contexte de l’élément « sink » : gst.gl.GLDisplay=context, gst.gl.GLDisplay=(GstGLDisplay)"\(GstGLDisplayEGL\)\ gldisplayegl0";/GstPipeline:pipeline0/GstVideoTestSrc:videotestsrc0.GstPad:src: caps = video/x-raw, width=(int)320, height=(int)240, framerate=(fraction)30/1, format=(string)I420, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive/GstPipeline:pipeline0/GstOMXH264Enc-omxh264enc:omxh264enc-omxh264enc0.GstPad:sink: caps = video/x-raw, width=(int)320, height=(int)240, framerate=(fraction)30/1, format=(string)I420, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive/GstPipeline:pipeline0/GstOMXH264Enc-omxh264enc:omxh264enc-omxh264enc0.GstPad:src: caps = video/x-h264, stream-format=(string)byte-stream, alignment=(string)au, profile=(string)high, level=(string)4, width=(int)320, height=(int)240, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)30/1/GstPipeline:pipeline0/GstH264Parse:h264parse0.GstPad:src: caps = video/x-h264, stream-format=(string)byte-stream, alignment=(string)au, profile=(string)high, level=(string)4, width=(int)320, height=(int)240, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)30/1, parsed=(boolean)true/GstPipeline:pipeline0/GstOMXH264Dec-omxh264dec:omxh264dec-omxh264dec0.GstPad:sink: caps = video/x-h264, stream-format=(string)byte-stream, alignment=(string)au, profile=(string)high, level=(string)4, width=(int)320, height=(int)240, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)30/1, parsed=(boolean)true/GstPipeline:pipeline0/GstH264Parse:h264parse0.GstPad:sink: caps = video/x-h264, stream-format=(string)byte-stream, alignment=(string)au, profile=(string)high, level=(string)4, width=(int)320, height=(int)240, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)30/1/GstPipeline:pipeline0/GstOMXH264Dec-omxh264dec:omxh264dec-omxh264dec0.GstPad:src: caps = video/x-raw(memory:GLMemory), format=(string)RGBA, width=(int)320, height=(int)240, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string)sRGB, framerate=(fraction)30/1/GstPipeline:pipeline0/GstGLImageSinkBin:glimagesinkbin0.GstGhostPad:sink.GstProxyPad:proxypad0: caps = video/x-raw(memory:GLMemory), format=(string)RGBA, width=(int)320, height=(int)240, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string)sRGB, framerate=(fraction)30/1/GstPipeline:pipeline0/GstGLImageSinkBin:glimagesinkbin0/GstGLUploadElement:gluploadelement0.GstPad:src: caps = video/x-raw(memory:GLMemory), width=(int)320, height=(int)240, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)30/1, format=(string)RGBA, texture-target=(string)2D, colorimetry=(string)sRGB/GstPipeline:pipeline0/GstGLImageSinkBin:glimagesinkbin0/GstGLColorConvertElement:glcolorconvertelement0.GstPad:src: caps = video/x-raw(memory:GLMemory), width=(int)320, height=(int)240, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)30/1, format=(string)RGBA, texture-target=(string)2D, colorimetry=(string)sRGB/GstPipeline:pipeline0/GstGLImageSinkBin:glimagesinkbin0/GstGLColorBalance:glcolorbalance0.GstPad:src: caps = video/x-raw(memory:GLMemory), width=(int)320, height=(int)240, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)30/1, format=(string)RGBA, texture-target=(string)2D, colorimetry=(string)sRGB/GstPipeline:pipeline0/GstGLImageSinkBin:glimagesinkbin0/GstGLImageSink:sink.GstPad:sink: caps = video/x-raw(memory:GLMemory), width=(int)320, height=(int)240, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)30/1, format=(string)RGBA, texture-target=(string)2D, colorimetry=(string)sRGB/GstPipeline:pipeline0/GstGLImageSinkBin:glimagesinkbin0/GstGLColorBalance:glcolorbalance0.GstPad:sink: caps = video/x-raw(memory:GLMemory), width=(int)320, height=(int)240, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)30/1, format=(string)RGBA, texture-target=(string)2D, colorimetry=(string)sRGB/GstPipeline:pipeline0/GstGLImageSinkBin:glimagesinkbin0/GstGLColorConvertElement:glcolorconvertelement0.GstPad:sink: caps = video/x-raw(memory:GLMemory), width=(int)320, height=(int)240, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)30/1, format=(string)RGBA, texture-target=(string)2D, colorimetry=(string)sRGB/GstPipeline:pipeline0/GstGLImageSinkBin:glimagesinkbin0/GstGLUploadElement:gluploadelement0.GstPad:sink: caps = video/x-raw(memory:GLMemory), format=(string)RGBA, width=(int)320, height=(int)240, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string)sRGB, framerate=(fraction)30/1/GstPipeline:pipeline0/GstGLImageSinkBin:glimagesinkbin0.GstGhostPad:sink: caps = video/x-raw(memory:GLMemory), format=(string)RGBA, width=(int)320, height=(int)240, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string)sRGB, framerate=(fraction)30/1Le pipeline a terminé la phase PREROLL…Passage du pipeline à la phase PLAYING…New clock: GstSystemClockHow can I link AppSink to videoconvert ? I don't understand
I understand.. Yes omxh264 seem to be based on OpenGL and I know that JavaFX is not OpenGL based..I'm disapointed, I don't know if it's possible to redirect OpenGL render to JavaFX node or something like this