2

in my Android application, I am able to playing videos, which are protected with Widevine. These videos are not stored locally in device, but they are streamed. The Widevine technology supports adaptive streaming. I was solving a problem, that my video was always in a bad quality. I found a solution of this problem here. Just change URI of video from http://something to widevine://something helps.

But my question is what exactly widevine:// means? I cannot find any description of difference between using http:// and widevine://. Can anyone explain me the difference? I know, that it helps to me to solve problem with quality, but are there any other differences?

Many thanks.

uselpa
  • 18,732
  • 2
  • 34
  • 52
PetrS
  • 1,110
  • 14
  • 38
  • it means when the Android system opens your `uri` using a content resolver a `widevine://` `uri` will go to a different content resolver than a `http://`. However I can't find the widevine content resolver [Here is mediaplayer reading a uri](https://github.com/android/platform_frameworks_base/blob/master/media/java/android/media/MediaPlayer.java#L980-L981) – Blundell Feb 13 '15 at 16:09

1 Answers1

1

It looks like your app must include somewhere a custom URI scheme for widevine of this to have worked.

Customer URI schemes can be added in the Android manifest - the typical format is like this:

<activity android:name="com.mpapp.test.MyUriActivity">
    <intent-filter>
        <action android:name="android.intent.action.VIEW" />
        <category android:name="android.intent.category.DEFAULT" />
        <category android:name="android.intent.category.BROWSABLE" />
        <data android:scheme="myapp" android:host="path" />
    </intent-filter>
</activity>

The URI to launch this intent would then look like "my app://....".

Mick
  • 24,231
  • 1
  • 54
  • 120