Summary: | [MSE][GStreamer] Add h264parse to accept MP4 without stss | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | Alicia Boya García <aboya> | ||||||||
Component: | WebKitGTK | Assignee: | Alicia Boya García <aboya> | ||||||||
Status: | RESOLVED FIXED | ||||||||||
Severity: | Normal | CC: | bugs-noreply, calvaris, commit-queue, pnormand | ||||||||
Priority: | P2 | ||||||||||
Version: | WebKit Nightly Build | ||||||||||
Hardware: | Unspecified | ||||||||||
OS: | Unspecified | ||||||||||
Bug Depends on: | |||||||||||
Bug Blocks: | 190394 | ||||||||||
Attachments: |
|
Description
Alicia Boya García
2018-10-01 10:34:50 PDT
Created attachment 351262 [details]
Patch
Comment on attachment 351262 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=351262&action=review > Source/WebCore/platform/graphics/gstreamer/mse/AppendPipeline.cpp:872 > + RELEASE_ASSERT(h264parse); Please, add a GST_ERROR, ASSERT_NOT_REACHED and return nullptr in case there is no parser. Better a not playing element than a web process crass. And we should do the same for vorbisparse. (In reply to Xabier Rodríguez Calvar from comment #2) > And we should do the same for vorbisparse. I don't mean we need to do it in this bug, it can be another. If you decide to do it in this bug, which I won't oppose, make it explicit in the changelog. A long-term and generic solution could be to use parsebin. Created attachment 351361 [details]
Patch
Comment on attachment 351361 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=351361&action=review > Source/WebCore/platform/graphics/gstreamer/mse/AppendPipeline.cpp:872 > + GstElement* h264parse = gst_element_factory_make("h264parse", parserName.get()); > + g_return_val_if_fail(h264parse, nullptr); ASSERT on the element as well to get a crash in debug. (In reply to Xabier Rodríguez Calvar from comment #6) > Comment on attachment 351361 [details] > Patch > > View in context: > https://bugs.webkit.org/attachment.cgi?id=351361&action=review > > > Source/WebCore/platform/graphics/gstreamer/mse/AppendPipeline.cpp:872 > > + GstElement* h264parse = gst_element_factory_make("h264parse", parserName.get()); > > + g_return_val_if_fail(h264parse, nullptr); > > ASSERT on the element as well to get a crash in debug. You can use G_DEBUG=fatal-criticals for that. Created attachment 351367 [details]
Patch
Comment on attachment 351367 [details] Patch Clearing flags on attachment: 351367 Committed r236735: <https://trac.webkit.org/changeset/236735> All reviewed patches have been landed. Closing bug. Minor correction: it's not actually about a stss box because fragmented files use the `sample_is_difference_sample` flag of `trun` instead; but otherwise the problem is the same. |