Tags: Morteza-Rastgoo/Android-ExoPlayer-AirPlay-Receiver
Tags
update ExoPlayer to r2.14.0, add support for RTSP streams RTSP announcements: =================== https://exoplayer.dev/rtsp.html https://github.com/google/ExoPlayer/blob/release-v2/RELEASENOTES.md#2140-2021-05-13 google/ExoPlayer#3854 (comment) references: =========== https://github.com/google/ExoPlayer/blob/r2.14.0/library/hls/src/main/java/com/google/android/exoplayer2/source/hls/HlsMediaSource.java#L368 https://github.com/google/ExoPlayer/blob/r2.14.0/library/dash/src/main/java/com/google/android/exoplayer2/source/dash/DashMediaSource.java#L371 https://github.com/google/ExoPlayer/blob/r2.14.0/library/smoothstreaming/src/main/java/com/google/android/exoplayer2/source/smoothstreaming/SsMediaSource.java#L316 https://github.com/google/ExoPlayer/blob/r2.14.0/library/rtsp/src/main/java/com/google/android/exoplayer2/source/rtsp/RtspMediaSource.java#L123 https://github.com/google/ExoPlayer/blob/r2.14.0/library/core/src/main/java/com/google/android/exoplayer2/source/ProgressiveMediaSource.java#L221 https://github.com/google/ExoPlayer/blob/r2.14.0/library/core/src/main/java/com/google/android/exoplayer2/source/SingleSampleMediaSource.java#L122 https://github.com/google/ExoPlayer/blob/r2.14.0/library/core/src/main/java/com/google/android/exoplayer2/upstream/RawResourceDataSource.java#L75 https://github.com/google/ExoPlayer/blob/r2.14.0/library/common/src/main/java/com/google/android/exoplayer2/MediaItem.java#L58 https://github.com/google/ExoPlayer/blob/r2.14.0/library/common/src/main/java/com/google/android/exoplayer2/util/MimeTypes.java#L115 https://github.com/google/ExoPlayer/blob/r2.14.0/library/core/src/main/java/com/google/android/exoplayer2/util/EventLogger.java#L79 https://github.com/google/ExoPlayer/blob/r2.14.0/library/core/src/main/java/com/google/android/exoplayer2/SimpleExoPlayer.java#L215 https://github.com/google/ExoPlayer/blob/r2.14.0/library/core/src/main/java/com/google/android/exoplayer2/analytics/AnalyticsCollector.java#L91 https://github.com/google/ExoPlayer/blob/r2.14.0/library/core/src/main/java/com/google/android/exoplayer2/DefaultLoadControl.java#L112 https://github.com/google/ExoPlayer/blob/r2.14.0/library/core/src/main/java/com/google/android/exoplayer2/text/TextRenderer.java https://github.com/google/ExoPlayer/blob/r2.14.0/demos/main/src/main/java/com/google/android/exoplayer2/demo/TrackSelectionDialog.java#L356 issue: ====== google/ExoPlayer#8994 - there appears to be a minor problem with RTSP support in r2.14.0 - attempting to play an RTSP stream causes the app to crash - this should be resolved by updating ExoPlayer after a fix is released * TBD
send "Range" request header for self-contained video files (ex: mp4) I've encountered video file hosts that require this header, and respond with 404 when not sent in request. Hopefully, the presence of this header won't be otherwise problematic. If so, the conditional logic can be fine-tuned later.
SSLSocketFactory: more customizable, and highly permissive by default parameters to constructor: ========================== * boolean enableAllSupportedCipherSuites - enable all supported cipher suites * boolean enableAllSupportedProtocols - enable all supported protocols - example: * Android 4.1 - 4.4 (where: 16 <= API < 20) - "TLSv1.1" and "TLSv1.2" are supported but disabled by default * boolean trustAllCertificates - implicitly trust all SSL/TLS certificates - bypass verification that SSL/TLS certificates on servers are signed by a trusted certificate authority - similar to: * wget --no-check-certificate * curl --insecure related documentation: ====================== https://developer.android.com/reference/javax/net/ssl/SSLSocket.html#protocols https://developer.android.com/reference/javax/net/ssl/SSLSocket.html#cipher-suites sample video URL (TLS certificate doesn't validate for resolved IP): ==================================================================== https://archive.org/download/BigBuckBunny_328 https://archive.org/download/BigBuckBunny_328/BigBuckBunny_512kb.mp4 https://ia800201.us.archive.org/12/items/BigBuckBunny_328/BigBuckBunny_512kb.mp4 https://207.241.230.21/12/items/BigBuckBunny_328/BigBuckBunny_512kb.mp4
add HTTP endpoint: "/show-toast" POST data contains a text message that is displayed on the receiver in a Toast use case (primary): * to get the attention (or ask a question) of somebody who is watching a video while wearing bluetooth headphones use case (secondary): * to interject smart-ass commentary while watching bad B-movies (diy: MST3K)
forward extras from Intent to Service when starting app Intent 'data' Uri is optional. If present, it is loaded as the first track in playlist. The following extras are optional: * "textUrl" * "referUrl" * "startPos" If present: * applied only if 'data' Uri is non-empty * applied to configure first track in playlist * values are Strings
PreviousNext