SMB shares aren't so good as the chromecast needs a stream to read from. The whole process is much easier if you can set up a upnp/dlna server (e.g. minidlna). A cursory search for "openindiana upnp" suggests this shouldn't be too hard. upnp is in fact quite common, without too much effort I've got lots of services set up on devices such as ADSL router (minidlna) and even my Humax Freesat box (mediatomb). Other more obvious upnp servers in my home are OSMC (nee raspbmc) and various windows and linux boxen.
Having got a/many upnp/dlna server(s) running as a source, use an app such as BubbleUPNP (https://play.google.com/store/apps/details?id=com.bubblesoft.android.bubbleupnp) to browse these media libraries and throw the media to the chromecast for rendering. The controlling app is no longer required and device can even be turned off, the chromecast will keep playing the media pulling direct from the servers.