Coder Social home page Coder Social logo

Comments (6)

mfoltzgoogle avatar mfoltzgoogle commented on June 11, 2024

Why would you need to run the steps to monitor available playback devices if you already know the video cannot be remoted? It seems like it's worthwhile to keep this optimization.

from remote-playback.

mounirlamouri avatar mounirlamouri commented on June 11, 2024

I agree with @mfoltzgoogle

from remote-playback.

avayvod avatar avayvod commented on June 11, 2024

I think the algorithm wouldn't prevent the user agent from early exit (we could add a note for that).
My reasoning was that the algorithm now has two exit points where the promise is rejected with the same exception and the difference seems to be very subtle and hard to understand for web authors (even I had to read it a couple of times before I remembered what it is). Maybe we should just rephrase those.

from remote-playback.

mounirlamouri avatar mounirlamouri commented on June 11, 2024

I think rephrasing would be good. FWIW, ideally, it shouldn't matter for web authors. Actually, the only thing that bothers me about this step is that it is before the check for "is allowed to show pop up" which means that a web author could figure which formats can be played by calling prompt() on different <video>. In other words, it makes the step observable while in principle, it's mostly an optimization. I would be in favour to swap steps 5 and 6 and rephrase.

from remote-playback.

mfoltzgoogle avatar mfoltzgoogle commented on June 11, 2024

There are three other issues I noted when preparing #76.

  • I don't see a guarantee that the steps to start monitoring devices in 7 complete before step 9 is encountered. If they don't happen to find a device in time, then prompt will reject.
  • If the steps to monitor do complete, then steps 8 and 9 seem to be equivalent: if a compatible remote playback device is found, then availability must be set to true?
  • Steps 9 throws NotSupportedError while Presentation API throws NotFoundError for this case.

I think the simplest thing to do is to drop step 9. This leaves 8 for the case where the user agent knows that there will never be a compatible device, e.g. because discovery failed to start or it is in a stable state from a previous call. WDYT?

from remote-playback.

avayvod avatar avayvod commented on June 11, 2024

SGTM

from remote-playback.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.