Skip to content

DASH download fails if last segment request throws a 404 #7142

@Rana-Adeel-Ahmad

Description

@Rana-Adeel-Ahmad

Issue description:

I am trying to download DRM protected video and play offline.
I Download the demo app from (https://github.com/google/ExoPlayer.git) and run the app. its seems secure widevine cannot be downloaded, then l found out that there is check in #getDownloadUnsupportedStringId() in #SampleChooserActivity.java which is preventing to download the media. After updating I am able to download.

  • Issue:

i update the media.exolist.json file as follow

    {
        "name": "WV: Secure SD (cenc,MP4,H264)",
        "uri": "https://test-encoding-bucket.s3-us-west-1.amazonaws.com/offline-playback/test3/manifests/sd/stream.mpd",
        "drm_scheme": "widevine",
        "drm_license_url": "https://wv.service.expressplay.com/hms/wv/rights/?ExpressPlayToken=BQASiLwdKdYAJDQ4OTA2MmYxLTEyNDItNDA4NS04NjM1LTA3ODg3MmExZjcwMAAAAGDdO5QYUXr_lh5BdTBUQ5FYieOdpIZcxkg9MunapzD9hrYSJQzCZ6w7KbCdqIzUIrEKiOn1ouWk1neCAC9PS0l7l6lwaNtf75pMB1pvAtvxUX1pVlWtGZWp23GhLagj3L_LULZRg3-ImRnCKEv1Lk_5_TwJ6Q"
      },

Then play the app and click on download icon of (#WV: Secure SD (cenc, MP4,H264)). There is selection dialog and then Downloading start. At the end when downloading is about to complete its throws an error

2020-03-25 17:14:31.813 3604-3734/com.google.android.exoplayer2.demo E/DownloadManager: Task failed: dash:https://test-encoding-bucket.s3-us-west-1.amazonaws.com/offline-playback/test3/manifests/sd/stream.mpd, false
    com.google.android.exoplayer2.upstream.HttpDataSource$InvalidResponseCodeException: Response code: 404
        at com.google.android.exoplayer2.upstream.DefaultHttpDataSource.open(DefaultHttpDataSource.java:300)
        at com.google.android.exoplayer2.upstream.TeeDataSource.open(TeeDataSource.java:53)
        at com.google.android.exoplayer2.upstream.cache.CacheDataSource.openNextSource(CacheDataSource.java:487)
        at com.google.android.exoplayer2.upstream.cache.CacheDataSource.open(CacheDataSource.java:288)
        at com.google.android.exoplayer2.upstream.cache.CacheUtil.readAndDiscard(CacheUtil.java:306)
        at com.google.android.exoplayer2.upstream.cache.CacheUtil.cache(CacheUtil.java:210)
        at com.google.android.exoplayer2.offline.SegmentDownloader.download(SegmentDownloader.java:152)
        at com.google.android.exoplayer2.offline.DownloadManager$Task.run(DownloadManager.java:1290)


I cannot figuring out whats going wrong . other google secure .mpd streams downloaded successfully but my file did not.

Second

if possible Please write an demo app where the secure stream downloaded and playback.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions