Stop SDP processing if the media port is zero. This protects better against malformed SDP media

description lines.
cusax-fix
Werner Dittmann 16 years ago
parent 6f378d0a2e
commit 8e6e4d9459

@ -1299,7 +1299,15 @@ private void processAnswer(SessionDescription answer)
for ( MediaDescription mediaDescription : remoteDescriptions)
{
MediaType mediaType = SdpUtils.getMediaType(mediaDescription);
//stream target
MediaStreamTarget target
= SdpUtils.extractDefaultTarget(mediaDescription, answer);
// not target port - try next media description
if(target.getDataAddress().getPort() == 0)
{
closeStream(mediaType);
continue;
}
List<MediaFormat> supportedFormats = SdpUtils.extractFormats(
mediaDescription, dynamicPayloadTypes);
@ -1325,21 +1333,9 @@ private void processAnswer(SessionDescription answer)
MediaDirection direction
= devDirection.getDirectionForAnswer(remoteDirection);
//stream target
MediaStreamTarget target
= SdpUtils.extractDefaultTarget(mediaDescription, answer);
// create the corresponding stream...
if(target.getDataAddress().getPort() != 0)
{
initStream(connector, dev, supportedFormats.get(0), target,
initStream(connector, dev, supportedFormats.get(0), target,
direction);
}
else
// or destroy it in case the target port was 0.
{
closeStream(mediaType);
}
}
}

Loading…
Cancel
Save