diff --git a/src/VideoStream/index.js b/src/VideoStream/index.js index 9ec20f96bffc94b71ac264ede71d878651787a7a..bc95c05191b8e8222286295bb46dc6f702d6e378 100644 --- a/src/VideoStream/index.js +++ b/src/VideoStream/index.js @@ -42,13 +42,13 @@ class VideoStream extends Component { this.store = new VideoStore(); - // Automatically detect if the configured topic name is valid - this.hasTopic = observable.box(false); - this.searchForTopic() - // Fill the undefined fields of the configuration object with their default values. defaultConfig(this.store); this.props.store.components['video'] = this.store; + + // Automatically detect if the configured topic name is valid + this.hasTopic = observable.box(false); + this.searchForTopic(); } defaultImage = 'images/default.svg'; @@ -62,7 +62,7 @@ class VideoStream extends Component { get streamUrl() { if ('url' in this.props && this.props.url) { return this.props.url; - } else if (this.hasTopic.get()) { + } else if (this.hasTopic.get()) { // all requierd configuration fields are defined return 'http://' + this.store.config.host + '/stream?topic=' + this.store.config.topic; @@ -74,7 +74,7 @@ class VideoStream extends Component { /** * Check that all the requirements are met for subscribing to the required * topic - * + * * Thanks to MobX magic, the result is computed again each time the topic * configuration is changed. */ @@ -88,19 +88,18 @@ class VideoStream extends Component { this.props.ros.getTopics(infos => { this.hasTopic.set(undefined !== infos.topics.find( elem => elem === this.store.config.topic)); - + if (!this.hasTopic.get()) { console.warn("[VideoStream] The required topic " + this.store.config.topic + " is not published"); } - console.debug(this.hasTopic.get()); }) } else { console.warn("[VideoStream] either no topic is configured " + "or no host is configured. This should never " + "happen at runtime. Contact the developpers."); } - }) + }, {fireImmediately: true}) } else { console.warn("[VideoStream] ROS property is provided. This should " + "never happen at runtime. Contact the developpers.");