Closed Bug 1300675 Opened 3 years ago Closed 3 years ago

Harden PVideoDecoder against process crashes

Categories

(Core :: Audio/Video: Playback, defect, P3)

defect

Tracking

()

RESOLVED FIXED
mozilla52
Tracking Status
firefox51 --- affected
firefox52 --- fixed

People

(Reporter: mattwoodrow, Assigned: mattwoodrow)

References

(Depends on 1 open bug)

Details

Attachments

(1 file, 2 obsolete files)

We want to be able to handle crashes of either the GPU process, or the child process without crashing the other.

If it's the GPU process that crashes, we want to resume decoding as soon as it's available again, probably from the next keyframe.
Depends on: 1305361
Assignee: nobody → matt.woodrow
Attachment #8806188 - Flags: review?(dvander)
Attachment #8806188 - Attachment is obsolete: true
Attachment #8806188 - Flags: review?(dvander)
Attachment #8806555 - Flags: review?(dvander)
Attachment #8806555 - Attachment is obsolete: true
Attachment #8806555 - Flags: review?(dvander)
Attachment #8806567 - Flags: review?(dvander)
Comment on attachment 8806567 [details] [diff] [review]
(lazily) Rebuild VideoDecoderManager when we restart the GPU process v3

Review of attachment 8806567 [details] [diff] [review]:
-----------------------------------------------------------------

::: dom/media/ipc/VideoDecoderManagerChild.cpp
@@ +84,5 @@
> +    RefPtr<VideoDecoderManagerChild> manager;
> +    RefPtr<Runnable> createManager = NS_NewRunnableFunction([&]() {
> +      Endpoint<PVideoDecoderManagerChild> endpoint;
> +      if (!ContentChild::GetSingleton()->SendInitVideoDecoderManager(&endpoint)) {
> +        return;

return nullptr? (below too)

slightly better form to have this function return RefPtr<VideoDecoderManagerChild>, but okay either way now that sDecoderManager is single-thread.
Attachment #8806567 - Flags: review?(dvander) → review+
Pushed by mwoodrow@mozilla.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/c13ed43a9cc2
Rebuild VideoDecoderManager when we restart the GPU process. r=dvander
https://hg.mozilla.org/mozilla-central/rev/c13ed43a9cc2
Status: NEW → RESOLVED
Closed: 3 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla52
You need to log in before you can comment on or make changes to this bug.