accessoryservices/pluggeddisplay/pluggeddisplayengine/src/edidhandler.cpp
branchRCL_3
changeset 7 1a73e8f1b64d
parent 3 a811597961f0
child 10 1fc153c72b60
equal deleted inserted replaced
3:a811597961f0 7:1a73e8f1b64d
  1411 				continue;
  1411 				continue;
  1412 				}
  1412 				}
  1413 
  1413 
  1414 			availableIndex++;
  1414 			availableIndex++;
  1415 			}
  1415 			}
  1416 		
  1416 
  1417 		    if( ( (KDefaultCEAModePhysImgAspRatioNr == iEdidParserPtr->GetAspectRatioLandscape()) 
  1417 			// If the Vendor Specific Data Block supported and it has IEEE registration number then it is HDMI
  1418 		            && (KDefaultCEAModePhysImgAspRatioDr == iEdidParserPtr->GetAspectRatioPortrait()) ) 
  1418 			if ( iExtensionParserPtr && iExtensionParserPtr->IsVendorSpecificDataBlockSupported() && iExtensionParserPtr->HasIEEERegistration() )
  1419 		            && !defaultCEAmode )		    
       
  1420 
       
  1421 			{
  1419 			{
  1422             THdmiDviTimings timings;
  1420 			    INFO( "<<<<<<<<<<<<<<It is HDMI connector>>>>>>>>>>>>>>" );
  1423             
  1421 				// Add default CEA mode 1 to the list if it is not there already
  1424             // Get a timing item for default CEA Mode (1)
  1422 			    if( ( (KDefaultCEAModePhysImgAspRatioNr == iEdidParserPtr->GetAspectRatioLandscape()) 
  1425             const TTimingItem* item = TimingByIndex( KDefaultCEAModeIndex, ETimingModeCEA );
  1423 			            && (KDefaultCEAModePhysImgAspRatioDr == iEdidParserPtr->GetAspectRatioPortrait()) ) 
  1426             if( item )
  1424 			            && !defaultCEAmode )		    
  1427                 {
  1425 	
  1428                 Mem::FillZ( ( TAny* )&timings, sizeof( timings ) );
  1426 				{
  1429                 FillHdmiDviTimings( *item, timings );
  1427 	            THdmiDviTimings timings;
  1430                 retVal = aHdmiConfigs.Append( timings );
  1428 	            
  1431                 ERROR( retVal, "Failed to append CEA timing in available config array" );
  1429 	            // Get a timing item for default CEA Mode (1)
  1432                 }
  1430 	            const TTimingItem* item = TimingByIndex( KDefaultCEAModeIndex, ETimingModeCEA );
  1433 			}
  1431 	            if( item )
       
  1432 	                {
       
  1433 	                Mem::FillZ( ( TAny* )&timings, sizeof( timings ) );
       
  1434 	                FillHdmiDviTimings( *item, timings );
       
  1435 	                retVal = aHdmiConfigs.Append( timings );
       
  1436 	                ERROR( retVal, "Failed to append CEA timing in available config array" );
       
  1437 	                }
       
  1438 				}
       
  1439 		    }
       
  1440 		    else // It is DVI connector
       
  1441 		    {
       
  1442 				TInt modecount = aHdmiConfigs.Count();
       
  1443 				
       
  1444 				INFO( "<<<<<<<<<<<<<<It is DVI connector>>>>>>>>>>>>>>" );
       
  1445 				while( modecount-- )
       
  1446 				  {
       
  1447 					// Change it to DVI mode as it is existing in both Supported and available configurations
       
  1448 					aHdmiConfigs[ modecount ].iConnector = TTvSettings::EDVI;
       
  1449 					
       
  1450 					// Version should be zeroed for non-HDMI
       
  1451 					aHdmiConfigs[ modecount ].iTvHdmiVersion = 0;
       
  1452 					aHdmiConfigs[ modecount ].iTvHdmiRevision = 0;			  
       
  1453 				  }
       
  1454 		    }
  1434 
  1455 
  1435 		INFO( "Filtered list -- END" );
  1456 		INFO( "Filtered list -- END" );
  1436 		supportedModes.Close();
  1457 		supportedModes.Close();
  1437 		}
  1458 		}
  1438 
  1459