从gstreamer元素获取pad会导致gstreamerjava for 1.x出错
我试着用从gstreamer元素获取pad会导致gstreamerjava for 1.x出错,java,gstreamer,java-gstreamer,Java,Gstreamer,Java Gstreamer,我试着用 公共静态无效打印管道(管道p){ List elements=p.getElements(); if(elements.size()>0){ 迭代器elemiter=elements.Iterator(); 元素e=null; while(elemiter.hasNext()){ e=(Element)elemiter.next(); List pads=e.getPads(); 如果(pads.size()>0){ 迭代器paditer=pads.Iterator(); Pad=nu
公共静态无效打印管道(管道p){
List elements=p.getElements();
if(elements.size()>0){
迭代器elemiter=elements.Iterator();
元素e=null;
while(elemiter.hasNext()){
e=(Element)elemiter.next();
List pads=e.getPads();
如果(pads.size()>0){
迭代器paditer=pads.Iterator();
Pad=null;
while(paditer.hasNext()){
pad=(pad)paditer.next();
System.out.print(e+“”+pad.getDirection());
System.out.println(“\t”+pad.getCaps());
}
}
}
}
}
p.getElements()
在上面的代码中给了我:
线程“main”java.lang中出现异常。错误:内存访问无效
我确认这是gstreamer绑定中的一个bug。我于年月日在gstreamer java上提交了它
public static void printPipeline(Pipeline p) {
List<Element> elements = p.getElements();
if (elements.size() > 0) {
Iterator<Element> elemiter = elements.iterator();
Element e = null;
while (elemiter.hasNext()) {
e = (Element) elemiter.next();
List<Pad> pads = e.getPads();
if (pads.size() > 0) {
Iterator<Pad> paditer = pads.iterator();
Pad pad = null;
while (paditer.hasNext()) {
pad = (Pad) paditer.next();
System.out.print(e + " " + pad.getDirection());
System.out.println("\t" + pad.getCaps());
}
}
}
}
}