Pass on the Quality notification q to a. Our QualityControl sink (if we have one) or else b. to our upstream filter and if that doesn't work, throw it away with a bad return code
| 3237 | // b. to our upstream filter |
| 3238 | // and if that doesn't work, throw it away with a bad return code |
| 3239 | HRESULT |
| 3240 | CBaseInputPin::PassNotify(Quality &q) |
| 3241 | { |
| 3242 | // We pass the message on, which means that we find the quality sink |
| 3243 | // for our input pin and send it there |
| 3244 | |
| 3245 | // DbgLog((LOG_TRACE,3,TEXT("Passing Quality notification through transform"))); |
| 3246 | if (m_pQSink != NULL) |
| 3247 | { |
| 3248 | return m_pQSink->Notify(m_pFilter, q); |
| 3249 | } |
| 3250 | else |
| 3251 | { |
| 3252 | // no sink set, so pass it upstream |
| 3253 | HRESULT hr; |
| 3254 | IQualityControl *pIQC; |
| 3255 | |
| 3256 | hr = VFW_E_NOT_FOUND; // default |
| 3257 | if (m_Connected) |
| 3258 | { |
| 3259 | m_Connected->QueryInterface(IID_IQualityControl, (void **)&pIQC); |
| 3260 | |
| 3261 | if (pIQC != NULL) |
| 3262 | { |
| 3263 | hr = pIQC->Notify(m_pFilter, q); |
| 3264 | pIQC->Release(); |
| 3265 | } |
| 3266 | } |
| 3267 | return hr; |
| 3268 | } |
| 3269 | |
| 3270 | } // PassNotify |
| 3271 | |
| 3272 | //===================================================================== |
| 3273 | //===================================================================== |
no test coverage detected