popcornmix / omxplayer

omxplayer
GNU General Public License v2.0
1.01k stars 334 forks source link

OMXplayer freezes when trying to seek #833

Open eddsor opened 7 months ago

eddsor commented 7 months ago

I am using the decripated OMXplayer on my RPI3B+ for HLS streaming. Until now it has been possible to use dbuscontrol.sh to seek forward and backward in the streams, but now I have seen that for streams from my favourite server, seeking is not possible any longer. Here is an example.

omxplayer https://nrk-od-world-74.akamaized.net/open/ps/dnpr/dnpr63701115/d0bc193d-1.smil/sc-gaFEQg/A4_index.m3u8

No problem with the rendering, and I can use dbuscontrol to pause and resume the video, but if I try to seek, the video freezes for some seconds until OMXplayer exits. The log for dbuscontrol.sh seek 10000000 is:

18:15:56 T:18446744073467572456   DEBUG: Popped message member: Seek interface: org.mpris.MediaPlayer2.Player type: 1 path: /org/mpris/MediaPlayer2
18:15:56 T:18446744073467601540   DEBUG: OMXReader::SeekTime(69588) - seek ended up on time -2147483648
18:15:56 T:18446744073467602087   DEBUG: OMXClock::OMXStop
18:15:56 T:18446744073467602544   DEBUG: OMXClock::OMXSetSpeed(0.00) pause_resume:1
18:15:56 T:18446744073467612018   DEBUG: OMXClock::OMXMediaTime set config OMX_IndexConfigTimeCurrentVideoReference = 69588000.00
18:15:56 T:18446744073467612661   DEBUG: Seeked 69588973 69588000 69588000
18:15:56 T:18446744073467612747   DEBUG: Normal M:69588000 (A:0 V:-4503599627370496) P:1 A:-69.59 V:0.00/T:0.20 (0,0,1,0) A:0% V:0% (0.00,0.00)
18:15:56 T:18446744073467612834   DEBUG: COMXPlayer::HandleMessages - player started RESET
18:15:56 T:18446744073467613112   DEBUG: OMXClock::OMXReset audio / video : 0 / 1 wait mask 0->2 state : 2->1
18:16:06 T:18446744073477618056   ERROR: COMXPlayer::interrupt_cb - Timed out
18:16:07 T:18446744073477759816   ERROR: Previous line repeats 10 times.
18:16:07 T:18446744073477759816    INFO: COMXVideo::SubmitEOS
18:16:07 T:18446744073477769846   DEBUG: Normal M:69588000 (A:0 V:-4503599627370496) P:1 A:-69.59 V:0.00/T:0.20 (0,0,1,0) A:0% V:0% (0.00,0.00)
18:16:07 T:18446744073477769968   DEBUG: Resume -69.59,0.00 (0,0,1,0) EOF:1 PKT:(nil)
18:16:07 T:18446744073477770001   DEBUG: OMXClock::OMXSetSpeed(1.00) pause_resume:1
18:16:07 T:18446744073477791455   DEBUG: Normal M:69588000 (A:0 V:-4503599627370496) P:0 A:-69.59 V:0.00/T:0.20 (0,0,1,0) A:0% V:0% (0.00,0.00)
18:16:07 T:18446744073477811685   DEBUG: Normal M:69609376 (A:0 V:-4503599627370496) P:0 A:-69.61 V:0.00/T:0.20 (0,0,1,0) A:0% V:0% (0.00,0.00)
18:16:07 T:18446744073477811757    INFO: COMXVideo::IsEOS
18:16:07 T:18446744073477811783   DEBUG: OMXClock::OMXStop
18:16:07 T:18446744073477834510   DEBUG: OMXThread::Run - Exited thread with  id 1811930816
18:16:07 T:18446744073477834988   DEBUG: OMXThread::StopThread - Thread stopped
18:16:07 T:18446744073477835229   DEBUG: OMXThread::Run - Exited thread with  id 1820323520
18:16:07 T:18446744073477835352   DEBUG: OMXThread::StopThread - Thread stopped
18:16:07 T:18446744073477852322   DEBUG: COMXCoreComponent::Deinitialize : OMX.broadcom.video_scheduler handle 0x6b500cd8
18:16:07 T:18446744073477859708   DEBUG: COMXCoreComponent::Deinitialize : OMX.broadcom.video_decode handle 0x1d534f8
18:16:07 T:18446744073477861358   DEBUG: COMXCoreComponent::Deinitialize : OMX.broadcom.video_render handle 0x6b500660
18:16:07 T:18446744073477870276   DEBUG: OMXThread::Run - Exited thread with  id 1832885952
18:16:07 T:18446744073477870494   DEBUG: OMXThread::StopThread - Thread stopped
18:16:07 T:18446744073477870901   ERROR: COMXPlayer::interrupt_cb - Timed out
18:16:07 T:18446744073477888614   ERROR: Previous line repeats 1 times.
18:16:07 T:18446744073477888614   DEBUG: COMXCoreComponent::Deinitialize : OMX.broadcom.clock handle 0x1d511a0

My CVLC will not play this stream at all.

The same program can be played from a decripated server: https://nrk-od-79.akamaized.net/world/1302779/0/hls/dnpr63701115/1853524312-1203177498-prog_index.m3u8 In this case seeking is no problem.

Can anybody see why seeking has become impossible?