Skip to content

[bug] navigator.mediaCapabilities.decodingInfo returns a promise but is treated as a synchronous method in useMediaCapabilities #50

@anton-karlovskiy

Description

@anton-karlovskiy

@wingleung cc @addyosmani

const useMediaCapabilities = (mediaConfig, initialMediaCapabilities = {}) => { let mediaCapabilities = { supported, hasMediaConfig: !!mediaConfig }; mediaCapabilities = (mediaCapabilities.supported && mediaCapabilities.hasMediaConfig) ? navigator.mediaCapabilities.decodingInfo(mediaConfig) : { ...mediaCapabilities, ...initialMediaCapabilities }; return {mediaCapabilities}; }; 

I think navigator.mediaCapabilities.decodingInfo(mediaConfig) was considered synchronous method in above implementation but according to MediaCapabilities.decodingInfo() MDN doc, it's asynchronous method that returns a promise.

So I wonder if this hook returns false for supported property all the time.
And this highlights an issue with the tests which should be catching such problems.

@wingleung Would you mind addressing this issue? Thank you.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions