Git Product home page Git Product logo

Comments (16)

alvestrand avatar alvestrand commented on July 22, 2024 1

Good question - the suspicion is what I intended when I wrote it.

As for mediaType, that's issue #84 - yes, I intend to add it.

from webrtc-stats.

henbos avatar henbos commented on July 22, 2024

List to RTP streams identified by ssrc? Why not a list of RTCRTPStream.id:s? Because they come in both In- and Outbound flavors?

from webrtc-stats.

fippo avatar fippo commented on July 22, 2024

+1 to identifying them with the ids. Also resolves my question (elsewhere) why ssrc is a string there.

from webrtc-stats.

henbos avatar henbos commented on July 22, 2024

RTCRTPMediaStreamStats.ssrc is string and RTCMediaStreamTrackStats.ssrcIds is a sequence of strings. Question: What does "ssrcIds" mean? Shouldn't it be "ssrcs" or "ssrcIdentifiers"? The "-Ids" bit implies it's an RTCStats.id but there are no SSRCStats. Should we file another bug?

from webrtc-stats.

henbos avatar henbos commented on July 22, 2024

Oh brainfart it's what this bug is about. But ssrc is string elsewhere too.

from webrtc-stats.

alvestrand avatar alvestrand commented on July 22, 2024

Hm. This seems like something that should have been updated but isn't.

We need a linkage between RTCRtpStreamStats and RTCMediaStreamTrackStats. There's a mediaTrackId in RTCRtpStreamStats; I think ssrcIds was meant to be the opposite of that, but it's misnamed.

Options:

  1. Rename it to RtpStreamStatsIds
  2. Delete it, and let people reverse-map by walking the stats tree.

What is best?

(I tend to favor the "fewer fields" solution - we can always add fields, but it's very hard to delete them)

from webrtc-stats.

henbos avatar henbos commented on July 22, 2024

I prefer relationships to be explicit, not only does it make lookup easier but it also documents the relationships. (That being said, I haven't implemented this field and wouldn't mind not having to do it ;) )

from webrtc-stats.

alvestrand avatar alvestrand commented on July 22, 2024

The relationship is explicit, we're just debating if we need one-way pointers or two-way pointers.

from webrtc-stats.

vr000m avatar vr000m commented on July 22, 2024

I will go with the RtpStreamStatsIds, making the relationship explicit. And just one way is fine.

from webrtc-stats.

alvestrand avatar alvestrand commented on July 22, 2024

One way would mean removing RTPStreamStatsIds and leaving just mediaTrackId in RTCRTPStreamStats....

from webrtc-stats.

taylor-b avatar taylor-b commented on July 22, 2024

I'd lean towards removing it, for consistency with the rest of the spec. We have one-way pointers everywhere else.

from webrtc-stats.

alvestrand avatar alvestrand commented on July 22, 2024

As for "everywhere else": the following "ids" exist:

  • RTCMediaStreamStats.trackIds
  • RTCMediaStreamTrackStats.ssrcIds

The first one has to exist becaue the stream<->track relationship is many-to-many; reverse pointers can't save you. So we can't just delete the entire "Ids" concept.

Are we 100% sure there's no case (repair SSRC, flexfec SSRC, simulcast SSRC, layered encoding SSRC) where an SSRC needs to be referenced from multiple MediaStreamTracks?

If this is true (I'm looking at Taylor), I'm in favor of dropping the field.

NOTE: If it's false, the single-valued "mediaTrackId" in RTCRTPStreamStats is in trouble, too. So I hope it's true.

from webrtc-stats.

alvestrand avatar alvestrand commented on July 22, 2024

This is somewhat related to #116 in that if we want a formal definition for "what do we return if we ask for a track in the selector", we can't use "the track and whatever is referenced", since it's pretty certain that people who want stats on a track will want the related RTP sessions. So the rule would become either "the track, everything that references it, and everything those objects have references to" or "the track, and ". We can't use "The track, and everything it references".

This is a note so that I remember, it shouldn't influence this decision much.

from webrtc-stats.

alvestrand avatar alvestrand commented on July 22, 2024

I have created a PR to implement the removal once we've verified (again) that it's OK for participants.

from webrtc-stats.

taylor-b avatar taylor-b commented on July 22, 2024

I can't see any way one RTP stream could be used for multiple tracks simultaneously; there's a 1:M relationship between media descriptions and RTP streams. However, if you're not bundling, I think it would be valid to have two RTP streams using the same SSRC. Which shouldn't matter, since each RTCRTPStreamStats has its own id independent from SSRCs.

from webrtc-stats.

alvestrand avatar alvestrand commented on July 22, 2024

Concluded that removal is OK.

from webrtc-stats.

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.