CyBear-Jinni / cbj_integrations_controller

GNU Affero General Public License v3.0
2 stars 1 forks source link

Reimplement chrome cast support without NodeRed #9

Closed guyluz11 closed 10 months ago

guyluz11 commented 11 months ago

We are using node read integration to cast to cast enable device and as we have added the option to use integrations from the app we would like to ditch as many node read plugins as possible.

My thought is to fork cast and replace bonsoir with multicast_dns. It currently has an open issue on iOS support so in time it will just get fixed. We prefer not to support flutter-only packages as we want as much future purity and less code to maintain with our hub (dart native).

I have tried dart_chromecast in the past but it was missing features and unmaintained.

guyluz11 commented 11 months ago

Fixed on my fork.

cast: 
  git: 
    url: "https://github.com/guyluz11/flutter_cast.git"
    ref: "multicast_version"

Current version should support all platforms expect from IOS because of a bug in multicast_dns package https://github.com/flutter/flutter/issues/52733 We can fined a way to do the search with bonsoir just on iOS until it get fixed

guyluz11 commented 11 months ago

I have managed to use the cast package and even make it more accessible and add new functionality and all of it will be added to the app in the next version.

YouTube API for Chromecast has different implementations that we need to add separately. Here are some example resources for that: https://github.com/castjs/castjs (the package is written in one page). https://bugs.xdavidhu.me/google/2021/04/05/i-built-a-tv-that-plays-all-of-your-private-youtube-videos/ (some article on the matter).

15

guyluz11 commented 10 months ago

Done. We need to make it work as well on IOS with the use of different implementation search device packages on flutter and on dart native for the hub.

Will be discussed in a new issue.