accessoryservices/pluggeddisplay/pluggeddisplayengine/src/hdmicablestateconnected.cpp
--- a/accessoryservices/pluggeddisplay/pluggeddisplayengine/src/hdmicablestateconnected.cpp Wed Jun 23 19:38:32 2010 +0300
+++ b/accessoryservices/pluggeddisplay/pluggeddisplayengine/src/hdmicablestateconnected.cpp Tue Jul 06 15:43:30 2010 +0300
@@ -101,8 +101,11 @@
if ( KSettingsTvoutVerticalOverscan == aId )
{
INFO("Cenrep Value Changed");
- iEDIDHandler.UpdateOverscanValues();
- Input( EPDEIfCentralRepositoryWatch, EPDEIfCentralRepositoryWatchEventKeyChanged );
+ if( iEDIDHandler.UpdateOverscanValues() )
+ {
+ INFO( "There is a real change" );
+ Input( EPDEIfCentralRepositoryWatch, EPDEIfCentralRepositoryWatchEventKeyChanged );
+ }
}
else
{
@@ -153,8 +156,7 @@
{
FUNC_LOG;
TInt retVal( KErrNone );
- iOverScanSettingsChanged = EFalse;
-
+
// Get the current overscan value
iEDIDHandler.UpdateOverscanValues();
iEDIDHandler.GetCurrentOverscanValue( iHOverscanValue, iVOverscanValue );
@@ -526,18 +528,11 @@
{
iSubState = ESubStateConnected;
- if( !iOverScanSettingsChanged )
- {
- TRAPD( err, iHDMICableStatusFSM.SettingsChangedL() );
- if ( KErrNone != err )
- {
- INFO_1( "iHDMICableStatusFSM.SettingsChangedL() failed, error code %i", err );
- }
- }
- else
- {
- iOverScanSettingsChanged = EFalse;
- }
+ TRAPD( err, iHDMICableStatusFSM.SettingsChangedL() );
+ if ( KErrNone != err )
+ {
+ INFO_1( "iHDMICableStatusFSM.SettingsChangedL() failed, error code %i", err );
+ }
ListenCopyProtectionStatusChanges();
iTVOutConfigForSettingChanges->ListenSettingsChanges();
iCRWatchForVOverScan->Watch();
@@ -583,12 +578,14 @@
INFO( "Event: EIfTVOutConfigEventDisabled" );
iSubState = ESubStateIdlingDisconnectAccessory;
iAccessoryControlIf.DisconnectAccessory();
+ ClearAvailableTvOutConfig();
}
else if ( EIfTVOutConfigEventDisableFailed == aEvent )
{
INFO( "Event: EIfTVOutConfigEventDisableFailed" );
iSubState = ESubStateIdlingDisconnectAccessory;
iAccessoryControlIf.DisconnectAccessory();
+ ClearAvailableTvOutConfig();
}
else
{
@@ -963,7 +960,7 @@
iTVOutConfigForHDMI.Enable();
}
}
- else if ( EIfTVOutConfigEventSettingsChangesListenStarted )
+ else if ( EIfTVOutConfigEventSettingsChangesListenStarted == aEvent )
{
INFO( "Event: EIfTVOutConfigEventSettingsChangesListenStarted" );
// Everything is OK. Stay in the same state.
@@ -1007,9 +1004,6 @@
if( (TTvSettings::EHDMI == curConfig.iConnector) && (!curConfig.iUnderscanEnabled) )
{
- // Clear the available config
- ClearAvailableTvOutConfig();
- iCRWatchForVOverScan->Cancel();
TInt retVal = iEDIDHandler.SetVideoParameters();
if ( KErrNone != retVal )
@@ -1017,7 +1011,8 @@
INFO( "Going to state <Rejected> since video parameter setting failed!" );
iTVOutConfigForSettingChanges->Cancel();
iCRWatchForVOverScan->Cancel();
- iHDMICableStatusFSM.Transit( EHDMICableStateRejected );
+ iSubState = ESubStateIdlingDisable;
+ iTVOutConfigForHDMI.Disable();
}
else
{
@@ -1030,12 +1025,8 @@
INFO( "Retreating back to <Idle> since cable was disconnected while not listening!" );
iTVOutConfigForSettingChanges->Cancel();
iCRWatchForVOverScan->Cancel();
- iHDMICableStatusFSM.Transit( EHDMICableStateIdle );
- }
- else
- {
- iOverScanSettingsChanged = ETrue;
- iSubState = ESubStateWaitForSettingsChanged;
+ iSubState = ESubStateIdlingDisable;
+ iTVOutConfigForHDMI.Disable();
}
}
}
@@ -1116,24 +1107,8 @@
else if ( EIfTVOutConfigEventSettingsChanged == aEvent )
{
INFO( "Event: EIfTVOutConfigEventSettingsChanged" );
- if( iOverScanSettingsChanged )
- {
- if ( iTVOutConfigForHDMI.GetTvOutConfig()->Enabled() )
- {
- iSubState = ESubStateResettingDisable;
- iTVOutConfigForHDMI.Disable();
- }
- else
- {
- iSubState = ESubStateResettingEnable;
- iTVOutConfigForHDMI.Enable();
- }
- }
- else
- {
- iSubState = ESubStateEnable;
- iTVOutConfigForHDMI.Enable();
- }
+ iSubState = ESubStateEnable;
+ iTVOutConfigForHDMI.Enable();
}
else if ( EIfTVOutConfigEventSettingsChangesListenFailed == aEvent )
{