2014-06-19, 02:21
I am trying to watch a 1080p mkv played over AFP off my Mac in Gotham 13.1. So far the experience is not very good, unfortunately.
Many videos stop playing after a certain point. If I seek past them I'm returned to the menu.
But the even bigger problem is that seeking is very slow. If I do a big seek of +10mins it takes about 60 seconds to complete. A 30 second skip only takes 2-3 seconds. If I load the same MKV file into VLC over the same network I can seek instantly.
I also can't seem to just jump to a time. If I type a time in that has already been played, I can jump to it. If I type in something a few minutes in the future, the video just keeps playing with no seek.
Here's a log for the jump to a time in the future bug:
V/XBMC (21107): 17:19:41 T:1526093568 DEBUG: Keyboard: scancode: 0x42, sym: 0x000d, unicode: 0x000a, modifier: 0x0
V/XBMC (21107): 17:19:41 T:1526093568 DEBUG: bool CApplication::OnKey(const CKey&): return (0xf00d) pressed, action is OSD
V/XBMC (21107): 17:19:41 T:1528781616 DEBUG: CDVDPlayer::SetCaching - caching state 3
V/XBMC (21107): 17:19:41 T:1528781616 DEBUG: demuxer seek to: 3300000
V/XBMC (21107): 17:19:41 T:1528781616 DEBUG: virtual bool CDVDDemuxFFmpeg::SeekTime(int, bool, double*) - seek ended up on time 2424656
V/XBMC (21107): 17:19:41 T:1528781616 DEBUG: demuxer seek to: 3300000, success
V/ACodec (21107): FILL_BUFFER_DONE rangeOffset 0 rangeLength 3137536
V/ACodec (21107): [OMX.qcom.video.decoder.avc] onOMXFillBufferDone 0x40082828 time 2422654000 us, flags = 0x00000010
Here's some relevant logs for the +10min seek:
V/ACodec (21107): frc: frame=11085 hwc_play_time=0 poll_cnt=5 delay=-56914343 ts=1572337000
V/ACodec (21107): setMetaData PP_PARAM_VIDEO_FRAME: timestamp: 1572337000 uS, counter: 11087 frc-enable: 1
V/ACodec (21107): [OMX.qcom.video.decoder.avc] calling fillBuffer 0x40082d28
V/XBMC (21107): 17:15:56 T:1528781616 DEBUG: virtual bool CDVDDemuxFFmpeg::SeekTime(int, bool, double*) - seek ended up on time 2172670
V/XBMC (21107): 17:15:56 T:1528781616 DEBUG: demuxer seek to: 2172239, success
V/ACodec (21107): [OMX.qcom.video.decoder.avc] signalFlush
V/ACodec (21107): [OMX.qcom.video.decoder.avc] ExecutingState flushing now (codec owns 0/2 input, 16/21 output).
V/ACodec (21107): [OMX.qcom.video.decoder.avc] Now Flushing
V/ACodec (21107): [OMX.qcom.video.decoder.avc] saw error -1011 instead of an input buffer
V/ACodec (21107): [OMX.qcom.video.decoder.avc] saw error -1011 instead of an input buffer
V/ACodec (21107): FILL_BUFFER_DONE rangeOffset 0 rangeLength 0
V/ACodec (21107): [OMX.qcom.video.decoder.avc] onOMXFillBufferDone 0x40082828 time 0 us, flags = 0x00000000
V/ACodec (21107): [OMX.qcom.video.decoder.avc] FlushingState onOMXEvent(0,1)
V/ACodec (21107): FILL_BUFFER_DONE rangeOffset 0 rangeLength 0
V/ACodec (21107): [OMX.qcom.video.decoder.avc] onOMXFillBufferDone 0x40082878 time 0 us, flags = 0x00000000
V/ACodec (21107): FILL_BUFFER_DONE rangeOffset 0 rangeLength 0
V/ACodec (21107): [OMX.qcom.video.decoder.avc] onOMXFillBufferDone 0x400829b8 time 0 us, flags = 0x00000000
What can I do?
Many videos stop playing after a certain point. If I seek past them I'm returned to the menu.
But the even bigger problem is that seeking is very slow. If I do a big seek of +10mins it takes about 60 seconds to complete. A 30 second skip only takes 2-3 seconds. If I load the same MKV file into VLC over the same network I can seek instantly.
I also can't seem to just jump to a time. If I type a time in that has already been played, I can jump to it. If I type in something a few minutes in the future, the video just keeps playing with no seek.
Here's a log for the jump to a time in the future bug:
V/XBMC (21107): 17:19:41 T:1526093568 DEBUG: Keyboard: scancode: 0x42, sym: 0x000d, unicode: 0x000a, modifier: 0x0
V/XBMC (21107): 17:19:41 T:1526093568 DEBUG: bool CApplication::OnKey(const CKey&): return (0xf00d) pressed, action is OSD
V/XBMC (21107): 17:19:41 T:1528781616 DEBUG: CDVDPlayer::SetCaching - caching state 3
V/XBMC (21107): 17:19:41 T:1528781616 DEBUG: demuxer seek to: 3300000
V/XBMC (21107): 17:19:41 T:1528781616 DEBUG: virtual bool CDVDDemuxFFmpeg::SeekTime(int, bool, double*) - seek ended up on time 2424656
V/XBMC (21107): 17:19:41 T:1528781616 DEBUG: demuxer seek to: 3300000, success
V/ACodec (21107): FILL_BUFFER_DONE rangeOffset 0 rangeLength 3137536
V/ACodec (21107): [OMX.qcom.video.decoder.avc] onOMXFillBufferDone 0x40082828 time 2422654000 us, flags = 0x00000010
Here's some relevant logs for the +10min seek:
V/ACodec (21107): frc: frame=11085 hwc_play_time=0 poll_cnt=5 delay=-56914343 ts=1572337000
V/ACodec (21107): setMetaData PP_PARAM_VIDEO_FRAME: timestamp: 1572337000 uS, counter: 11087 frc-enable: 1
V/ACodec (21107): [OMX.qcom.video.decoder.avc] calling fillBuffer 0x40082d28
V/XBMC (21107): 17:15:56 T:1528781616 DEBUG: virtual bool CDVDDemuxFFmpeg::SeekTime(int, bool, double*) - seek ended up on time 2172670
V/XBMC (21107): 17:15:56 T:1528781616 DEBUG: demuxer seek to: 2172239, success
V/ACodec (21107): [OMX.qcom.video.decoder.avc] signalFlush
V/ACodec (21107): [OMX.qcom.video.decoder.avc] ExecutingState flushing now (codec owns 0/2 input, 16/21 output).
V/ACodec (21107): [OMX.qcom.video.decoder.avc] Now Flushing
V/ACodec (21107): [OMX.qcom.video.decoder.avc] saw error -1011 instead of an input buffer
V/ACodec (21107): [OMX.qcom.video.decoder.avc] saw error -1011 instead of an input buffer
V/ACodec (21107): FILL_BUFFER_DONE rangeOffset 0 rangeLength 0
V/ACodec (21107): [OMX.qcom.video.decoder.avc] onOMXFillBufferDone 0x40082828 time 0 us, flags = 0x00000000
V/ACodec (21107): [OMX.qcom.video.decoder.avc] FlushingState onOMXEvent(0,1)
V/ACodec (21107): FILL_BUFFER_DONE rangeOffset 0 rangeLength 0
V/ACodec (21107): [OMX.qcom.video.decoder.avc] onOMXFillBufferDone 0x40082878 time 0 us, flags = 0x00000000
V/ACodec (21107): FILL_BUFFER_DONE rangeOffset 0 rangeLength 0
V/ACodec (21107): [OMX.qcom.video.decoder.avc] onOMXFillBufferDone 0x400829b8 time 0 us, flags = 0x00000000
What can I do?