[Xposed][HACK] Workaround for Netflix on CM10.1 - All Exynos4 devices

Search This thread

Entropy512

Senior Recognized Developer
Aug 31, 2007
14,088
25,086
Owego, NY
This is an Xposed module (See http://xdaforums.com/showthread.php?t=1574401 for more on Xposed) that allows Netflix to work on CM10.1 on Exynos4 devices.

Source code is at https://github.com/Entropy512/XposedNetflixWorkaround - Use the Android Developer Tools Eclipse package to build it

To install:
Install the Xposed Installer APK from the thread linked above
Install the Xposed framework using Xposed Installer
Install the APK linked in this post
Reboot your device after enabling the module in Xposed Installer
Enjoy Netflix
 

Attachments

  • XposedCM10.1NetflixWorkaround.apk
    180.2 KB · Views: 31,399

Entropy512

Senior Recognized Developer
Aug 31, 2007
14,088
25,086
Owego, NY
How does this work?

For whatever reason, Netflix uses its own player, called JPlayer, if it detects that it is running on Android 4.2. For whatever reason, JPlayer does NOT like the current video subsystem in CM10.1 on Exynos4 devices.

What this module does is make Netflix always think that it is running on ICS, which will make it use what appears to be the system OMX player. (I'm not entirely sure of this, but I am sure that it is NOT JPlayer and it DOES work on all of my devices I've tested).

This is an interim workaround/hack until the root cause of JPlayer failing on Exynos4 devices can be determined. (Edit: From talking with a few people, JPlayer is replacing a number of components of Android's playback framework. This includes components that have been altered for Exynos4 compatibility.)

DO NOT REPORT THIS ISSUE IN CYANOGENMOD JIRA. No affected devices are receiving M or stable builds and this is one of the many reasons.
 
Last edited:

dpwhitty11

Senior Member
Aug 15, 2010
1,719
257
Houston, TX
I'm having issues installing Xposed - after I install the apk and hit the install button, it throws the error "cannot read /data/xposed/modules.whitelist".
 

CMNein

Senior Member
Apr 23, 2012
3,181
1,483
Calgary
Andrew, version 1.8.1 of Netflix works on Exynos4 + Jelly Bean. I'm not sure if it's the last known working version but it's an alternative; I took a stab and downloaded the version I thought might be at/around the last Netflix update for ICS.

Edit: arcee indicated that 2.1.1 will work in tomorrow's build, not sure if specific to Odroid only.
 
Last edited:

Entropy512

Senior Recognized Developer
Aug 31, 2007
14,088
25,086
Owego, NY
Andrew, version 1.8.1 of Netflix works on Exynos4 + Jelly Bean. I'm not sure if it's the last known working version but it's an alternative; I took a stab and downloaded the version I thought might be at/around the last Netflix update for ICS.

Edit: arcee indicated that 2.1.1 will work in tomorrow's build, not sure if specific to Odroid only.

He took a different approach to killing JPlayer:

https://github.com/CyanogenMod/andr...mmit/916bbf03847ef5e3b5264bbbeac6c30399281520

So this Xposed mod may become obsolete...

There's no clean way to do this. Either there is app-specific **** in the device tree that is difficult for users to remove if it ever gets derpy, or users have to actively search for a workaround such as this one.
 
  • Like
Reactions: imna357 and CMNein

kokesh

Senior Member
Jul 20, 2010
1,169
486
Xiaomi Mi 9
He took a different approach to killing JPlayer:

https://github.com/CyanogenMod/andr...mmit/916bbf03847ef5e3b5264bbbeac6c30399281520

So this Xposed mod may become obsolete...

There's no clean way to do this. Either there is app-specific **** in the device tree that is difficult for users to remove if it ever gets derpy, or users have to actively search for a workaround such as this one.

Latest working version is 2.0.1, the APK is linked below. It is the last version before they have introduced the newest controls. Works just fine on S2 with CM 10.1.

http://www.mediafire.com/?4ra0wf9h441r1oo

This is the easiest solution for the problem right now. Don't update from Market, but that is I guess quite obvious.
 
Last edited:

Entropy512

Senior Recognized Developer
Aug 31, 2007
14,088
25,086
Owego, NY
Latest working version is 2.0.1, the APK is linked below. It is the last version before they have introduced the newest controls. Works just fine on S2 with CM 10.1.

http://www.mediafire.com/?4ra0wf9h441r1oo

This is the easiest solution for the problem right now. Don't update from Market, but that is I guess quite obvious.

The Xposed solution allows you to update and install from the Market with no issues. :)

Arcee's "patch the configuration XML file" approach also works.
 

CMNein

Senior Member
Apr 23, 2012
3,181
1,483
Calgary
Is this something that will eventually be rolled into a cm 10.1 nightly update or will it always be something that has to be installed separately on the side? Thanks again for all your awesome work.

Dependent on the device maintainer I'm sure. My Odroid U2 has a fix merged in last night's nightly. YMMV.
 

kokesh

Senior Member
Jul 20, 2010
1,169
486
Xiaomi Mi 9
He took a different approach to killing JPlayer:

https://github.com/CyanogenMod/andr...mmit/916bbf03847ef5e3b5264bbbeac6c30399281520

So this Xposed mod may become obsolete...

There's no clean way to do this. Either there is app-specific **** in the device tree that is difficult for users to remove if it ever gets derpy, or users have to actively search for a workaround such as this one.

Any chance of adding this to Galaxy S2 nightlies?
I've added <int name="nflx_player_type" value="6" /> manually to the config file and it works.
 

Entropy512

Senior Recognized Developer
Aug 31, 2007
14,088
25,086
Owego, NY
Is this something that will eventually be rolled into a cm 10.1 nightly update or will it always be something that has to be installed separately on the side? Thanks again for all your awesome work.

I'm considering using arcee's approach... I really dislike having app-specific **** in the device tree though...

I can't figure out why people are having issues installing Xposed - it has installed flawlessly on every CM10.1 device I've tried. The fact that it may fail on certain manufacturer-customized firmwares isn't relevant here as this hack is specific to CM10.1

The only thing I can think of might be that Superuser prompts aren't quite working right on some people's devices.

As to eventually including Xposed in CM itself - It is something I would love to see, however as a device maintainer, it's "above my pay grade". Including it directly in CM would require careful consideration and analysis by the project leads.
 

liquid64

Senior Member
Dec 20, 2010
104
54
Last edited:

Top Liked Posts

  • There are no posts matching your filters.
  • 96
    This is an Xposed module (See http://xdaforums.com/showthread.php?t=1574401 for more on Xposed) that allows Netflix to work on CM10.1 on Exynos4 devices.

    Source code is at https://github.com/Entropy512/XposedNetflixWorkaround - Use the Android Developer Tools Eclipse package to build it

    To install:
    Install the Xposed Installer APK from the thread linked above
    Install the Xposed framework using Xposed Installer
    Install the APK linked in this post
    Reboot your device after enabling the module in Xposed Installer
    Enjoy Netflix
    20
    How does this work?

    For whatever reason, Netflix uses its own player, called JPlayer, if it detects that it is running on Android 4.2. For whatever reason, JPlayer does NOT like the current video subsystem in CM10.1 on Exynos4 devices.

    What this module does is make Netflix always think that it is running on ICS, which will make it use what appears to be the system OMX player. (I'm not entirely sure of this, but I am sure that it is NOT JPlayer and it DOES work on all of my devices I've tested).

    This is an interim workaround/hack until the root cause of JPlayer failing on Exynos4 devices can be determined. (Edit: From talking with a few people, JPlayer is replacing a number of components of Android's playback framework. This includes components that have been altered for Exynos4 compatibility.)

    DO NOT REPORT THIS ISSUE IN CYANOGENMOD JIRA. No affected devices are receiving M or stable builds and this is one of the many reasons.
    19
    Would you mind my putting up a post with link to this on the Nook Color forum. having the same problem there and this works great. Even better is then running Liquid64's zip to make it persist past updating nightly rom. Will of course give you, kaepernick and Liquid64 the credit. Just want to help others find the Info.
    Just for reference, my zip file does not rely on the xposed modules. It is just an init.d script that changes the nflx_player_type value. There's also an addon.d script that backs up the init.d script in the event there is a firmware upgrade.
    I guess is anyone is interested in looking at there, here it is:
    https://www.dropbox.com/sh/n554p9bzb68iayd/IVoGtWj8cW
    The addon.d script can be adapted to also back up the exposed modules, as Entropy512 had suggested above.
    4
    Here is the modification I made. My nfxpref.xml already had nflx_player_type set to 10 already, so I made a single sed line which modified it to 6. Everything else is the same. The flashable zips I made work fine for my i777. I can post them here, if that's ok. I'd rather not break any forum rules though, if I should not. Thanks for everyone for figuring out all of the hard stuff, ;)
    Code:
    #!/system/bin/sh
    
    
    if [ -f /data/data/com.netflix.mediaclient/shared_prefs/nfxpref.xml ]; then
      sed -i -e 's|<int name="nflx_player_type" value="10" />|<int name="nflx_player_type" value="6" />|g' /data/data/com.netflix.mediaclient/shared_prefs/nfxpref.xml
      grep -q nflx_player_type /data/data/com.netflix.mediaclient/shared_prefs/nfxpref.xml && exit 0
      cp /data/data/com.netflix.mediaclient/shared_prefs/nfxpref.xml /data/data/com.netflix.mediaclient/shared_prefs/nfxpref.xml.orig && sed -e 's|</map>|<int name="nflx_player_type" value="6" />\n</map>|g' /data/data/com.netflix.mediaclient/shared_prefs/nfxpref.xml.orig > /data/data/com.netflix.mediaclient/shared_prefs/nfxpref.xml && rm /data/data/com.netflix.mediaclient/shared_prefs/nfxpref.xml.orig
      
    fi
    3
    reserved 2 - probably not needed