2217 EXPORT_C void CAdvancedAudioPlayController::DoInitializeSinkL() |
2217 EXPORT_C void CAdvancedAudioPlayController::DoInitializeSinkL() |
2218 { |
2218 { |
2219 DP0(_L("CAdvancedAudioPlayController::DoInitializeSinkL")); |
2219 DP0(_L("CAdvancedAudioPlayController::DoInitializeSinkL")); |
2220 iSinkInitDataReady = EFalse; |
2220 iSinkInitDataReady = EFalse; |
2221 |
2221 |
|
2222 if (!iAudioOutput) |
|
2223 { |
|
2224 User::Leave(KErrNotReady); |
|
2225 } |
2222 //both source and sink have been added |
2226 //both source and sink have been added |
2223 if(iAudioOutput && iDataSourceAdapter) |
2227 if(iDataSourceAdapter) |
2224 { |
2228 { |
2225 iAudioOutput->SetDataSourceAdapter(iDataSourceAdapter); |
2229 iAudioOutput->SetDataSourceAdapter(iDataSourceAdapter); |
2226 } |
2230 } |
2227 |
2231 |
2228 if (!iDecoderExists) |
2232 if (!iDecoderExists) |
2246 |
2250 |
2247 |
2251 |
2248 // Read the default codec configuration parameters from resource file |
2252 // Read the default codec configuration parameters from resource file |
2249 RArray<TInt>& codecConfigData = const_cast<RArray<TInt>&>(iAudioResource->CodecConfigParametersL()); |
2253 RArray<TInt>& codecConfigData = const_cast<RArray<TInt>&>(iAudioResource->CodecConfigParametersL()); |
2250 // Override default values with values found from header, if available |
2254 // Override default values with values found from header, if available |
2251 GetCodecConfigData(codecConfigData); |
2255 GetCodecConfigData(codecConfigData); |
2252 if (!iAudioOutput) |
2256 iAudioOutput->ConfigureL(iSampleRate, iSinkNumChannels, iDataType, codecConfigData); |
2253 { |
2257 DP0(_L("CAdvancedAudioPlayController::DoInitializeSinkL, output configured")); |
2254 User::Leave(KErrNotReady); |
2258 iAudioOutput->PrimeL(); |
2255 } |
2259 DP0(_L("CAdvancedAudioPlayController::DoInitializeSinkL, output primed")); |
2256 else |
2260 |
2257 { |
2261 // we would use this code when we have a NULL sink |
2258 iAudioOutput->ConfigureL(iSampleRate, iSinkNumChannels, iDataType, codecConfigData); |
2262 |
2259 DP0(_L("CAdvancedAudioPlayController::DoInitializeSinkL, output configured")); |
2263 /* if (iDuration > 0) |
2260 iAudioOutput->PrimeL(); |
|
2261 DP0(_L("CAdvancedAudioPlayController::DoInitializeSinkL, output primed")); |
|
2262 } |
|
2263 // we would use this code when we have a NULL sink |
|
2264 /* if (iDuration > 0) |
|
2265 { |
2264 { |
2266 DP0(_L("CAdvancedAudioPlayController::BufferFilledL, unblocking duration")); |
2265 DP0(_L("CAdvancedAudioPlayController::BufferFilledL, unblocking duration")); |
2267 iBlockDuration = EFalse; |
2266 iBlockDuration = EFalse; |
2268 } |
2267 } |
2269 if (iWait) |
2268 if (iWait) |