User Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.57 Safari/537.36 Steps to reproduce: 1. Created yt = Popcorn.HTMLYouTubeVideoElement(elem) 2. Set video using yt.src = "the-url" 3. Created Popcorn using pc = Popcorn(yt); 4. Attached some track events, some subtitles should do. 5. Popcorn works. 6. Destroy Popcorn with pc.destroy() 7. Change SRC using yt.src= "the-new-url" 8. Created Popcorn using pc = Popcorn(yt); 9. Attached some track events, the same as in (4). 10. Popcorn fails. Actual results: The track events on the 1st popcorn instance work, but the 2nd instance fails. Expected results: Step (10) should work, just like step (5) did.
I suspected that I'd remembered the details incorrectly... The problem was WRT changing the currentTime immediately after changing the SRC. This works fine the first time, but fails on the 2nd time. I have been trying to put together a demo to show the problem. Steps to reproduce: 1. Created yt = Popcorn.HTMLYouTubeVideoElement(elem) 2. Set video using yt.src = "the-url" 3. Created Popcorn using pc = Popcorn(yt); 4. Jump to pc.play(5) 5. Popcorn works, and the video plays from 5s point. 6. Destroy Popcorn with pc.destroy() 7. Change SRC using yt.src= "the-new-url" 8. Created Popcorn using pc = Popcorn(yt); 9. Jump to pc.play(5) 10. Popcorn fails, and console lists a seekTo error in Chrome. TypeError: Object #<S> has no method 'seekTo' NB: I removed the subtitle parts as they had no effect. I left in the popcorn instancing since that is how we will be controlling the youtube instance.
Summary: YouTube Wrapper fails to work with Popcorn after changing the SRC. → YouTube Wrapper fails to seek with Popcorn after changing the SRC.
I have made a crude example using the current master: b5f8f42505488861303bc678230ce7f6195fc1b8 http://happyworm.com/popcorn/youtube/ 1. On page load the youtube video will start playing from 2 seconds. 2. Open the console and execute yt.use(1).play(2) 3. Observe the error in the console.
The other bug is that when changing the YouTube SRC, the player will usually begin playing. Using the example given, issue the command: yt.use(1) That changes the YouTube SRC and you'll see it start playing automatically. You can change it back to the original video using: yt.use(0)
Created attachment 8345698 [details] [review] https://github.com/mozilla/popcorn-js/pull/364 Correct ticket. Sorry if there was any confusion.
Reviewed on Firefox and Chrome (Win 7) and they both now work. Tester updated here: http://happyworm.com/popcorn/youtube-t945814/ The tests worked with both the HTML5 and the default flash YouTube players. Focus of review: 1) [passed] Changing SRC and immediate change of currentTime 2) [passed] Changing SRC and the new video did not autoplay
Status: UNCONFIRMED → ASSIGNED
Ever confirmed: true
Staged: https://github.com/mozilla/popcorn-js/commit/45ec42f54088944d6579b5e7e7d116fd9b902017 Needs verification.
Status: ASSIGNED → RESOLVED
Last Resolved: 5 years ago
Resolution: --- → FIXED
Status: RESOLVED → VERIFIED
You need to log in before you can comment on or make changes to this bug.