sannies / isoviewer

GUI application to have closer look ISO 14496-12 and other MP4 files.
Apache License 2.0
230 stars 54 forks source link

Problem opening file with avcC box #7

Closed komar007 closed 8 years ago

komar007 commented 8 years ago

Hi, I noticed a problem in isoviewer-1.8 which did not occur in 1.0.7. The problem occurs when I try to open a file which contains an avcC box. I suppose that the particular contents of this box is what causes the issue, because removing it entirely fixes the problem. Exception is thrown and the window shows no data.

Link to the file: http://space.komar.be/out_001.mp4

Stack trace:

Exception in thread "JavaFX Application Thread" java.nio.BufferUnderflowException
    at java.nio.ByteBuffer.get(ByteBuffer.java:688)
    at java.nio.DirectByteBuffer.get(DirectByteBuffer.java:285)
    at java.nio.ByteBuffer.get(ByteBuffer.java:715)
    at com.github.sannies.isoviewer.AvcNalWrapper.<init>(AvcNalWrapper.java:44)
    at com.github.sannies.isoviewer.IsoViewerFx$AvcSampleRenderCallback$1.updateItem(IsoViewerFx.java:289)
    at com.github.sannies.isoviewer.IsoViewerFx$AvcSampleRenderCallback$1.updateItem(IsoViewerFx.java:275)
    at javafx.scene.control.ListCell.updateItem(ListCell.java:471)
    at javafx.scene.control.ListCell.indexChanged(ListCell.java:330)
    at javafx.scene.control.IndexedCell.updateIndex(IndexedCell.java:116)
    at com.sun.javafx.scene.control.skin.VirtualFlow.setCellIndex(VirtualFlow.java:1950)
    at com.sun.javafx.scene.control.skin.VirtualFlow.getCell(VirtualFlow.java:1790)
    at com.sun.javafx.scene.control.skin.VirtualFlow.getCellLength(VirtualFlow.java:1872)
    at com.sun.javafx.scene.control.skin.VirtualFlow.computeViewportOffset(VirtualFlow.java:2511)
    at com.sun.javafx.scene.control.skin.VirtualFlow.layoutChildren(VirtualFlow.java:1189)
    at javafx.scene.Parent.layout(Parent.java:1076)
    at javafx.scene.Parent.layout(Parent.java:1082)
    at javafx.scene.Parent.layout(Parent.java:1082)
    at javafx.scene.Parent.layout(Parent.java:1082)
    at javafx.scene.Parent.layout(Parent.java:1082)
    at javafx.scene.Parent.layout(Parent.java:1082)
    at javafx.scene.Parent.layout(Parent.java:1082)
    at javafx.scene.Scene.doLayoutPass(Scene.java:552)
    at javafx.scene.Scene$ScenePulseListener.pulse(Scene.java:2397)
    at com.sun.javafx.tk.Toolkit.lambda$runPulse$30(Toolkit.java:314)
    at com.sun.javafx.tk.Toolkit$$Lambda$150/799809800.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at com.sun.javafx.tk.Toolkit.runPulse(Toolkit.java:313)
    at com.sun.javafx.tk.Toolkit.firePulse(Toolkit.java:340)
    at com.sun.javafx.tk.quantum.QuantumToolkit.pulse(QuantumToolkit.java:525)
    at com.sun.javafx.tk.quantum.QuantumToolkit.pulse(QuantumToolkit.java:505)
    at com.sun.javafx.tk.quantum.QuantumToolkit.lambda$runToolkit$400(QuantumToolkit.java:334)
    at com.sun.javafx.tk.quantum.QuantumToolkit$$Lambda$46/909855765.run(Unknown Source)
    at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:95)
    at com.sun.glass.ui.gtk.GtkApplication._runLoop(Native Method)
    at com.sun.glass.ui.gtk.GtkApplication.lambda$null$48(GtkApplication.java:139)
    at com.sun.glass.ui.gtk.GtkApplication$$Lambda$42/1364335809.run(Unknown Source)
    at java.lang.Thread.run(Thread.java:745)

This is how version 1.0.7 presented the same file:

2015-09-25-153542_1598x732_scrot

2015-09-25-153716_1598x732_scrot

sannies commented 8 years ago

It was already fixed, I noticed the problem a few days ago but didn't do a release. Please download 1.9.

Thanks for using the software and taking the time to report a bug.

Best Regards, Sebastian

2015-09-25 15:37 GMT+02:00 Michal Trybus notifications@github.com:

Hi, I noticed a problem in isoviewer-1.8 which did not occur in 1.0.7. The problem occurs when I try to open a file which contains an avcC box. I suppose that the particular contents of this box is what causes the issue, because removing it entirely fixes the problem. Exception is thrown and the window shows no data.

Link to the file: http://space.komar.be/out_001.mp4

Stack trace:

Exception in thread "JavaFX Application Thread" java.nio.BufferUnderflowException at java.nio.ByteBuffer.get(ByteBuffer.java:688) at java.nio.DirectByteBuffer.get(DirectByteBuffer.java:285) at java.nio.ByteBuffer.get(ByteBuffer.java:715) at com.github.sannies.isoviewer.AvcNalWrapper.(AvcNalWrapper.java:44) at com.github.sannies.isoviewer.IsoViewerFx$AvcSampleRenderCallback$1.updateItem(IsoViewerFx.java:289) at com.github.sannies.isoviewer.IsoViewerFx$AvcSampleRenderCallback$1.updateItem(IsoViewerFx.java:275) at javafx.scene.control.ListCell.updateItem(ListCell.java:471) at javafx.scene.control.ListCell.indexChanged(ListCell.java:330) at javafx.scene.control.IndexedCell.updateIndex(IndexedCell.java:116) at com.sun.javafx.scene.control.skin.VirtualFlow.setCellIndex(VirtualFlow.java:1950) at com.sun.javafx.scene.control.skin.VirtualFlow.getCell(VirtualFlow.java:1790) at com.sun.javafx.scene.control.skin.VirtualFlow.getCellLength(VirtualFlow.java:1872) at com.sun.javafx.scene.control.skin.VirtualFlow.computeViewportOffset(VirtualFlow.java:2511) at com.sun.javafx.scene.control.skin.VirtualFlow.layoutChildren(VirtualFlow.java:1189) at javafx.scene.Parent.layout(Parent.java:1076) at javafx.scene.Parent.layout(Parent.java:1082) at javafx.scene.Parent.layout(Parent.java:1082) at javafx.scene.Parent.layout(Parent.java:1082) at javafx.scene.Parent.layout(Parent.java:1082) at javafx.scene.Parent.layout(Parent.java:1082) at javafx.scene.Parent.layout(Parent.java:1082) at javafx.scene.Scene.doLayoutPass(Scene.java:552) at javafx.scene.Scene$ScenePulseListener.pulse(Scene.java:2397) at com.sun.javafx.tk.Toolkit.lambda$runPulse$30(Toolkit.java:314) at com.sun.javafx.tk.Toolkit$$Lambda$150/799809800.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at com.sun.javafx.tk.Toolkit.runPulse(Toolkit.java:313) at com.sun.javafx.tk.Toolkit.firePulse(Toolkit.java:340) at com.sun.javafx.tk.quantum.QuantumToolkit.pulse(QuantumToolkit.java:525) at com.sun.javafx.tk.quantum.QuantumToolkit.pulse(QuantumToolkit.java:505) at com.sun.javafx.tk.quantum.QuantumToolkit.lambda$runToolkit$400(QuantumToolkit.java:334) at com.sun.javafx.tk.quantum.QuantumToolkit$$Lambda$46/909855765.run(Unknown Source) at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:95) at com.sun.glass.ui.gtk.GtkApplication._runLoop(Native Method) at com.sun.glass.ui.gtk.GtkApplication.lambda$null$48(GtkApplication.java:139) at com.sun.glass.ui.gtk.GtkApplication$$Lambda$42/1364335809.run(Unknown Source) at java.lang.Thread.run(Thread.java:745)

This is how version 1.0.7 presented the same file:

[image: 2015-09-25-153542_1598x732_scrot] https://cloud.githubusercontent.com/assets/108297/10101800/2851cfee-639b-11e5-99f0-5efa4d86f2c9.png

[image: 2015-09-25-153716_1598x732_scrot] https://cloud.githubusercontent.com/assets/108297/10101830/570a7cbe-639b-11e5-888a-250794a68ec3.png

— Reply to this email directly or view it on GitHub https://github.com/sannies/isoviewer/issues/7.

komar007 commented 8 years ago

Thanks for quick reaction. 1.9 works as expected.

Best Regards, Michał