Replaced the _audio parameter with a strategy.
The purpose is to make _rtpReceiver mostly agnostic to if it processes audio or video, and make its delegates responsible for that. This patch makes the actual interfaces and interactions between the classes a lot clearer which will probably help straighten out the rather convoluted business logic in here. There are a number of rough edges I hope to address in coming patches. In particular, I think there are a lot of audio-specific hacks, especially when it comes to telephone event handling. I think we will see a lot of benefit once that stuff moves out of rtp_receiver altogether. The new strategy I introduced doesn't quite pull its own weight yet, but I think I will be able to remove a lot of that interface later once the responsibilities of the classes becomes move cohesive (e.g. that audio specific stuff actually lives in the audio class, and so on). Also I think it should be possible to extract payload type management to a helper class later on. BUG= TEST=vie/voe_auto_test, trybots Review URL: https://webrtc-codereview.appspot.com/1001006 git-svn-id: http://webrtc.googlecode.com/svn/trunk@3306 4adac7df-926f-26a2-2b94-8c16560cd09d
This commit is contained in:
@ -59,6 +59,8 @@ namespace ModuleRTPUtility
|
||||
PayloadUnion typeSpecific;
|
||||
};
|
||||
|
||||
typedef std::map<WebRtc_Word8, Payload*> PayloadTypeMap;
|
||||
|
||||
// Return a clock that reads the time as reported by the operating
|
||||
// system. The returned instances are guaranteed to read the same
|
||||
// times; in particular, they return relative times relative to
|
||||
@ -85,6 +87,14 @@ namespace ModuleRTPUtility
|
||||
|
||||
WebRtc_UWord32 pow2(WebRtc_UWord8 exp);
|
||||
|
||||
// Returns a pointer to the payload data given a packet.
|
||||
const WebRtc_UWord8* GetPayloadData(const WebRtcRTPHeader* rtp_header,
|
||||
const WebRtc_UWord8* packet);
|
||||
|
||||
// Returns payload length given a packet.
|
||||
WebRtc_UWord16 GetPayloadDataLength(const WebRtcRTPHeader* rtp_header,
|
||||
const WebRtc_UWord16 packet_length);
|
||||
|
||||
// Returns true if |newTimestamp| is older than |existingTimestamp|.
|
||||
// |wrapped| will be set to true if there has been a wraparound between the
|
||||
// two timestamps.
|
||||
@ -170,7 +180,7 @@ namespace ModuleRTPUtility
|
||||
int frameWidth;
|
||||
int frameHeight;
|
||||
|
||||
const WebRtc_UWord8* data;
|
||||
const WebRtc_UWord8* data;
|
||||
WebRtc_UWord16 dataLength;
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user