OSDN Git Service

Watch for SurfaceFlinger death
authorAndy McFadden <fadden@android.com>
Fri, 7 Sep 2012 01:45:56 +0000 (18:45 -0700)
committerAndy McFadden <fadden@android.com>
Fri, 7 Sep 2012 01:54:42 +0000 (18:54 -0700)
commit6652b3edcb7ef5402c05db12f477ceb23c27d6ec
tree589750d0431748564f2e9a91c928aa45cb0a60c0
parent55882dea1b1b305f15192b96ff7814f18babb212
Watch for SurfaceFlinger death

The ComposerService object wasn't watching for SurfaceFlinger
restarts, which doesn't usually matter because the app framework
restarts when SurfaceFlinger dies.  However, mediaserver continues
to run, which means its ComposerService object was trying to use
a dead handle, and playback of DRM movies was failing.

This adds a DeathRecipient listener and some logic to re-establish
the SurfaceFlinger connection.

Bug 6645813

Change-Id: I07581b881d3835601aa57d5358c8259d93bc4515
include/private/gui/ComposerService.h
libs/gui/SurfaceComposerClient.cpp