222 * @param aSdpDocument sdp document |
222 * @param aSdpDocument sdp document |
223 * @return warning |
223 * @return warning |
224 */ |
224 */ |
225 virtual TMceSipWarningCode ValidateSdpL( CSdpMediaField& aMediaLine, |
225 virtual TMceSipWarningCode ValidateSdpL( CSdpMediaField& aMediaLine, |
226 CSdpDocument& aSdpDocument ); |
226 CSdpDocument& aSdpDocument ); |
|
227 |
|
228 /** |
|
229 * Creates fmtlist that can be used as media field fmt list -attribute |
|
230 * @param aCodecs codecs |
|
231 * @return fmtp list |
|
232 */ |
|
233 virtual HBufC8* CreateFormatListL( CMceComCodec::TIterator& aCodecs ) const; |
|
234 |
|
235 /** |
|
236 * Decodes static payloads if payload wasn't defined as rtpmap |
|
237 * @param aMediaLine Media line |
|
238 * @param aStream stream |
|
239 * @param aPayloadTypes payload types as an array |
|
240 * @param aRole role of negotiation |
|
241 * @return number of lines decoded |
|
242 */ |
|
243 virtual TInt DecodeStaticPayloadsL( CSdpMediaField& aMediaLine, |
|
244 CMceComMediaStream& aStream, |
|
245 RArray<TUint>& aPayloadTypes, |
|
246 TMceNegotiationRole aRole ) const; |
|
247 |
|
248 /** |
|
249 * Decodes media line's format list to payload type array |
|
250 * @param aMediaLine Media line |
|
251 * @param aPayloadTypes payload types as an array |
|
252 */ |
|
253 virtual void DecodeFormatListL( CSdpMediaField& aMedia, |
|
254 RArray<TUint>& aPayloadTypes ) const; |
|
255 |
|
256 /** |
|
257 * Decodes media line's format list to payload type array |
|
258 * @param aMediaLine Media line |
|
259 * @param aPayloadTypes payload types as an array |
|
260 * @return system wide error |
|
261 */ |
|
262 virtual TInt DecodeFormatList( CSdpMediaField& aMedia, |
|
263 RArray<TUint>& aPayloadTypes ) const; |
227 |
264 |
228 /** |
265 /** |
229 * Gets the type of session ( sendrecv, sendonly or receiveonly ) |
266 * Gets the type of session ( sendrecv, sendonly or receiveonly ) |
230 * @param aMediaLine media line |
267 * @param aMediaLine media line |
231 * @param aSessionAttributes all session attributes |
268 * @param aSessionAttributes all session attributes |
291 * @return number of lines decoded |
328 * @return number of lines decoded |
292 */ |
329 */ |
293 TInt DecodeRtpmapLinesL( CSdpMediaField& aMediaLine, |
330 TInt DecodeRtpmapLinesL( CSdpMediaField& aMediaLine, |
294 CMceComMediaStream& aStream ) const; |
331 CMceComMediaStream& aStream ) const; |
295 |
332 |
296 /** |
333 |
297 * Decodes static payloads if payload wasn't defined as rtpmap |
|
298 * @param aMediaLine Media line |
|
299 * @param aStream stream |
|
300 * @param aPayloadTypes payload types as an array |
|
301 * @param aRole role of negotiation |
|
302 * @return number of lines decoded |
|
303 */ |
|
304 TInt DecodeStaticPayloadsL( CSdpMediaField& aMediaLine, |
|
305 CMceComMediaStream& aStream, |
|
306 RArray<TUint>& aPayloadTypes, |
|
307 TMceNegotiationRole aRole ) const; |
|
308 |
334 |
309 /** |
335 /** |
310 * Decodes rtpmap line. |
336 * Decodes rtpmap line. |
311 * @param aRtpMaptLine rtpmap line |
337 * @param aRtpMaptLine rtpmap line |
312 * @param aMediaLine media line |
338 * @param aMediaLine media line |
316 */ |
342 */ |
317 CMceComCodec* DecodeRtpmapLineL( CSdpFmtAttributeField& aRtpMaptLine, |
343 CMceComCodec* DecodeRtpmapLineL( CSdpFmtAttributeField& aRtpMaptLine, |
318 CSdpMediaField& aMediaLine, |
344 CSdpMediaField& aMediaLine, |
319 CMceComMediaStream& aStream, |
345 CMceComMediaStream& aStream, |
320 const TDesC8& aFmtpValue = KNullDesC8 ) const; |
346 const TDesC8& aFmtpValue = KNullDesC8 ) const; |
|
347 |
|
348 /** |
|
349 * Decodes rtpmap line. |
|
350 * @param aRtpMaptLine rtpmap line |
|
351 * @param aMediaLine media line |
|
352 * @param aStream stream |
|
353 * @param aFmtpValue |
|
354 * @return decoded codec if codec was supported |
|
355 */ |
|
356 CMceComCodec* DecodeRtpmapLineL( CSdpMediaField& aMediaLine, |
|
357 CMceComMediaStream& aStream ) const; |
321 |
358 |
322 /** |
359 /** |
323 * Decodes fmtp lines. |
360 * Decodes fmtp lines. |
324 * @pre codecs and rtpmaps are in sync |
361 * @pre codecs and rtpmaps are in sync |
325 * @param aMediaLine Media line |
362 * @param aMediaLine Media line |
389 |
426 |
390 void UpdateDirectionL( CSdpMediaField& aMediaLine, |
427 void UpdateDirectionL( CSdpMediaField& aMediaLine, |
391 CMceComMediaStream& aStream, |
428 CMceComMediaStream& aStream, |
392 CSdpDocument& aSdpDocument) const; |
429 CSdpDocument& aSdpDocument) const; |
393 |
430 |
394 /** |
|
395 * Creates fmtlist that can be used as media field fmt list -attribute |
|
396 * @param aCodecs codecs |
|
397 * @return fmtp list |
|
398 */ |
|
399 HBufC8* CreateFormatListL( CMceComCodec::TIterator& aCodecs ) const; |
|
400 |
|
401 |
|
402 /** |
431 /** |
403 * decodes the remote RTCP port according to RFC 3605 |
432 * decodes the remote RTCP port according to RFC 3605 |
404 * @param aMediaLine Media line |
433 * @param aMediaLine Media line |
405 * @param aStream media stream |
434 * @param aStream media stream |
406 */ |
435 */ |
426 /** |
455 /** |
427 * Decodes media attributes to be sent to client |
456 * Decodes media attributes to be sent to client |
428 * @param aMediaLine Media line |
457 * @param aMediaLine Media line |
429 * @param aStream media stream |
458 * @param aStream media stream |
430 */ |
459 */ |
431 void DecodeClientAttributesL( CSdpMediaField& aMediaLine, |
460 void virtual DecodeClientAttributesL( CSdpMediaField& aMediaLine, |
432 CMceComMediaStream& aStream ) const; |
461 CMceComMediaStream& aStream ) const; |
433 |
462 |
434 |
463 |
435 /** |
|
436 * Decodes media line's format list to payload type array |
|
437 * @param aMediaLine Media line |
|
438 * @param aPayloadTypes payload types as an array |
|
439 */ |
|
440 void DecodeFormatListL( CSdpMediaField& aMedia, |
|
441 RArray<TUint>& aPayloadTypes ) const; |
|
442 |
|
443 /** |
|
444 * Decodes media line's format list to payload type array |
|
445 * @param aMediaLine Media line |
|
446 * @param aPayloadTypes payload types as an array |
|
447 * @return system wide error |
|
448 */ |
|
449 TInt DecodeFormatList( CSdpMediaField& aMedia, |
|
450 RArray<TUint>& aPayloadTypes ) const; |
|
451 |
|
452 /** |
464 /** |
453 * Finds codec based on payload type |
465 * Finds codec based on payload type |
454 * @param aPayloadType payload |
466 * @param aPayloadType payload |
455 * @param aStream stream containig codecs |
467 * @param aStream stream containig codecs |
456 * @return codec |
468 * @return codec |