YouTube Wrapper fails to seek with Popcorn after changing the SRC.

VERIFIED FIXED

Status

Webmaker
popcorn.js
VERIFIED FIXED
5 years ago
4 years ago

People

(Reporter: Mark Panaghiston, Assigned: thecount)

Tracking

Details

Attachments

(1 attachment)

(Reporter)

Description

5 years ago
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.
(Assignee)

Updated

5 years ago
Assignee: nobody → scott
(Reporter)

Comment 1

5 years ago
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.
(Reporter)

Updated

5 years ago
Summary: YouTube Wrapper fails to work with Popcorn after changing the SRC. → YouTube Wrapper fails to seek with Popcorn after changing the SRC.
(Reporter)

Comment 2

5 years ago
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.
(Reporter)

Comment 3

5 years ago
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)
(Assignee)

Comment 4

5 years ago
Created attachment 8345698 [details] [review]
https://github.com/mozilla/popcorn-js/pull/364

Correct ticket. Sorry if there was any confusion.
Attachment #8345698 - Flags: review?(schranz.m)
Attachment #8345698 - Flags: review?(markp)
(Reporter)

Comment 5

5 years ago
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
Attachment #8345698 - Flags: review?(schranz.m)
Attachment #8345698 - Flags: review?(markp)
Attachment #8345698 - Flags: review+
(Assignee)

Comment 6

5 years ago
Staged: https://github.com/mozilla/popcorn-js/commit/45ec42f54088944d6579b5e7e7d116fd9b902017

Needs verification.
Status: ASSIGNED → RESOLVED
Last Resolved: 5 years ago
Flags: needinfo?(scott)
Resolution: --- → FIXED
(Assignee)

Updated

4 years ago
Status: RESOLVED → VERIFIED
Flags: needinfo?(scott)
You need to log in before you can comment on or make changes to this bug.