public void testStream() throws InterruptedException {
AsyncResultManager<RtpEndpoint> async = new AsyncResultManager<>(
"RtpEndpoint creation");
pipeline.newRtpEndpoint().buildAsync(async.getContinuation());
RtpEndpoint rtp = async.waitForResult();
AsyncResultManager<String> asyncGenerateOffer = new AsyncResultManager<>(
"rtp.generateOffer() invocation");
rtp.generateOffer(asyncGenerateOffer.getContinuation());
asyncGenerateOffer.waitForResult();
AsyncResultManager<String> asyncProcessOffer = new AsyncResultManager<>(
"rtp.generateOffer() invocation");
rtp.processOffer("processOffer test",
asyncProcessOffer.getContinuation());
asyncProcessOffer.waitForResult();
AsyncResultManager<String> asyncProcessAnswer = new AsyncResultManager<>(
"rtp.processAnswer() invocation");
rtp.processAnswer("processAnswer test",
asyncProcessAnswer.getContinuation());
asyncProcessAnswer.waitForResult();
AsyncResultManager<String> asyncGetLocalSessionDescriptor = new AsyncResultManager<>(
"rtp.getLocalSessionDescriptor() invocation");
rtp.getLocalSessionDescriptor(asyncGetLocalSessionDescriptor
.getContinuation());
asyncGetLocalSessionDescriptor.waitForResult();
AsyncResultManager<String> asyncGetRemoteSessionDescriptor = new AsyncResultManager<>(
"rtp.getRemoteSessionDescriptor() invocation");
rtp.getRemoteSessionDescriptor(asyncGetRemoteSessionDescriptor
.getContinuation());
asyncGetRemoteSessionDescriptor.waitForResult();
}