本文整理汇总了Java中org.gstreamer.elements.AppSrc类的典型用法代码示例。如果您正苦于以下问题:Java AppSrc类的具体用法?Java AppSrc怎么用?Java AppSrc使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
AppSrc类属于org.gstreamer.elements包,在下文中一共展示了AppSrc类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: iniciaGStreamer
import org.gstreamer.elements.AppSrc; //导入依赖的package包/类
/**
* Crea la tubería de GStreamer.
*/
private void iniciaGStreamer() {
// Crea los elementos de la tubería
List<Element> elements = new ArrayList<>();
// 1º Origen de vídeo, simulado porque se inyectan datos.
this.appsrc = (AppSrc)ElementFactory.make("appsrc", null);
this.appsrc.setLive(true);
this.appsrc.setLatency(0, 100000000);
this.appsrc.setTimestamp(true);
this.appsrc.setFormat(Format.TIME);
this.appsrc.setStreamType(AppSrc.Type.STREAM);
elements.add(this.appsrc);
Queue queue = (Queue)ElementFactory.make("queue", null);
queue.set("leaky", 2); // Drops old buffer
queue.set("max-size-time", 50*1000*1000); // 50 ms
elements.add(queue);
// 2º Códec
Element[] codecs = null;
switch (this.ultDatos.getCodecInfo()) {
case "JPEG": codecs = this.getDecJpeg(); break;
case "VP8": codecs = this.getDecVp8(); break;
}
elements.addAll(Arrays.asList(codecs));
// 3º Salida de vídeo
Element videosink = this.videocomp.getElement();
elements.add(videosink);
// Crea la tubería
this.pipe = new Pipeline();
this.pipe.addMany(elements.toArray(new Element[0]));
Element.linkMany(elements.toArray(new Element[0]));
//GstDebugUtils.gstDebugBinToDotFile(pipe, 0, "suscriptor"); // DEBG
// Play!
// Cambiar el estado puede tomar hasta 5 segundos. Comprueba errores.
this.pipe.play();
org.gstreamer.State retState = this.pipe.getState(ClockTime.fromSeconds(5).toSeconds());
if (retState == org.gstreamer.State.NULL) {
System.err.println("Error al cambio de estado.");
System.exit(1);
}
}
示例2: iniciaGStreamer
import org.gstreamer.elements.AppSrc; //导入依赖的package包/类
/**
* Crea la tubería de GStreamer.
*/
private void iniciaGStreamer() {
// Crea los elementos de la tubería
List<Element> elements = new ArrayList<>();
// 1º Origen de vídeo, simulado porque se inyectan datos.
this.appsrc = (AppSrc)ElementFactory.make("appsrc", null);
this.appsrc.setLive(true);
this.appsrc.setLatency(0, 100000000);
this.appsrc.setTimestamp(true);
this.appsrc.setFormat(Format.TIME);
this.appsrc.setStreamType(AppSrc.Type.STREAM);
elements.add(this.appsrc);
Queue queue = (Queue)ElementFactory.make("queue", null);
queue.set("leaky", 2); // Drops old buffer
queue.set("max-size-time", 50*1000*1000); // 50 ms
elements.add(queue);
// 2º Códec
Element[] codecs = null;
switch (this.codecName) {
case "JPEG": codecs = this.getDecJpeg(); break;
case "VP8": codecs = this.getDecVp8(); break;
}
elements.addAll(Arrays.asList(codecs));
// 3º Salida de vídeo
VideoComponent videoComponent = new VideoComponent();
Element videosink = videoComponent.getElement();
elements.add(videosink);
// Crea la tubería
this.pipe = new Pipeline();
this.pipe.addMany(elements.toArray(new Element[0]));
Element.linkMany(elements.toArray(new Element[0]));
//GstDebugUtils.gstDebugBinToDotFile(pipe, 0, "suscriptor"); // DEBG
// Crea la ventana y la muestra
this.frame = new JFrame("Gava suscriptor testing");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.add(videoComponent, BorderLayout.CENTER);
videoComponent.setPreferredSize(new Dimension(320, 240));
frame.pack();
frame.setVisible(true);
// Play!
// Cambiar el estado puede tomar hasta 5 segundos. Comprueba errores.
this.pipe.play();
org.gstreamer.State retState = this.pipe.getState(ClockTime.fromSeconds(5).toSeconds());
if (retState == org.gstreamer.State.NULL) {
System.err.println("Error al cambio de estado.");
System.exit(1);
}
}
示例3: gst_app_src_set_caps
import org.gstreamer.elements.AppSrc; //导入依赖的package包/类
void gst_app_src_set_caps(AppSrc appsrc, Caps caps);
示例4: gst_app_src_get_caps
import org.gstreamer.elements.AppSrc; //导入依赖的package包/类
@CallerOwnsReturn Caps gst_app_src_get_caps(AppSrc appsrc);
示例5: gst_app_src_set_size
import org.gstreamer.elements.AppSrc; //导入依赖的package包/类
void gst_app_src_set_size(AppSrc appsrc, long size);
示例6: gst_app_src_get_size
import org.gstreamer.elements.AppSrc; //导入依赖的package包/类
long gst_app_src_get_size(AppSrc appsrc);
示例7: gst_app_src_set_stream_type
import org.gstreamer.elements.AppSrc; //导入依赖的package包/类
void gst_app_src_set_stream_type(AppSrc appsrc, AppSrc.Type type);
示例8: gst_app_src_get_stream_type
import org.gstreamer.elements.AppSrc; //导入依赖的package包/类
AppSrc.Type gst_app_src_get_stream_type(AppSrc appsrc);
示例9: gst_app_src_set_max_bytes
import org.gstreamer.elements.AppSrc; //导入依赖的package包/类
void gst_app_src_set_max_bytes(AppSrc appsrc, long max);
示例10: gst_app_src_get_max_bytes
import org.gstreamer.elements.AppSrc; //导入依赖的package包/类
long gst_app_src_get_max_bytes(AppSrc appsrc);
示例11: gst_app_src_set_latency
import org.gstreamer.elements.AppSrc; //导入依赖的package包/类
void gst_app_src_set_latency(AppSrc appsrc, long min, long max);
示例12: gst_app_src_get_latency
import org.gstreamer.elements.AppSrc; //导入依赖的package包/类
void gst_app_src_get_latency(AppSrc appsrc, LongByReference min, LongByReference max);
示例13: gst_app_src_flush_queued
import org.gstreamer.elements.AppSrc; //导入依赖的package包/类
void gst_app_src_flush_queued(AppSrc appsrc);
示例14: gst_app_src_push_buffer
import org.gstreamer.elements.AppSrc; //导入依赖的package包/类
FlowReturn gst_app_src_push_buffer(AppSrc appsrc, @Invalidate Buffer buffer);
示例15: gst_app_src_end_of_stream
import org.gstreamer.elements.AppSrc; //导入依赖的package包/类
FlowReturn gst_app_src_end_of_stream(AppSrc appsrc);