Page 1 of 1

loom videos cannot be played - Giving error

Posted: 2019-12-20, 23:11
by Fnotf
As soon a you click play on a loom video link it gives the following error:
Example:
https://www.loom.com/share/6601f93702f3 ... 314f8b17e9

An error occurred on the page: TypeError: this.video.play(...) is undefined

Re: loom videos cannot be played - Giving error

Posted: 2019-12-21, 10:26
by athenian200
I can confirm this happens for me on all UXP-based browsers (including Pale Moon), and that the video works as expected in Microsoft Edge.

I hope we can get it working, as I'm very interested in using every YouTube alternative possible.

Re: loom videos cannot be played - Giving error

Posted: 2019-12-21, 11:08
by Sajadi
Best to contact the webmaster/technical support of the page so they are checking this and fixing if possible.

Doing some more tests, video fails with Seamonkey stable (Firefox 52 based) but works with Seamonkey 2.53 Beta (Firefox 56 based) and with Waterfox classic (Firefox 56 based) - so it is most likely something which Mozilla implemented between 53-56 - What it is, no idea. Perhaps anyone else can bring a bit light into it? :)

Re: loom videos cannot be played - Giving error

Posted: 2019-12-21, 11:54
by JustOff
Last bad: firefox-53.0a1.en-US.win32.zip (20161210063617)
First good: firefox-53.0a1.en-US.win32.zip (20161210082451)
Pushlog: f58f3fb82b - 6c34fef363
Suspect: bug #1244768 - Implement returning a Promise from HTMLMediaElement.play()

Re: loom videos cannot be played - Giving error

Posted: 2019-12-21, 12:46
by Moonchild
Filed as an enhancement issue for UXP as Issue #1332 (UXP)
(sorry Sajadi, we mid-aired on it)

Not high priority for us at the moment since it's apparently the first website where this is an issue after 3 years since the spec was changed for it... So if anyone wants to have a crack at it: please go ahead.

Re: loom videos cannot be played - Giving error

Posted: 2019-12-23, 17:34
by athenian200
Well, I got loom videos working for myself yesterday, but I didn't quite do this in a proper way... I basically just noticed that the almost all the changes to HTMLMediaElement.cpp and HTMLMediaElement.h seemed to be self-contained within those two files. All I had to do was take the Firefox 53 copy of them, reapply all UXP changes since the Firefox 52 fork, and revert every instance of something like this:

Code: Select all

OwnerDoc()->Dispatch("HTMLMediaElement::DispatchAsyncEvent",
                       TaskCategory::Other,
                       event.forget());
Back to this:

Code: Select all

NS_DispatchToMainThread(event);
It compiled and worked for loom, though I am not sure if I broke anything else in the process. Now, the bad news is, even though this worked for me and was very self-contained... this test patch I did contained way too many weird changes to be in a form usable for the project.

The good news is, I found a slightly earlier version of the patch that seemed to only really have the DocShell changes and an incomplete version of the Audio wrapper thing I could still understand: the version they submitted for review originally that got delayed to Firefox 53. Using what I learned from above, I applied this earlier version to the existing UXP code. I was able to undo the DocShell changes in the patch again, and confirmed my intuition about how NotifyAboutPlaying would work without the weird audio wrapper.

Anyway, in case anyone finds my work helpful in understanding roughly what it would take and what needs to be reviewed in order to backport this to UXP properly (which I don't quite have the skill to do yet), here you go:

Test patch that backports all UXP changes to HTMLMediaElement.* to Firefox 53's version:

https://github.com/athenian200/UXP/comm ... 25c03bc53c

Beta backport of an earlier version of the promise-based playback patch to the existing UXP HTMLMediaElement.* files:

https://github.com/athenian200/UXP/comm ... f2bfc78b59

The vast majority of potentially confusing incompatibilities and quirks between Firefox 52 and 53 are in these bugs...

Audio channel wrapper nonsense:

https://bugzilla.mozilla.org/show_bug.cgi?id=1309162

IsAllowedtoPlay/media-block refactor:

https://bugzilla.mozilla.org/show_bug.cgi?id=1321196

OwnerDoc/DocShell (causes compile failures!):

https://bugzilla.mozilla.org/show_bug.cgi?id=1318506

There's a few smaller changes sprinkled in as well, but those don't really touch the implementation of what we're looking at nearly as much. Those are the big ones you have to worry about, because they slightly change how things that were not yet implemented, got implemented later.

Not currently planning to submit a PR for this, may do so later if I can develop a better understanding of what's going on here, figure out what if anything is missing/broken here, and break up my gargantuan patch into smaller chunks. Doing this quickly like I just did (but don't recommend to others) can be done in a day or two, but doing it correctly with full understanding and documentation might take a week or more.

Re: loom videos cannot be played - Giving error

Posted: 2019-12-28, 12:50
by Sajadi
As i have tried out the latest unstable which is available now, just wanting to add that it seems to works with this page :)

Re: loom videos cannot be played - Giving error

Posted: 2020-02-04, 07:57
by Fnotf
Loom is still not working for me...Contrary to some earlier posts.
What am I missing?
Please let me know. Thanks!

Re: loom videos cannot be played - Giving error

Posted: 2020-02-05, 15:03
by Tomaso
Only the unstable branch contains the fix, for now:
https://www.palemoon.org/unstable/

Re: loom videos cannot be played - Giving error

Posted: 2020-02-05, 16:15
by New Tobin Paradigm
Tomaso wrote:
2020-02-05, 15:03
Only the unstable branch contains the fix, for now:
https://www.palemoon.org/unstable/
Don't recommend users to use unstable versions. They could be broken and eat your profile. If not, then maybe we should MAKE it broken and CAUSE it to eat your profile.

Don't test me.