Skip to content

Tags: Morteza-Rastgoo/Android-ExoPlayer-AirPlay-Receiver

Tags

v2.0.21

Toggle v2.0.21's commit message
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

v2.0.20

Toggle v2.0.20's commit message
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.

v2.0.19

Toggle v2.0.19's commit message
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

v2.0.18

Toggle v2.0.18's commit message
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)

v2.0.17

Toggle v2.0.17's commit message
translate string resources (w/ IBM Language Translator service)

v2.0.16

Toggle v2.0.16's commit message
refactor and simplify code that adds items to exoplayer media queue

v2.0.15

Toggle v2.0.15's commit message
'HttpHtmlPlaylistExtractor': retain order of URLs in resulting playlist

v2.0.14

Toggle v2.0.14's commit message
add HTTP endpoint: "/add-scrub-offset"

v2.0.13

Toggle v2.0.13's commit message
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

v2.0.12

Toggle v2.0.12's commit message
minor tweak to intent filters