Thanks Ken!
I think we should go for the simpler option, and log this as a new issue
that is known and out of our control. Android 4.4 (even though 10% of the
market) should not be a priority for us.

On Tue, Jun 19, 2018 at 12:30 PM Ken Naito <k...@monaca.io> wrote:

>
> I have investigated the test failure for Android 4.4. For
> cordova-plugin-media, the cause of the failure may be the SSL handshake.
>
> The MediaPlayer in Android 4.4 can not connect to a modern SSL server.
> For example:
> https://cordova.apache.org/downloads/BlueZedEx.mp3
> https://cordova-develop.github.io/cordova-plugin-media/res/BlueZedEx.mp3
>
> On the other hand, the MediaPlayer can connect to a standard SSL server
> like:
> https://www.asial.co.jp/data_knaito/BlueZedEx.mp3
>
> I have checked the packet, and the available cipher suites of Android
> 4.4 are as follows:
>
> ECDHE-RSA-AES256-CBC-SHA
> ECDHE-ECDSA-AES256-CBC-SHA
> SRP-SHA-DSS-AES256-CBC-SHA
> SRP-SHA-RSA-AES256-CBC-SHA
> DHE-RSA-AES256-CBC-SHA
> DHE-DSS-AES256-CBC-SHA
> ECDH-RSA-AES256-CBC-SHA
> ECDH-ECDSA-AES256-CBC-SHA
> RSA-AES256-CBC-SHA
> ECDHE-RSA-3DES-EDE-CBC-SHA
> ECDHE-ECDSA-3DES-EDE-CBC-SHA
> SRP-SHA-DSS-3DES-EDE-CBC-SHA
> SRP-SHA-RSA-3DES-EDE-CBC-SHA
> DHE-RSA-3DES-EDE-CBC-SHA
> DHE-DSS-3DES-EDE-CBC-SHA
> ECDH-RSA-3DES-EDE-CBC-SHA
> ECDH-ECDSA-3DES-EDE-CBC-SHA
> RSA-3DES-EDE-CBC-SHA
> ECDHE-RSA-AES128-CBC-SHA
> ECDHE-ECDSA-AES128-CBC-SHA
> SRP-SHA-DSS-AES128-CBC-SHA
> SRP-SHA-RSA-AES128-CBC-SHA
> DHE-RSA-AES128-CBC-SHA
> DHE-DSS-AES128-CBC-SHA
> ECDH-RSA-AES128-CBC-SHA
> ECDH-ECDSA-AES128-CBC-SHA
> RSA-AES128-CBC-SHA
> ECDHE-RSA-RC4-SHA
> ECDHE-ECDSA-RC4-SHA
> ECDH-RSA-RC4-SHA
> ECDH-ECDSA-RC4-SHA
> RSA-RC4-SHA
> RSA-RC4-MD5
>
> Modern SSL servers may refuse these cipher suites.
>
> In order to resolve this issue, the mp3 file should be downloaded in
> another way and then be played by MediaPlayer.
> One way of downloading is using the okhttp library with a custom ssl
> socket factory.
>
> However, the okhttp library is not included in the latest
> cordova-android, and cordova-plugin-okhttp
> (https://github.com/MobileChromeApps/cordova-plugin-okhttp) is too old
> and not maintained.
>
> I think that a new okhttp plugin should be created, and
> cordova-plugin-media should depend on the new okhttp plugin in order to
> connect to a modern SSL server.
>
> Or, a more simple option is to specify that the MediaPlayer can not
> connect modern SSL servers for Android 4.4, and remove the test of
> playing streams for Android 4.4.
>
>
> On 2018/06/18 13:02, Shazron wrote:
> > We keep seeing this failed Media test on Android 4.4:
> > https://github.com/apache/cordova-plugin-media/pull/166
> >
> > I'm not sure of the state of our Android support, especially 4.4. Does
> > anyone have any pointers? Thanks
> >
>
>

Reply via email to