Is it worth some tests to check what happens if you try and match (for example) an "m" line and the SDP body is missing one? (It doesn't look like you'd it any null pointer exceptions in that case, but it doe feel like a riskier case than some others).