tResult Emergency::Init(tInitStage eStage, __exception) { RETURN_IF_FAILED(cFilter::Init(eStage, __exception_ptr)); if (eStage == StageFirst) { cObjectPtr<IMediaType> typeSignal; cObjectPtr<IMediaType> typeSignalOut; RETURN_IF_FAILED(initInputPins(__exception_ptr, typeSignal)); RETURN_IF_FAILED(initOutputPins(typeSignalOut)); RETURN_IF_FAILED(typeSignal->GetInterface(IID_ADTF_MEDIA_TYPE_DESCRIPTION, (tVoid**) &this->coderDescriptionSignalInput)); RETURN_IF_FAILED_AND_LOG_ERROR_STR(createInputPin("front_ir_fusion", this->m_oIFrontIRF, typeSignal), "Failed creating IR Fusion!"); RETURN_IF_FAILED_AND_LOG_ERROR_STR(createOutputPin("decision", this->decisionPin, typeSignalOut), "Failed creating decision output!"); } else if (eStage == StageNormal) { this->m_nEmergencyDistanceFront = GetPropertyInt(PROPERTY_EMERGENCY_DISTANCE_FRONT); this->m_nEmergencyDistanceRear = GetPropertyInt(PROPERTY_EMERGENCY_DISTANCE_REAR); this->m_nEmergencyDistanceFrontUss = GetPropertyInt(PROPERTY_EMERGENCY_DISTANCE_FRONT_USS); } else if (eStage == StageGraphReady) { cObjectPtr<IMediaSerializer> serializer; RETURN_IF_FAILED(this->coderDescriptionSignalOutput->GetMediaSampleSerializer(&serializer)); m_size = serializer->GetDeserializedSize(); } RETURN_NOERROR; }
Controller::Controller() { initPwm(); initInputPins(); }