Closed MRDHR closed 4 years ago
When I download that mp4 file with curl I see that the network is very slow:
$ curl -o /dev/null https://backend-1302139367.cos.ap-guangzhou.myqcloud.com/bookUnit/videos/202009/0174d90d6a184a91ef2e0001bc120008.mp4
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 3888k 100 3888k 0 0 242k 0 0:00:16 0:00:16 --:--:-- 269k
I takes 16 seconds to download a 2 sec video with 3888k
When I play the same file from the asset folder it works fine:
{
"name": "issue #8069",
"uri": "file:///android_asset/test.mp4"
}
From this I don't think it's an actual problem with the player. Can you confirm it plays fine for you when playing from the asset folder?
I tried to put the mp4 file in the assets folder and play it. The playback is the same as the performance of http url. sound normally and picture freezes in 0.5s-2s.
Here is the log of the playback.
2020-10-15 08:32:06.616 27377-27377/com.google.android.exoplayer2.demo I/setText: -----------------------xiaoyu
2020-10-15 08:32:06.638 27377-27377/com.google.android.exoplayer2.demo I/ExoPlayerImpl: Init ec910be [ExoPlayerLib/2.12.0] [NODROPOUT C19, NODROPOUT C19, alps, 27]
2020-10-15 08:32:06.647 27377-27377/com.google.android.exoplayer2.demo D/EventLogger: playWhenReady [eventTime=0.00, mediaPos=0.00, window=0, true, USER_REQUEST]
2020-10-15 08:32:06.649 27377-27377/com.google.android.exoplayer2.demo I/setText: -----------------------xiaoyu
2020-10-15 08:32:06.653 27377-27377/com.google.android.exoplayer2.demo I/setText: -----------------------xiaoyu
2020-10-15 08:32:06.656 27377-27377/com.google.android.exoplayer2.demo D/EventLogger: timeline [eventTime=0.01, mediaPos=0.00, window=0, periodCount=1, windowCount=1, reason=PLAYLIST_CHANGED
2020-10-15 08:32:06.657 27377-27377/com.google.android.exoplayer2.demo D/EventLogger: period [?]
2020-10-15 08:32:06.657 27377-27377/com.google.android.exoplayer2.demo D/EventLogger: window [?, false, true]
2020-10-15 08:32:06.657 27377-27377/com.google.android.exoplayer2.demo D/EventLogger: ]
2020-10-15 08:32:06.658 27377-27377/com.google.android.exoplayer2.demo I/setText: -----------------------xiaoyu
2020-10-15 08:32:06.661 27377-27377/com.google.android.exoplayer2.demo D/EventLogger: mediaItem [eventTime=0.02, mediaPos=0.00, window=0, reason=PLAYLIST_CHANGED]
2020-10-15 08:32:06.665 27377-27377/com.google.android.exoplayer2.demo D/EventLogger: state [eventTime=0.02, mediaPos=0.00, window=0, BUFFERING]
2020-10-15 08:32:06.666 27377-27377/com.google.android.exoplayer2.demo I/setText: -----------------------xiaoyu
2020-10-15 08:32:06.674 27377-27377/com.google.android.exoplayer2.demo V/PhoneWindow: DecorView setVisiblity: visibility = 4, Parent = null, this = DecorView@63bfb3[]
2020-10-15 08:32:06.677 27377-27377/com.google.android.exoplayer2.demo D/WindowClient: Add to mViews: DecorView@63bfb3[PlayerActivity], this = android.view.WindowManagerGlobal@422e741
2020-10-15 08:32:06.680 27377-27377/com.google.android.exoplayer2.demo D/ViewRootImpl[PlayerActivity]: hardware acceleration = true , fakeHwAccelerated = false, sRendererDisabled = false, forceHwAccelerated = false, sSystemRendererDisabled = false
2020-10-15 08:32:06.684 27377-27377/com.google.android.exoplayer2.demo V/PhoneWindow: DecorView setVisiblity: visibility = 0, Parent = ViewRoot{8b9256e com.google.android.exoplayer2.demo/com.google.android.exoplayer2.demo.PlayerActivity,ident = 4}, this = DecorView@63bfb3[PlayerActivity]
2020-10-15 08:32:06.704 27377-27377/com.google.android.exoplayer2.demo I/setText: -----------------------xiaoyu
2020-10-15 08:32:06.715 27377-28182/com.google.android.exoplayer2.demo I/OMXClient: Treble IOmx obtained
2020-10-15 08:32:06.732 27377-28188/com.google.android.exoplayer2.demo W/GuiExt: Cannot find GuiExtService
2020-10-15 08:32:06.732 27377-28188/com.google.android.exoplayer2.demo I/BufferQueueConsumer: [unnamed-27377-3](this:0x731c16d000,id:3,api:0,p:-1,c:27377) connect(C): consumer=(27377:com.google.android.exoplayer2.demo) controlledByApp=true
2020-10-15 08:32:06.732 27377-28188/com.google.android.exoplayer2.demo I/BufferQueueConsumer: [unnamed-27377-3](this:0x731c16d000,id:3,api:0,p:-1,c:27377) setConsumerName: unnamed-27377-3
2020-10-15 08:32:06.732 27377-28188/com.google.android.exoplayer2.demo I/BufferQueueConsumer: [SurfaceTexture-1-27377-3](this:0x731c16d000,id:3,api:0,p:-1,c:27377) setConsumerName: SurfaceTexture-1-27377-3
2020-10-15 08:32:06.734 27377-28181/com.google.android.exoplayer2.demo I/MediaCodec: MediaCodec will operate in async mode
2020-10-15 08:32:06.736 27377-28181/com.google.android.exoplayer2.demo D/SurfaceUtils: connecting to surface 0x731e71a010, reason connectToSurface
2020-10-15 08:32:06.736 27377-28181/com.google.android.exoplayer2.demo D/Surface: Surface::connect(this=0x731e71a000,api=3)
2020-10-15 08:32:06.736 27377-28181/com.google.android.exoplayer2.demo I/BufferQueueProducer: [SurfaceTexture-1-27377-3](this:0x731c16d000,id:3,api:3,p:27377,c:27377) connect(P): api=3 producer=(27377:com.google.android.exoplayer2.demo) producerControlledByApp=true
2020-10-15 08:32:06.736 27377-28181/com.google.android.exoplayer2.demo I/MediaCodec: [OMX.MTK.VIDEO.DECODER.AVC] setting surface generation to 28034057
2020-10-15 08:32:06.736 27377-28181/com.google.android.exoplayer2.demo D/SurfaceUtils: disconnecting from surface 0x731e71a010, reason connectToSurface(reconnect)
2020-10-15 08:32:06.736 27377-28181/com.google.android.exoplayer2.demo D/Surface: Surface::disconnect(this=0x731e71a000,api=3)
2020-10-15 08:32:06.736 27377-28181/com.google.android.exoplayer2.demo I/BufferQueueProducer: [SurfaceTexture-1-27377-3](this:0x731c16d000,id:3,api:3,p:27377,c:27377) disconnect(P): api 3
2020-10-15 08:32:06.736 27377-28181/com.google.android.exoplayer2.demo D/SurfaceUtils: connecting to surface 0x731e71a010, reason connectToSurface(reconnect)
2020-10-15 08:32:06.736 27377-28181/com.google.android.exoplayer2.demo D/Surface: Surface::connect(this=0x731e71a000,api=3)
2020-10-15 08:32:06.737 27377-28181/com.google.android.exoplayer2.demo I/BufferQueueProducer: [SurfaceTexture-1-27377-3](this:0x731c16d000,id:3,api:3,p:27377,c:27377) connect(P): api=3 producer=(27377:com.google.android.exoplayer2.demo) producerControlledByApp=true
2020-10-15 08:32:06.742 27377-28182/com.google.android.exoplayer2.demo I/ACodec: codec does not support config priority (err -1010)
2020-10-15 08:32:06.742 27377-28182/com.google.android.exoplayer2.demo I/ACodec_vilte: setMTKParameters, width: 1280
2020-10-15 08:32:06.742 27377-28182/com.google.android.exoplayer2.demo I/ACodec_vilte: setMTKParameters, height: 720
2020-10-15 08:32:06.752 27377-27387/com.google.android.exoplayer2.demo I/BufferQueue: [SurfaceTexture-1-27377-1](this:0x731c060000,id:1,api:3,p:-1,c:-1) ~BufferQueueCore
2020-10-15 08:32:06.757 27377-27483/com.google.android.exoplayer2.demo D/Surface: Surface::connect(this=0x731b0a7000,api=1)
2020-10-15 08:32:06.762 27377-28182/com.google.android.exoplayer2.demo D/SurfaceUtils: set up nativeWindow 0x731e71a010 for 1280x720, color 0x32315679, rotation 0, usage 0x2933
2020-10-15 08:32:06.762 27377-28182/com.google.android.exoplayer2.demo W/ACodec: [OMX.MTK.VIDEO.DECODER.AVC] setting nBufferCountActual to 8 failed: -22
2020-10-15 08:32:06.763 27377-28182/com.google.android.exoplayer2.demo W/ACodec: [OMX.MTK.VIDEO.DECODER.AVC] setting nBufferCountActual to 7 failed: -22
2020-10-15 08:32:06.763 27377-28182/com.google.android.exoplayer2.demo D/Surface: Surface::setBufferCount(this=0x731e71a000,bufferCount=6)
2020-10-15 08:32:06.766 27377-28182/com.google.android.exoplayer2.demo W/GrallocMapperPassthrough: buffer descriptor with invalid usage bits 0x2000
2020-10-15 08:32:06.768 27377-27387/com.google.android.exoplayer2.demo I/BufferQueue: [SurfaceTexture-1-27377-2](this:0x731c171800,id:2,api:3,p:-1,c:-1) ~BufferQueueCore
2020-10-15 08:32:06.769 27377-28182/com.google.android.exoplayer2.demo W/GrallocMapperPassthrough: buffer descriptor with invalid usage bits 0x2000
2020-10-15 08:32:06.772 27377-28182/com.google.android.exoplayer2.demo W/GrallocMapperPassthrough: buffer descriptor with invalid usage bits 0x2000
2020-10-15 08:32:06.777 27377-27377/com.google.android.exoplayer2.demo D/EventLogger: surfaceSize [eventTime=0.13, mediaPos=0.00, window=0, 1200, 1776]
2020-10-15 08:32:06.783 27377-28190/com.google.android.exoplayer2.demo I/OMXClient: Treble IOmx obtained
2020-10-15 08:32:06.784 27377-27383/com.google.android.exoplayer2.demo I/zygote64: Compiler allocated 5MB to compile com.google.android.exoplayer2.extractor.mp4.TrackSampleTable com.google.android.exoplayer2.extractor.mp4.AtomParsers.parseStbl(com.google.android.exoplayer2.extractor.mp4.Track, com.google.android.exoplayer2.extractor.mp4.Atom$ContainerAtom, com.google.android.exoplayer2.extractor.GaplessInfoHolder)
2020-10-15 08:32:06.788 27377-28182/com.google.android.exoplayer2.demo D/BufferQueueProducer: [SurfaceTexture-1-27377-3](this:0x731c16d000,id:3,api:3,p:27377,c:27377) cancelBuffer: slot 0
2020-10-15 08:32:06.789 27377-28182/com.google.android.exoplayer2.demo D/BufferQueueProducer: [SurfaceTexture-1-27377-3](this:0x731c16d000,id:3,api:3,p:27377,c:27377) cancelBuffer: slot 1
2020-10-15 08:32:06.789 27377-28182/com.google.android.exoplayer2.demo D/BufferQueueProducer: [SurfaceTexture-1-27377-3](this:0x731c16d000,id:3,api:3,p:27377,c:27377) cancelBuffer: slot 2
2020-10-15 08:32:06.789 27377-28190/com.google.android.exoplayer2.demo I/MediaCodec: MediaCodec will operate in async mode
2020-10-15 08:32:06.789 27377-27377/com.google.android.exoplayer2.demo D/EventLogger: loading [eventTime=0.14, mediaPos=0.00, window=0, period=0, true]
2020-10-15 08:32:06.792 27377-28190/com.google.android.exoplayer2.demo I/ACodec: codec does not support config priority (err -2147483648)
2020-10-15 08:32:06.792 27377-27377/com.google.android.exoplayer2.demo D/EventLogger: timeline [eventTime=0.15, mediaPos=0.00, window=0, period=0, periodCount=1, windowCount=1, reason=SOURCE_UPDATE
2020-10-15 08:32:06.792 27377-27377/com.google.android.exoplayer2.demo D/EventLogger: period [?]
2020-10-15 08:32:06.792 27377-28182/com.google.android.exoplayer2.demo D/SurfaceUtils: set up nativeWindow 0x731e71a010 for 1280x720, color 0x32315679, rotation 0, usage 0x2933
2020-10-15 08:32:06.792 27377-28190/com.google.android.exoplayer2.demo I/ACodec: codec does not support config operating rate (err -2147483648)
2020-10-15 08:32:06.793 27377-27377/com.google.android.exoplayer2.demo D/EventLogger: window [?, false, false]
2020-10-15 08:32:06.793 27377-27377/com.google.android.exoplayer2.demo D/EventLogger: ]
2020-10-15 08:32:06.793 27377-28182/com.google.android.exoplayer2.demo W/ACodec: [OMX.MTK.VIDEO.DECODER.AVC] setting nBufferCountActual to 13 failed: -22
2020-10-15 08:32:06.793 27377-28182/com.google.android.exoplayer2.demo W/ACodec: [OMX.MTK.VIDEO.DECODER.AVC] setting nBufferCountActual to 12 failed: -22
2020-10-15 08:32:06.793 27377-28182/com.google.android.exoplayer2.demo D/Surface: Surface::setBufferCount(this=0x731e71a000,bufferCount=11)
2020-10-15 08:32:06.794 27377-27377/com.google.android.exoplayer2.demo I/setText: -----------------------xiaoyu
2020-10-15 08:32:06.799 27377-28182/com.google.android.exoplayer2.demo W/GrallocMapperPassthrough: buffer descriptor with invalid usage bits 0x2000
2020-10-15 08:32:06.800 27377-28182/com.google.android.exoplayer2.demo W/GrallocMapperPassthrough: buffer descriptor with invalid usage bits 0x2000
2020-10-15 08:32:06.803 27377-28182/com.google.android.exoplayer2.demo W/GrallocMapperPassthrough: buffer descriptor with invalid usage bits 0x2000
2020-10-15 08:32:06.805 27377-28182/com.google.android.exoplayer2.demo W/GrallocMapperPassthrough: buffer descriptor with invalid usage bits 0x2000
2020-10-15 08:32:06.806 27377-27377/com.google.android.exoplayer2.demo D/EventLogger: timeline [eventTime=0.16, mediaPos=0.00, window=0, period=0, periodCount=1, windowCount=1, reason=SOURCE_UPDATE
2020-10-15 08:32:06.807 27377-28182/com.google.android.exoplayer2.demo W/GrallocMapperPassthrough: buffer descriptor with invalid usage bits 0x2000
2020-10-15 08:32:06.808 27377-27377/com.google.android.exoplayer2.demo D/EventLogger: period [5.77]
2020-10-15 08:32:06.809 27377-27377/com.google.android.exoplayer2.demo D/EventLogger: window [5.77, true, false]
2020-10-15 08:32:06.809 27377-27377/com.google.android.exoplayer2.demo D/EventLogger: ]
2020-10-15 08:32:06.811 27377-27377/com.google.android.exoplayer2.demo I/setText: -----------------------xiaoyu
2020-10-15 08:32:06.848 27377-28179/com.google.android.exoplayer2.demo D/AudioTrack: set(): 0x731e75f000, streamType -1, sampleRate 48000, format 0x1, channelMask 0x3, frameCount 12000, flags #0, notificationFrames 0, sessionId 0, transferType 3, uid -1, pid -1
2020-10-15 08:32:06.849 27377-28179/com.google.android.exoplayer2.demo D/AudioTrack: Building AudioTrack with attributes: usage = 1, content = 0, flags = 0x200, tags = []
2020-10-15 08:32:06.849 27377-28179/com.google.android.exoplayer2.demo D/AudioTrack: set: Create AudioTrackThread, tid = 28194
2020-10-15 08:32:06.851 27377-27377/com.google.android.exoplayer2.demo D/EventLogger: videoEnabled [eventTime=0.20, mediaPos=0.00, window=0, period=0]
2020-10-15 08:32:06.853 27377-27377/com.google.android.exoplayer2.demo D/EventLogger: audioEnabled [eventTime=0.21, mediaPos=0.00, window=0, period=0]
2020-10-15 08:32:06.855 27377-28179/com.google.android.exoplayer2.demo D/AudioTrack: createTrack_l: 0x731e75f000, mCblk = 0x7314400000, mLatency = 335, mAfLatency = 85, frameCount = 12000, mSampleRate = 48000, mFlags = 0x8, mReqFrameCount = 12000, mNotificationFramesAct = 6000
2020-10-15 08:32:06.856 27377-27377/com.google.android.exoplayer2.demo D/EventLogger: tracks [eventTime=0.21, mediaPos=0.00, window=0, period=0
2020-10-15 08:32:06.856 27377-27377/com.google.android.exoplayer2.demo D/EventLogger: MediaCodecVideoRenderer [
2020-10-15 08:32:06.857 27377-27377/com.google.android.exoplayer2.demo D/EventLogger: Group:0, adaptive_supported=N/A [
2020-10-15 08:32:06.857 27377-27377/com.google.android.exoplayer2.demo D/EventLogger: [X] Track:0, id=1, mimeType=video/avc, res=1280x720, fps=24.797691, supported=YES
2020-10-15 08:32:06.857 27377-27377/com.google.android.exoplayer2.demo D/EventLogger: ]
2020-10-15 08:32:06.857 27377-27377/com.google.android.exoplayer2.demo D/EventLogger: ]
2020-10-15 08:32:06.857 27377-27377/com.google.android.exoplayer2.demo D/EventLogger: MediaCodecAudioRenderer [
2020-10-15 08:32:06.857 27377-27377/com.google.android.exoplayer2.demo D/EventLogger: Group:0, adaptive_supported=N/A [
2020-10-15 08:32:06.857 27377-27377/com.google.android.exoplayer2.demo D/EventLogger: [X] Track:0, id=2, mimeType=audio/mp4a-latm, codecs=mp4a.40.2, channels=2, sample_rate=48000, language=en, supported=YES
2020-10-15 08:32:06.857 27377-27377/com.google.android.exoplayer2.demo D/EventLogger: ]
2020-10-15 08:32:06.857 27377-27377/com.google.android.exoplayer2.demo D/EventLogger: ]
2020-10-15 08:32:06.857 27377-27377/com.google.android.exoplayer2.demo D/EventLogger: TextRenderer []
2020-10-15 08:32:06.857 27377-27377/com.google.android.exoplayer2.demo D/EventLogger: MetadataRenderer []
2020-10-15 08:32:06.858 27377-27377/com.google.android.exoplayer2.demo D/EventLogger: CameraMotionRenderer []
2020-10-15 08:32:06.858 27377-27377/com.google.android.exoplayer2.demo D/EventLogger: ]
2020-10-15 08:32:06.862 27377-28179/com.google.android.exoplayer2.demo D/AudioTrack: setVolume(): left = 1.000000, right = 1.000000
2020-10-15 08:32:06.870 27377-27377/com.google.android.exoplayer2.demo D/EventLogger: downstreamFormat [eventTime=0.22, mediaPos=0.00, window=0, period=0, id=1, mimeType=video/avc, res=1280x720, fps=24.797691]
2020-10-15 08:32:06.874 27377-28181/com.google.android.exoplayer2.demo D/SurfaceUtils: connecting to surface 0x731a9cf010, reason connectToSurface
2020-10-15 08:32:06.874 27377-28181/com.google.android.exoplayer2.demo D/Surface: Surface::connect(this=0x731a9cf000,api=3)
2020-10-15 08:32:06.876 27377-28181/com.google.android.exoplayer2.demo I/MediaCodec: [OMX.MTK.VIDEO.DECODER.AVC] setting surface generation to 28034058
2020-10-15 08:32:06.876 27377-28181/com.google.android.exoplayer2.demo D/SurfaceUtils: disconnecting from surface 0x731a9cf010, reason connectToSurface(reconnect)
2020-10-15 08:32:06.876 27377-28181/com.google.android.exoplayer2.demo D/Surface: Surface::disconnect(this=0x731a9cf000,api=3)
2020-10-15 08:32:06.877 27377-28181/com.google.android.exoplayer2.demo D/SurfaceUtils: connecting to surface 0x731a9cf010, reason connectToSurface(reconnect)
2020-10-15 08:32:06.877 27377-28181/com.google.android.exoplayer2.demo D/Surface: Surface::connect(this=0x731a9cf000,api=3)
2020-10-15 08:32:06.879 27377-28182/com.google.android.exoplayer2.demo D/SurfaceUtils: set up nativeWindow 0x731a9cf010 for 1280x720, color 0x32315679, rotation 0, usage 0x2933
2020-10-15 08:32:06.879 27377-27377/com.google.android.exoplayer2.demo D/EventLogger: videoDecoderInitialized [eventTime=0.23, mediaPos=0.00, window=0, period=0, OMX.MTK.VIDEO.DECODER.AVC]
2020-10-15 08:32:06.879 27377-28182/com.google.android.exoplayer2.demo D/Surface: Surface::setBufferCount(this=0x731a9cf000,bufferCount=11)
2020-10-15 08:32:06.880 27377-27377/com.google.android.exoplayer2.demo D/EventLogger: videoInputFormat [eventTime=0.23, mediaPos=0.00, window=0, period=0, id=1, mimeType=video/avc, res=1280x720, fps=24.797691]
2020-10-15 08:32:06.882 27377-27377/com.google.android.exoplayer2.demo D/EventLogger: downstreamFormat [eventTime=0.24, mediaPos=0.00, window=0, period=0, id=2, mimeType=audio/mp4a-latm, codecs=mp4a.40.2, channels=2, sample_rate=48000, language=en]
2020-10-15 08:32:06.883 27377-28181/com.google.android.exoplayer2.demo D/SurfaceUtils: disconnecting from surface 0x731e71a010, reason disconnectFromSurface
2020-10-15 08:32:06.883 27377-28181/com.google.android.exoplayer2.demo D/Surface: Surface::disconnect(this=0x731e71a000,api=3)
2020-10-15 08:32:06.883 27377-28181/com.google.android.exoplayer2.demo I/BufferQueueProducer: [SurfaceTexture-1-27377-3](this:0x731c16d000,id:3,api:3,p:27377,c:27377) disconnect(P): api 3
2020-10-15 08:32:06.883 27377-27377/com.google.android.exoplayer2.demo D/EventLogger: audioDecoderInitialized [eventTime=0.24, mediaPos=0.00, window=0, period=0, OMX.google.aac.decoder]
2020-10-15 08:32:06.885 27377-27377/com.google.android.exoplayer2.demo D/EventLogger: audioInputFormat [eventTime=0.24, mediaPos=0.00, window=0, period=0, id=2, mimeType=audio/mp4a-latm, codecs=mp4a.40.2, channels=2, sample_rate=48000, language=en]
2020-10-15 08:32:06.912 27377-27377/com.google.android.exoplayer2.demo D/EventLogger: audioSessionId [eventTime=0.27, mediaPos=0.00, window=0, period=0, 2953]
2020-10-15 08:32:06.914 27377-27377/com.google.android.exoplayer2.demo D/EventLogger: videoSize [eventTime=0.27, mediaPos=0.00, window=0, period=0, 1280, 720]
2020-10-15 08:32:06.916 27377-27377/com.google.android.exoplayer2.demo D/EventLogger: renderedFirstFrame [eventTime=0.27, mediaPos=0.00, window=0, period=0, Surface(name=null)/@0xb807af6]
2020-10-15 08:32:06.936 27377-28179/com.google.android.exoplayer2.demo D/AudioTrack: start(): 0x731e75f000, mState = 1
2020-10-15 08:32:06.940 27377-27483/com.google.android.exoplayer2.demo D/Surface: Surface::disconnect(this=0x7329bed000,api=1)
2020-10-15 08:32:06.943 27377-27483/com.google.android.exoplayer2.demo D/OpenGLRenderer: endAllActiveAnimators on 0x7329bf7c00 (ExpandableListView) with handle 0x732c60d280
2020-10-15 08:32:06.972 27377-27377/com.google.android.exoplayer2.demo D/EventLogger: surfaceSize [eventTime=0.33, mediaPos=0.00, window=0, period=0, 1200, 675]
2020-10-15 08:32:06.981 27377-27377/com.google.android.exoplayer2.demo D/EventLogger: state [eventTime=0.34, mediaPos=0.00, window=0, period=0, READY]
2020-10-15 08:32:06.984 27377-27377/com.google.android.exoplayer2.demo I/setText: -----------------------xiaoyu
2020-10-15 08:32:06.989 27377-27377/com.google.android.exoplayer2.demo D/EventLogger: isPlaying [eventTime=0.34, mediaPos=0.00, window=0, period=0, true]
2020-10-15 08:32:06.999 27377-27377/com.google.android.exoplayer2.demo D/EventLogger: loading [eventTime=0.35, mediaPos=0.01, window=0, period=0, false]
2020-10-15 08:32:07.232 27377-27377/com.google.android.exoplayer2.demo V/PhoneWindow: DecorView setVisiblity: visibility = 4, Parent = ViewRoot{29874e6 com.google.android.exoplayer2.demo/com.google.android.exoplayer2.demo.SampleChooserActivity,ident = 0}, this = DecorView@47e8e28[SampleChooserActivity]
2020-10-15 08:32:07.990 27377-27377/com.google.android.exoplayer2.demo I/setText: -----------------------xiaoyu
2020-10-15 08:32:08.379 27377-27377/com.google.android.exoplayer2.demo V/PhoneWindow: DecorView setVisiblity: visibility = 0, Parent = ViewRoot{29874e6 com.google.android.exoplayer2.demo/com.google.android.exoplayer2.demo.SampleChooserActivity,ident = 0}, this = DecorView@47e8e28[SampleChooserActivity]
2020-10-15 08:32:08.397 27377-27483/com.google.android.exoplayer2.demo D/Surface: Surface::connect(this=0x7329bed000,api=1)
2020-10-15 08:32:08.397 27377-27377/com.google.android.exoplayer2.demo D/Surface: Surface::allocateBuffers(this=0x7329bed000)
2020-10-15 08:32:08.402 27377-27377/com.google.android.exoplayer2.demo I/setText: -----------------------xiaoyu
2020-10-15 08:32:08.429 27377-27377/com.google.android.exoplayer2.demo I/chatty: uid=10115(com.google.android.exoplayer2.demo) identical 14 lines
2020-10-15 08:32:08.431 27377-27377/com.google.android.exoplayer2.demo I/setText: -----------------------xiaoyu
2020-10-15 08:32:08.477 27377-28181/com.google.android.exoplayer2.demo D/SurfaceUtils: connecting to surface 0x731a9a9010, reason connectToSurface
2020-10-15 08:32:08.477 27377-28181/com.google.android.exoplayer2.demo D/Surface: Surface::connect(this=0x731a9a9000,api=3)
2020-10-15 08:32:08.478 27377-28181/com.google.android.exoplayer2.demo I/BufferQueueProducer: [SurfaceTexture-1-27377-3](this:0x731c16d000,id:3,api:3,p:27377,c:27377) connect(P): api=3 producer=(27377:com.google.android.exoplayer2.demo) producerControlledByApp=true
2020-10-15 08:32:08.478 27377-28181/com.google.android.exoplayer2.demo I/MediaCodec: [OMX.MTK.VIDEO.DECODER.AVC] setting surface generation to 28034059
2020-10-15 08:32:08.478 27377-28181/com.google.android.exoplayer2.demo D/SurfaceUtils: disconnecting from surface 0x731a9a9010, reason connectToSurface(reconnect)
2020-10-15 08:32:08.478 27377-28181/com.google.android.exoplayer2.demo D/Surface: Surface::disconnect(this=0x731a9a9000,api=3)
2020-10-15 08:32:08.478 27377-28181/com.google.android.exoplayer2.demo I/BufferQueueProducer: [SurfaceTexture-1-27377-3](this:0x731c16d000,id:3,api:3,p:27377,c:27377) disconnect(P): api 3
2020-10-15 08:32:08.478 27377-28181/com.google.android.exoplayer2.demo D/SurfaceUtils: connecting to surface 0x731a9a9010, reason connectToSurface(reconnect)
2020-10-15 08:32:08.478 27377-28181/com.google.android.exoplayer2.demo D/Surface: Surface::connect(this=0x731a9a9000,api=3)
2020-10-15 08:32:08.478 27377-28181/com.google.android.exoplayer2.demo I/BufferQueueProducer: [SurfaceTexture-1-27377-3](this:0x731c16d000,id:3,api:3,p:27377,c:27377) connect(P): api=3 producer=(27377:com.google.android.exoplayer2.demo) producerControlledByApp=true
2020-10-15 08:32:08.480 27377-28182/com.google.android.exoplayer2.demo D/SurfaceUtils: set up nativeWindow 0x731a9a9010 for 1280x720, color 0x32315679, rotation 0, usage 0x2933
2020-10-15 08:32:08.480 27377-28182/com.google.android.exoplayer2.demo D/Surface: Surface::setBufferCount(this=0x731a9a9000,bufferCount=11)
2020-10-15 08:32:08.481 27377-28181/com.google.android.exoplayer2.demo D/SurfaceUtils: disconnecting from surface 0x731a9cf010, reason disconnectFromSurface
2020-10-15 08:32:08.481 27377-28181/com.google.android.exoplayer2.demo D/Surface: Surface::disconnect(this=0x731a9cf000,api=3)
2020-10-15 08:32:08.483 27377-27377/com.google.android.exoplayer2.demo D/EventLogger: surfaceSize [eventTime=1.84, mediaPos=1.50, window=0, period=0, 0, 0]
2020-10-15 08:32:08.484 27377-27377/com.google.android.exoplayer2.demo D/Surface: Surface::disconnect(this=0x731b06f000,api=-1)
2020-10-15 08:32:08.487 27377-27483/com.google.android.exoplayer2.demo D/Surface: Surface::disconnect(this=0x731b0a7000,api=1)
2020-10-15 08:32:08.755 27377-27377/com.google.android.exoplayer2.demo I/ExoPlayerImpl: Release ec910be [ExoPlayerLib/2.12.0] [NODROPOUT C19, NODROPOUT C19, alps, 27] [goog.exo.core, goog.exo.cronet, goog.exo.ui]
2020-10-15 08:32:08.762 27377-28179/com.google.android.exoplayer2.demo D/AudioTrack: pause(): 0x731e75f000, mState = 0
2020-10-15 08:32:08.805 27377-28207/com.google.android.exoplayer2.demo D/AudioTrack: stop(): 0x731e75f000, mState = 4
2020-10-15 08:32:08.807 27377-28207/com.google.android.exoplayer2.demo D/AudioTrack: ~AudioTrack(): 0x731e75f000
2020-10-15 08:32:08.807 27377-28207/com.google.android.exoplayer2.demo D/AudioTrack: stop(): 0x731e75f000, mState = 4
2020-10-15 08:32:08.819 27377-28182/com.google.android.exoplayer2.demo D/BufferQueueProducer: [SurfaceTexture-1-27377-3](this:0x731c16d000,id:3,api:3,p:27377,c:27377) cancelBuffer: slot 7
2020-10-15 08:32:08.820 27377-28182/com.google.android.exoplayer2.demo D/BufferQueueProducer: [SurfaceTexture-1-27377-3](this:0x731c16d000,id:3,api:3,p:27377,c:27377) cancelBuffer: slot 6
2020-10-15 08:32:08.820 27377-28182/com.google.android.exoplayer2.demo D/BufferQueueProducer: [SurfaceTexture-1-27377-3](this:0x731c16d000,id:3,api:3,p:27377,c:27377) cancelBuffer: slot 5
2020-10-15 08:32:08.822 27377-28182/com.google.android.exoplayer2.demo D/BufferQueueProducer: [SurfaceTexture-1-27377-3](this:0x731c16d000,id:3,api:3,p:27377,c:27377) cancelBuffer: slot 4
2020-10-15 08:32:08.823 27377-28182/com.google.android.exoplayer2.demo D/BufferQueueProducer: [SurfaceTexture-1-27377-3](this:0x731c16d000,id:3,api:3,p:27377,c:27377) cancelBuffer: slot 3
2020-10-15 08:32:08.824 27377-28182/com.google.android.exoplayer2.demo D/BufferQueueProducer: [SurfaceTexture-1-27377-3](this:0x731c16d000,id:3,api:3,p:27377,c:27377) cancelBuffer: slot 2
2020-10-15 08:32:08.825 27377-28182/com.google.android.exoplayer2.demo D/BufferQueueProducer: [SurfaceTexture-1-27377-3](this:0x731c16d000,id:3,api:3,p:27377,c:27377) cancelBuffer: slot 1
2020-10-15 08:32:08.825 27377-28182/com.google.android.exoplayer2.demo D/BufferQueueProducer: [SurfaceTexture-1-27377-3](this:0x731c16d000,id:3,api:3,p:27377,c:27377) cancelBuffer: slot 0
2020-10-15 08:32:08.837 27377-28181/com.google.android.exoplayer2.demo D/SurfaceUtils: disconnecting from surface 0x731a9a9010, reason disconnectFromSurface
2020-10-15 08:32:08.838 27377-28181/com.google.android.exoplayer2.demo D/Surface: Surface::disconnect(this=0x731a9a9000,api=3)
2020-10-15 08:32:08.838 27377-28181/com.google.android.exoplayer2.demo I/BufferQueueProducer: [SurfaceTexture-1-27377-3](this:0x731c16d000,id:3,api:3,p:27377,c:27377) disconnect(P): api 3
2020-10-15 08:32:08.844 27377-28188/com.google.android.exoplayer2.demo I/BufferQueueConsumer: [SurfaceTexture-1-27377-3](this:0x731c16d000,id:3,api:3,p:-1,c:-1) disconnect(C)
2020-10-15 08:32:08.864 27377-27377/com.google.android.exoplayer2.demo D/View: [Warning] assignParent to null: this = DecorView@63bfb3[PlayerActivity]
2020-10-15 08:32:08.868 27377-27377/com.google.android.exoplayer2.demo D/WindowClient: Remove from mViews: DecorView@63bfb3[PlayerActivity], this = android.view.WindowManagerGlobal@422e741
2020-10-15 08:32:08.871 27377-27377/com.google.android.exoplayer2.demo D/EventLogger: videoDisabled [eventTime=2.22, mediaPos=1.78, window=0, period=0]
2020-10-15 08:32:08.872 27377-27377/com.google.android.exoplayer2.demo D/EventLogger: audioDisabled [eventTime=2.23, mediaPos=1.78, window=0, period=0]
I tried to modify the getDecoderInfos method in MediaCodecUtil by adding the following code.
decoderInfos.removeIf(new Predicate<MediaCodecInfo>() {
@Override
public boolean test(MediaCodecInfo mediaCodecInfo) {
return !mediaCodecInfo.name.startsWith("OMX.google");
}
});
The picture will still freeze when it is played.
Sorry, I can not reprod this. I was listening to David now several times. He is "so happy to see me again" and he tells me this without any issues and without playback stuttering. I'm pretty sure that file plays well on my device.
The logs you send are confusing me a bit though.
Do you know where this is coming from and why it is there:
2020-10-15 08:32:08.402 27377-27377/com.google.android.exoplayer2.demo I/setText: -----------------------xiaoyu
2020-10-15 08:32:08.429 27377-27377/com.google.android.exoplayer2.demo I/chatty: uid=10115(com.google.android.exoplayer2.demo) identical 14 lines
2020-10-15 08:32:08.431 27377-27377/com.google.android.exoplayer2.demo I/setText: -----------------------xiaoyu
Right after playback started there are log lines coming from SampleChooserActivity
which I do not understand.
2020-10-15 08:32:07.232 27377-27377/com.google.android.exoplayer2.demo V/PhoneWindow: DecorView setVisiblity: visibility = 4, Parent = ViewRoot{29874e6 com.google.android.exoplayer2.demo/com.google.android.exoplayer2.demo.SampleChooserActivity,ident = 0}, this = DecorView@47e8e28[SampleChooserActivity]
I don't think you need to customize the demo app in any way to make this play. I do that without any change.
😄 I've heard David say he's happy to see me a million times.Maybe the equipment tested is different. I've tested it on three cpu devices, the mtk6765 sc9863a and the Kirin 980, and the results are exactly the same. I'll test it again with Qualcomm apu equipment tomorrow.
The settext log should be internal to the Android system. Our equipment is customized. In addition, the code used in the test was cloned from github without any modification, except that json file changed the uri address.
I found the problem, because the video bit rate is too high to play stutter, the original video 18000 kbps, transcoding to 5000kbps is no problem.
[REQUIRED] Issue description
Hello, when I play the http video, the picture freezes in the first 2 seconds. During the freezing process, the sound plays normally. This problem did not occur when I tried to use other player sdk, such as ijkplayer and vlc.
[REQUIRED] Reproduction steps
[REQUIRED] Link to test content
[REQUIRED] Version of ExoPlayer being used
2.12.0
[REQUIRED] Device(s) and version(s) of Android being used
android 8.0 android 9.0 android 10.0