Correctly handle media errors

The methods need to be async since play() is async, otherwise there is no point in having the try catch blocks

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
This commit is contained in:
Šimon Brandner 2021-08-15 13:33:49 +02:00
parent 65eedd00b0
commit 64aa53ab24
No known key found for this signature in database
GPG key ID: 55C211A1226CB17D
2 changed files with 4 additions and 4 deletions

View file

@ -72,7 +72,7 @@ export default class AudioFeed extends React.Component<IProps, IState> {
} }
}; };
private playMedia() { private async playMedia() {
const element = this.element.current; const element = this.element.current;
if (!element) return; if (!element) return;
this.onAudioOutputChanged(MediaDeviceHandler.getAudioOutput()); this.onAudioOutputChanged(MediaDeviceHandler.getAudioOutput());
@ -90,7 +90,7 @@ export default class AudioFeed extends React.Component<IProps, IState> {
// should serialise the ones that need to be serialised but then be able to interrupt // should serialise the ones that need to be serialised but then be able to interrupt
// them with another load() which will cancel the pending one, but since we don't call // them with another load() which will cancel the pending one, but since we don't call
// load() explicitly, it shouldn't be a problem. - Dave // load() explicitly, it shouldn't be a problem. - Dave
element.play(); await element.load();
} catch (e) { } catch (e) {
logger.info("Failed to play media element with feed", this.props.feed, e); logger.info("Failed to play media element with feed", this.props.feed, e);
} }

View file

@ -112,7 +112,7 @@ export default class VideoFeed extends React.PureComponent<IProps, IState> {
} }
} }
private playMedia() { private async playMedia() {
const element = this.element; const element = this.element;
if (!element) return; if (!element) return;
// We play audio in AudioFeed, not here // We play audio in AudioFeed, not here
@ -129,7 +129,7 @@ export default class VideoFeed extends React.PureComponent<IProps, IState> {
// should serialise the ones that need to be serialised but then be able to interrupt // should serialise the ones that need to be serialised but then be able to interrupt
// them with another load() which will cancel the pending one, but since we don't call // them with another load() which will cancel the pending one, but since we don't call
// load() explicitly, it shouldn't be a problem. - Dave // load() explicitly, it shouldn't be a problem. - Dave
element.play(); await element.play();
} catch (e) { } catch (e) {
logger.info("Failed to play media element with feed", this.props.feed, e); logger.info("Failed to play media element with feed", this.props.feed, e);
} }