Within the changes introduced by r270612 a spurious call to allSamplesInTrackEnqueued() was added to provideMediaData(). provideMediaData() is called every time there may be new samples that need to be enqueued into the playback pipeline. allSamplesInTrackEnqueued() is supposed to be called when MediaSource.endOfStream() has been called and all pending samples have been enqueued, therefore signaling the playback pipeline that no more samples will be added. Some decoders need to be notified of this condition in order to move the last samples in their queue downstream. This is true at least of the avdec (ffmpeg) decoders that are commonly used in desktop versions of the GStreamer port. Calling allSamplesInTrackEnqueued() prematurely will mess with the playback as the code will not accept any more samples, a serious problem. This patch fixes it by removing the spurious call and restoring its original purpose when it was introduced in r230909.
Created attachment 416601 [details] Patch
Comment on attachment 416601 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=416601&action=review > Source/WebKit/ChangeLog:19 > +2020-12-21 Alicia Boya GarcÃa <aboya@igalia.com> Duplicate ChangeLog here
Created attachment 416604 [details] Patch
Committed r271024: <https://trac.webkit.org/changeset/271024> All reviewed patches have been landed. Closing bug and clearing flags on attachment 416604 [details].
<rdar://problem/72553924>