MobileVLCKit 3.3.17 play and play after stop, caused crash(EXC_BAD_ACCESS).
Hi,
(First, sorry my poor English....)
EXC_BAD_ACCESS will occur when call stop() during playback then call play().
pattern 1 : occur
play() -> stop() -> play()
pattern 2 : not occur
stop() -> play()
pattern 3 : not occur
play() -> play()
Do I need to destroy the object or do some initialization?
Thanks,
Kimoto
[Test Code(Please refer //comment)]
var mediaPlayer: VLCMediaPlayer = VLCMediaPlayer(options: ["-vvvv"])
var mediaPlayerStopped: Bool = true
override func viewDidLoad() {
super.viewDidLoad()
let gesture = UITapGestureRecognizer(target: self, action: #selector(liveViewTapped(_:)))
self.liveView.addGestureRecognizer(gesture)
}
override func viewDidAppear(_ animated: Bool) {
let targetUrl = URL(string: "rtsp://\(targetIPAddress)/h264")!
let media = VLCMedia(url: targetUrl)
mediaPlayer.media = media
mediaPlayer.delegate = self
mediaPlayer.drawable = self.liveView
mediaPlayer.play() // 1. The video will display correctly.
mediaPlayerStopped = false
}
@objc func liveViewTapped(_ sender:UITapGestureRecognizer){
//if mediaPlayer.isPlaying { // !! This flag cannot be used after stop()
if !mediaPlayerStopped{
mediaPlayer.stop() // 2. The video will be stopped.
mediaPlayerStopped = true
}else{
mediaPlayer.play() // 3. EXC_BAD_ACCESS will occur.
mediaPlayerStopped = false
}
}
