I'm assuming you mean that the client is the offerer.
In the spec currently, one can:
- bundlePolicy: max-bundle
- offerToReceiveVideo: 10
And you can get 10 in one offer/answer with everything bundled (no impact on the network, just on the SDP size). If you don't want to do that, or have a really high max (100?), then a re-offer from the server is necessary.
In a future spec, offerToReceiveVideo will go away in favor of other mechanisms to "offer to receive" (currently called PeerConnection.addTransceiver), but the idea will still be there.
In Chrome, we don't currently support Unified Plan, nor offerToReceive > 1. However, Plan B SDP as currently found in Chrome does allow the remote answer from the MCU to contain an unlimited number of tracks. Just keep putting in a=ssrc lines :). Thus, you can get as many as you want in one offer/answer round trip. However, Plan B SDP is going to go away eventually.
And in the longer-term (WebRTC NV or ORTC), the JS will be able to simply create as many RtpReceiver objects it wants at any time, so the JS could create them after getting the answer from server. But then you'd probably need to use something other than SDP for signalling.