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]
Comment on attachment 416601 [details]
View in context: https://bugs.webkit.org/attachment.cgi?id=416601&action=review
> +2020-12-21 Alicia Boya GarcÃa <firstname.lastname@example.org>
Duplicate ChangeLog here
Created attachment 416604 [details]
Committed r271024: <https://trac.webkit.org/changeset/271024>
All reviewed patches have been landed. Closing bug and clearing flags on attachment 416604 [details].