Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

vp8+vorbis file can not be played #1090

Closed
seu070507 opened this issue Dec 25, 2015 · 10 comments
Closed

vp8+vorbis file can not be played #1090

seu070507 opened this issue Dec 25, 2015 · 10 comments

Comments

@seu070507
Copy link

vp8+vorbis.mkv.zip
I have a test stream which contains vp8 video and vorbis audio.
when playing with exoplayer, I find it can not play successfully with video and audio tracks all on.
playwhenready=true,playbackstate=idle

But, if I turn off the video track, audio can be playback good.
Is it a bug of exoplayer to dealing with VP8 video codec?

notes: my device is HUAWEI G750-T01 android 4.2.2(API 17)
Can anybody give some idea to my problem? Thanks for replay

@seu070507
Copy link
Author

there are serval error log come:

  1. com.google.android.exoplayer.ExoPlaybackException: java.lang.IllegalStateException: Buffer too small (65536 < 121807)
  2. [OMX.MTK.VIDEO.DECODER.VPX] saw error -1011 instead of an input buffer
    but I don't know what is the real reason cause unable playing, can anybody give some help?

below is the whole output log:

12-31 11:52:30.690 12320-12320/com.google.android.exoplayer.demo D/Surface: [0x5cbe3790] ~Surface() +
12-31 11:52:30.690 12320-12320/com.google.android.exoplayer.demo D/Surface: [0x5cbe3790] ~Surface() -
12-31 11:52:30.811 12320-12320/com.google.android.exoplayer.demo D/Surface: [0x5e461c00] ~Surface() +
12-31 11:52:30.811 12320-12320/com.google.android.exoplayer.demo D/Surface: [0x5e461c00] ~Surface() -
12-31 11:52:30.900 12320-12320/com.google.android.exoplayer.demo E/dalvikvm: Could not find class 'android.view.accessibility.CaptioningManager', referenced from method com.google.android.exoplayer.demo.PlayerActivity.getUserCaptionFontScaleV19
12-31 11:52:30.900 12320-12320/com.google.android.exoplayer.demo W/dalvikvm: VFY: unable to resolve check-cast 111 (Landroid/view/accessibility/CaptioningManager;) in Lcom/google/android/exoplayer/demo/PlayerActivity;
12-31 11:52:30.900 12320-12320/com.google.android.exoplayer.demo D/dalvikvm: VFY: replacing opcode 0x1f at 0x0006
12-31 11:52:30.902 12320-12320/com.google.android.exoplayer.demo E/dalvikvm: Could not find class 'android.view.accessibility.CaptioningManager', referenced from method com.google.android.exoplayer.demo.PlayerActivity.getUserCaptionStyleV19
12-31 11:52:30.902 12320-12320/com.google.android.exoplayer.demo W/dalvikvm: VFY: unable to resolve check-cast 111 (Landroid/view/accessibility/CaptioningManager;) in Lcom/google/android/exoplayer/demo/PlayerActivity;
12-31 11:52:30.902 12320-12320/com.google.android.exoplayer.demo D/dalvikvm: VFY: replacing opcode 0x1f at 0x0006
12-31 11:52:30.903 12320-12320/com.google.android.exoplayer.demo I/dalvikvm: Could not find method com.google.android.exoplayer.demo.PlayerActivity.requestPermissions, referenced from method com.google.android.exoplayer.demo.PlayerActivity.maybeRequestPermission
12-31 11:52:30.903 12320-12320/com.google.android.exoplayer.demo W/dalvikvm: VFY: unable to resolve virtual method 1432: Lcom/google/android/exoplayer/demo/PlayerActivity;.requestPermissions ([Ljava/lang/String;I)V
12-31 11:52:30.903 12320-12320/com.google.android.exoplayer.demo D/dalvikvm: VFY: replacing opcode 0x6e at 0x0010
12-31 11:52:30.951 12320-12320/com.google.android.exoplayer.demo I/dalvikvm: Could not find method com.google.android.exoplayer.demo.PlayerActivity.checkSelfPermission, referenced from method com.google.android.exoplayer.demo.PlayerActivity.requiresPermission
12-31 11:52:30.952 12320-12320/com.google.android.exoplayer.demo W/dalvikvm: VFY: unable to resolve virtual method 1399: Lcom/google/android/exoplayer/demo/PlayerActivity;.checkSelfPermission (Ljava/lang/String;)I
12-31 11:52:30.952 12320-12320/com.google.android.exoplayer.demo D/dalvikvm: VFY: replacing opcode 0x6e at 0x000e
12-31 11:52:30.989 12320-12320/com.google.android.exoplayer.demo D/SurfaceView: checkGLSurfaceViewlLogProperty get invalid command
12-31 11:52:31.004 12320-12320/com.google.android.exoplayer.demo W/dalvikvm: VFY: unable to resolve instance field 43
12-31 11:52:31.005 12320-12320/com.google.android.exoplayer.demo D/dalvikvm: VFY: replacing opcode 0x52 at 0x0002
12-31 11:52:31.007 12320-12320/com.google.android.exoplayer.demo I/dalvikvm: Could not find method android.view.accessibility.CaptioningManager$CaptionStyle.hasForegroundColor, referenced from method com.google.android.exoplayer.text.CaptionStyleCompat.createFromCaptionStyleV21
12-31 11:52:31.007 12320-12320/com.google.android.exoplayer.demo W/dalvikvm: VFY: unable to resolve virtual method 290: Landroid/view/accessibility/CaptioningManager$CaptionStyle;.hasForegroundColor ()Z
12-31 11:52:31.007 12320-12320/com.google.android.exoplayer.demo D/dalvikvm: VFY: replacing opcode 0x6e at 0x0002
12-31 11:52:31.009 12320-12320/com.google.android.exoplayer.demo I/dalvikvm: DexOpt: unable to optimize instance field ref 0x0028 at 0x04 in Lcom/google/android/exoplayer/text/CaptionStyleCompat;.createFromCaptionStyleV19
12-31 11:52:31.010 12320-12320/com.google.android.exoplayer.demo I/dalvikvm: DexOpt: unable to optimize instance field ref 0x002a at 0x07 in Lcom/google/android/exoplayer/text/CaptionStyleCompat;.createFromCaptionStyleV19
12-31 11:52:31.012 12320-12320/com.google.android.exoplayer.demo I/dalvikvm: DexOpt: unable to optimize instance field ref 0x0029 at 0x09 in Lcom/google/android/exoplayer/text/CaptionStyleCompat;.createFromCaptionStyleV19
12-31 11:52:31.016 12320-12320/com.google.android.exoplayer.demo I/dalvikvm: DexOpt: unable to optimize instance field ref 0x002b at 0x08 in Lcom/google/android/exoplayer/text/CaptionStyleCompat;.createFromCaptionStyleV21
12-31 11:52:31.017 12320-12320/com.google.android.exoplayer.demo I/dalvikvm: DexOpt: unable to optimize instance field ref 0x0028 at 0x10 in Lcom/google/android/exoplayer/text/CaptionStyleCompat;.createFromCaptionStyleV21
12-31 11:52:31.019 12320-12320/com.google.android.exoplayer.demo I/dalvikvm: DexOpt: unable to optimize instance field ref 0x002c at 0x18 in Lcom/google/android/exoplayer/text/CaptionStyleCompat;.createFromCaptionStyleV21
12-31 11:52:31.020 12320-12320/com.google.android.exoplayer.demo I/dalvikvm: DexOpt: unable to optimize instance field ref 0x002a at 0x20 in Lcom/google/android/exoplayer/text/CaptionStyleCompat;.createFromCaptionStyleV21
12-31 11:52:31.022 12320-12320/com.google.android.exoplayer.demo I/dalvikvm: DexOpt: unable to optimize instance field ref 0x0029 at 0x28 in Lcom/google/android/exoplayer/text/CaptionStyleCompat;.createFromCaptionStyleV21
12-31 11:52:31.294 12320-12320/com.google.android.exoplayer.demo I/ExoPlayerImpl: Init 1.5.3
12-31 11:52:31.296 12320-12320/com.google.android.exoplayer.demo D/dalvikvm: create interp thread : stack size=128KB
12-31 11:52:31.296 12320-12320/com.google.android.exoplayer.demo D/dalvikvm: create new thread
12-31 11:52:31.297 12320-12320/com.google.android.exoplayer.demo D/dalvikvm: new thread created
12-31 11:52:31.297 12320-12320/com.google.android.exoplayer.demo D/dalvikvm: update thread list
12-31 11:52:31.297 12320-13403/com.google.android.exoplayer.demo D/dalvikvm: threadid=11: interp stack at 0x5dc13000
12-31 11:52:31.297 12320-13403/com.google.android.exoplayer.demo D/dalvikvm: threadid=11: created from interp
12-31 11:52:31.297 12320-12320/com.google.android.exoplayer.demo D/dalvikvm: start new thread
12-31 11:52:31.297 12320-13403/com.google.android.exoplayer.demo D/dalvikvm: threadid=11: notify debugger
12-31 11:52:31.297 12320-13403/com.google.android.exoplayer.demo D/dalvikvm: threadid=11 (ExoPlayerImplInternal:Handler): calling run()
12-31 11:52:31.303 12320-12326/com.google.android.exoplayer.demo D/jdwp:     --> RUNNING, SUSPENDED
12-31 11:52:37.143 12320-12326/com.google.android.exoplayer.demo D/jdwp:     --> RUNNING, SUSPENDED
12-31 11:52:47.051 12320-12326/com.google.android.exoplayer.demo D/jdwp:     --> RUNNING, SUSPENDED
12-31 11:52:53.379 12320-12326/com.google.android.exoplayer.demo D/jdwp:     --> RUNNING, SUSPENDED
12-31 11:52:55.735 12320-12326/com.google.android.exoplayer.demo D/jdwp:     --> RUNNING, SUSPENDED
12-31 11:53:00.920 12320-12320/com.google.android.exoplayer.demo D/EventLogger: start [0]
12-31 11:53:00.924 12320-12326/com.google.android.exoplayer.demo D/jdwp:     --> RUNNING, SUSPENDED
12-31 11:53:02.853 12320-12326/com.google.android.exoplayer.demo D/jdwp:     --> RUNNING, SUSPENDED
12-31 11:53:09.775 12320-12320/com.google.android.exoplayer.demo D/EventLogger: state [8.85, false, P]
12-31 11:53:09.857 12320-12320/com.google.android.exoplayer.demo D/dalvikvm: GC_FOR_ALLOC freed 1042K (10466), 32% free 5040K/7340K, paused 34ms, total 43ms
12-31 11:53:09.901 12320-12320/com.google.android.exoplayer.demo I/dalvikvm: Could not find method android.media.MediaCodec.releaseOutputBuffer, referenced from method com.google.android.exoplayer.MediaCodecVideoTrackRenderer.renderOutputBufferV21
12-31 11:53:09.901 12320-12320/com.google.android.exoplayer.demo W/dalvikvm: VFY: unable to resolve virtual method 86: Landroid/media/MediaCodec;.releaseOutputBuffer (IJ)V
12-31 11:53:09.902 12320-12320/com.google.android.exoplayer.demo D/dalvikvm: VFY: replacing opcode 0x6e at 0x0008
12-31 11:53:09.913 12320-12320/com.google.android.exoplayer.demo E/dalvikvm: Could not find class 'android.media.PlaybackParams', referenced from method com.google.android.exoplayer.MediaCodecAudioTrackRenderer.handleMessage
12-31 11:53:09.913 12320-12320/com.google.android.exoplayer.demo W/dalvikvm: VFY: unable to resolve check-cast 51 (Landroid/media/PlaybackParams;) in Lcom/google/android/exoplayer/MediaCodecAudioTrackRenderer;
12-31 11:53:09.913 12320-12320/com.google.android.exoplayer.demo D/dalvikvm: VFY: replacing opcode 0x1f at 0x0015
12-31 11:53:09.924 12320-12320/com.google.android.exoplayer.demo I/dalvikvm: Could not find method android.media.AudioTrack.setVolume, referenced from method com.google.android.exoplayer.audio.AudioTrack.setAudioTrackVolumeV21
12-31 11:53:09.924 12320-12320/com.google.android.exoplayer.demo W/dalvikvm: VFY: unable to resolve virtual method 67: Landroid/media/AudioTrack;.setVolume (F)I
12-31 11:53:09.924 12320-12320/com.google.android.exoplayer.demo D/dalvikvm: VFY: replacing opcode 0x6e at 0x0000
12-31 11:53:09.925 12320-12320/com.google.android.exoplayer.demo I/dalvikvm: Could not find method android.media.AudioTrack.write, referenced from method com.google.android.exoplayer.audio.AudioTrack.writeNonBlockingV21
12-31 11:53:09.925 12320-12320/com.google.android.exoplayer.demo W/dalvikvm: VFY: unable to resolve virtual method 69: Landroid/media/AudioTrack;.write (Ljava/nio/ByteBuffer;II)I
12-31 11:53:09.925 12320-12320/com.google.android.exoplayer.demo D/dalvikvm: VFY: replacing opcode 0x6e at 0x0001
12-31 11:53:09.930 12320-12320/com.google.android.exoplayer.demo W/dalvikvm: VFY: unable to find class referenced in signature (Landroid/media/PlaybackParams;)
12-31 11:53:09.932 12320-12320/com.google.android.exoplayer.demo W/dalvikvm: VFY: unable to find class referenced in signature (Landroid/media/PlaybackParams;)
12-31 11:53:09.952 12320-13403/com.google.android.exoplayer.demo D/dalvikvm: create interp thread : stack size=128KB
12-31 11:53:09.952 12320-13403/com.google.android.exoplayer.demo D/dalvikvm: create new thread
12-31 11:53:09.953 12320-13403/com.google.android.exoplayer.demo D/dalvikvm: new thread created
12-31 11:53:09.953 12320-13403/com.google.android.exoplayer.demo D/dalvikvm: update thread list
12-31 11:53:09.954 12320-12320/com.google.android.exoplayer.demo D/EventLogger: state [9.03, true, P]
12-31 11:53:09.958 12320-13834/com.google.android.exoplayer.demo D/dalvikvm: threadid=12: interp stack at 0x5dd33000
12-31 11:53:09.958 12320-13834/com.google.android.exoplayer.demo D/dalvikvm: threadid=12: created from interp
12-31 11:53:09.958 12320-13403/com.google.android.exoplayer.demo D/dalvikvm: start new thread
12-31 11:53:09.960 12320-13834/com.google.android.exoplayer.demo D/dalvikvm: threadid=12: notify debugger
12-31 11:53:09.961 12320-13834/com.google.android.exoplayer.demo D/dalvikvm: threadid=12 (Loader:ExtractorSampleSource): calling run()
12-31 11:53:09.962 12320-13834/com.google.android.exoplayer.demo I/dalvikvm: Could not find method android.os.Trace.beginSection, referenced from method com.google.android.exoplayer.util.TraceUtil.beginSectionV18
12-31 11:53:09.962 12320-13834/com.google.android.exoplayer.demo W/dalvikvm: VFY: unable to resolve static method 185: Landroid/os/Trace;.beginSection (Ljava/lang/String;)V
12-31 11:53:09.962 12320-13834/com.google.android.exoplayer.demo D/dalvikvm: VFY: replacing opcode 0x71 at 0x0000
12-31 11:53:09.963 12320-13834/com.google.android.exoplayer.demo I/dalvikvm: Could not find method android.os.Trace.endSection, referenced from method com.google.android.exoplayer.util.TraceUtil.endSectionV18
12-31 11:53:09.963 12320-13834/com.google.android.exoplayer.demo W/dalvikvm: VFY: unable to resolve static method 186: Landroid/os/Trace;.endSection ()V
12-31 11:53:09.963 12320-13834/com.google.android.exoplayer.demo D/dalvikvm: VFY: replacing opcode 0x71 at 0x0000
12-31 11:53:09.975 12320-13834/com.google.android.exoplayer.demo D/ActivityThread: hoder:android.app.IActivityManager$ContentProviderHolder@41ea5070,provider,holder.Provider:android.content.ContentProviderProxy@41ed2028
12-31 11:53:10.007 12320-12320/com.google.android.exoplayer.demo I/Choreographer: Skipped 2361 frames!  The application may be doing too much work on its main thread.
12-31 11:53:10.093 12320-12320/com.google.android.exoplayer.demo D/Surface: [0x5e488c90] ~Surface() +
12-31 11:53:10.094 12320-12320/com.google.android.exoplayer.demo D/Surface: [0x5e488c90] ~Surface() -
12-31 11:53:10.098 12320-12320/com.google.android.exoplayer.demo I/SurfaceView: updateWindow -- setFrame
12-31 11:53:10.111 12320-12320/com.google.android.exoplayer.demo I/SurfaceView: updateWindow -- OnPreDrawListener, mHaveFrame = true
12-31 11:53:10.115 12320-12320/com.google.android.exoplayer.demo I/SurfaceView: Changes: creating=true format=true size=true visible=false left=true top=true mUpdateWindowNeeded=false mReportDrawNeeded=false redrawNeeded=false forceSizeChanged=true mVisible=false mRequestedVisible=false
12-31 11:53:10.126 12320-12320/com.google.android.exoplayer.demo I/SurfaceView: Cur surface: Surface(name=null, identity=-1)
12-31 11:53:10.139 12320-12320/com.google.android.exoplayer.demo D/Surface: [0x5e488a10] ~Surface() +
12-31 11:53:10.139 12320-12320/com.google.android.exoplayer.demo D/Surface: [0x5e488a10] ~Surface() -
12-31 11:53:10.142 12320-12320/com.google.android.exoplayer.demo I/SurfaceView: New surface: Surface(name=null, identity=-1), vis=false, frame=Rect(0, 50 - 720, 1280)
12-31 11:53:10.143 12320-12320/com.google.android.exoplayer.demo I/SurfaceView: finishedDrawing
12-31 11:53:10.163 12320-13403/com.google.android.exoplayer.demo D/dalvikvm: threadid=11: exiting
12-31 11:53:10.165 12320-12320/com.google.android.exoplayer.demo D/EventLogger: end [9.24]
12-31 11:53:10.165 12320-13403/com.google.android.exoplayer.demo D/dalvikvm: threadid=11: bye!
12-31 11:53:10.169 12320-12320/com.google.android.exoplayer.demo D/OpenGLRenderer: Flushing caches (mode 1)
12-31 11:53:10.203 12320-13834/com.google.android.exoplayer.demo W/MessageQueue: Handler (com.google.android.exoplayer.upstream.Loader$LoadTask) {41eb1048} sending message to a Handler on a dead thread
12-31 11:53:10.203 12320-13834/com.google.android.exoplayer.demo W/MessageQueue: java.lang.RuntimeException: Handler (com.google.android.exoplayer.upstream.Loader$LoadTask) {41eb1048} sending message to a Handler on a dead thread
12-31 11:53:10.203 12320-13834/com.google.android.exoplayer.demo W/MessageQueue:     at android.os.MessageQueue.enqueueMessage(MessageQueue.java:297)
12-31 11:53:10.203 12320-13834/com.google.android.exoplayer.demo W/MessageQueue:     at android.os.Handler.enqueueMessage(Handler.java:693)
12-31 11:53:10.203 12320-13834/com.google.android.exoplayer.demo W/MessageQueue:     at android.os.Handler.sendMessageAtTime(Handler.java:595)
12-31 11:53:10.203 12320-13834/com.google.android.exoplayer.demo W/MessageQueue:     at android.os.Handler.sendMessageDelayed(Handler.java:566)
12-31 11:53:10.203 12320-13834/com.google.android.exoplayer.demo W/MessageQueue:     at android.os.Handler.sendEmptyMessageDelayed(Handler.java:530)
12-31 11:53:10.203 12320-13834/com.google.android.exoplayer.demo W/MessageQueue:     at android.os.Handler.sendEmptyMessage(Handler.java:515)
12-31 11:53:10.203 12320-13834/com.google.android.exoplayer.demo W/MessageQueue:     at com.google.android.exoplayer.upstream.Loader$LoadTask.run(Loader.java:218)
12-31 11:53:10.203 12320-13834/com.google.android.exoplayer.demo W/MessageQueue:     at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:390)
12-31 11:53:10.203 12320-13834/com.google.android.exoplayer.demo W/MessageQueue:     at java.util.concurrent.FutureTask.run(FutureTask.java:234)
12-31 11:53:10.203 12320-13834/com.google.android.exoplayer.demo W/MessageQueue:     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080)
12-31 11:53:10.203 12320-13834/com.google.android.exoplayer.demo W/MessageQueue:     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573)
12-31 11:53:10.203 12320-13834/com.google.android.exoplayer.demo W/MessageQueue:     at java.lang.Thread.run(Thread.java:838)
12-31 11:53:10.206 12320-13834/com.google.android.exoplayer.demo D/dalvikvm: threadid=12: exiting
12-31 11:53:10.208 12320-13834/com.google.android.exoplayer.demo D/dalvikvm: threadid=12: bye!
12-31 11:53:10.214 12320-12320/com.google.android.exoplayer.demo D/Surface: [0x5e47ac78] ~Surface() +
12-31 11:53:10.214 12320-12320/com.google.android.exoplayer.demo D/Surface: [0x5e47ac78] ~Surface() -
12-31 11:53:10.215 12320-12320/com.google.android.exoplayer.demo I/SurfaceView: updateWindow -- OnPreDrawListener, mHaveFrame = true
12-31 11:53:10.222 12320-12320/com.google.android.exoplayer.demo D/Surface: [0x5e47ac78] ~Surface() +
12-31 11:53:10.222 12320-12320/com.google.android.exoplayer.demo D/Surface: [0x5e47ac78] ~Surface() -
12-31 11:53:16.102 12320-12320/com.google.android.exoplayer.demo I/SurfaceView: updateWindow -- OnPreDrawListener, mHaveFrame = true
12-31 11:53:18.012 12320-14040/com.google.android.exoplayer.demo D/dalvikvm: threadid=11: interp stack at 0x5dd13000
12-31 11:53:18.022 12320-12320/com.google.android.exoplayer.demo I/SurfaceView: updateWindow -- onWindowVisibilityChanged, visibility = 4
12-31 11:53:18.030 12320-12320/com.google.android.exoplayer.demo D/Surface: [0x5e45e4f0] ~Surface() +
12-31 11:53:18.030 12320-12320/com.google.android.exoplayer.demo D/Surface: [0x5e45e4f0] ~Surface() -
12-31 11:53:18.031 12320-12320/com.google.android.exoplayer.demo I/SurfaceView: updateWindow -- OnPreDrawListener, mHaveFrame = true
12-31 11:53:18.037 12320-12320/com.google.android.exoplayer.demo I/ExoPlayerImpl: Init 1.5.3
12-31 11:53:18.037 12320-12320/com.google.android.exoplayer.demo D/dalvikvm: create interp thread : stack size=128KB
12-31 11:53:18.037 12320-12320/com.google.android.exoplayer.demo D/dalvikvm: create new thread
12-31 11:53:18.037 12320-12320/com.google.android.exoplayer.demo D/dalvikvm: new thread created
12-31 11:53:18.037 12320-12320/com.google.android.exoplayer.demo D/dalvikvm: update thread list
12-31 11:53:18.037 12320-14042/com.google.android.exoplayer.demo D/dalvikvm: threadid=12: interp stack at 0x5dd33000
12-31 11:53:18.037 12320-14042/com.google.android.exoplayer.demo D/dalvikvm: threadid=12: created from interp
12-31 11:53:18.037 12320-12320/com.google.android.exoplayer.demo D/dalvikvm: start new thread
12-31 11:53:18.037 12320-14042/com.google.android.exoplayer.demo D/dalvikvm: threadid=12: notify debugger
12-31 11:53:18.038 12320-14042/com.google.android.exoplayer.demo D/dalvikvm: threadid=12 (ExoPlayerImplInternal:Handler): calling run()
12-31 11:53:18.048 12320-12326/com.google.android.exoplayer.demo D/jdwp:     --> RUNNING, SUSPENDED
12-31 11:53:21.566 12320-12326/com.google.android.exoplayer.demo D/jdwp:     --> RUNNING, SUSPENDED
12-31 11:53:28.002 12320-12320/com.google.android.exoplayer.demo D/EventLogger: start [0]
12-31 11:53:28.008 12320-12326/com.google.android.exoplayer.demo D/jdwp:     --> RUNNING, SUSPENDED
12-31 11:53:30.381 12320-12326/com.google.android.exoplayer.demo D/jdwp:     --> RUNNING, SUSPENDED
12-31 11:53:33.306 12320-12320/com.google.android.exoplayer.demo D/EventLogger: state [5.30, false, P]
12-31 11:53:33.312 12320-14042/com.google.android.exoplayer.demo D/dalvikvm: create interp thread : stack size=128KB
12-31 11:53:33.312 12320-14042/com.google.android.exoplayer.demo D/dalvikvm: create new thread
12-31 11:53:33.313 12320-14042/com.google.android.exoplayer.demo D/dalvikvm: new thread created
12-31 11:53:33.313 12320-14747/com.google.android.exoplayer.demo D/dalvikvm: threadid=13: interp stack at 0x5de53000
12-31 11:53:33.313 12320-14747/com.google.android.exoplayer.demo D/dalvikvm: threadid=13: created from interp
12-31 11:53:33.313 12320-14042/com.google.android.exoplayer.demo D/dalvikvm: update thread list
12-31 11:53:33.313 12320-14042/com.google.android.exoplayer.demo D/dalvikvm: start new thread
12-31 11:53:33.313 12320-14747/com.google.android.exoplayer.demo D/dalvikvm: threadid=13: notify debugger
12-31 11:53:33.314 12320-14747/com.google.android.exoplayer.demo D/dalvikvm: threadid=13 (Loader:ExtractorSampleSource): calling run()
12-31 11:53:33.320 12320-12320/com.google.android.exoplayer.demo D/EventLogger: state [5.32, true, P]
12-31 11:53:33.331 12320-12320/com.google.android.exoplayer.demo I/Choreographer: Skipped 920 frames!  The application may be doing too much work on its main thread.
12-31 11:53:33.336 12320-12320/com.google.android.exoplayer.demo I/SurfaceView: updateWindow -- onWindowVisibilityChanged, visibility = 0
12-31 11:53:33.339 12320-12320/com.google.android.exoplayer.demo I/SurfaceView: Changes: creating=false format=false size=false visible=true left=false top=false mUpdateWindowNeeded=false mReportDrawNeeded=false redrawNeeded=false forceSizeChanged=false mVisible=false mRequestedVisible=true
12-31 11:53:33.341 12320-12320/com.google.android.exoplayer.demo I/SurfaceView: Cur surface: Surface(name=null, identity=-1)
12-31 11:53:33.364 12320-12320/com.google.android.exoplayer.demo I/SurfaceView: New surface: Surface(name=null, identity=2125), vis=true, frame=Rect(0, 50 - 720, 1280)
12-31 11:53:33.365 12320-12320/com.google.android.exoplayer.demo I/SurfaceView: Callback --> surfaceCreated
12-31 11:53:33.365 12320-12320/com.google.android.exoplayer.demo I/SurfaceView: surfaceCreated callback +
12-31 11:53:33.365 12320-12320/com.google.android.exoplayer.demo I/SurfaceView: surfaceCreated callback -
12-31 11:53:33.369 12320-12320/com.google.android.exoplayer.demo I/SurfaceView: surfaceChanged -- format=4 w=720 h=1230
12-31 11:53:33.369 12320-12320/com.google.android.exoplayer.demo I/SurfaceView: surfaceChanged callback +
12-31 11:53:33.369 12320-12320/com.google.android.exoplayer.demo I/SurfaceView: surfaceChanged callback -
12-31 11:53:33.396 12320-12320/com.google.android.exoplayer.demo D/GraphicBuffer: create handle(0x5aa21610) (w:720, h:1280, f:1)
12-31 11:53:33.398 12320-12320/com.google.android.exoplayer.demo D/GraphicBuffer: close handle(0x5aa21610) (w:720 h:1280 f:1)
12-31 11:53:33.401 12320-12320/com.google.android.exoplayer.demo D/GraphicBuffer: create handle(0x5aa21610) (w:720, h:1280, f:1)
12-31 11:53:33.404 12320-12320/com.google.android.exoplayer.demo I/SurfaceView: updateWindow -- OnPreDrawListener, mHaveFrame = true
12-31 11:53:33.406 12320-12320/com.google.android.exoplayer.demo I/SurfaceView: Changes: creating=false format=false size=false visible=false left=false top=false mUpdateWindowNeeded=true mReportDrawNeeded=true redrawNeeded=false forceSizeChanged=false mVisible=true mRequestedVisible=true
12-31 11:53:33.408 12320-12320/com.google.android.exoplayer.demo I/SurfaceView: Cur surface: Surface(name=null, identity=2125)
12-31 11:53:33.421 12320-12320/com.google.android.exoplayer.demo I/SurfaceView: New surface: Surface(name=null, identity=2125), vis=true, frame=Rect(0, 50 - 720, 1280)
12-31 11:53:33.421 12320-12320/com.google.android.exoplayer.demo I/SurfaceView: surfaceRedrawNeeded
12-31 11:53:33.421 12320-12320/com.google.android.exoplayer.demo I/SurfaceView: finishedDrawing
12-31 11:53:33.453 12320-12320/com.google.android.exoplayer.demo I/View: Touch down dispatch to com.google.android.exoplayer.text.SubtitleLayout{41f070c0 V.ED.... ......ID 0,0-720,1230 #7f070004 app:id/subtitles}, event = MotionEvent { action=ACTION_DOWN, id[0]=0, x[0]=266.0, y[0]=870.0, toolType[0]=TOOL_TYPE_FINGER, buttonState=0, metaState=0, flags=0x1, edgeFlags=0x0, pointerCount=1, historySize=0, eventTime=279877006, downTime=279877006, deviceId=2, source=0x1002 }
12-31 11:53:33.464 12320-12320/com.google.android.exoplayer.demo I/View: Touch down dispatch to android.view.View{41f06b20 V.ED.... ......ID 0,0-720,1230 #7f070003 app:id/shutter}, event = MotionEvent { action=ACTION_DOWN, id[0]=0, x[0]=266.0, y[0]=870.0, toolType[0]=TOOL_TYPE_FINGER, buttonState=0, metaState=0, flags=0x1, edgeFlags=0x0, pointerCount=1, historySize=0, eventTime=279877006, downTime=279877006, deviceId=2, source=0x1002 }
12-31 11:53:33.470 12320-12320/com.google.android.exoplayer.demo I/View: Touch down dispatch to android.view.SurfaceView{41f038f8 V.E..... ......ID 0,0-720,1230 #7f070002 app:id/surface_view}, event = MotionEvent { action=ACTION_DOWN, id[0]=0, x[0]=266.0, y[0]=870.0, toolType[0]=TOOL_TYPE_FINGER, buttonState=0, metaState=0, flags=0x1, edgeFlags=0x0, pointerCount=1, historySize=0, eventTime=279877006, downTime=279877006, deviceId=2, source=0x1002 }
12-31 11:53:33.478 12320-12320/com.google.android.exoplayer.demo I/View: Touch down dispatch to com.google.android.exoplayer.AspectRatioFrameLayout{41f00aa0 V.E..... ......ID 0,0-720,1230 #7f070001 app:id/video_frame}, event = MotionEvent { action=ACTION_DOWN, id[0]=0, x[0]=266.0, y[0]=870.0, toolType[0]=TOOL_TYPE_FINGER, buttonState=0, metaState=0, flags=0x1, edgeFlags=0x0, pointerCount=1, historySize=0, eventTime=279877006, downTime=279877006, deviceId=2, source=0x1002 }
12-31 11:53:33.489 12320-12320/com.google.android.exoplayer.demo I/View: Touch down dispatch to android.widget.FrameLayout{41f00598 VFE..... ......ID 0,0-720,1230 #7f070000 app:id/root}, event = MotionEvent { action=ACTION_DOWN, id[0]=0, x[0]=266.0, y[0]=870.0, toolType[0]=TOOL_TYPE_FINGER, buttonState=0, metaState=0, flags=0x1, edgeFlags=0x0, pointerCount=1, historySize=0, eventTime=279877006, downTime=279877006, deviceId=2, source=0x1002 }
12-31 11:53:33.512 12320-14042/com.google.android.exoplayer.demo I/dalvikvm: Could not find method android.media.MediaCodecInfo$CodecCapabilities.isFeatureSupported, referenced from method com.google.android.exoplayer.MediaCodecUtil.isAdaptiveV19
12-31 11:53:33.512 12320-14042/com.google.android.exoplayer.demo W/dalvikvm: VFY: unable to resolve virtual method 92: Landroid/media/MediaCodecInfo$CodecCapabilities;.isFeatureSupported (Ljava/lang/String;)Z
12-31 11:53:33.512 12320-14042/com.google.android.exoplayer.demo D/dalvikvm: VFY: replacing opcode 0x6e at 0x0002
12-31 11:53:33.516 12320-14042/com.google.android.exoplayer.demo I/dalvikvm: Could not find method android.media.MediaCodecInfo$CodecCapabilities.getVideoCapabilities, referenced from method com.google.android.exoplayer.MediaCodecUtil.isSizeAndRateSupportedV21
12-31 11:53:33.516 12320-14042/com.google.android.exoplayer.demo W/dalvikvm: VFY: unable to resolve virtual method 91: Landroid/media/MediaCodecInfo$CodecCapabilities;.getVideoCapabilities ()Landroid/media/MediaCodecInfo$VideoCapabilities;
12-31 11:53:33.516 12320-14042/com.google.android.exoplayer.demo D/dalvikvm: VFY: replacing opcode 0x6e at 0x0019
12-31 11:53:33.527 12320-14042/com.google.android.exoplayer.demo D/MediaCodecList: WMA BUILD OPTION IS CLOSED
12-31 11:53:33.528 12320-14042/com.google.android.exoplayer.demo D/MediaCodecList: WMA PRO BUILD OPTION IS CLOSED
12-31 11:53:33.528 12320-14042/com.google.android.exoplayer.demo D/MediaCodecList: DDPLUS Component BUILD OPTION IS CLOSED
12-31 11:53:33.545 12320-14042/com.google.android.exoplayer.demo I/OMXClient: Using client-side OMX mux.
12-31 11:53:33.547 12320-12320/com.google.android.exoplayer.demo I/SurfaceView: updateWindow -- UPDATE_WINDOW_MSG
12-31 11:53:33.563 12320-14042/com.google.android.exoplayer.demo I/OMXClient: Using client-side OMX mux.
12-31 11:53:33.595 12320-14042/com.google.android.exoplayer.demo D/ACodec: Now uninitialized
12-31 11:53:33.597 12320-14764/com.google.android.exoplayer.demo I/OMXClient: Using client-side OMX mux.
12-31 11:53:33.601 12320-14764/com.google.android.exoplayer.demo D/ACodec: [OMX.MTK.VIDEO.DECODER.VPX] Now Loaded
12-31 11:53:33.610 12320-14764/com.google.android.exoplayer.demo I/MTKI420CC: getI420ColorConverter
12-31 11:53:33.610 12320-14764/com.google.android.exoplayer.demo I/: I420ColorConverter: libI420colorconvert.so loaded
12-31 11:53:33.610 12320-14764/com.google.android.exoplayer.demo I/ACodec: decoder output format = 0x7F000001
12-31 11:53:33.610 12320-14764/com.google.android.exoplayer.demo D/MTKI420CC: Mtk_initACodecColorConverter mEnableMVA: 1
12-31 11:53:33.611 12320-14764/com.google.android.exoplayer.demo D/MTKI420CC: Mtk_initACodecColorConverter BufHandler: 5c3b53c0
12-31 11:53:33.611 12320-14764/com.google.android.exoplayer.demo I/ACodec: mSupportsPartialFrames 1 err 0 
12-31 11:53:33.611 12320-14764/com.google.android.exoplayer.demo D/ACodec: @debug: native windows to set 0x5e48d3d8
12-31 11:53:33.612 12320-14764/com.google.android.exoplayer.demo D/ACodec: [OMX.MTK.VIDEO.DECODER.VPX] Now Loaded->Idle
12-31 11:53:33.614 12320-14764/com.google.android.exoplayer.demo D/ACodec: @debug: useBuffer[0], mBufferID(0x42f06eb0)
12-31 11:53:33.614 12320-14764/com.google.android.exoplayer.demo D/ACodec: @debug: Buffer[0], 0x5f149000(0x5f149000)
12-31 11:53:33.615 12320-14764/com.google.android.exoplayer.demo D/ACodec: @debug: useBuffer[1], mBufferID(0x463e7b58)
12-31 11:53:33.615 12320-14764/com.google.android.exoplayer.demo D/ACodec: @debug: Buffer[1], 0x5f159000(0x5f159000)
12-31 11:53:33.616 12320-14764/com.google.android.exoplayer.demo D/ACodec: @debug: useBuffer[2], mBufferID(0x441d9bc8)
12-31 11:53:33.616 12320-14764/com.google.android.exoplayer.demo D/ACodec: @debug: Buffer[2], 0x5f169000(0x5f169000)
12-31 11:53:33.617 12320-14764/com.google.android.exoplayer.demo D/ACodec: @debug: useBuffer[3], mBufferID(0x43343518)
12-31 11:53:33.617 12320-14764/com.google.android.exoplayer.demo D/ACodec: @debug: Buffer[3], 0x5f179000(0x5f179000)
12-31 11:53:33.618 12320-14764/com.google.android.exoplayer.demo D/ACodec: @debug: useBuffer[4], mBufferID(0x43f81fc8)
12-31 11:53:33.618 12320-14764/com.google.android.exoplayer.demo D/ACodec: @debug: Buffer[4], 0x5f189000(0x5f189000)
12-31 11:53:33.619 12320-14764/com.google.android.exoplayer.demo D/ACodec: @debug: useBuffer[5], mBufferID(0x46595940)
12-31 11:53:33.619 12320-14764/com.google.android.exoplayer.demo D/ACodec: @debug: Buffer[5], 0x5f199000(0x5f199000)
12-31 11:53:33.619 12320-14764/com.google.android.exoplayer.demo D/ACodec: @debug: useBuffer[6], mBufferID(0x43341e90)
12-31 11:53:33.620 12320-14764/com.google.android.exoplayer.demo D/ACodec: @debug: Buffer[6], 0x5f1a9000(0x5f1a9000)
12-31 11:53:33.620 12320-14764/com.google.android.exoplayer.demo D/ACodec: @debug: useBuffer[7], mBufferID(0x4643f988)
12-31 11:53:33.620 12320-14764/com.google.android.exoplayer.demo D/ACodec: @debug: Buffer[7], 0x5f1b9000(0x5f1b9000)
12-31 11:53:33.621 12320-14764/com.google.android.exoplayer.demo D/ACodec: @debug: useBuffer[8], mBufferID(0x431cdc60)
12-31 11:53:33.621 12320-14764/com.google.android.exoplayer.demo D/ACodec: @debug: Buffer[8], 0x5f1c9000(0x5f1c9000)
12-31 11:53:33.622 12320-14764/com.google.android.exoplayer.demo D/ACodec: @debug: useBuffer[9], mBufferID(0x44096170)
12-31 11:53:33.622 12320-14764/com.google.android.exoplayer.demo D/ACodec: @debug: Buffer[9], 0x5f1d9000(0x5f1d9000)
12-31 11:53:33.622 12320-14764/com.google.android.exoplayer.demo D/ACodec: [MJC][OMX_MTK_COLOR_FormatYV12] eHalColorFormat = HAL_PIXEL_FORMAT_YUV_PRIVATE;
12-31 11:53:33.622 12320-14764/com.google.android.exoplayer.demo D/ACodec: native_window_set_buffers_geometry W(640), H(640), Stride(640), SliceH(640)
12-31 11:53:33.622 12320-12320/com.google.android.exoplayer.demo I/SurfaceView: updateWindow -- setFrame
12-31 11:53:33.622 12320-14764/com.google.android.exoplayer.demo W/SurfaceTextureClient: [STC::setBufferCount] set buffer count to 19
12-31 11:53:33.633 12320-14764/com.google.android.exoplayer.demo D/CallStack: [STC::setBufferCount]#00  pc 0000dd7d  /system/lib/libutils.so (android::CallStack::update(int, int)+14)
12-31 11:53:33.633 12320-14764/com.google.android.exoplayer.demo D/CallStack: [STC::setBufferCount]#01  pc 000268a5  /system/lib/libgui.so (android::SurfaceTextureClient::setBufferCount(int)+156)
12-31 11:53:33.633 12320-14764/com.google.android.exoplayer.demo D/CallStack: [STC::setBufferCount]#02  pc 000266a5  /system/lib/libgui.so (android::SurfaceTextureClient::dispatchSetBufferCount(std::__va_list)+8)
12-31 11:53:33.633 12320-14764/com.google.android.exoplayer.demo D/CallStack: [STC::setBufferCount]#03  pc 00025f09  /system/lib/libgui.so (android::SurfaceTextureClient::hook_perform(ANativeWindow*, int, ...)+22)
12-31 11:53:33.633 12320-14764/com.google.android.exoplayer.demo D/CallStack: [STC::setBufferCount]#04  pc 00073733  /system/lib/libstagefright.so (android::ACodec::allocateOutputBuffersFromNativeWindow()+534)
12-31 11:53:33.634 12320-14764/com.google.android.exoplayer.demo D/CallStack: [STC::setBufferCount]#05  pc 000739a3  /system/lib/libstagefright.so (android::ACodec::allocateBuffersOnPort(unsigned long)+126)
12-31 11:53:33.634 12320-14764/com.google.android.exoplayer.demo D/CallStack: [STC::setBufferCount]#06  pc 0007798d  /system/lib/libstagefright.so (android::ACodec::LoadedToIdleState::stateEntered()+32)
12-31 11:53:33.634 12320-14764/com.google.android.exoplayer.demo D/CallStack: [STC::setBufferCount]#07  pc 000067e9  /system/lib/libstagefright_foundation.so (android::AHierarchicalStateMachine::changeState(android::sp<android::AState> const&)+228)
12-31 11:53:33.634 12320-14764/com.google.android.exoplayer.demo D/CallStack: [STC::setBufferCount]#08  pc 00075869  /system/lib/libstagefright.so (android::ACodec::LoadedState::onStart()+116)
12-31 11:53:33.634 12320-14764/com.google.android.exoplayer.demo D/CallStack: [STC::setBufferCount]#09  pc 00076c53  /system/lib/libstagefright.so (android::ACodec::LoadedState::onMessageReceived(android::sp<android::AMessage> const&)+54)
12-31 11:53:33.634 12320-14764/com.google.android.exoplayer.demo D/CallStack: [STC::setBufferCount]#10  pc 000066a5  /system/lib/libstagefright_foundation.so (android::AHierarchicalStateMachine::onMessageReceived(android::sp<android::AMessage> const&)+80)
12-31 11:53:33.634 12320-14764/com.google.android.exoplayer.demo D/CallStack: [STC::setBufferCount]#11  pc 00007439  /system/lib/libstagefright_foundation.so (android::ALooperRoster::deliverMessage(android::sp<android::AMessage> const&)+188)
12-31 11:53:33.634 12320-14764/com.google.android.exoplayer.demo D/CallStack: [STC::setBufferCount]#12  pc 00006ced  /system/lib/libstagefright_foundation.so (android::ALooper::loop()+204)
12-31 11:53:33.634 12320-14764/com.google.android.exoplayer.demo D/CallStack: [STC::setBufferCount]#13  pc 00011253  /system/lib/libutils.so (android::Thread::_threadLoop(void*)+94)
12-31 11:53:33.634 12320-14764/com.google.android.exoplayer.demo D/CallStack: [STC::setBufferCount]#14  pc 00010dcd  /system/lib/libutils.so
12-31 11:53:33.634 12320-14764/com.google.android.exoplayer.demo D/CallStack: [STC::setBufferCount]#15  pc 0000e4a4  /system/lib/libc.so (__thread_entry+72)
12-31 11:53:33.634 12320-14764/com.google.android.exoplayer.demo D/GraphicBuffer: create handle(0x5e48d900) (w:640, h:640, f:259)
12-31 11:53:33.635 12320-14764/com.google.android.exoplayer.demo I/GraphicBuffer: create GraphicBuffer by existing native window buffer (w:640 h640 f:259) owner(0)
12-31 11:53:33.636 12320-12320/com.google.android.exoplayer.demo I/SurfaceView: updateWindow -- OnPreDrawListener, mHaveFrame = true
12-31 11:53:33.637 12320-14764/com.google.android.exoplayer.demo D/GraphicBuffer: create handle(0x5e48db08) (w:640, h:640, f:259)
12-31 11:53:33.637 12320-14764/com.google.android.exoplayer.demo I/GraphicBuffer: create GraphicBuffer by existing native window buffer (w:640 h640 f:259) owner(0)
12-31 11:53:33.640 12320-14764/com.google.android.exoplayer.demo D/GraphicBuffer: create handle(0x5cbc0420) (w:640, h:640, f:259)
12-31 11:53:33.640 12320-14764/com.google.android.exoplayer.demo I/GraphicBuffer: create GraphicBuffer by existing native window buffer (w:640 h640 f:259) owner(0)
12-31 11:53:33.642 12320-14764/com.google.android.exoplayer.demo D/GraphicBuffer: create handle(0x5e49fdd0) (w:640, h:640, f:259)
12-31 11:53:33.642 12320-14764/com.google.android.exoplayer.demo I/GraphicBuffer: create GraphicBuffer by existing native window buffer (w:640 h640 f:259) owner(0)
12-31 11:53:33.644 12320-14764/com.google.android.exoplayer.demo D/GraphicBuffer: create handle(0x5e4a10a8) (w:640, h:640, f:259)
12-31 11:53:33.644 12320-14764/com.google.android.exoplayer.demo I/GraphicBuffer: create GraphicBuffer by existing native window buffer (w:640 h640 f:259) owner(0)
12-31 11:53:33.646 12320-14764/com.google.android.exoplayer.demo D/GraphicBuffer: create handle(0x5e4a12a0) (w:640, h:640, f:259)
12-31 11:53:33.647 12320-14764/com.google.android.exoplayer.demo I/GraphicBuffer: create GraphicBuffer by existing native window buffer (w:640 h640 f:259) owner(0)
12-31 11:53:33.649 12320-14764/com.google.android.exoplayer.demo D/GraphicBuffer: create handle(0x5e4a1428) (w:640, h:640, f:259)
12-31 11:53:33.649 12320-14764/com.google.android.exoplayer.demo I/GraphicBuffer: create GraphicBuffer by existing native window buffer (w:640 h640 f:259) owner(0)
12-31 11:53:33.651 12320-14764/com.google.android.exoplayer.demo D/GraphicBuffer: create handle(0x5aa19690) (w:640, h:640, f:259)
12-31 11:53:33.652 12320-14764/com.google.android.exoplayer.demo I/GraphicBuffer: create GraphicBuffer by existing native window buffer (w:640 h640 f:259) owner(0)
12-31 11:53:33.654 12320-14764/com.google.android.exoplayer.demo D/GraphicBuffer: create handle(0x5e4a1708) (w:640, h:640, f:259)
12-31 11:53:33.654 12320-14764/com.google.android.exoplayer.demo I/GraphicBuffer: create GraphicBuffer by existing native window buffer (w:640 h640 f:259) owner(0)
12-31 11:53:33.656 12320-14764/com.google.android.exoplayer.demo D/GraphicBuffer: create handle(0x5aa0c9d8) (w:640, h:640, f:259)
12-31 11:53:33.656 12320-14764/com.google.android.exoplayer.demo I/GraphicBuffer: create GraphicBuffer by existing native window buffer (w:640 h640 f:259) owner(0)
12-31 11:53:33.661 12320-14764/com.google.android.exoplayer.demo D/GraphicBuffer: create handle(0x5aa167c0) (w:640, h:640, f:259)
12-31 11:53:33.661 12320-14764/com.google.android.exoplayer.demo I/GraphicBuffer: create GraphicBuffer by existing native window buffer (w:640 h640 f:259) owner(0)
12-31 11:53:33.664 12320-14764/com.google.android.exoplayer.demo D/GraphicBuffer: create handle(0x5e4a22e8) (w:640, h:640, f:259)
12-31 11:53:33.664 12320-14764/com.google.android.exoplayer.demo I/GraphicBuffer: create GraphicBuffer by existing native window buffer (w:640 h640 f:259) owner(0)
12-31 11:53:33.666 12320-14764/com.google.android.exoplayer.demo D/GraphicBuffer: create handle(0x5e4a2608) (w:640, h:640, f:259)
12-31 11:53:33.666 12320-14764/com.google.android.exoplayer.demo I/GraphicBuffer: create GraphicBuffer by existing native window buffer (w:640 h640 f:259) owner(0)
12-31 11:53:33.668 12320-14764/com.google.android.exoplayer.demo D/GraphicBuffer: create handle(0x5e4a2978) (w:640, h:640, f:259)
12-31 11:53:33.669 12320-14764/com.google.android.exoplayer.demo I/GraphicBuffer: create GraphicBuffer by existing native window buffer (w:640 h640 f:259) owner(0)
12-31 11:53:33.670 12320-14764/com.google.android.exoplayer.demo D/GraphicBuffer: create handle(0x5e4a2b08) (w:640, h:640, f:259)
12-31 11:53:33.671 12320-14764/com.google.android.exoplayer.demo I/GraphicBuffer: create GraphicBuffer by existing native window buffer (w:640 h640 f:259) owner(0)
12-31 11:53:33.673 12320-14764/com.google.android.exoplayer.demo D/GraphicBuffer: create handle(0x5e4a1910) (w:640, h:640, f:259)
12-31 11:53:33.674 12320-14764/com.google.android.exoplayer.demo I/GraphicBuffer: create GraphicBuffer by existing native window buffer (w:640 h640 f:259) owner(0)
12-31 11:53:33.676 12320-14764/com.google.android.exoplayer.demo D/GraphicBuffer: create handle(0x5e4a2798) (w:640, h:640, f:259)
12-31 11:53:33.676 12320-14764/com.google.android.exoplayer.demo I/GraphicBuffer: create GraphicBuffer by existing native window buffer (w:640 h640 f:259) owner(0)
12-31 11:53:33.678 12320-14764/com.google.android.exoplayer.demo D/GraphicBuffer: create handle(0x5e4a2018) (w:640, h:640, f:259)
12-31 11:53:33.678 12320-14764/com.google.android.exoplayer.demo I/GraphicBuffer: create GraphicBuffer by existing native window buffer (w:640 h640 f:259) owner(0)
12-31 11:53:33.682 12320-14764/com.google.android.exoplayer.demo D/GraphicBuffer: create handle(0x5e4a7538) (w:640, h:640, f:259)
12-31 11:53:33.683 12320-14764/com.google.android.exoplayer.demo I/GraphicBuffer: create GraphicBuffer by existing native window buffer (w:640 h640 f:259) owner(0)
12-31 11:53:33.685 12320-14764/com.google.android.exoplayer.demo D/ACodec: [OMX.MTK.VIDEO.DECODER.VPX] Now Idle->Executing
12-31 11:53:33.688 12320-14764/com.google.android.exoplayer.demo D/ACodec: [OMX.MTK.VIDEO.DECODER.VPX] Now Executing
12-31 11:53:33.781 12320-14042/com.google.android.exoplayer.demo E/ExoPlayerImplInternal: Internal runtime error.
12-31 11:53:33.781 12320-14042/com.google.android.exoplayer.demo E/ExoPlayerImplInternal: java.lang.IllegalStateException: Buffer too small (65536 < 121807)
12-31 11:53:33.781 12320-14042/com.google.android.exoplayer.demo E/ExoPlayerImplInternal:     at com.google.android.exoplayer.SampleHolder.createReplacementBuffer(SampleHolder.java:148)
12-31 11:53:33.781 12320-14042/com.google.android.exoplayer.demo E/ExoPlayerImplInternal:     at com.google.android.exoplayer.SampleHolder.ensureSpaceForWrite(SampleHolder.java:100)
12-31 11:53:33.781 12320-14042/com.google.android.exoplayer.demo E/ExoPlayerImplInternal:     at com.google.android.exoplayer.extractor.RollingSampleBuffer.readSample(RollingSampleBuffer.java:189)
12-31 11:53:33.781 12320-14042/com.google.android.exoplayer.demo E/ExoPlayerImplInternal:     at com.google.android.exoplayer.extractor.DefaultTrackOutput.getSample(DefaultTrackOutput.java:142)
12-31 11:53:33.781 12320-14042/com.google.android.exoplayer.demo E/ExoPlayerImplInternal:     at com.google.android.exoplayer.extractor.ExtractorSampleSource.readData(ExtractorSampleSource.java:401)
12-31 11:53:33.781 12320-14042/com.google.android.exoplayer.demo E/ExoPlayerImplInternal:     at com.google.android.exoplayer.SampleSourceTrackRenderer.readSource(SampleSourceTrackRenderer.java:178)
12-31 11:53:33.781 12320-14042/com.google.android.exoplayer.demo E/ExoPlayerImplInternal:     at com.google.android.exoplayer.MediaCodecTrackRenderer.feedInputBuffer(MediaCodecTrackRenderer.java:581)
12-31 11:53:33.781 12320-14042/com.google.android.exoplayer.demo E/ExoPlayerImplInternal:     at com.google.android.exoplayer.MediaCodecTrackRenderer.doSomeWork(MediaCodecTrackRenderer.java:474)
12-31 11:53:33.781 12320-14042/com.google.android.exoplayer.demo E/ExoPlayerImplInternal:     at com.google.android.exoplayer.ExoPlayerImplInternal.doSomeWork(ExoPlayerImplInternal.java:431)
12-31 11:53:33.781 12320-14042/com.google.android.exoplayer.demo E/ExoPlayerImplInternal:     at com.google.android.exoplayer.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:213)
12-31 11:53:33.781 12320-14042/com.google.android.exoplayer.demo E/ExoPlayerImplInternal:     at android.os.Handler.dispatchMessage(Handler.java:103)
12-31 11:53:33.781 12320-14042/com.google.android.exoplayer.demo E/ExoPlayerImplInternal:     at android.os.Looper.loop(Looper.java:194)
12-31 11:53:33.781 12320-14042/com.google.android.exoplayer.demo E/ExoPlayerImplInternal:     at android.os.HandlerThread.run(HandlerThread.java:60)
12-31 11:53:33.781 12320-14042/com.google.android.exoplayer.demo E/ExoPlayerImplInternal:     at com.google.android.exoplayer.util.PriorityHandlerThread.run(PriorityHandlerThread.java:40)
12-31 11:53:33.787 12320-14764/com.google.android.exoplayer.demo D/ACodec: [OMX.MTK.VIDEO.DECODER.VPX] Now Executing->Idle
12-31 11:53:33.787 12320-14764/com.google.android.exoplayer.demo D/ACodec: [OMX.MTK.VIDEO.DECODER.VPX] saw error -1011 instead of an input buffer
12-31 11:53:33.797 12320-14764/com.google.android.exoplayer.demo I/ACodec: freeBuffersOnPort
12-31 11:53:33.814 12320-14764/com.google.android.exoplayer.demo I/ACodec: freeBuffersOnPort
12-31 11:53:33.814 12320-14764/com.google.android.exoplayer.demo D/ACodec: [OMX.MTK.VIDEO.DECODER.VPX] Now Idle->Loaded
12-31 11:53:33.815 12320-14764/com.google.android.exoplayer.demo D/ACodec: [OMX.MTK.VIDEO.DECODER.VPX] Now Loaded
12-31 11:53:33.815 12320-14764/com.google.android.exoplayer.demo D/GraphicBuffer: close handle(0x5e48d900) (w:640 h:640 f:259)
12-31 11:53:33.815 12320-14764/com.google.android.exoplayer.demo D/GraphicBuffer: close handle(0x5e48db08) (w:640 h:640 f:259)
12-31 11:53:33.815 12320-14764/com.google.android.exoplayer.demo D/GraphicBuffer: close handle(0x5cbc0420) (w:640 h:640 f:259)
12-31 11:53:33.815 12320-14764/com.google.android.exoplayer.demo D/GraphicBuffer: close handle(0x5e49fdd0) (w:640 h:640 f:259)
12-31 11:53:33.815 12320-14764/com.google.android.exoplayer.demo D/GraphicBuffer: close handle(0x5e4a10a8) (w:640 h:640 f:259)
12-31 11:53:33.817 12320-14764/com.google.android.exoplayer.demo D/GraphicBuffer: close handle(0x5e4a12a0) (w:640 h:640 f:259)
12-31 11:53:33.817 12320-14764/com.google.android.exoplayer.demo D/GraphicBuffer: close handle(0x5e4a1428) (w:640 h:640 f:259)
12-31 11:53:33.818 12320-14764/com.google.android.exoplayer.demo D/GraphicBuffer: close handle(0x5aa19690) (w:640 h:640 f:259)
12-31 11:53:33.818 12320-14764/com.google.android.exoplayer.demo D/GraphicBuffer: close handle(0x5e4a1708) (w:640 h:640 f:259)
12-31 11:53:33.818 12320-14764/com.google.android.exoplayer.demo D/GraphicBuffer: close handle(0x5aa0c9d8) (w:640 h:640 f:259)
12-31 11:53:33.818 12320-14764/com.google.android.exoplayer.demo D/GraphicBuffer: close handle(0x5aa167c0) (w:640 h:640 f:259)
12-31 11:53:33.819 12320-14764/com.google.android.exoplayer.demo D/GraphicBuffer: close handle(0x5e4a22e8) (w:640 h:640 f:259)
12-31 11:53:33.819 12320-14764/com.google.android.exoplayer.demo D/GraphicBuffer: close handle(0x5e4a2608) (w:640 h:640 f:259)
12-31 11:53:33.819 12320-14764/com.google.android.exoplayer.demo D/GraphicBuffer: close handle(0x5e4a2978) (w:640 h:640 f:259)
12-31 11:53:33.819 12320-14764/com.google.android.exoplayer.demo D/GraphicBuffer: close handle(0x5e4a2b08) (w:640 h:640 f:259)
12-31 11:53:33.819 12320-14764/com.google.android.exoplayer.demo D/GraphicBuffer: close handle(0x5e4a1910) (w:640 h:640 f:259)
12-31 11:53:33.819 12320-14764/com.google.android.exoplayer.demo D/GraphicBuffer: close handle(0x5e4a2798) (w:640 h:640 f:259)
12-31 11:53:33.819 12320-14764/com.google.android.exoplayer.demo D/GraphicBuffer: close handle(0x5e4a2018) (w:640 h:640 f:259)
12-31 11:53:33.819 12320-14764/com.google.android.exoplayer.demo D/GraphicBuffer: close handle(0x5e4a7538) (w:640 h:640 f:259)
12-31 11:53:33.827 12320-14764/com.google.android.exoplayer.demo D/ACodec: Now uninitialized
12-31 11:53:33.827 12320-14042/com.google.android.exoplayer.demo D/ACodec: ~ACodec
12-31 11:53:33.827 12320-14042/com.google.android.exoplayer.demo D/MTKI420CC: Mtk_deinitACodecColorConverter
12-31 11:53:33.841 12320-14747/com.google.android.exoplayer.demo D/dalvikvm: threadid=13: exiting
12-31 11:53:33.844 12320-14747/com.google.android.exoplayer.demo D/dalvikvm: threadid=13: bye!
12-31 11:53:33.872 12320-12320/com.google.android.exoplayer.demo D/GraphicBuffer: create handle(0x5aa16840) (w:720, h:176, f:1)
12-31 11:53:33.873 12320-12320/com.google.android.exoplayer.demo D/GraphicBuffer: close handle(0x5aa16840) (w:720 h:176 f:1)
12-31 11:53:33.874 12320-12320/com.google.android.exoplayer.demo D/GraphicBuffer: create handle(0x5c39fb78) (w:720, h:176, f:1)
12-31 11:53:33.895 12320-12320/com.google.android.exoplayer.demo D/EventLogger: state [5.89, true, B]
12-31 11:53:33.896 12320-12320/com.google.android.exoplayer.demo D/EventLogger: decoderInitialized [5.89, OMX.MTK.VIDEO.DECODER.VPX]
12-31 11:53:33.898 12320-12326/com.google.android.exoplayer.demo D/jdwp:     --> RUNNING, SUSPENDED
12-31 11:53:57.117 12320-12320/com.google.android.exoplayer.demo E/EventLogger: playerFailed [29.09]
12-31 11:53:57.117 12320-12320/com.google.android.exoplayer.demo E/EventLogger: com.google.android.exoplayer.ExoPlaybackException: java.lang.IllegalStateException: Buffer too small (65536 < 121807)
12-31 11:53:57.117 12320-12320/com.google.android.exoplayer.demo E/EventLogger:     at com.google.android.exoplayer.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:246)
12-31 11:53:57.117 12320-12320/com.google.android.exoplayer.demo E/EventLogger:     at android.os.Handler.dispatchMessage(Handler.java:103)
12-31 11:53:57.117 12320-12320/com.google.android.exoplayer.demo E/EventLogger:     at android.os.Looper.loop(Looper.java:194)
12-31 11:53:57.117 12320-12320/com.google.android.exoplayer.demo E/EventLogger:     at android.os.HandlerThread.run(HandlerThread.java:60)
12-31 11:53:57.117 12320-12320/com.google.android.exoplayer.demo E/EventLogger:     at com.google.android.exoplayer.util.PriorityHandlerThread.run(PriorityHandlerThread.java:40)
12-31 11:53:57.117 12320-12320/com.google.android.exoplayer.demo E/EventLogger:  Caused by: java.lang.IllegalStateException: Buffer too small (65536 < 121807)
12-31 11:53:57.117 12320-12320/com.google.android.exoplayer.demo E/EventLogger:     at com.google.android.exoplayer.SampleHolder.createReplacementBuffer(SampleHolder.java:148)
12-31 11:53:57.117 12320-12320/com.google.android.exoplayer.demo E/EventLogger:     at com.google.android.exoplayer.SampleHolder.ensureSpaceForWrite(SampleHolder.java:100)
12-31 11:53:57.117 12320-12320/com.google.android.exoplayer.demo E/EventLogger:     at com.google.android.exoplayer.extractor.RollingSampleBuffer.readSample(RollingSampleBuffer.java:189)
12-31 11:53:57.117 12320-12320/com.google.android.exoplayer.demo E/EventLogger:     at com.google.android.exoplayer.extractor.DefaultTrackOutput.getSample(DefaultTrackOutput.java:142)
12-31 11:53:57.117 12320-12320/com.google.android.exoplayer.demo E/EventLogger:     at com.google.android.exoplayer.extractor.ExtractorSampleSource.readData(ExtractorSampleSource.java:401)
12-31 11:53:57.117 12320-12320/com.google.android.exoplayer.demo E/EventLogger:     at com.google.android.exoplayer.SampleSourceTrackRenderer.readSource(SampleSourceTrackRenderer.java:178)
12-31 11:53:57.117 12320-12320/com.google.android.exoplayer.demo E/EventLogger:     at com.google.android.exoplayer.MediaCodecTrackRenderer.feedInputBuffer(MediaCodecTrackRenderer.java:581)
12-31 11:53:57.117 12320-12320/com.google.android.exoplayer.demo E/EventLogger:     at com.google.android.exoplayer.MediaCodecTrackRenderer.doSomeWork(MediaCodecTrackRenderer.java:474)
12-31 11:53:57.117 12320-12320/com.google.android.exoplayer.demo E/EventLogger:     at com.google.android.exoplayer.ExoPlayerImplInternal.doSomeWork(ExoPlayerImplInternal.java:431)
12-31 11:53:57.117 12320-12320/com.google.android.exoplayer.demo E/EventLogger:     at com.google.android.exoplayer.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:213)
12-31 11:53:57.117 12320-12320/com.google.android.exoplayer.demo E/EventLogger:     at android.os.Handler.dispatchMessage(Handler.java:103) 
12-31 11:53:57.117 12320-12320/com.google.android.exoplayer.demo E/EventLogger:     at android.os.Looper.loop(Looper.java:194) 
12-31 11:53:57.117 12320-12320/com.google.android.exoplayer.demo E/EventLogger:     at android.os.HandlerThread.run(HandlerThread.java:60) 
12-31 11:53:57.117 12320-12320/com.google.android.exoplayer.demo E/EventLogger:     at com.google.android.exoplayer.util.PriorityHandlerThread.run(PriorityHandlerThread.java:40)
12-31 11:53:57.126 12320-12320/com.google.android.exoplayer.demo D/EventLogger: state [29.12, true, I]
12-31 11:53:57.127 12320-12320/com.google.android.exoplayer.demo I/Choreographer: Skipped 1398 frames!  The application may be doing too much work on its main thread.
12-31 11:53:57.253 12320-12320/com.google.android.exoplayer.demo I/SurfaceView: updateWindow -- OnPreDrawListener, mHaveFrame = true
12-31 11:53:57.257 12320-12320/com.google.android.exoplayer.demo D/GraphicBuffer: create handle(0x5e463450) (w:720, h:1280, f:1)
12-31 11:53:57.307 12320-12320/com.google.android.exoplayer.demo I/SurfaceTextureClient: [STC::queueBuffer] (this:0x5e463fc8) fps:0.04, dur:23570.21, max:23570.21, min:23570.21
12-31 11:53:57.314 12320-12320/com.google.android.exoplayer.demo I/SurfaceTextureClient: [STC::queueBuffer] this:0x5e463fc8, api:1, last queue time elapsed:23570.21
12-31 11:53:57.366 12320-12320/com.google.android.exoplayer.demo D/GraphicBuffer: create handle(0x5f3c6048) (w:720, h:176, f:1)
12-31 11:53:57.381 12320-12320/com.google.android.exoplayer.demo I/SurfaceView: updateWindow -- OnPreDrawListener, mHaveFrame = true
12-31 11:53:57.383 12320-12320/com.google.android.exoplayer.demo D/GraphicBuffer: create handle(0x5f3c69a0) (w:720, h:1280, f:1)
12-31 11:53:58.344 12320-12320/com.google.android.exoplayer.demo D/GraphicBuffer: create handle(0x5f3c6fe0) (w:720, h:176, f:1)
12-31 11:53:58.362 12320-12320/com.google.android.exoplayer.demo I/SurfaceTextureClient: [STC::queueBuffer] (this:0x5e48ee08) fps:1.67, dur:1197.45, max:981.84, min:215.61

@ojw28
Copy link
Contributor

ojw28 commented Jan 3, 2016

The root cause is the first of the errors:

com.google.android.exoplayer.ExoPlaybackException: java.lang.IllegalStateException: Buffer too small (65536 < 121807)

It appears that this device has a VP8 decoder (OMX.MTK.VIDEO.DECODER.VPX) that only allocates 65K input buffers, which isn't large enough. Does playback work successfully if you blacklist this decoder, which you can do by adding the following code block here:

if ("OMX.MTK.VIDEO.DECODER.VPX".equals(name)) {
  return false;
}

Once this block is added, you'll see one of (a) successful playback - in which case we'll apply a fix along these lines but targeted only at affected devices, (b) playback of audio only - in which case there's no alternate VP8 decoder and we'll have to do something else, (c) a different failure - in which case please provide details.

Thanks.

@seu070507
Copy link
Author

Thanks @ojw28 very much,
I have add the block to the right place in MediaCodecUtil.java. And the result is case (b) in your last replay: I can hear the sound. But the play window is back, and also I can't see the video label.
It means there is no alternate VP8 decoder.

By the way, I find the memory allocate is not enough,so I try to replace the sampleholder's memory manage mode, replace the code
sampleHolder = new SampleHolder(SampleHolder.BUFFER_REPLACEMENT_MODE_DISABLED);
to
sampleHolder = new SampleHolder(SampleHolder.BUFFER_REPLACEMENT_MODE_NORMAL);
in MediaCodecTrackRenderer function in MediaCodecTrackRenderer.java

sadly, I don't get the right play either.

So, @ojw28 ,what can we do to fixed this bug?

@ojw28
Copy link
Contributor

ojw28 commented Jan 4, 2016

Unfortunately it's not possible to replace the buffers when using platform provided decoders, because the platform is responsible (and requires ownership of) the allocations.

The next thing you can try is explicitly setting a maxInputSize on the format for VP8. In WebmExtractor here, try experimenting with adding the line:

maxInputSize = XXX;

where XXX is some sufficiently large value (it will need to be at least 121807 based on the logs you provided - and most likely more). You could try '1048576', perhaps. It shouldn't be necessary to do this, but if it works then the decoder at least respects explicit requests for larger buffers. We could explore a workaround along these lines if it looks promising.

@seu070507
Copy link
Author

@ojw28
Yes! it plays video and audio well when I set maxInputSize = 1048576

Well, thinking deeper, how to decide the proper maxInputSize value for VP_8 in this issue?

And more, for other similar bugs on other special decoder in special device?

Can we get a method to calculate the maxInputSize dynamically, not a const predefine value?

@ojw28
Copy link
Contributor

ojw28 commented Jan 5, 2016

Having to specify the size up front is an unfortunate limitation of the Android platform decoders, and is why this problem exists in the first place.

@andrewlewis What do you think about having MediaCodecVideoTrackRenderer.maybeSetMaxInputSize do something for VP8/9 as well? I'm not sure what though. I think I'm right in saying that we don't have the max input size up front for WebM like we do for MP4, so setting it in the extractor probably isn't an option.

@seu070507
Copy link
Author

@ojw28 Well, a propel way need to be found for working around the issue.
And I have tried several different device, this bug seems to be reproduced very easy...

@andrewlewis
Copy link
Collaborator

The max input size can be set to match the default input buffer size of the software VP8 decoder, which should be safe.

@vigneshvg
Copy link
Contributor

just a heads up, we have had to update the input size in the software decoder when issues came up with high resolutions like 2k and 4k. it might change again in the future.

nevertheless, here's where it is computed right now: http://androidxref.com/6.0.0_r1/xref/frameworks/av/media/libstagefright/codecs/on2/dec/SoftVPX.cpp#51

@seu070507
Copy link
Author

@ojw28 @andrewlewis
http://androidxref.com/6.0.0_r1/xref/frameworks/av/media/libstagefright/codecs/on2/dec/SoftVPX.cpp#51
given by @vigneshvg

It seems the default input size can be calculated as:
inputBufferSize = kMaxOutputBufferSize / kMinCompressionRatio
= (2048 * 2048 * 3 / 2) / 2 = 3145728 = 3MB
However,Does It seem too big default const memory size in a android app?

A optimization method:
If we can get video width and video height before we set the inputBufferSize, then we can use this:
inputBufferSize = (real_width * real_height & 3 / 2) / 2 instead of kMaxOutputBufferSize / kMinCompressionRatio

Is that right?

andrewlewis added a commit that referenced this issue Jan 7, 2016
Issue: #1090
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=111607802
@ojw28 ojw28 closed this as completed Jan 7, 2016
@google google locked and limited conversation to collaborators Jun 28, 2017
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

4 participants