> Can someone tell me if it is able to dynamically adapt quality based on available bandwidth?
Depends on what you mean. It is a variable bitrate codec, and the encoder can easily adjust the bitrate of the stream.
But you would need a way to discover the available bandwidth and communicate it to the encoder - Opus is just a codec, not a container or streaming protocol.
> If it loses packets in the stream, do we get a 'skip' in the audio or does the quality go down?
The standard doesn't mandate a specific way to deal with packet loss, but the reference implementation tries to handle this gracefully. [1]
Some properties of the encoding facilitate this: for instance, packets can optionally include a reduced-bitrate encoding of the previous packet to provide redundancy. [2]
Depends on what you mean. It is a variable bitrate codec, and the encoder can easily adjust the bitrate of the stream. But you would need a way to discover the available bandwidth and communicate it to the encoder - Opus is just a codec, not a container or streaming protocol.
> If it loses packets in the stream, do we get a 'skip' in the audio or does the quality go down?
The standard doesn't mandate a specific way to deal with packet loss, but the reference implementation tries to handle this gracefully. [1]
Some properties of the encoding facilitate this: for instance, packets can optionally include a reduced-bitrate encoding of the previous packet to provide redundancy. [2]
[1] http://tools.ietf.org/html/rfc6716#section-2.1.8
[2] http://tools.ietf.org/html/rfc6716#section-4.4