Highlighted

Bug in MicrophoneManager

mjt333

28-11-2011

MicrophoneManager.getInstance() calls setAdvancedMicrophone(), which calls Microphone.getEnhancedMicrophone().  getEnhancedMicrophone() returns null for AIR running on tablets (AEC is not supported on tablets).  setAdvancedMicrophone() does not check for a null object, and throws a 1009 error:

TypeError: Error #1009: Cannot access a property or method of a null object reference.

    at com.adobe.rtc.clientManagers::MicrophoneManager/setAdvancedMicrophone()[E:\flashfarm\branches\connect\1108\SDKApp\payload\libs\flashOnly\player10.3\src\com\adobe\rtc\clientManagers\MicrophoneManager.as:227]

    at com.adobe.rtc.clientManagers::MicrophoneManager/get selectedMic()[E:\flashfarm\branches\connect\1108\SDKApp\payload\libs\flashOnly\player10.3\src\com\adobe\rtc\clientManagers\MicrophoneManager.as:169]

    at com.adobe.rtc.clientManagers::MicrophoneManager/set micIndex()[E:\flashfarm\branches\connect\1108\SDKApp\payload\libs\flashOnly\player10.3\src\com\adobe\rtc\clientManagers\MicrophoneManager.as:150]

    at com.adobe.rtc.clientManagers::MicrophoneManager()[E:\flashfarm\branches\connect\1108\SDKApp\payload\libs\flashOnly\player10.3\src\com\adobe\rtc\clientManagers\MicrophoneManager.as:105]

    at com.adobe.rtc.clientManagers::MicrophoneManager$/getInstance()[E:\flashfarm\branches\connect\1108\SDKApp\payload\libs\flashOnly\player10.3\src\com\adobe\rtc\clientManagers\MicrophoneManager.as:117]

    at com.adobe.rtc.collaboration::AudioPublisher/onInvalidate()[E:\flashfarm\branches\connect\1108\SDKApp\payload\libs\flashOnly\player10.3\src\com\adobe\rtc\collaboration\AudioPublisher.as:1169]

    at flash.events::EventDispatcher/dispatchEventFunction()

    at flash.events::EventDispatcher/dispatchEvent()

    at com.adobe.rtc.util::Invalidator/onInvalidationComplete()[E:\flashfarm\branches\connect\1108\SDKApp\payload\libs\flashOnly\player10.3\src\com\adobe\rtc\util\Invalidator.as:78]

    at flash.events::EventDispatcher/dispatchEventFunction()

    at flash.events::EventDispatcher/dispatchEvent()

    at flash.utils::Timer/tick()

Mike

Replies