Bug 201322 - [MSE][GStreamer] Gracefully fail on invalid non-first initialization segment
Summary: [MSE][GStreamer] Gracefully fail on invalid non-first initialization segment
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: WebKitGTK (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Alicia Boya García
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2019-08-29 17:44 PDT by Alicia Boya García
Modified: 2019-08-30 08:15 PDT (History)
3 users (show)

See Also:


Attachments
Patch (6.96 KB, patch)
2019-08-29 17:46 PDT, Alicia Boya García
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Alicia Boya García 2019-08-29 17:44:54 PDT
In normal operation of AppendPipeline, except during tear down,
qtdemux never removes a pad. Even if a new initialization segment is
appended, the pad is reused.

There is an exception though: when the new initialization segment has
an incompatible set of tracks. This is invalid under the MSE spec and
should produce an error, but in this case this was making an assertion
fail -- in particular by sending an EOS to the to-be-removed pad, which
AppendPipeline doesn't expect.

This patch changes the assertion with graceful error handling for that
error.

Fixes media/media-source/media-source-seek-detach-crash.html
Comment 1 Alicia Boya García 2019-08-29 17:46:26 PDT
Created attachment 377661 [details]
Patch
Comment 2 WebKit Commit Bot 2019-08-30 08:15:00 PDT
Comment on attachment 377661 [details]
Patch

Clearing flags on attachment: 377661

Committed r249325: <https://trac.webkit.org/changeset/249325>
Comment 3 WebKit Commit Bot 2019-08-30 08:15:01 PDT
All reviewed patches have been landed.  Closing bug.