diff -r f72906e669b4 -r 206564d58f40 bluetooth/btstack/avdtp/avdtpMuxChannel.h --- a/bluetooth/btstack/avdtp/avdtpMuxChannel.h Tue Jul 06 15:33:04 2010 +0300 +++ b/bluetooth/btstack/avdtp/avdtpMuxChannel.h Wed Aug 18 10:54:44 2010 +0300 @@ -134,7 +134,7 @@ TTCID aRemotelyAssignedTCID); // management path - virtual TInt AttachTransportSession(CUserPlaneTransportSession& aSession, TAvdtpTransportSessionType aType); + virtual TInt AttachTransportSession(CUserPlaneTransportSession& aSession, TAvdtpTransportSessionType aType, TL2CapConfig::TChannelPriority aPriority = TL2CapConfig::ELow); virtual void DetachTransportSession(CUserPlaneTransportSession& aSession, TAvdtpTransportSessionType aType); virtual TBool CouldAttachSession(const TAvdtpSockAddr& aAddr); virtual TTCID TCID() const; @@ -153,7 +153,9 @@ private: CMuxChannel(CAvdtpProtocol& aProtocol, const TBTDevAddr& aRemoteDevice); - + + void UpdateChannelPriority(); + static TInt MuxSendIntervalCb(TAny* aCMuxChannel); void CheckForClose(); TUint DoSend(); @@ -171,13 +173,15 @@ // receive path struct TUserPlaneTransportSessionState { - inline TUserPlaneTransportSessionState(CUserPlaneTransportSession& aSession); + inline TUserPlaneTransportSessionState(CUserPlaneTransportSession& aSession, TL2CapConfig::TChannelPriority aChannelPriority); CUserPlaneTransportSession& iSession; TBool iIsBlocked; - + TL2CapConfig::TChannelPriority iChannelPriority; }; + static void MaxChannelPriority(TL2CapConfig::TChannelPriority& aMaxPriority, const RArray& aSessions); + RArray iMediaSessions; RArray iReportingSessions; RArray iRecoverySessions; // recall not from same streams as other sessions @@ -202,8 +206,10 @@ }; inline CMuxChannel::TUserPlaneTransportSessionState::TUserPlaneTransportSessionState( - CUserPlaneTransportSession& aSession) -: iSession(aSession) + CUserPlaneTransportSession& aSession, + TL2CapConfig::TChannelPriority aChannelPriority) + : iSession(aSession) + , iChannelPriority(aChannelPriority) { }