yashsingh1/xdaforums huggingface dataset:
[Google Chromecast] HomerSp:
Thank you, I'll have a look and see if there's any difference from the previous version ☺
[Google Chromecast] Diaphragma:
So I'm guessing this wont work on 4.2 and less?

I successfully did the system install with adb pushing both files to my minix x7, but adb couldn't find com.google.android.apps.mediashell/.MediaShellCastReceiverService on the device. (yes I did replace priv-app with app.)

So I tried installing the signed package from my sd card, and I got "There was a problem parsing the package". And with adb I got: "Failure [INSTALL_FAILED_OLDER_SDK]"

Seems like it's not compatible with jellybean. So if this is the case, I'll install a kitkat rom. Just wanted some confirmation on this.
[Google Chromecast] HomerSp:
The oiginal apk has a minimum requirement of KitKat (SDK level 19). The code might work on a jellybean rom, I haven't really tested. One problem with this however is that I would need to modify the manifest file inside the apk to lower the minimum required SDK version, and due to how the android system is built that would require a resigned apk, which, unfortunately, would break screen casting. from another Android device.
[Google Chromecast] krosk:
Logcat of server restarting on my radxa board with Android 4.4...

PD: Maybe it's because of autogenerated serial nº?

--------- beginning of /dev/log/system
E/DrmService( 108): ----------------running drmservice---------------
E/DrmService( 108): ----------serianno =16EM8WX1PN
E/DrmService( 108): auto generate serialno,serialno = 16EM8WX1PN
E/DrmService( 108): drm keybox disable!!
E/DrmService( 108): detect keybox disabled
[...]

That's the beginning of my logcat, and saw that the server uses this serial nº...

[...]
D/dalvikvm( 2477): GC_CONCURRENT freed 461K, 42% free 4711K/8044K, paused 2ms+1ms, total 17ms
D/DeviceInfo( 2477): deviceId=36618d55-f48c-4f84-a236-992fa862c3c6
D/DeviceInfo( 2477): deviceModel=ADT-1
D/DeviceInfo( 2477): deviceManufacturer=Google
D/DeviceInfo( 2477): buildNumber=2.1.0
D/DeviceInfo( 2477): serialNumber=16EM8WX1PN
D/DeviceInfo( 2477): ssdpBootId=5
D/DeviceInfo( 2477): ssdpConfigId=1
E/MediaManagerImpl( 2477): Failed to get HdmiCecClient.
[...]
[Google Chromecast] HomerSp:
Are you using the latest version from the 17th of October? That should contain a fix to the problem you are having. It's not related to the serial no anyway, it's due to the device not being provisioned (openSession returned NotProvisionedException.).

Unrelated to that, I have been able to port over the required changes to the new apk. Google have made a lot of changes to the code, so porting it over was far from a cakewalk.

I will need to do some more testing before releasing it however, due to the sheer amount of changes. I'm hoping to have it released within the next few days :)
[Google Chromecast] Diaphragma:
I'm now running kitkat, and the chromecasting is working very well! I can even screencast from my nexus 5! Funny thing is, it thinks it can screencast to itself. But when you try to, both mediashell and play services stops :p Anyways, thank you so much!
[Google Chromecast] HomerSp:
Yeah, it is a bit of a problem that you can cast to the same device, but unfortunately I don't think there is a solution to it. Google Play services is responsible for generating the media cast list, and it doesn't appear to be doing any checks if it's the same device. If I were to guess the Android TV ROM gets around it by shipping "leanback" apps of YouTube et all that doesn't show the cast button.

I'm glad you got it working anyway :)
[Google Chromecast] osm0sis:
This is what I'm hoping to do on my MX Box running 4.2.2, and I'd definitely be willing to lose screencasting to have it working overall. :)

I see the manifest has the min/targetSdkVersion as {R.0x13}; I've never seen them not be actual numbers before, but I'll give changing them to 17 a shot.
[Google Chromecast] death2all110:
Did you decompile the APK first? The API level sounds like its still binary or referring to a Resource ID in R.Java
[Google Chromecast] osm0sis:
Ah good point, I was just viewing it on my device at the time to see what was in there. Decompiling it later today so I'll keep people posted. ;)
[Google Chromecast] HomerSp:
You can try this apk, I lowered the sdk level to 17: https://dl.dropboxusercontent.com/u...MediaShell/api17/AndroidMediaShell-signed.apk

Can't guarantee it will work though, I don't have a device to test it on.
[Google Chromecast] parrotgeek1:
0x13 is just 19 in hexadecimal lol

---------- Post added at 06:09 PM ---------- Previous post was at 06:07 PM ----------

Does Netflix work in the new apk?

Also will you please open source the smali changes? Thanks
[Google Chromecast] HomerSp:
Unfortunately Netflix does not work with the new apk. The simple reason for that is that Netflix had to go and require a separate apk to function properly as a cast receiver. I'm not sure if it has been updated in the latest OTA, I would need a new system dump to check.

Most of the changes are in the lib and not in the smali; just the smali code would not make it work. I do however plan on doing a write up of the changes required. If you still want just the smali changes let me know and I'll upload them for you.
[Google Chromecast] osm0sis:
Hmm your version is 22mb and doesn't seem to get recognized as a valid apk still. The one I did is 4.5mb and does (icon is correct and package can be read), though still no luck getting the service to run. Anything I can provide you that might help?

Edit: Trying to manually start it using the am command shows it attempt to (ie. it finds the app), but then ends with "Error: Not found; no service started."
[Google Chromecast] HomerSp:
Ah, I assumed you were trying the signed version before. You need to install that version as a regular apk, and not push it to /system/priv-app/. Make sure you remove the old apk first though from /system/priv-app/ and reboot or the installation will fail :)
[Google Chromecast] osm0sis:
Ah fair point, I was using the system one to mod, but the signed one you just posted still has sdk min/target 19. :confused:
[Google Chromecast] HomerSp:
Sorry, apktool didn't rebuild it correctly. Try this one: https://dl.dropboxusercontent.com/u...MediaShell/api17/AndroidMediaShell-signed.apk
[Google Chromecast] death2all110:
I'll be uploading the latest system dump from the ADT-1 this evening ;)
[Google Chromecast] ahmedsalah83:
Nice work ... is there any progress on netflix and hulu plus. I want to turn my android tv stick into a chromecast.
[Google Chromecast] osm0sis:
Thanks! That one installs and appears to run correctly, but my device doesn't show on the network as a Chromecast. Anything I can provide which could help?
[Google Chromecast] death2all110:
A logcat from your receiver device. The device you want to "cast to". Also make sure the service is running.
[Google Chromecast] death2all110:
[MENTION=2266182]HomerSp[/MENTION],

Here's the latest system dump ;)

https://www.mediafire.com/?lla7fj6yjkosdho
[Google Chromecast] feathers18:
Working well for me on Minix X5 running Karel's Kitkat rom and Ouya running CM11 (both rooted).

Unable to cast tab from chrome on any of my computers though. Fails instantly and chrome cast symbol on Chrome turns to a red X, doesn't interrupt the currently playing stream so it seems like the request doesn't get to the receivers. I have a Chromecast and this works fine under the same network.

Thanks for your hard work :good:
[Google Chromecast] osm0sis:
Looks like it's definitely running; the Chromecast app doesn't see it, but other cast enabled apps like YouTube and Play Music do. It results in the following on the device trying to cast from:

10-22 10:51:10.723 I/MdnsDeviceScanner( 1414): notifyDeviceOffline: because it has changed; newDevice="Matricom G-Box Midnight MX2" (1acc93a15b3f4a728a1c8844249db507)
10-22 10:51:10.793 W/CastMediaRouteProvider( 1414): addOrUpdateDevice: device: "Matricom G-Box Midnight MX2" (1acc93a15b3f4a728a1c8844249db507) applicationName: null
10-22 10:51:16.785 I/MdnsDeviceScanner( 1414): notifyDeviceOffline: because it was marked invalid
10-22 10:51:16.949 E/YouTube (21611): (unknown) YouTube MDX: CastRouteSession Error: cannot connect

I'll edit with the logcat for the matching attempt from the receiver in a few.
[Google Chromecast] death2all110:
This is what caught my eyes

10-22 10:51:16.785 I/MdnsDeviceScanner( 1414): notifyDeviceOffline: because it was marked invalid

[MENTION=4544860]osm0sis[/MENTION]: Yes. Please get us a logcat from the receiver. [MENTION=2266182]HomerSp[/MENTION]: Thoughts?
[Google Chromecast] osm0sis:
Same. I realized my old logcat would have all the failed attempts with the other apks so I rebooted the MX Box and here's a fresh one. Still massive though. :eek:

"logcat.txt": https://onedrive.live.com/redir?resid=B908F8D8A9A04A85!1032&authkey=!APUMrlAmUWl3wsM&ithint=file,txt
[Google Chromecast] death2all110:
So far:

V/chromium( 5226): [5226:5355:1022/111932:67304229:VERBOSE1:config_downloader.cc(233)] Got response from: https://clients3.google.com/cast/chromecast/device/baseconfig?m=ADT-1&p=molly&b=2.1.0&e=1
E/chromium( 5226): [5226:5355:1022/111932:67304450:ERROR:config_downloader.cc(238)] Cannot fetch config: code=-1
V/chromium( 5226): [5226:5355:1022/111932:67304548:VERBOSE2:config_downloader.cc(223)] Schedule next config download in 60 secs

Also seeing this alot:

V/chromium( 5226): [5226:5466:1022/112123:178127659:VERBOSE3:ssdp_device.c(344)] Error in shutdown: Transport endpoint is not connected

[MENTION=2266182]HomerSp[/MENTION] would be better to look at this than myself. He's the mastermind ;)
[Google Chromecast] HomerSp:
The Chromecast app not seeing the cast receiver device is, unfortunately, a known problem - I haven't been able to figure out why that is yet. You can, however, still cast the screen if that's what you intend to do (I'm not sure what that app does as I don't own an actual chromecast).

I will have a look at the log shortly to see if I can diagnose your other problem though.
[Google Chromecast] HomerSp:
Okay, I'm fairly certain it's caused by missing API's in SDK 17. I will try and remove/replace the API requirements and upload it for you to test when I'm done.
[Google Chromecast] death2all110:
I'm fairly certain that the chromecast app doesn't see the ADT-1. I'll check when I get home.

Update: [MENTION=2266182]HomerSp[/MENTION] The chromecast app does NOT see the adt-1.
[Google Chromecast] BlueCop:
I think you would need a signed ECC P256 public key certificates and their matching private keys to get PlayReady/Netflix working correctly. There are actually 2 key pairs needed. One for license requests and the other for decrypting the XMR licenses. You need other non-individualized public keys as well to make license requests. DRM code and root/server public keys are in the closed source libPEAgent.so library.

Does this work with any DRM enabled media? (widevine, playready, etc) I thought they had EME/CDM like browser libraries for chromecast.

This is really cool.
[Google Chromecast] HomerSp:
That's good to know, thank you :) I don't actually own a chromecast though, what is the Chromecast app (main screen) used for?

I thought it would be something like that, but the keys do seem to exist on the devices I've tried (if it's using MediaDrm that is) - the framework doesn't complain about missing keys like it does when you try to sign some data that should use the ADT-1 private keys.

I've managed to work around the US-only restriction, and some SSL problem. But I get an error that the user is not authorised, and it sends me to a page that tells me to sign up for Netflix.

It does work with Play Movies, or at least the few movies I have on there, and, at least according to the log, that uses Widevine.
[Google Chromecast] death2all110:
Mainly used to configure the chromecast. Also used to configure the backdrop, or cast the screen.
[Google Chromecast] emms007:
Great

Hello,

I did the system installation and it works almost perfectly. This definately deserve more exposure. Performance are very good, this is using an MK808 HDMI key with external usb dongle.

Here are the few issues I encountered:

> screensharing from Nexus 5 does not include audio

> casting from chrome on laptop does not connect at all

> some app cannot cast video, probably because they have tighten security similar to Netflix. I got this using SFR TV which is my ISP TV watching app
[Google Chromecast] death2all110:
1. What ROM on the Nexus 5?

2. I think someone else reported the same thing. So I believe its being looked at maybe? [MENTION=2266182]HomerSp[/MENTION] please correct me if I'm wrong.

3. I agree this is probably a DRM thing.

In any case, please get us a log cat from your Receiver
[Google Chromecast] HomerSp:
1. I don't have a Nexus 5, so I can't really help there I'm afraid ?

2. Last time I tried casting from chrome it worked just fine, but I will try again. A logcat from the receiver will help to see what's wrong.

3. Yes, this is most likely DRM. But yet again, a logcat from the receiver will tell me for sure. Keep in mind that it will be next to impossible to fix region or operator locked as I will have no way of testing.
[Google Chromecast] belese:
Thanks

Many thanks, very great to have a app like this,

i've tried on cubox-i, with android 4.4.4

i've installed application as system way, but only youtube and other apps work via chrome.

cast screen didn't work and others android don't even find the "chromecast".

It's probably due that i use an ethernet connection, will try tomorrow with wifi, but have to check, wifi doesn't work in that build.

don't know if it's even possible over ethernet, but here's the logcat if it can help.

Belese
[Google Chromecast] mahler47:
Thanks!

This is really fantastic. I've got this running on my Nexus Q and now that device has new life again!

Question for you all: I can see the Cast Receiver on the Nexus Q from my Nexus 7 and Galaxy S3 and all desktop devices, but not my Nexus 5 using the Google Music app. The Nexus 5 can "see" the Nexus Q using the Youtube app, strangely. Any suggestions on what I can do to get the Google Music app on my Nexus 5 to "see" the Cast Receiver? I've already tried wiping data for the Google Music app. (All devices are running CM11.)
[Google Chromecast] shardul_seth:
Great work!

Great work indeed..

I have a Xperia Neo V with micro HDMI.

I would be grateful if you could lower the api level to 15 (sadly custom ROMs do not support HDMI as sony has not released HDMI sources)

Thanks in anticipation.
[Google Chromecast] pctv4you:
I'm also interested in a version with API level 15. Currently works fine on my Nexus Q. Because of this I would like to try this also on a not rooted 4.0.3 device.
[Google Chromecast] HomerSp:
I've uploaded the new version now, sorry it took so long. You can find it in the OP.

[MENTION=4544860]osm0sis[/MENTION] Could you test if the new apk works? I disabled the unsupported API calls, so it *should* work on API level 17 at least.

[MENTION=6108416]belese[/MENTION] [MENTION=4818480]mahler47[/MENTION] Could you try the new apk, please? If you still have problems, feel free to reply here again.

[MENTION=4196928]shardul_seth[/MENTION] [MENTION=4744024]pctv4you[/MENTION] I've lowered the API level to 15 on the signed version, but I have no way of testing this right now, so don't be surprised if it's broken.
[Google Chromecast] duffers11:
802 soc

Guys have a tronsmart vega s89 running stock rooted fimrware how can i install thisbon my device ???
[Google Chromecast] neoman4426:
Easiest way would probably be either downloading to storage and using a file manager to move/set the permissions manually or getting one of the network adb apps, connecting to it from your computer, and following the adb instructions. Finless over at Freaktab has said he might set up an update.zip for this if there's enough demand and it works on the device, if he does it should work with stock as well as his ROM I'm assuming
[Google Chromecast] duffers11:
Im a total noob when it comes to this thing but is there a step by step guide i could get to install it from storage on tronsmart vega s89 and how to set permissions i presume i must download the second set of files and try it that way , thanks must get on to finless and see if he can do it
[Google Chromecast] neoman4426:
Pretty much just need a root enabled file browser (I use Root Browser by JRummy personally). Download the apk and the so from the first post to the internal storage of the device, go to the download directory in the root browser, copy the apk to /system/priv-app/, long press and select permissions (may require a mouse, never actually tried long pressing with the remote) and set them to the same as the others there, copy the so to /system/lib/ and do the same permission setting, then reboot

==EDIT== And yes, the system install version of the apk
[Google Chromecast] duffers11:
Thanks very much i personally messaged finless to see if he can put it on as zip file to make it easier for us
[Google Chromecast] osm0sis:
Unfortunately it doesn't show up at all in the apps now. :confused:
[Google Chromecast] puppinoo:
Hi,

Thanks a lot for this great app.

Maybe you forgot to correct the chmod for this (just so noobs like me dont get confused)?

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

Thanks again.

puppinoo.
[Google Chromecast] belese:
[MENTION=2266182]HomerSp[/MENTION]

i've tried new apk, and i've got same result as previous

i'll check the log later,

bus as android on cubox is experimental, maybe problem is there.

will try the other build, if i remember, wifi was working there.

Thanks anyway for your help.

Belese
[Google Chromecast] Diaphragma:
1. Yes, can confirm that there's no audio when screencasting from a nexus 5.

2. I also had trouble casting from chrome desktop, but I found that some websites are working. Take this page for instance https://dabble.me/cast

3. Yes, I've stumbled upon this too. One app is Viaplay. It's a scandinavain netflix competitor. The content is most likely protected with DRM, so that's why it's not connecting at all.
[Google Chromecast] Diaphragma:
I haven't had any problems connecting to the cast receiver using the play music app on my nexus 5. Running LPX13D lollipop preview, with the lastest google play music.

which cm11 rom are you running? maybe I can test it. I have multirom, so it wont be a big deal.
[Google Chromecast] HomerSp:
Only the signed version has the minimum API lowered, so you will need to use that. Also, Google renamed the app to Google Cast Receiver, that's what you will want to look for.

Regarding the missing audio, it may be caused by a missing audio codec on the receiver. A log from the receiver should tell me if that's the case.
[Google Chromecast] osm0sis:
Sorry, you misunderstand me, I used the signed version, and I meant the cast button is not showing in YouTube or Play Music anymore (where it was at least showing in the previous api17 test version). Maybe you removed too much? :)
[Google Chromecast] zulu99:
Tested on Rockchip rk3188 , rk3288 and Amlogic S802. Android version 4.4.x with root.

Work very well. Compliments to the developer. :)
[Google Chromecast] shardul_seth:
On sdk level 15, crashes with error from logcat

23:18:55.658 Error AndroidRuntime 3168 java.lang.NoClassDefFoundError: android.provider.Settings$Global
[Google Chromecast] HomerSp:
Does it show as installed in the installed apps list? And is the service running correctly? In any case, I will need a log from the receiver.
[Google Chromecast] duffers11:
I have an soc802 aswell i have it working but playing a youtube video ususally after 55 seconds it stops what can i do ?
[Google Chromecast] craun:
I have an old SE Xperia Arc which is running Android 4.0.4. Will this app work with this version of Android?

If it will I got a couple of questions:

I was looking for the system/priv-app dir using the Root Browse app, but couldn't find it. Should I create it, or just use the system/app? Or maybe the data/app-private dir?

Thanks!
[Google Chromecast] HomerSp:
On devices older than Kitkat the correct dir to put it in would be /system/app. However, [MENTION=4196928]shardul_seth[/MENTION] mentioned earlier that it's not working on API 15 (which I believe is 4.0.3 and later) so it probably won't work for you either. I may try and get it working on 4.0 (if I can find a device with that version), but I can't promise anything.
[Google Chromecast] craun:
Ok, thanks for a quick reply. The main thing I would like to use it for is to play/cast music from my PC/other Android phone to this SE Xperia as receiver. So not necassary to cast video for me really.

I will probably try and see if I get it to work any way, otherwise I'll look forward to a working version later!

---------- Post added at 09:09 PM ---------- Previous post was at 08:41 PM ----------

Ok, now I've tried but couldn't find the receiver device (running Android 4.0.4) through Chrome and the Google Cast add-on.

I will try updating my Arc to Kitkat and see if that works better...
[Google Chromecast] puppinoo:
Hi,

I installed your app on my OnePlus One and it seems to work fine (Service starts even though latest version is not centered on the screen. I'm pretty sure previous was centered).

BTW my main purpose was to install it on my rooted Amazon Fire TV but installation failes.

this is the error I receive:

if I use --user 0 as parameter I receive this error:

Can you help me?

regards.

Puppinoo.
[Google Chromecast] osm0sis:
Installs correctly, shows in the Settings | Apps list (with the fancy new icon), doesn't show up in ps or top so I assume it's not running. Running manually from command prompt doesn't seem to change that.

Here's a log after a fresh reboot, attempting to find it in ps and top, then trying to run it manually:

"logcat.txt": https://onedrive.live.com/redir?resid=B908F8D8A9A04A85!1054&authkey=!AInNdRRnRZNrkKg&ithint=file,txt
[Google Chromecast] HomerSp:
I see the problem. Could you try this apk please: https://dl.dropboxusercontent.com/u...hell/v2/testing1/AndroidMediaShell-signed.apk

Get me a new log if it doesn't work.
[Google Chromecast] craun:
I installed the signed APK on my Nexus 5 (Android 4.4.4) instead, but still cant find any device with Chrome (running on windows 8) and the Google Cast add-on.

Is that the right way to go if I'd like to mirror my chrome screen to my Nexus or am I missing something?

The Cast Receiver is in the installed list, but not in the running apps list.
[Google Chromecast] osm0sis:
Seems to get a little farther!

"logcat.txt": https://onedrive.live.com/redir?resid=B908F8D8A9A04A85!1055&authkey=!AN6HDDvothnCVKk&ithint=file,txt
[Google Chromecast] neoman4426:
Look up BubbleUPnP, sounds like that would work for your needs. Allows sending of all audio on device, with servers that can be installed on computers. Pretty high minimum delay to allow for more smooth playback, I think it was 1 second minimum with higher allowing more buffering and even smoother playback. Ended up being too high for me since I was trying to use it as a replacement for Bluetooth headphones with video on a TV box, manually setting the audio/video sync to match up turned out to be too much trouble, but for an audio only setup it should work great.
[Google Chromecast] craun:
Thanks! Will check it out. But the audio needs to be stored locally on device, or did I misunderstand you? And I dont have to manually play it from device but can actually start/push music to the device from PC?

Maybe off topic, but do you have any recommendations on server?
[Google Chromecast] neoman4426:
I never actually tried the computer -> Android renderer so I can't actually vouch for that one, but going Android -> Android it's possible to use the receiving device as if it were a (time delayed) set of headphones, capturing all audio from the device and routing it to the receiver. I think it may require root and an Xposed module to go that far, been a couple months since I tried it. Most questions should be answered here http://bubblesoftapps.com/bubbleupnpserver/