media/library
claincly fe74f690ec Allow RTSP streaming using TCP.
NAT will block off incoming UDP connection because the router has no knowledge
of the necessary port mapping (the mapping is never set up because UDP is
connectionless).

The end result is, the UDP socket to receive RTP data will timeout. After the
`SocketTimeoutException` is caught, the following takes place to try streaming
with TCP (or, RTP over RTSP).

- `RtspClient` sends TEARDOWN to tear down the current session.
- `RtspClient` re-connect to the RTSP server.
- `RtspMediaPeriod` cancels all loading `RtpDataLoadables` (that are using UDP)
- `RtspMediaPeriod` constructs new `RtpDataLoadables` that use
    `TransferRtpDataChannel`, and starts loading.
- Once the `RtpDataLoadables` are up and running, we are ready to receive.
  `RtspClient` sends the SETUP requests.

- The rest of the flow is unchanged.

#minor-release

PiperOrigin-RevId: 373310774
2021-05-12 11:53:14 +01:00
..
all Include RTSP module in gradle project 2021-05-10 23:41:50 +01:00
common Add copy constructor and remove APIs for Commands builder 2021-05-12 11:52:49 +01:00
core Remove deprecated MediaSource.getTag 2021-05-12 11:52:03 +01:00
dash Remove deprecated MediaSource.getTag 2021-05-12 11:52:03 +01:00
extractor Merge pull request #8860 from KeiMurayamaS:dev-v2-add-mpegh-parser 2021-05-11 16:01:46 +01:00
hls Remove deprecated MediaSource.getTag 2021-05-12 11:52:03 +01:00
rtsp Allow RTSP streaming using TCP. 2021-05-12 11:53:14 +01:00
smoothstreaming Remove deprecated MediaSource.getTag 2021-05-12 11:52:03 +01:00
transformer Format Java source files 2021-05-06 13:32:25 +01:00
ui Format Java source files 2021-05-06 13:32:25 +01:00
README.md Tweak and add READMEs + remove refs to V1 2017-08-17 22:59:34 +01:00

ExoPlayer library

The ExoPlayer library is split into multiple modules. See ExoPlayer's top level README for more information about the available library modules and how to use them.