从 gstreamer 元素获取焊盘会在 gstreamer-java for 1.x 上出错
Getting pads from gstreamer element gives error on gstreamer-java for 1.x
我正在尝试 运行 java 来自 https://opencast.jira.com/secure/attachment/10077/MultipleSinks.java with gstreamer-java 1.x
的代码
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());
}
}
}
}
}
上面代码中的 p.getElements()
给我:
Exception in thread "main" java.lang.Error: Invalid memory access
我确认这是 gstreamer 绑定中的错误。我在 https://github.com/gstreamer-java/gst1-java-core/issues.
上的 gstreamer-java 上提交了它
我正在尝试 运行 java 来自 https://opencast.jira.com/secure/attachment/10077/MultipleSinks.java with gstreamer-java 1.x
的代码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());
}
}
}
}
}
上面代码中的 p.getElements()
给我:
Exception in thread "main" java.lang.Error: Invalid memory access
我确认这是 gstreamer 绑定中的错误。我在 https://github.com/gstreamer-java/gst1-java-core/issues.
上的 gstreamer-java 上提交了它