While trying to investigate a different bug, I ran the browser with `rr record --chaos`, which makes it run very slowly and shuffles thread scheduling to try to make existing race conditions more likely to show up, also inevitably making the software run very slow. Doing so I found something strange: the video kept looping even though it didn't have the `loop` attribute set. After some debugging I found that MediaPlayer decides if the video has ended in part by checking `currentMediaTime()` is greater or equal to the video duration, which was not guaranteed to be the case in MediaPlayerPrivateGStreamer. As a consequence of this patch, one new LayoutTest has passed.
Created attachment 397960 [details] Patch
Looks similar to bug 191259
*** Bug 191259 has been marked as a duplicate of this bug. ***
Committed r261165: <https://trac.webkit.org/changeset/261165> All reviewed patches have been landed. Closing bug and clearing flags on attachment 397960 [details].