yashsingh1/xdaforums huggingface dataset:
[Google Chromecast] nubcakefactoryy:
Hey everyone,

I admit I'm fresh and new to the flashing business. I have successfully flashed my S5 to get root after a dumb OTA update. I'm very interested in using this application and was wondering if you all could point me in the right direction so that I can use it. I have a galaxy s3 running CM11 that I'd like to put it on as the receiver. Sorry if this reply is posted out of place. New to the forum as well.

Thanks!
[Google Chromecast] ImCoKeMaN:
I installed this but I can't get this step to work on my fire tv:

adb shell mv /system/app/WhisperplayCore.apk /system/app/WhisperplayCore.apk.bak

failed on '/system/app/WhisperplayCore.apk' - Read-only file system

the adb remount wasn't working either. I'm sure it's a simple fix, but others may run in to this as well. The fire tv is rooted, I installed cwm and used the recovery flash, installed the xposed module and I can even see the cast option, but casting hasn't worked. I'm thinking the above step is the problem with the DIAL protocol conflicts.

I tried the pm disable like I used to disable the dcp process for fire tv updates, but when I did this for com.amazon.whisperlink.core.android it restarted the device. I did use pm disable com.amazon.whisperplay.cds but I'm not sure if that is a suitable alternative to renaming the apk

EDIT: ran remount as su to rename the apk (see below) and it looks like I can at least cast google play music now (chrome tab casting crashes it for me still though)

shell@android:/ $ su

su

root@android:/ # mount -o remount,rw /system

mount -o remount,rw /system

root@android:/ # mv /system/app/WhisperplayCore.apk /system/app/WhisperplayCore.

apk.bak

apk /system/app/WhisperplayCore.apk.bak <

root@android:/ # reboot

Hope this helps other fire tv users this is an awesome feature I was actually looking for. If the fire tv stick can be rooted and made to do this I think the chromecast will be obsolete for sure.
[Google Chromecast] osm0sis:
Just tried again with the absolute latest system files and Xposed module from the OP and can happily report it mostly works! Play Music definitely does, and YouTube connects but then says there's an error with any video I try. Pulling logs now. :)

Edit: "logcat.txt": https://onedrive.live.com/redir?resid=B908F8D8A9A04A85!1108&authkey=!APGdDfA8tfLR4Bw&ithint=file,txt

Just tried Screencasting from my N7 and that still fails. Expected on JB or do you want another log for that? :good:
[Google Chromecast] halfluck:
Hey Guys,

Anyone tried libcast_shell_android.so & AndroidMediaShell.apk from Nexus Player 'fugu' Factory Image, may open up more apps to casting?

taken form 'fugu' Factory Image

AndroidMediaShell.apk

libcast_shell_android.so

Cheers Rob.
[Google Chromecast] HomerSp:
Thank you, but unfortunately that's useless for most of us. The Nexus Player is using an Intel processor and close to all Android devices are ARM, so the lib won't work.

[MENTION=4544860]osm0sis[/MENTION] Seems to be a codec problem unfortunately, there's not much I can do about that. (E/MediaCodec( 4955): Codec reported an error. (omx error 0x80001001, internalError -2147483648))

I think screen casting is supposed to work, but I will need to check that.

[MENTION=394912]ImCoKeMaN[/MENTION] I think I noticed the same thing with chrome, when trying to cast a "regular" tab (ie, screen casting). Let me check.

[MENTION=4289019]Epikarus[/MENTION] I can add an activity to the signed version, but not the system install version, it requires a modified AndroidManifest.xml and that's something you can't modify on the system install version (it won't install without resigning).

[MENTION=2081336]Pierreken[/MENTION] See above. I'll see if I can come up with an alternative way of setting the friendly name. Right now it's forced to the device's model name (android.os.Build.MODEL or ro.product.model).
[Google Chromecast] darren1:
I have an MX2 as well and remember when using an app called Cheapcast (http://xdaforums.com/showthread.php?t=2402387) I could never play Youtube videos then. As HomerSp says it must be a codec issue.
[Google Chromecast] osm0sis:
Hmm I wonder is there's a way to update them.. I've already hacked this box all to hell haha. :)
[Google Chromecast] death2all110:
The APK and the lib won't work because of the nexus player using an x86 processor (intel) instead of an ARM based one. Thanks though!
[Google Chromecast] neoman4426:
You know, I was wondering if it used any native code or anything but never got around to asking or actually looking it up. Even if they won't work on the same architecture it could still be useful for someone to do a similar job to the x86 build, people might have an old computer or something that Android x86 would work on and could re purpose them as a Cast receiver. I don't have the skill to do so, nor a personal need since mine is ARM as well, and of course devs can work on whatever they want, but definitely a use case there
[Google Chromecast] HomerSp:
I could port the changes to x86 if someone were to request it, but until then there are more important things to fix, like Netflix :)
[Google Chromecast] HomerSp:
Good news, everyone! (yes, actual good news)

Thanks to [MENTION=2975319]death2all110[/MENTION] I was able to get Netflix up and running! :D There are still some things I'd like to fix before releasing it, but Netflix support is coming!
[Google Chromecast] death2all110:
Sweet! I'm glad I was able to help once again!
[Google Chromecast] darren1:
Great work thanks guys. Any chance you could look at the Youtube app from the ADT-1?
[Google Chromecast] death2all110:
What do you mean? I thought youtube casting is working?
[Google Chromecast] HomerSp:
I think he means porting the Android TV YouTube app to other devices. Which I will do at some point, once I feel that I'm mostly done with the Cast Receiver.
[Google Chromecast] darren1:
Sorry I meant the Youtube app from the ADT-1, the apk installs fine on a KitKat/Jelly Bean device and the app opens but crashes when you try to watch a video.

---------- Post added at 07:44 PM ---------- Previous post was at 07:43 PM ----------

That would be great, thanks.
[Google Chromecast] gopichandpai:
Does that mean we can stream Netflix at 1080p on android boxes with 1080p firmware?
[Google Chromecast] gopichandpai:
I am trying system install on Minix X8-H.

I ran the below commands. I can't see the app in the app list. Am I doing anything wrong?

adb kill-server

adb start-server

adb connect <my ip>

adb remount && adb push libcast_shell_android.so /system/lib/ && adb shell chmod 0644 /system/lib/libcast_shell_android.so

adb remount && adb push AndroidMediaShell.apk /system/priv-app/ && adb shell chmod 0644 /system/priv-app/AndroidMediaShell.apk

Is there any thing extra I need to do?
[Google Chromecast] sikriffs:
Screen fit issue

Ive installed this with the exposed module and recovery method on 2 different devices. Both run great, but one device has a problem with screen sizing in play music. The screen is cut off on the right side and bottom. Any idea why and how to correct this? Working is an mk808 with 4.1.1, the sizing error is on an mk808b with 4.2.2.
[Google Chromecast] gopichandpai:
Please ignore. I could see the process in settings --->running processes. I am able to cast from S4 and my laptop. Thanks a lot for the app. Looking forward to Netflix feature :)
[Google Chromecast] hansh54:
I have installed this on my Minix X8-H using the update zip. Working! SpotiCast is working fine. I'm very pleased with this. YouTube sometimes starts buffering and hangs in buffering. I sometimes get no video and audio only. Can't wait for your update with Netflix support .:)
[Google Chromecast] death2all110:
The audio only/no video is most likely a codec issue.
[Google Chromecast] hansh54:
That's not very likely. The same YouTube video plays fine at first but after the video starts buffering and hangs a restart of the video produces audio only.
[Google Chromecast] VeryCrushed:
Can i get the boot.img to go with this?
[Google Chromecast] death2all110:
I sent you a PM. May I ask what you need it for?
[Google Chromecast] yettie10ff:
Sorry if this is a silly noob question, but I'm trying to install this on a rooted galaxy s3 so that I can use the Galaxy s3 as a chromecast receiver and cast youtube audio/video from my other android phones to the galaxy s3.

So I downloaded the recovery install file, and flashed it to my s3 using TWRP recovery. It said success, and rebooted. Now I'm trying to test it and can't figure out how :/. There appears to be no new app in my app drawer, and when I launch Youtube on my nexus 5, the galaxy s3 doesn't show up in the cast list. My nexus 5 is running lollipop if that matters?

Any help would be appreciated - would love to get this working now that Cheapcast is broken. :)
[Google Chromecast] Diaphragma:
This is a service running in the background, so no app in the appdrawer. Check with ROM toolbox or something similar to see if "google cast receiver" is running.
[Google Chromecast] yettie10ff:
Thanks. Its not running when viewing ROM toolbox task manager. Ive uninstalled cheapcast in case that might interfere. Do I need to wipe cache after installing zip in twrp?
[Google Chromecast] HomerSp:
It may not start properly for some reason, I will need a log when you reboot the s3 to see if the cast receiver is starting, and if not what the problem is.
[Google Chromecast] yettie10ff:
Would be happy to send that to you. I downloaded Catlog application in playstore. Lots of stuff going on there. Not sure if this is what I'm supposed to do, after rebooting, I immediately launched catlog application and then started the "recording" function. I let that run for about 10 minutes. And lined below is the recording file, however it did give me some message that the log was too long so only showed 10,000? last lines or something.

https://paste.ee/p/Le3As
[Google Chromecast] paul4762:
Is there any way to have it connect through bluetooth or something if there's no wifi?
[Google Chromecast] rjmohit:
Can anyone confirm if this wroks on Android 3.2/GoogleTV? Ordered a GTV box off ebay, hopefully this works on it. :fingers-crossed:
[Google Chromecast] HomerSp:
No, that's not really possible due to how the chromecast works.

I haven't seen anyone try it with Honeycomb, but it may work, I don't really know.

Regarding Netflix I have some good news and some bad news, the good news is that it does indeed work (on some devices), the bad news is that it crashes on Mali devices (tested with Mali 400 and 450), and even on devices it doesn't crash on getting it to the point where you can cast to it is somewhat of a hassle due to Netflix designing and implementing their own web app system that doesn't support touch, and you have to input text using THEIR keyboard that's built into the web app. I'm thinking about just releasing it as it is, because I don't have the energy nor time to try and fix Netflix's broken system.
[Google Chromecast] death2all110:
Yeah, I forgot to tell you that I noticed they pull their UI from their servers...It's great because they can update the UI without updating the app, but it sucks at the same time because we have basically no control over it or the crappy keyboard.
[Google Chromecast] HomerSp:
It wouldn't be THAT bad if it didn't crash, but unfortunately a lot of Android Mini PC's uses Mali GPU's (including mine). I'll see if I can find a workaround for that at least.
[Google Chromecast] death2all110:
[MENTION=2266182]HomerSp[/MENTION] What are the logs saying are the cause for the crash?
[Google Chromecast] weihan1102:
Thanks for the app!!

I just want to ask is it possible to port other apps form ADT-1 ( Launcher,etc) to any android devices?
[Google Chromecast] weihan1102:
I have a problem with screen mirroring from Nexus5 running Android5.0 , audio is not working. How can I fix it?.
[Google Chromecast] supergonkas:
doesnt seem to be working on the Twitch app and in the RedBull TV ,the chromecast botton doesnt even show up...
[Google Chromecast] yettie10ff:
Were you able to look at the attached catlog? Anything else I can send you to make it easier to figure out why the process isn't running?
[Google Chromecast] ahmedsalah83:
Same problem here. Tried to cast screen from my note 3 to two rockchip android tv dongles, RK3066 device and RK3188 device. Casting works but no audio.

YouTube casting is fine.

both Rockchip devices are running kitkat and cast receiver app installed using system method.

I have tried screen casting to a chromecast and the audio is working, just to make sure that there is no problem in the sender.
[Google Chromecast] HomerSp:
Sorry for not replying sooner. Unfortunately the log didn't show anything useful.commands

Could you get me a new log after you run this command through terminal emulator or similar (if you run through adb, prepend adb shell):

am broadcast -a android.intent.action.BOOT_COMPLETED -n com.google.android.apps.mediashell/.AutoStartListener

Also, there's no need to let the log run for 10 minutes, just a minute or two will be fine (and even that's excessive) :)
[Google Chromecast] weihan1102:
Not sure is the problem appears in ADT-1
[Google Chromecast] HomerSp:
I've got some bad news everyone. Google have strengthened the security in Google Play services 6.5, which makes this app useless. The only way to get it working again would be to write an xposed module for the clients that want to connect to the receiver.
[Google Chromecast] Diaphragma:
Nooo :( So you won't be able to connect if the client is running gps 6.5? That's a bummer. Does it matter what version the receiver is running?
[Google Chromecast] weihan1102:
Noooooooo .... seems like google wants the full control of the Android TV.... :(
[Google Chromecast] Volatyle:
Didn't Google release the source code for Nexus player? Would that be of any use?
[Google Chromecast] weihan1102:
Is it possible to disguise the device running the receiver to ADT-1 ?
[Google Chromecast] HomerSp:
No, it does not matter what version of gms the receiver is running, this is on the client side. Basically, gms is now doing some date checks on the certificate that the receiver is using. The Cast receiver app is normally set to update its certificate every 24 hours, but I had to disable that or the client wouldn't authenticate properly (because it uses a hashed version of the certificate signed with a private key only the Android TV devices have access to). So as you may understand there's no way around this on the receiver side.
[Google Chromecast] modified3885:
Fire Tv not working

Hi,

when I try to install to the fire tv i'm getting a failure, [INSTALL_FAILED_OLDER_SDK] . Any workarounds?
[Google Chromecast] m3dusa:
Thank you for trying. I was really excited for a few minutes until I saw this last page of the thread.

Please consider updating the original post for future googlers.
[Google Chromecast] osm0sis:
The Xposed module approach sounds good as well, or are you thinking that's not as feasible now?
[Google Chromecast] HomerSp:
I've written an Xposed module that allows the client to connect. I'm just in the process of testing it at the moment, so I will upload it in the coming days (probably tomorrow).
[Google Chromecast] duffers11:
xposed module

The current xposed module how do we go about installing that
[Google Chromecast] Incognitum:
I thought Lollipop was supposed to fix this

I'm so confused, all of the talk about L at I/O was about getting your content onto all of your screens seamlessly (Phone/Tablet/Auto/TV/Wear). I assumed this would be a native function in 5.0. If not, what are they talking about? I updated my Nexus 5 and 7, and don't see any improvement in transitioning content between the two.
[Google Chromecast] HomerSp:
I have added the xposed module, as well as the source code to the OP (under Downloads and How).

The older one is for the receiver-side only, it basically allows you to use the system install version on Android versions older than 4.4.

I'm really not sure why they decided to lock down the chromecast (and the Receiver app) so much, I guess they wanted some control over it...
[Google Chromecast] duffers11:
xposed module

I hace the apk as a system app and put the lib on aswell if im doing the xposed fix install the new xposed module but which lib file do i need is it the cast receiver lib and copy that to system lib ? Noob here so as much help as i can get would be great
[Google Chromecast] peter_b93:
Lollipop

Thanks for the great work!

Since Xposed doesn't work in Lollipop, could it be possible to create a zip to install via recovery with the changes needed to work on Play Services 6.5?

Thanks in advance!

btw, when trying to cast Youtube from my Nexus 5 running lollipop and google play services 6.5 it does work flawlessly, however, with any other app I've tried so far the receiver doesn't even appear in the list.
[Google Chromecast] supergonkas:
is it possible to send the starting intent with the Tasker send intent option ? or with the Terminal emulator app ?
[Google Chromecast] Volatyle:
Any chance this will start working again in the future without special clients?
[Google Chromecast] neoman4426:
That's probably the module not working for you and Youtube falling back to the old DIAL protocol, which as far as I know Youtube is the only app still capable of doing that on Chromecast. Same thing is happening to me.
[Google Chromecast] osm0sis:
That's up to Google. They'd need to loosen the exclusivity up.
[Google Chromecast] death2all110:
Probably not. As google is the one that tightened up security, and unless they relax on it again, it will always need a workaround.
[Google Chromecast] batman2142:
How do I revert to stock version of files?

I used this to turn my Nexus 5 into a receiver, but when I tried casting a tab or even just youtube from chrome I get a crash on my N5 and thats about it.

Is there some way for me to revert to the original files? (BTW I didnt back them up so a source for the same would be useful), I'm not on Lollipop so still on 4.4.4
[Google Chromecast] peter_b93:
Client Xposed Module for Jelly Bean

Could you (or anyone who knows) lower the minimum API restriction from 19 (KitKat) to Jelly Bean for the Client Xposed Module?

Thank you very much!
[Google Chromecast] HomerSp:
Try this: https://docs.google.com/uc?export=download&id=0B4FOzj4b2EYiWG1tU3NfYWwwV00
[Google Chromecast] peter_b93:
Thanks! It works faultless! Now I'm just missing my Nexus 5 running Lollipop :p
[Google Chromecast] stealthdave:
Does Casting from a Chrome Tab still work?

How do the recent updates affect casting a Chrome tab to the Cast Receiver? Obviously an XPosed plugin is going to be useless on a Chrome Extension. Tab casting is extremely useful for me since it allows me to "fill in the corners" of missing apps, so to speak. (e.g., SyFy Channel doesn't have a Chromecast friendly app for full episodes yet.)
[Google Chromecast] hellangelo:
Youtube works.

Hi,

I have converted my old Nexus Prime running Paranoid 4.4.4 using the recovery method. I am flawlessly able to cast YouTube from my Galaxy S2, but thats about it. Only Youtube has the option to cast, but Play Music and G+ or other apps for Chromecast don't seem to work. Sorry I consider my self a novice when it to comes to these things. Can someone help? Guess the problem is the same as peter_b93 and neoman4426!!
[Google Chromecast] huisinro:
When I click Cast Screen from Chromecast, I don't see the receiver device, the real google chromecast device shows in the list. Anyone got the screencast working?

Thanks,
[Google Chromecast] Epikarus:
This is a known issue and probably will not get resolved. Please read the original post first.
[Google Chromecast] parrotgeek1:
[MENTION=2266182]HomerSp[/MENTION] Why did your certificate approach stop working? (a hardcoded one)

also you should ask someone with a rooted chromecast to pull the /factory partition, it has the key on it
[Google Chromecast] HomerSp:
Because Google are now checking that the date of the certificate is within a specified range. Originally the Cast Receiver (and Chromecast) would generate a new self-signed certificate every 24 hours, and since that is what is being signed it's impossible to work around without the original key. Unfortunately I doubt it would be as easy as dumping the factory partition to find the private key (if someone can prove me wrong though I'd love to see it).
[Google Chromecast] to0:
Is there any way to get the client side of this working in Lollipop since the Xposed route won't work?

Thanks for this; looks awesome!
[Google Chromecast] Neur0Nerd:
Hi, I installed this and I tried with Youtube. First I find my device on Youtube app, so I select it and then it launches the Youtube app on my android stick and start loading the video. Once the video is loaded and about to start, I'm back at the launcher menu :-/

Also I have to launch Xposed at every boot to use the modules so is there any way to launch the module automatically at boot?
[Google Chromecast] dabotsonline:
It'll be interesting to see how well this works with future Google Play Services updates and Android 5.1.
[Google Chromecast] huisinro:
Hi, how do you sign the system apk, AndroidMediaShell.apk? If I push the signed version, AndroidMediaShell-signed.apk into /system/priv-app on rooted devices, the app crashes? If I push AndroidMediaShell.apk into /system/priv-app, it works. I assume only difference is the signature, right?
[Google Chromecast] huisinro:
it seems this method has changed:

public final void checkServerTrusted(X509Certificate[] certificates, String str)

It now checks time for the certificates.

HomerSp, can you confirm? I am investigating to check if we can get a solution.
[Google Chromecast] HomerSp:
As of right now, no.

The certificate date check will most likely stay right where it is for every upcoming GPs update. I don't think it's possible for them to work around the Xposed client module though.

The only difference is that the signed version is signed with a test key, and that it has the libcast_shell_android.so lib inside (this needs to be placed in /system/lib/ if you are pushing the apk to /system/priv-app/).

Yes, that is the method that's checking the certificate date.
[Google Chromecast] huisinro:
HomerSp,

Can you post the unmodified version of the apk and .so from ADT-1? Or point me to some links that I can download them.

I was wondering why you didn't try to use the original code to generate the certificate and sign with the private key? If you follow the original code, the private key should be there somewhere from following the code. You have probably looked this, is there any particular reason why this is not easy to do. I assume these part might be done by other programs on the system.

I did similar on Airplay, and most likely, chromecast looks much simpler than Airplay in terms of encryption and protection. Airplay's fairplay algorithm is extremely difficult to crack.

Thanks,
[Google Chromecast] HomerSp:
The Chromecast and Android TV devices use Widevine to sign the certificate, which I believe, uses private keys that are either embedded in the hardware, or are themselves encrypted with a key from hardware. So it's very difficult obtaining the private key.
[Google Chromecast] huisinro:
I just received my ADT-1, will give it a shot.