loaded rtmp live success full, but got error when re-play hls video
fukemy opened this issue · 1 comments
fukemy commented
Hello. I got this problem, then dont know why it happened.
I just have 1 viewcontroller to play all video by destroy last and re-create new player
First, I have a list rtmp live stream video, all is work normally. Here is my function to play video:
if let camUrl = URL(string: videoUrl){
indicator.isHidden = false
playerController?.destroyPlayer()
playerController?.loadPlayer(url: camUrl)
playerController?.delegate = self
}else{
AlertUtils.alertMessage(vc: self, mes: Language.get("Url is not valid"))
indicator.isHidden = true
}
here is ijkplayer side:
func loadPlayer(url: URL) {
IJKFFMoviePlayerController.checkIfFFmpegVersionMatch(true)
let options = IJKFFOptions.byDefault()
player = IJKFFMoviePlayerController(contentURL: url, with: options)
player?.view?.autoresizingMask = [.flexibleWidth, .flexibleHeight]
player?.view?.frame = view.bounds
player?.scalingMode = .aspectFit
player?.shouldAutoplay = true
view.autoresizesSubviews = true
view.addSubview((player?.view)!)
self.view.backgroundColor = .clear
self.addMediaControl()
self.addAction()
installMovieNotificationObservers()
player?.prepareToPlay()
mediaControl?.refreshMediaControl()
}
func destroyPlayer() {
if mediaControl != nil{
mediaControl.removeFromSuperview()
}
if player?.view != nil {
player?.shutdown()
}
removeMovieNotificationObservers()
}
When play new hls video player (using above function), i got this error:
ijkmp_set_inject_opaque(0x60000001e4e0)
ijkmp_set_inject_opaque()=void
ijkmp_set_ijkio_inject_opaque(0x60000001e4e0)
ijkmp_stop()
aout_pause_audio(1)
ijkmp_set_ijkio_inject_opaque()=void
ijkmp_stop()=0
ijkmp_shutdown_l()
aout_pause_audio(1)
aout_pause_audio(1)
2018-08-28 13:27:12.658939+0700 iCamera[34911:578132] invalidateRenderBuffer
2018-08-28 13:27:12.659158+0700 iCamera[34911:610580] IJKSDLGLView: setupDisplay not ready
2018-08-28 13:27:12.659245+0700 iCamera[34911:578132] OK setup GL
ijkmp_ios_set_view(glView=0x7fc0a7462fc0)
ijkmp_ios_set_view(glView=0x7fc0a7462fc0)=void
2018-08-28 13:27:12.660698+0700 iCamera[34911:578132] invalidateRenderBuffer
2018-08-28 13:27:12.660885+0700 iCamera[34911:610580] IJKSDLGLView:display: unable to tryLock GL active: 0
ijkmp_set_data_source(url="http://183.91.11.56:11935/vod/s4HNF1ZbOyOH_6CKEQ1o8xQS8r--RJeQgCsv88r-Yl4/27-8-2018_6h43m19s.mp4/index.m3u8")
ijkmp_set_data_source(url="http://183.91.11.56:11935/vod/s4HNF1ZbOyOH_6CKEQ1o8xQS8r--RJeQgCsv88r-Yl4/27-8-2018_6h43m19s.mp4/index.m3u8")=0
ijkmp_prepare_async()
ijkmp_prepare_async()=0
2018-08-28 13:27:12.670597+0700 iCamera[34911:578132] invalidateRenderBuffer
2018-08-28 13:27:12.670795+0700 iCamera[34911:610580] IJKSDLGLView: setupDisplay not ready
ijkmp_shutdown_l()=void
ijkmp_set_inject_opaque(0x0)
ijkmp_set_inject_opaque()=void
ijkmp_set_ijkio_inject_opaque(0x0)
ijkmp_set_ijkio_inject_opaque()=void
ijkmp_dec_ref(): ref=0
ijkmp_shutdown_l()
ijkmp_shutdown_l()=void
aout_close_audio()
2018-08-28 13:27:12.686371+0700 iCamera[34911:578132] FFP_MSG_ERROR: 0
IJKMPMoviePlayBackStateDidChange Optional(__C.IJKMPMoviePlaybackState): paused
playbackStateDidChange: IJKMPMovieFinishReasonPlaybackError: 1
mediaPlayerStateChanged: error!
the above log is started from new hls player play. Plz help. I'm stucking in almost 5 days...
fukemy commented
@jiaxianhua plz help