summaryrefslogtreecommitdiffstats
path: root/common/observers
diff options
context:
space:
mode:
authormahongpe <mahongpe@intel.com>2013-10-31 03:17:20 +0800
committerbuildslave <buildslave@buildbot.tl.intel.com>2013-11-19 02:49:16 +0000
commitb7e04bcc10f0b8aaa698b1ccae40e87664ebef18 (patch)
treecabe62bdb0d7714919eeba41ea9ba98ec4d5da47 /common/observers
parent2b63842651caf789c8c4e1cc9c642afb954d087a (diff)
downloadandroid_hardware_intel_img_hwcomposer-b7e04bcc10f0b8aaa698b1ccae40e87664ebef18.tar.gz
android_hardware_intel_img_hwcomposer-b7e04bcc10f0b8aaa698b1ccae40e87664ebef18.tar.bz2
android_hardware_intel_img_hwcomposer-b7e04bcc10f0b8aaa698b1ccae40e87664ebef18.zip
Fix video flash issue at the end of playing video.
BZ:141685 MDS calls HWC to disable overlay when enter into unpreparing state. This will make video window to be black, which is not expected. For protected video, operations on overlay plane will not change, For clear video, overlay will not be disabled in unpreparing state. Change-Id: I525fd03f9870b82588d6b89ab004e2ddafcc7597 Signed-off-by: mahongpe <mahongpe@intel.com> Signed-off-by: Andy Qiu <junhai.qiu@intel.com>
Diffstat (limited to 'common/observers')
-rw-r--r--common/observers/MultiDisplayObserver.cpp11
-rw-r--r--common/observers/MultiDisplayObserver.h4
2 files changed, 4 insertions, 11 deletions
diff --git a/common/observers/MultiDisplayObserver.cpp b/common/observers/MultiDisplayObserver.cpp
index e68d3ab..b3d142e 100644
--- a/common/observers/MultiDisplayObserver.cpp
+++ b/common/observers/MultiDisplayObserver.cpp
@@ -307,11 +307,8 @@ status_t MultiDisplayObserver::blankSecondaryDisplay(bool blank)
status_t MultiDisplayObserver::updateVideoState(int sessionId, MDS_VIDEO_STATE state)
{
- bool preparing = (state == MDS_VIDEO_PREPARING || state == MDS_VIDEO_UNPREPARING);
- bool playing = (state != MDS_VIDEO_UNPREPARED);
- VTRACE("video state: preparing %d, playing %d", preparing, playing);
Hwcomposer::getInstance().getDisplayAnalyzer()->postVideoEvent(
- sessionId, preparing, playing);
+ sessionId, (int)state);
return 0;
}
@@ -335,17 +332,13 @@ status_t MultiDisplayObserver::setHdmiTiming(const MDSHdmiTiming& timing)
/// Public interfaces
-status_t MultiDisplayObserver::notifyHotPlug(int disp, bool connected)
+status_t MultiDisplayObserver::notifyHotPlug( bool connected)
{
Mutex::Autolock _l(mLock);
if (mMDSConnObserver.get() == NULL) {
return NO_INIT;
}
- if (disp != IDisplayDevice::DEVICE_EXTERNAL) {
- WTRACE("Only hanlding external display hotplug");
- return NO_ERROR;
- }
if (connected == mDeviceConnected) {
WTRACE("hotplug event ignored");
return NO_ERROR;
diff --git a/common/observers/MultiDisplayObserver.h b/common/observers/MultiDisplayObserver.h
index 8563b54..86cd988 100644
--- a/common/observers/MultiDisplayObserver.h
+++ b/common/observers/MultiDisplayObserver.h
@@ -74,7 +74,7 @@ public:
public:
bool initialize();
void deinitialize();
- status_t notifyHotPlug(int disp, bool connected);
+ status_t notifyHotPlug(bool connected);
status_t getVideoSourceInfo(int sessionID, VideoSourceInfo* info);
int getVideoSessionNumber();
bool isExternalDeviceTimingFixed() const;
@@ -123,7 +123,7 @@ public:
bool initialize() { return true; }
void deinitialize() {}
- status_t notifyHotPlug(int disp, bool connected) { return NO_ERROR; }
+ status_t notifyHotPlug(bool connected) { return NO_ERROR; }
status_t getVideoSourceInfo(int sessionID, VideoSourceInfo* info) { return INVALID_OPERATION; }
int getVideoSessionNumber() { return 0; }
bool isExternalDeviceTimingFixed() const { return false; }