///|
fn main raise {
let endpoint = @rtsp.Endpoint::parse("rtsp://camera.local/live")
assert_eq(endpoint.port, 554)
let request = @rtsp.Request::new("OPTIONS", endpoint.url(), 1)
let decoder = @rtsp.Decoder::new()
let events = decoder.feed(request.encode())
assert_eq(events.length(), 1)
match events[0] {
Command(parsed) => assert_eq(parsed.cseq(), 1)
_ => fail("expected request")
}
decoder.finish()
let transport = @rtsp.negotiate(
"RTP/AVP/TCP;unicast;interleaved=0-1",
@rtsp.Tcp(0, 1),
)
assert_eq(transport.server_ports, None)
assert_eq(@rtsp.PlayRange::Interval(1000L, 2500L).encode(), "npt=1.000-2.500")
println("MoonRTSP protocol consumer passed")
}