Shared publicly  - 
 
Code explanation of the Chromecast change, for those curious about why I say it was intentionally disabled. The following is the HTML/JavaScript receiver code used by Chromecast extension app that is shown on the Chromecast itself.

Three new lines of code to short circuit everything but mirroring:

if("mirror_tab" != a) {
    return null;
}

And also the "slideshow" code  has really been around since release.
220
37
Albert Lee's profile photoMarco Mugnatto's profile photoMat Koenig's profile photoThomas Cercato's profile photo
104 comments
 
Couldn't you simply redirect the receiver HTML to a locally held receiver HTML on your computer via a proxy? Not that it would be ideal by any means.
 
+Preston Davis That's not a good solution. Couple problems: can't ask every user to do that. They use https, so the chromecast needs to be rooted so that the proxy can serve a valid SSL cert.
 
Ah. That make sense. Just a thought.

The chromecast itself runs on an Android base correct? 
 
Chrome OS which is coupled by an Android base, considering the rooted system dump, I thought?
 
I don't understand the protocol so noob question. Preston do you mean redirect via router configuration or does the protocol allow this?

If you can redirect without it being a mess receiver code hosted in an S3 bucket with SSL cert would be a simple way to go.
 
+Preston Davis You're correct. It runs a limited form of Android, unlike what its name suggests. 
 
No, its basically an Android kernel without Dalvik, I believe, running a modified version of Chrome (the browser, not the OS). 
 
It is massively stripped down Android. But the tiny bits left are Android bits not ChromeOS
 
It is odd they short circuited that without removing all that code.
 
:/ no way to get around those 3 lines of code?
 
Maybe they are going to make it work better in a future update and now those sections are buggy. 
 
The most beautiful thing of following you is that I don't understand absolutely anything while reading comments. So I suggest "Banana".
yao tly
 
So how do we root and change the code.
 
I think your overreacting a bit +Koushik Dutta . Why go through all the trouble of making an api and an SDK if google is planning on this thing to not be indie friendly. Maybe its just temporary so that the masses can see something more stable for now.
 
Doesn't this apply here?

Warning: The current Google Cast SDK is a preview SDK intended for development and testing purposes only, not for production apps. Google may change this SDK significantly prior to the official release of the Google Cast SDK. We strongly recommend that you do not publicly distribute any application using this preview SDK, as this preview SDK will no longer be supported after the official SDK is released (which will cause applications based only on the preview SDK to break).
 
My Chromecast order has been cancelled, and if anyone else is still waiting on delivery I suggest you call 855.836.3987 to do the same. 
 
Google made it clear their API is unfinished, unreleased and that all third party access is subject to approval.

This hardware doesn't have Nexus written on it. Google doesn't care about its 30 dollar dongle, it cares about its relationship with the content creators and distributors.

This is such an sensationalist overreaction. 
 
This really smells like a temporary hack. Perhaps they found a serious bug and are disabling it until they fix it? I'm not saying you're wrong though - possibly, the bug is that AirCast is possible. But I'm willing to bet this code will change again either case.
Don Shane
+
1
0
1
0
 
I have heard all kinds of people today say its a beta, it's this,  it's that.  .  Bottom line is the code was added for a reason.  The evidence points to preventing users from streaming local media. +Koushik Dutta only made a comment regarding that and that only and people say HE is over reacting?
 
But why was the code there from the beginning? 
 
Google is looking more like a particular fruit named company every day. 
 
Still love my chromecast. 
 
+Michael J. Bassi A company interested in increasing profit? No way!

This isn't even for profit, this is most likely to protect relationships with the content creators. Stop being so transparent in your attempts to make this bigger than it really is. 
Chad Neu
+
1
5
6
5
 
I really dislike this speculation. None of you have any real evidence, besides SDK changes, to support any of this hate.

It's no different than reddit going apeshit over the xbone.

It's a beta SDK. Calm down. 

Edit: not talking about koush. I mean the ridiculously short sighted comments. 
 
If the final SDK ends up blocking local streaming, there's always the idea of making a cyanogenmod port for ChromeCast.  :-)
 
Koush isn't overreacting, though IMO he is stating things a bit prematurely - see my previous comment for why.

Everyone who's saying how evil (or worse - how Apple) Google is all of a sudden is overreacting.
 
+Michael J. Bassi Google are still using open source (Android) and open protocols (DIAL) for the Chromecast. If they limit functionality another player in the market can use the exact same OS and protocols to serve the market with these features. That's the meaning of openness, unlike Apple's closed Airplay system. 
 
Koushik must have delightful dreams about comment threads that say on topic.
 
+Ben Roberts, I think +Jonathan Rosenberg's post explains how Google's 'openness' encompass more than open systems and protocals.  At its foundation the principal of openness is about empowering the individual user, and the intentional restriction of device functionality is antithetical to that principal.  Compare to Verizon Wireless blocking tethering. 
 
Equiso + CM Account + bonjour = better than Chromecast and open and integrated into CM. I can't wait. [/dream]
 
Whoever wrote that code should have their paycheck stopped until they rewrite it with proper variable names. I ran into this same thing with the ADK2012. They're all about job security and this code means nothing without some proper variable names. 
 
I haven't been keeping up on this. I go back and forth, mostly back, on one waiting to see what functionality is added to the device over my Roku

With that disclaimer, isn't this open source? Are "ROMs" capable to add functions and remove this coded?
 
+Adam Outler I'm betting you're actually looking at reformatted, minimized code (not the original source).
 
+Michael J. Bassi see the 5th paragraph in Rosenberg's article for the definition. Openness in technology and user control of information, not unlimited or unrestricted functionality. There are plenty of things Google doesn't let me do with its products. Besides which let's wait and see what the final SDK looks like. It's entirely possible that Google are blocking this temporarily to prevent some unintended side effect we're not even aware of. :) 
 
Yeah, that shit is obviously Proguarded.  I'm surprised they Proguarded ADK stuff though.
 
Google is on some straight bullshit. 
 
+Koushik Dutta if they intentionally disabled receiver code.. Good they have every right to..move on nothing to see here.. Lol
 
+David De Leon You laugh at your own statement? There's no humor there. You're right, it's their product, they have every right to modify their code base. However this is in the same vein as being able to modify something that you own, to your benefit. Google product users are, unsurprisingly, adept at circumventing blocks and limitation in devices to eek out some more functionality. I dare say that google has built their entire hardware platform on the idea that you can modify their products to some extent.

I absolutely think that perhaps maybe you should move on, as your comment had nothing to add here.

Lol.
 
That's some super verbose and professional variable naming... :/
 
+Koushik Dutta  Given that Google can update the pages they serve up from their servers at any time, is a system update to Chromecast necessary or did it just happen to coincide with it?
 
Hello +Koushik Dutta I don't know if this is something that you may already know or may be working on, but being that the chromecast is no longer allowing streaming of personal content i got to thinking about the cheapcast I downloaded the app onto my two galaxy note 2 just to check the try and see if The Cast app you have been working on would work and it didnt how ever it did recognize my other phone on the list of items now if you can figure out a way to get the content to stream between cheapcast and your Cast we will be able to stream personal content. I was trying a hd movie as well it never played back it just left the screen blank if this helps let me know. I have a YouTube link if you would like to view 
 
Thanks for the info just cancelled my order.
 
+Ryan Evans Bc I have an Xbox 360.  I can stream .avi and .mpeg from my computer and it has a Youtube app.  I wanted the Chromecast specifically for Allcast so that I could stream my own content without Microsoft limiting me to specific file types.  But now it looks like Google is becoming just as bad as Microsoft and Apple.  
 
Preview SDK. That is all. Good to make noise so the features and needs are heard but too early to get your panties in a bunch when the software isn't done.
 
+Ryan Evans In short yes.  If I'm unable to expand the functionality of the device I'm purchasing I'm significantly less interested in it.  In this case to the point of not wanting to pay a measly $35.  Also when you buy something you're essentially voting.  You're voting for the company, their product line and the overall direction they are moving in.  I don't agree with this move by Google so I'm not going to vote for the Chromecast.
 
Agreed +Albert Lee I did a bit of READING and lurked for logical reactions. I know shit about coding. But the consensus was people should stfu and wait for the SDK beta to end.
 
+Koushik Dutta Just to confirm. Does this break only your app that evades the need for a whitelist device? Does your original app still work on your whitelisted Chromecast?
 
+Rodney Figueroa in regards to what you get to modify.. You own the product, not the software.. and when you reverse engineer someone's software the way Koushik did..something will be done about it, just ask Microsoft.. Or ask cyanogenmod.. On another note don't be too concerned at what people laugh at..I don't know you at all to what you think... Move along LOL! 
 
Wow. Cancel your orders because of something that is going to be dealt with within a matter of 2 weeks at most? Everyone knows how fast things can change and how hard +Koushik Dutta and other devs work. Hopefully you won't be able to get one for another month once things are up and running. How can you even bash the product for not being capable of doing something that it doesn't even claim it can do in the first place? Makes sense. 
 
I now own three, two for normal use a third to tinker I may even buy a fourth for that purpose.
 
This seems to be the norm. The source code on this g+ page isn't far different.
 
+Cole Mickens
Except that all entered issues have "Accepted" status by default so this doesn't mean much.
 
I agree with +Dor Kleiman . A quick check at the top of a method to short circuit a switch later? Definitely temporary. If they meant to permanently restrict different activities, they would remove that whole switch, it currently serves no purpose.

That said, I really hate that they did this and I'm becoming skeptical of how open the Chromecast will end up.
 
I received my Chromecast last week and haven't had time to use it, will I have an option not to accept the update?
 
+David Messer First of all there is a 2-3 week backorder, so playing wait and see can't be too bad (unless they sell out on Round 2).  Second it seems unlikely that Google would change their mind about something like restricting content.  This code has to be a result of their business model for this device.  It looks like this code is easy enough to circumvent but I think the issue would be figuring out a loophole around the potential legal issues here.
chris r
 
Surely Google must have some plans to allow android users to play their locally stored videos on a TV? How can they leave us with nothing and looking at AirPlay with envy?
 
wait if this enable mirroring only... no more chromecast muti-tasking???? I cant use my phone when chromecasting????? wth...
 
+chris r That is what I am thinking too Chris. There is no way Google would allow the competition to have the upper hand on such an easy feature to implement. I'm still hanging onto the hope that Google has a plan to allow local content, more than likely through an updated official Gallery app. 

What I can't understand is that all the Google sympathizers keep saying, "Google can't allow local content (photos/home movies) because it opens up for the possibility of users using it in a manner that breaks contracts Google has with the media companies". This arguments seems null considering that Apple TV (and Xbox, PS3, Roku, etc) already does it, and more. Why would Google be the only company that is not allowed ... the argument just does not make sense.

I think it may be more about Google coercing  users into sharing their meta data for targeted advertising by forcing users to upload their images to G+ and their videos to YouTube just to watch them on their TV. If so, then Google may have just made a horrible move.
 
Thanks for the heads up. I just cancelled my backordered Chromecast order on Amazon. Not interested in another walled garden.
 
Does this nerf similarly impact your OS level integration in the Cyanogen Mod demo you ran a while back?

Have you or any other developer been receiving feedback on the "Whitelist" process?

Sorry to hear the bad news.
 
I just got an official statement from Google for my ChromeCast story for Muktware [1]

The spokesman clearly stated:
We’re excited to bring more content to Chromecast and would like to support all types of apps, including those for local content. It's still early days for the Google Cast SDK, which we just released in developer preview for early development and testing only. We expect that the SDK will continue to change before we launch out of developer preview, and want to provide a great experience for users and developers before making the SDK and additional apps more broadly available.
 [1] http://www.muktware.com/5857/google-breaks-chromecasts-ability-play-local-content-updated
 
What? They kept lines of code that will never be reached?
 
+Swapnil Bhartiya there really isn't a rational explanation for the code change kush is highlighting. I'd love to believe Google's statement, and I will when the code is there to support it. Until then, its worth the paper its written on.
 
+Bill Newton Since we have already seen it with Nexus and ChromeBook devices that Google is quite open with their devices so I don't see any reason why they will risk blacklash from the community and users by locking it down where they don't get any advantage - CC has already become the most loved device in my household as we have all moved to Netflix and YT watching on it. Why would Google care if I also watch my local content. But since they have already gave warning on their SDK page (which was prior to when Datta mentioned it) I take their words and would consider they have no intention of blocking local content.
 
If that is true, then they released the SDK far too early. It could also be true that the spokesperson wasn't familiar with the change in strategy. 
 
From Google " We’re excited to bring more content to Chromecast and would like to support all types of apps, including those for local content. It's still early days for the Google Cast SDK, which we just released in developer preview for early development and testing only. We expect that the SDK will continue to change before we launch out of developer preview, and want to provide a great experience for users and developers before making the SDK and additional apps more broadly available."

So get over yourself and chill the fuck with all these whinning and crying. 
 
I'm so bummed, I can't wait until your app is rocking again
 
+Jeremy Martin Not sure why I would want to click through to read Droid Life commenters writing disparaging things about me.
 
Hi Koushik, I'm PM at bq, an Android manufacturer from Spain, we really like your work with Chromecast and I would like to talk to you about this, how can I contact with you?
 
Just awareness is all. I commented in your defense and got mixed reaction. Sad really because I get tied of hearing the "but it does what it was advertised on the box"argument from tools. They know full well the issue is the chrome cast can do so much more than what is on the box if Google would allow it.
 
+Jeremy Martin And Google will allow it, at least that's what they say, when they finalize the code, with a future version of the software.  As a developer I can totally understand them actively working to prevent unfinished code from being used.  
 
+Bill Newton There is a perfectly rational explanation.  The code that does the functions that they commented out is not ready yet for public consumption.  It's either not done, not stable, or not ready in some way.  They don't want people using it  until it is.  Why put it there to begin with if they weren't intending on using it or allowing it at some point?

Also - your comment that they released the SDK too early is not valid.  +Koushik Dutta didn't use the SDK.  He reverse-engineered the code because the SDK didn't have the functions that he wanted yet.  
 
One question +Koushik Dutta - Did this ONLY affect your AirCast workaround, or does this apply also to people attempting to do the same thing with the official SDK (such as your unreleased apps)?
 
+Michael Salinger I don't know why they put the code there. Nothing about that makes sense from outside the google mind.

But Google has repeated their statement to enough news outlets that I think that must be their official policy.

Its possible that they wanted to do what koush was with some restrictions to required the use of some Google services. 
 
+Bill Newton Because developers and companies often put unfinished code that isn't accessible in production builds for a variety of reasons.  Google does it all the time, so does Apple.  For example, Android 4.1 Jellybean had hints of User profiles in it, but that code was not accessible or useful until Android 4.2 Jellybean was released.  This is not an uncommon software practice, and it's not necessarily a "Google mind" thing.  It's possible that it just isn't fully baked/fully tested.  
Duy Bui
 
Looks more like debugging code left un-reverted
 
+Koushik Dutta Rooting the Chromecast did not look that difficult. Is that going to be the ultimate solution?
 
+Koushik Dutta  Just got my chromecast yesterday. Streams most from browser tab, including drag-n-drop mp4 files (using l/ubuntu). Would like to stream desktop and/or dump video from IP cameras to the chromecast. Is that what your app allowed?
 
I got a great idea. CyanogenMod comes out with their own dongle which is supported by CyanogenMod ROMs and streams to tvs like we want. Then were all happy. It doesn't seem to complex in nature. If Google can sell it for 35 bucks their still making a profit on hardware. I would be happy to buy a CyanogenMod dongle for 35 bucks also. I would gladly support CyanogenMod and seems like everyone else would also. 
Add a comment...