multimediacommsengine/mmcesrv/mmcemediamanager/inc/mcemediasdpcodec.h
branchrcs
changeset 49 64c62431ac08
parent 0 1bce908db942
equal deleted inserted replaced
44:fb024d5e35fa 49:64c62431ac08
   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