267 return ret; |
267 return ret; |
268 } |
268 } |
269 switch ( *(XAuint32*)(xaSnk->pLocator) ) |
269 switch ( *(XAuint32*)(xaSnk->pLocator) ) |
270 { |
270 { |
271 case XA_DEFAULTDEVICEID_AUDIOOUTPUT: |
271 case XA_DEFAULTDEVICEID_AUDIOOUTPUT: |
272 DEBUG_INFO("XA_DEFAULTDEVICEID_AUDIOOUTPUT"); |
272 DEBUG_INFO("XA_DEFAULTDEVICEID_AUDIOOUTPUT"); |
273 uri = (XADataLocator_URI*)xaSnk->pLocator; |
273 uri = (XADataLocator_URI*)xaSnk->pLocator; |
274 break; |
274 break; |
275 case XA_DATALOCATOR_URI: |
275 case XA_DATALOCATOR_URI: |
276 DEBUG_INFO("XA_DATALOCATOR_URI"); |
276 DEBUG_INFO("XA_DATALOCATOR_URI"); |
277 uri = (XADataLocator_URI*)xaSnk->pLocator; |
277 uri = (XADataLocator_URI*)xaSnk->pLocator; |
278 if( !uri->URI && !xaSnk->pFormat ) |
278 if( !uri->URI && !xaSnk->pFormat ) |
279 { |
279 { |
280 DEBUG_ERR("Invalid parameter set for uri "); |
280 DEBUG_ERR("Invalid parameter set for uri "); |
|
281 ret = XA_RESULT_PARAMETER_INVALID; |
|
282 } |
|
283 break; |
|
284 case XA_DATALOCATOR_NATIVEDISPLAY: |
|
285 DEBUG_INFO("Sink locator type - XA_DATALOCATOR_NATIVEDISPLAY"); |
|
286 display = (XADataLocator_NativeDisplay*)(xaSnk->pLocator); |
|
287 if( !display->hDisplay || !display->hWindow ) |
|
288 { |
|
289 /*No action at this time*/ |
|
290 DEBUG_INFO("Warning - no display or window handle set"); |
|
291 } |
|
292 break; |
|
293 case XA_DATALOCATOR_OUTPUTMIX: |
|
294 DEBUG_INFO("Sink locator type - XA_DATALOCATOR_OUTPUTMIX"); |
|
295 { |
|
296 omix = (XADataLocator_OutputMix*)(xaSnk->pLocator); |
|
297 if ( !omix->outputMix ) |
|
298 { |
|
299 DEBUG_ERR("Invalid parameter set for outputmix"); |
|
300 ret = XA_RESULT_PARAMETER_INVALID; |
|
301 } |
|
302 } |
|
303 break; |
|
304 case XA_DATALOCATOR_ADDRESS: |
|
305 DEBUG_INFO("XA_DATALOCATOR_ADDRESS"); |
|
306 address = (XADataLocator_Address*)(xaSnk->pLocator); |
|
307 if( !address->pAddress && !xaSnk->pFormat ) |
|
308 { |
|
309 DEBUG_ERR("Invalid parameter set for address"); |
|
310 ret = XA_RESULT_PARAMETER_INVALID; |
|
311 } |
|
312 break; |
|
313 case XA_DATALOCATOR_IODEVICE: |
|
314 DEBUG_INFO("XA_DATALOCATOR_IODEVICE"); |
|
315 iodevice = (XADataLocator_IODevice*)(xaSnk->pLocator); |
|
316 if( iodevice->device ) |
|
317 { |
|
318 DEBUG_INFO("Media object as IODevice"); |
|
319 } |
|
320 else |
|
321 { |
|
322 DEBUG_INFO("Iodevice id used"); |
|
323 } |
|
324 break; |
|
325 default: |
|
326 DEBUG_ERR("Incorrect data locator for sink."); |
281 ret = XA_RESULT_PARAMETER_INVALID; |
327 ret = XA_RESULT_PARAMETER_INVALID; |
282 } |
328 break; |
283 break; |
|
284 case XA_DATALOCATOR_NATIVEDISPLAY: |
|
285 DEBUG_INFO("Sink locator type - XA_DATALOCATOR_NATIVEDISPLAY"); |
|
286 display = (XADataLocator_NativeDisplay*)(xaSnk->pLocator); |
|
287 if( !display->hDisplay || !display->hWindow ) |
|
288 { |
|
289 /*No action at this time*/ |
|
290 DEBUG_INFO("Warning - no display or window handle set"); |
|
291 } |
|
292 break; |
|
293 case XA_DATALOCATOR_OUTPUTMIX: |
|
294 DEBUG_INFO("Sink locator type - XA_DATALOCATOR_OUTPUTMIX"); |
|
295 { |
|
296 omix = (XADataLocator_OutputMix*)(xaSnk->pLocator); |
|
297 if ( !omix->outputMix ) |
|
298 { |
|
299 DEBUG_ERR("Invalid parameter set for outputmix"); |
|
300 ret = XA_RESULT_PARAMETER_INVALID; |
|
301 } |
|
302 } |
|
303 break; |
|
304 case XA_DATALOCATOR_ADDRESS: |
|
305 DEBUG_INFO("XA_DATALOCATOR_ADDRESS"); |
|
306 address = (XADataLocator_Address*)(xaSnk->pLocator); |
|
307 if( !address->pAddress && !xaSnk->pFormat ) |
|
308 { |
|
309 DEBUG_ERR("Invalid parameter set for address"); |
|
310 ret = XA_RESULT_PARAMETER_INVALID; |
|
311 } |
|
312 break; |
|
313 case XA_DATALOCATOR_IODEVICE: |
|
314 DEBUG_INFO("XA_DATALOCATOR_IODEVICE"); |
|
315 iodevice = (XADataLocator_IODevice*)(xaSnk->pLocator); |
|
316 if( iodevice->device ) |
|
317 { |
|
318 DEBUG_INFO("Media object as IODevice"); |
|
319 } |
|
320 else |
|
321 { |
|
322 DEBUG_INFO("Iodevice id used"); |
|
323 } |
|
324 break; |
|
325 default: |
|
326 DEBUG_ERR("Incorrect data locator for sink.") |
|
327 ret = XA_RESULT_PARAMETER_INVALID; |
|
328 break; |
|
329 } |
329 } |
330 counter ++; |
330 counter ++; |
331 } |
331 } |
332 va_end(argptr); |
332 va_end(argptr); |
333 DEBUG_API("<-XACommon_ValidateDataLocator"); |
333 DEBUG_API("<-XACommon_ValidateDataLocator"); |