Hi Shazron,

Thanks for the advice!
I sent a new commit of PR, which removes some tests for Android 4.4.

Ken Naito.

On 2018/06/19 13:35, Shazron wrote:
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 <mailto: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