[jitsi-dev] jitsi videobridge rtcp handling


#1

You suggested to mungle the SDP and set an SSRC (just generate one) for the recvonly channel.

But it seems our SSRC will never get included in RtpChannel.receiveSSRCs.

So RtpChannelDatagramFilter.java #127 will check if packetSenderSSRC matches a channelSSRC, otherwise the packet will be dropped.

So it seems mungle SDP is right now not a solution for recvonly streams?

int[] channelSSRCs = channel.getReceiveSSRCs();

for (int channelSSRC : channelSSRCs)

        {

            if (channelSSRC == packetSenderSSRC)

                return true;

        }
···

2015-05-19 16:56 GMT+02:00 George Politis gp@jitsi.org:

On 19 May 2015, at 16:32, dr.andreas.rice@gmx.net wrote:

hmm I don’t understand this. Which RTCP packet and why will it be dropped?

No, I’m afraid not, because when we do bundle we don’t know if an RR with an unknown SSRC that is received from a recvonly channel is for audio or for video. If it’s received from a sendrecv channel, then the situation is completely different because the bridge automatically populates the RtpChannel.receiveSSRCs structure when it receives media.


dev mailing list

dev@jitsi.org

Unsubscribe instructions and other list options:

http://lists.jitsi.org/mailman/listinfo/dev

That means the RTCP packet will not get accepted.
Does it make sense to add the SSRC to the RtpChannel.receiveSSRCs array in case when we get an RR with unknown SSRC?

2015-05-19 14:46 GMT+02:00 George Politis <gp@jitsi.org>: hmm we probably don’t include it there. It’s stored in the RtpChannel.receiveSSRCs array and that’s not used to “describe” the channel.

2015-05-19 11:55 GMT+02:00 George Politis <[gp@jitsi.org](mailto:gp@jitsi.org)>: On 19 May 2015, at 11:49, [dr.andreas.rice@gmx.net](mailto:dr.andreas.rice@gmx.net) wrote: So I generate SSRC for the recvonly channel. Do the rest of the peers need to SRD for this SSRC as well?

Yes.

It does, but if you have a recvonly channel in Chrome and it asks for a PLI (i.e. the [[webrtc.org]([http://webrtc.org/)](http://webrtc.org/](http://webrtc.org/)%5D(%5Bhttp://webrtc.org/%5D(http://webrtc.org/))

) engine asks for a PLI), then the bridge and the remote end has to know the recvonly channel SSRC in order to relay and process the PLI. It only does that on recvonly streams IIRC. See[[[[[https://groups.google.com/forum/#!searchin/discuss-webrtc/ssrc%7Csort:date/discuss-webrtc/5yuZjV7lkNc/fFlDhcGvpV0J](https://groups.google.com/forum/#!searchin/discuss-webrtc/ssrc|sort:date/discuss-webrtc/5yuZjV7lkNc/fFlDhcGvpV0J](https://groups.google.com/forum/%23!searchin/discuss-webrtc/ssrc|sort:date/discuss-webrtc/5yuZjV7lkNc/fFlDhcGvpV0J))](https://groups.google.com/forum/#!searchin/discuss-webrtc/ssrc|sort:date/discuss-webrtc/5yuZjV7lkNc/fFlDhcGvpV0J](https://groups.google.com/forum/%23!searchin/discuss-webrtc/ssrc|sort:date/discuss-webrtc/5yuZjV7lkNc/fFlDhcGvpV0J)](https://groups.google.com/forum/%23!searchin/discuss-webrtc/ssrc|sort:date/discuss-webrtc/5yuZjV7lkNc/fFlDhcGvpV0J](https://groups.google.com/forum/%23!searchin/discuss-webrtc/ssrc|sort:date/discuss-webrtc/5yuZjV7lkNc/fFlDhcGvpV0J)))](https://groups.google.com/forum/#!searchin/di](https://groups.google.com/forum/#!searchin/discuss-webrtc/ssrc|sort:date/discuss-webrtc/5yuZjV7lkNc/fFlDhcGvpV0J](https://groups.google.com/forum/%23!searchin/discuss-webrtc/ssrc|sort:date/discuss-webrtc/5yuZjV7lkNc/fFlDhcGvpV0J)](https://groups.google.com/forum/%23!searchin/discuss-webrtc/ssrc|sort:date/discuss-webrtc/5yuZjV7lkNc/fFlDhcGvpV0J](https://groups.google.com/forum/%23!searchin/discuss-webrtc/ssrc|sort:date/discuss-webrtc/5yuZjV7lkNc/fFlDhcGvpV0J))%5D(https://groups.google.com/forum/%23!searchin/discuss-webrtc/ssrc|sort:date/discuss-webrtc/5yuZjV7lkNc/fFlDhcGvpV0J](https://groups.google.com/forum/%23!searchin/discuss-webrtc/ssrc|sort:date/discuss-webrtc/5yuZjV7lkNc/fFlDhcGvpV0J)](https://groups.google.com/forum/%23!searchin/discuss-webrtc/ssrc|sort:date/discuss-webrtc/5yuZjV7lkNc/fFlDhcGvpV0J](https://groups.google.com/forum/%23!searchin/discuss-webrtc/ssrc|sort:date/discuss-webrtc/5yuZjV7lkNc/fFlDhcGvpV0J)))%5D(https://groups.google.com/forum/%23!searchin/di)

s](https://groups.google.com/forum/#!searchin/discuss-webrtc/ssrc%7Csort:date/discuss-webrtc/5yuZjV7lkNc/fFlDhcGvpV0J](https://groups.google.com/forum/%23!searchin/discuss-webrtc/ssrc|sort:date/discuss-webrtc/5yuZjV7lkNc/fFlDhcGvpV0J](https://groups.google.com/forum/%23!searchin/discuss-webrtc/ssrc|sort:date/discuss-webrtc/5yuZjV7lkNc/fFlDhcGvpV0J))](https://groups.google.com/forum/%23!searchin/discuss-webrtc/ssrc|sort:date/discuss-webrtc/5yuZjV7lkNc/fFlDhcGvpV0J](https://groups.google.com/forum/%23!searchin/discuss-webrtc/ssrc|sort:date/discuss-webrtc/5yuZjV7lkNc/fFlDhcGvpV0J)](https://groups.google.com/forum/%23!searchin/discuss-webrtc/ssrc|sort:date/discuss-webrtc/5yuZjV7lkNc/fFlDhcGvpV0J](https://groups.google.com/forum/%23!searchin/discuss-webrtc/ssrc|sort:date/discuss-webrtc/5yuZjV7lkNc/fFlDhcGvpV0J)))](https://groups.google.com/forum/%23!searchin](https://groups.google.com/forum/#!searchin/discuss-webrtc/ssrc|sort:date/discuss-webrtc/5yuZjV7lkNc/fFlDhcGvpV0J](https://groups.google.com/forum/%23!searchin/discuss-webrtc/ssrc|sort:date/discuss-webrtc/5yuZjV7lkNc/fFlDhcGvpV0J)](https://groups.google.com/forum/%23!searchin/discuss-webrtc/ssrc|sort:date/discuss-webrtc/5yuZjV7lkNc/fFlDhcGvpV0J](https://groups.google.com/forum/%23!searchin/discuss-webrtc/ssrc|sort:date/discuss-webrtc/5yuZjV7lkNc/fFlDhcGvpV0J))%5D(https://groups.google.com/forum/%23!searchin/discuss-webrtc/ssrc|sort:date/discuss-webrtc/5yuZjV7lkNc/fFlDhcGvpV0J](https://groups.google.com/forum/%23!searchin/discuss-webrtc/ssrc|sort:date/discuss-webrtc/5yuZjV7lkNc/fFlDhcGvpV0J)](https://groups.google.com/forum/%23!searchin/discuss-webrtc/ssrc|sort:date/discuss-webrtc/5yuZjV7lkNc/fFlDhcGvpV0J](https://groups.google.com/forum/%23!searchin/discuss-webrtc/ssrc|sort:date/discuss-webrtc/5yuZjV7lkNc/fFlDhcGvpV0J)))%5D(https://groups.google.com/forum/%23!searchin)

/dis) _______________________________________________

_______________________________________________ dev mailing list [[[dev@jitsi.org](mailto:dev@jitsi.org)](mailto:[dev@jitsi.org](mailto:dev@jitsi.org))](mailto:[[dev@jitsi.org](mailto:dev@jitsi.org)](mailto:[dev@jitsi.org](mailto:dev@jitsi.org)))


__________________ dev mailing list _____________________________




dev mailing list

dev@jitsi.org

Unsubscribe instructions and other list options:

http://lists.jitsi.org/mailman/listinfo/dev

On 19 May 2015, at 12:26, dr.andreas.rice@gmx.net wrote:

Okay that make sense. Thank you.
Is the generated SSRC for the recvonly channel supposed to show up on the bridge when doing a GET /colibri/conferencesXXX ?

Because I can’t see it, I see only ssrc where actually data is flowing.

{

        "channels": [

            {

                "channel-bundle-id": "551c48b049297113e2f8a184",

                "sources": [

                    3408283600

                ],

                "rtp-level-relay-type": "translator",

                "expire": 60,

                "initiator": true,

                "ssrcs": [

                    2934823582

                ],

                "id": "f06af2be4d6d5a3",

                "direction": "sendrecv"

            },

            {

                "channel-bundle-id": "551db593ab779dea3361b38c",

                "sources": [

                    3408283600

                ],

                "rtp-level-relay-type": "translator",

                "expire": 60,

                "initiator": true,

                "id": "9d219925fe0614d7",

                "direction": "sendrecv"

            }

        ],

        "name": "video"

    }

I thought the bridge has the “mixed” stream to send RTCP packets if it needs to.
2015-05-18 17:23 GMT+02:00 George Politis <[[gp@jitsi.org](mailto:gp@jitsi.org)](mailto:[gp@jitsi.org](mailto:gp@jitsi.org))>: You don’t have to make the channel sendrecv, you can leave it recvonly. But you must signal the recvonly SSRC to jicofo so that it notifies the rest of the peers appropriately. On 18 May 2015, at 17:10, PhiL wrote:
I tried to mungle the SDP (e.g. sdp.replace(/(recvonly)/, “sendrecv”); + added ssrcs). That doesn’t seem to help, but I will do more investigations.Also I didn’t see any PLIs sent with Chrome Stable, just with Canary so far.

2015-05-18 16:38 GMT+02:00 George Politis <[[[gp@jitsi.org](mailto:gp@jitsi.org)](mailto:[gp@jitsi.org](mailto:gp@jitsi.org))](mailto:[[gp@jitsi.org](mailto:gp@jitsi.org)](mailto:[gp@jitsi.org](mailto:gp@jitsi.org)))>: You can try to mungle the SDP and set an SSRC (just generate one) for the recvonly channel. This should force the remote side and the bridge to understand RTCP packets and route them appropriately. On 18 May 2015, at 16:20, [[[dr.andreas.rice@gmx.net](mailto:dr.andreas.rice@gmx.net)](mailto:[dr.andreas.rice@gmx.net](mailto:dr.andreas.rice@gmx.net))](mailto:[[dr.andreas.rice@gmx.net](mailto:dr.andreas.rice@gmx.net)](mailto:[dr.andreas.rice@gmx.net](mailto:dr.andreas.rice@gmx.net))) wrote: So currently in recvonly streams the receiver has to wait till a keyframe is sent (every 3000 frames)?What can we do to ask for a keyframe earlier with a recvonly streams? Also askForKeyframes() rtcpFeedbackMessageSender.sendFIR(stream, receiveSSRCs) , RtpChannel.java #551 doesn’t seem to have any effect on chrome:

googFirsReceived

0

googPlisReceived

0

googNacksReceived

0

2015-05-15 7:18 GMT+02:00 Boris Grozev <[[[[boris@jitsi.org](mailto:boris@jitsi.org)](mailto:[boris@jitsi.org](mailto:boris@jitsi.org))](mailto:[[boris@jitsi.org](mailto:boris@jitsi.org)](mailto:[boris@jitsi.org](mailto:boris@jitsi.org)))](mailto:[[[boris@jitsi.org](mailto:boris@jitsi.org)](mailto:[boris@jitsi.org](mailto:boris@jitsi.org))](mailto:[[boris@jitsi.org](mailto:boris@jitsi.org)](mailto:[boris@jitsi.org](mailto:boris@jitsi.org))))>: On 15/05/15 04:05, Philipp Hancke wrote:Am 14.05.2015 um 18:00 schrieb Brian Baldino:I’m still digging further, but it looks like this is happening due to Chrome using an SSRC of “1” in its PLI messages, so they get filtered out and ignored by the RtpChannelDatagramFilter (due to not matching any ssrcs of the channel). Surprised that this isn’t affecting jitsi meet at all, though. Does it do something to not rely on PLI?
cuss-webrtc/ssrc%7Csort:date/discuss-webrtc/5yuZjV7lkNc/fFlDhcGvpV0J]([https://groups.google.com/forum/%23!searchin/discuss-webrtc/ssrc%7Csort:date/discuss-webrtc/5yuZjV7lkNc/fFlDhcGvpV0J)](https://groups.google.com/forum/%23!searchin/discuss-webrtc/ssrc|sort:date/discuss-webrtc/5yuZjV7lkNc/fFlDhcGvpV0J](https://groups.google.com/forum/%23!searchin/discuss-webrtc/ssrc|sort:date/discuss-webrtc/5yuZjV7lkNc/fFlDhcGvpV0J)](https://groups.google.com/forum/%23!searchin/discuss-webrtc/ssrc|sort:date/discuss-webrtc/5yuZjV7lkNc/fFlDhcGvpV0J](https://groups.google.com/forum/%23!searchin/discuss-webrtc/ssrc|sort:date/discuss-webrtc/5yuZjV7lkNc/fFlDhcGvpV0J))))for](https://groups.google.com/forum/%23!searchin/discuss-webrtc/ssrc|sort:date/discuss-w](https://groups.google.com/forum/%23!searchin/discuss-webrtc/ssrc|sort:date/discuss-webrtc/5yuZjV7lkNc/fFlDhcGvpV0J)%5D(https://groups.google.com/forum/%23!searchin/discuss-webrtc/ssrc|sort:date/discuss-webrtc/5yuZjV7lkNc/fFlDhcGvpV0J](https://groups.google.com/forum/%23!searchin/discuss-webrtc/ssrc|sort:date/discuss-webrtc/5yuZjV7lkNc/fFlDhcGvpV0J))%5D(https://groups.google.com/forum/%23!searchin/discuss-webrtc/ssrc|sort:date/discuss-webrtc/5yuZjV7lkNc/fFlDhcGvpV0J](https://groups.google.com/forum/%23!searchin/discuss-webrtc/ssrc|sort:date/discuss-webrtc/5yuZjV7lkNc/fFlDhcGvpV0J)](https://groups.google.com/forum/%23!searchin/discuss-webrtc/ssrc|sort:date/discuss-webrtc/5yuZjV7lkNc/fFlDhcGvpV0J](https://groups.google.com/forum/%23!searchin/discuss-webrtc/ssrc|sort:date/discuss-webrtc/5yuZjV7lkNc/fFlDhcGvpV0J))))for%5D(https://groups.google.com/forum/%23!searchin/discuss-webrtc/ssrc|sort:date/discuss-w)

ebrtc/5yuZjV7lkNc/fFlDhcGvpV0J)%5D(https://groups.google.com/forum/%23!searchin/discuss-webrtc/ssrc%7Csort:date/discuss-webrtc/5yuZjV7lkNc/fFlDhcGvpV0J%5D(https://groups.google.com/forum/%23!searchin/discuss-webrtc/ssrc%7Csort:date/discuss-webrtc/5yuZjV7lkNc/fFlDhcGvpV0J))%5D(https://groups.google.com/forum/%23!searchin/discuss-webrtc/ssrc%7Csort:date/discuss-webrtc/5yuZjV7lkNc/fFlDhcGvpV0J%5D(https://groups.google.com/forum/%23!searchin/discuss-webrtc/ssrc%7Csort:date/discuss-webrtc/5yuZjV7lkNc/fFlDhcGvpV0J)%5D(https://groups.google.com/forum/%23!searchin/discuss-webrtc/ssrc%7Csort:date/discuss-webrtc/5yuZjV7lkNc/fFlDhcGvpV0J%5D(https://groups.google.com/forum/%23!searchin/discuss-webrtc/ssrc%7Csort:date/discuss-webrtc/5yuZjV7lkNc/fFlDhcGvpV0J))))for%5D(https://groups.google.com/forum/%23!searchin/discuss-webrtc/ssrc|sort:date/discuss-webrtc/5yuZjV7lkNc/fFlDhcGvpV0J](https://groups.google.com/forum/%23!searchin/discuss-webrtc/ssrc|sort:date/discuss-webrtc/5yuZjV7lkNc/fFlDhcGvpV0J)](https://groups.google.com/forum/%23!searchin/discuss-webrtc/ssrc|sort:date/discuss-webrtc/5yuZjV7lkNc/fFlDhcGvpV0J](https://groups.google.com/forum/%23!searchin/discuss-webrtc/ssrc|sort:date/discuss-webrtc/5yuZjV7lkNc/fFlDhcGvpV0J))))for)) some discussion.

That’s interesting. Maybe we should assume RTCP packets with SSRC 1 are video, until they stop doing this.Boris

_______________________________________________dev mailing list [[[[dev@jitsi.org](mailto:dev@jitsi.org)](mailto:[dev@jitsi.org](mailto:dev@jitsi.org))](mailto:[[dev@jitsi.org](mailto:dev@jitsi.org)](mailto:[dev@jitsi.org](mailto:dev@jitsi.org)))](mailto:[[[dev@jitsi.org](mailto:dev@jitsi.org)](mailto:[dev@jitsi.org](mailto:dev@jitsi.org))](mailto:[[dev@jitsi.org](mailto:dev@jitsi.org)](mailto:[dev@jitsi.org](mailto:dev@jitsi.org))))
Unsubscribe instructions and other list options:

[[[[[http://lists.jitsi.org/mailman/listinfo/dev](http://lists.jitsi.org/mailman/listinfo/dev](http://lists.jitsi.org/mailman/listinfo/dev))](http://lists.jitsi.org/mailman/listinfo/dev](http://lists.jitsi.org/mailman/listinfo/dev)](http://lists.jitsi.org/mailman/listinfo/dev](http://lists.jitsi.org/mailman/listinfo/dev)))](http://lists.jitsi.org/mailman/listinfo/dev](http://lists.jitsi.org/mailman/listinfo/dev)](http://lists.jitsi.org/mailman/listinfo/dev](http://lists.jitsi.org/mailman/listinfo/dev))%5D(http://lists.jitsi.org/mailman/listinfo/dev](http://lists.jitsi.org/mailman/listinfo/dev)](http://lists.jitsi.org/mailman/listinfo/dev](http://lists.jitsi.org/mailman/listinfo/dev))))](http://lists.jitsi.org/mailman/listinfo/dev](http://lists.jitsi.org/mailman/listinfo/dev)](http://lists.jitsi.org/mailman/listinfo/dev](http://lists.jitsi.org/mailman/listinfo/dev))%5D(http://lists.jitsi.org/mailman/lis](http://lists.jitsi.org/mailman/listinfo/dev](http://lists.jitsi.org/mailman/listinfo/dev)](http://lists.jitsi.org/mailman/listinfo/dev](http://lists.jitsi.org/mailman/listinfo/dev))%5D(http://lists.jitsi.org/mailman/listinfo/dev](http://lists.jitsi.org/mailman/listinfo/dev)](http://lists.jitsi.org/mailman/listinfo/dev](http://lists.jitsi.org/mailman/listinfo/dev)))%5D(http://lists.jitsi.org/mailman/listinfo/dev](http://lists.jitsi.org/mailman/listinfo/dev)](http://lists.jitsi.org/mailman/listinfo/dev](http://lists.jitsi.org/mailman/listinfo/dev))%5D(http://lists.jitsi.org/mailman/listinfo/dev](http://lists.jitsi.org/mailman/listinfo/dev)](http://lists.jitsi.org/mailman/listinfo/dev](http://lists.jitsi.org/mailman/listinfo/dev))))%5D(http://lists.jitsi.org/mailman/listinfo/dev](http://lists.jitsi.org/mailman/listinfo/dev)](http://lists.jitsi.org/mailman/listinfo/dev](http://lists.jitsi.org/mailman/listinfo/dev))%5D(http://lists.jitsi.org/mailman/lis)

tinfo/dev%5D(http://lists.jitsi.org/mailman/listinfo/dev)%5D(http://lists.jitsi.org/mailman/listinfo/dev%5D(http://lists.jitsi.org/mailman/listinfo/dev)))%5D(http://lists.jitsi.org/mailman/listinfo/dev%5D(http://lists.jitsi.org/mailman/listinfo/dev)%5D(http://lists.jitsi.org/mailman/listinfo/dev%5D(http://lists.jitsi.org/mailman/listinfo/dev))%5D(http://lists.jitsi.org/mailman/listinfo/dev%5D(http://lists.jitsi.org/mailman/listinfo/dev)%5D(http://lists.jitsi.org/mailman/listinfo/dev%5D(http://lists.jitsi.org/mailman/listinfo/dev)))%5D(http://lists.jitsi.org/mailman/listinfo/dev](http://lists.jitsi.org/mailman/listinfo/dev)))%5D(http://lists.jitsi.org/mailman/listinfo/dev](http://lists.jitsi.org/mailman/listinfo/dev)](http://lists.jitsi.org/mailman/listinfo/dev](http://lists.jitsi.org/mailman/listinfo/dev))%5D(http://lists.jitsi.org/mailman/listinfo/dev](http://lists.jitsi.org/mailman/listinfo/dev)](http://lists.jitsi.org/mailman/listinfo/dev](http://lists.jitsi.org/mailman/listinfo/dev))))))
dev mailing list

[[[dev@jitsi.org](mailto:dev@jitsi.org)](mailto:[dev@jitsi.org](mailto:dev@jitsi.org))](mailto:[[dev@jitsi.org](mailto:dev@jitsi.org)](mailto:[dev@jitsi.org](mailto:dev@jitsi.org)))

Unsubscribe instructions and other list options:

[[[[http://lists.jitsi.org/mailman/listinfo/dev](http://lists.jitsi.org/mailman/listinfo/dev](http://lists.jitsi.org/mailman/listinfo/dev))](http://lists.jitsi.org/mailman/listinfo/dev](http://lists.jitsi.org/mailman/listinfo/dev)](http://lists.jitsi.org/mailman/listinfo/dev](http://lists.jitsi.org/mailman/listinfo/dev)))](http://lists.jitsi.org/mailman/listinfo/dev](http://lists.jitsi.org/mailman/listinfo/dev)](http://lists.jitsi.org/mailman/listinfo/dev](http://lists.jitsi.org/mailman/listinfo/dev))%5D(http://lists.jitsi.org/mailman/listinfo/dev](http://lists.jitsi.org/mailman/listinfo/dev)](http://lists.jitsi.org/mailman/listinfo/dev](http://lists.jitsi.org/mailman/listinfo/dev))))](http://lists.jitsi.org/mailman/listinfo/dev](http://lists.jitsi.org/mailman/listinfo/dev)](http://lists.jitsi.org/mailman/listinfo/dev](http://lists.jitsi.org/mailman/listinfo/dev))%5D(http://lists.jitsi.org/mailman/listinfo/dev](http://lists.jitsi.org/mailman/listinfo/dev)](http://lists.jitsi.org/mailman/listinfo/dev](http://lists.jitsi.org/mailman/listinfo/dev)))%5D(http://lists.jitsi.org/mailman/listinfo/dev](http://lists.jitsi.org/mailman/listinfo/dev)](http://lists.jitsi.org/mailman/listinfo/dev](http://lists.jitsi.org/mailman/listinfo/dev))%5D(http://lists.jitsi.org/mailman/listinfo/dev](http://lists.jitsi.org/mailman/listinfo/dev)](http://lists.jitsi.org/mailman/listinfo/dev](http://lists.jitsi.org/mailman/listinfo/dev)))))
Unsubscribe instructions and other list options:

[[[[http://lists.jitsi.org/mailman/listinfo/dev](http://lists.jitsi.org/mailman/listinfo/dev](http://lists.jitsi.org/mailman/listinfo/dev))](http://lists.jitsi.org/mailman/listinfo/dev](http://lists.jitsi.org/mailman/listinfo/dev)](http://lists.jitsi.org/mailman/listinfo/dev](http://lists.jitsi.org/mailman/listinfo/dev)))](http://lists.jitsi.org/mailman/listinfo/dev](http://lists.jitsi.org/mailman/listinfo/dev)](http://lists.jitsi.org/mailman/listinfo/dev](http://lists.jitsi.org/mailman/listinfo/dev))%5D(http://lists.jitsi.org/mailman/listinfo/dev](http://lists.jitsi.org/mailman/listinfo/dev)](http://lists.jitsi.org/mailman/listinfo/dev](http://lists.jitsi.org/mailman/listinfo/dev))))](http://lists.jitsi.org/mailman/listinfo/dev](http://lists.jitsi.org/mailman/listinfo/dev)](http://lists.jitsi.org/mailman/listinfo/dev](http://lists.jitsi.org/mailman/listinfo/dev))%5D(http://lists.jitsi.org/mailman/listinfo/dev](http://lists.jitsi.org/mailman/listinfo/dev)](http://lists.jitsi.org/mailman/listinfo/dev](http://lists.jitsi.org/mailman/listinfo/dev)))%5D(http://lists.jitsi.org/mailman/listinfo/dev](http://lists.jitsi.org/mailman/listinfo/dev)](http://lists.jitsi.org/mailman/listinfo/dev](http://lists.jitsi.org/mailman/listinfo/dev))%5D(http://lists.jitsi.org/mailman/listinfo/dev](http://lists.jitsi.org/mailman/listinfo/dev)](http://lists.jitsi.org/mailman/listinfo/dev](http://lists.jitsi.org/mailman/listinfo/dev)))))


dev mailing list

[[dev@jitsi.org](mailto:dev@jitsi.org)](mailto:[dev@jitsi.org](mailto:dev@jitsi.org))

Unsubscribe instructions and other list options:

[[[http://lists.jitsi.org/mailman/listinfo/dev](http://lists.jitsi.org/mailman/listinfo/dev](http://lists.jitsi.org/mailman/listinfo/dev))](http://lists.jitsi.org/mailman/listinfo/dev](http://lists.jitsi.org/mailman/listinfo/dev)](http://lists.jitsi.org/mailman/listinfo/dev](http://lists.jitsi.org/mailman/listinfo/dev)))](http://lists.jitsi.org/mailman/listinfo/dev](http://lists.jitsi.org/mailman/listinfo/dev)](http://lists.jitsi.org/mailman/listinfo/dev](http://lists.jitsi.org/mailman/listinfo/dev))%5D(http://lists.jitsi.org/mailman/listinfo/dev](http://lists.jitsi.org/mailman/listinfo/dev)](http://lists.jitsi.org/mailman/listinfo/dev](http://lists.jitsi.org/mailman/listinfo/dev))))
[[dev@jitsi.org](mailto:dev@jitsi.org)](mailto:[dev@jitsi.org](mailto:dev@jitsi.org))

Unsubscribe instructions and other list options:

[[[http://lists.jitsi.org/mailman/listinfo/dev](http://lists.jitsi.org/mailman/listinfo/dev](http://lists.jitsi.org/mailman/listinfo/dev))](http://lists.jitsi.org/mailman/listinfo/dev](http://lists.jitsi.org/mailman/listinfo/dev)](http://lists.jitsi.org/mailman/listinfo/dev](http://lists.jitsi.org/mailman/listinfo/dev)))](http://lists.jitsi.org/mailman/listinfo/dev](http://lists.jitsi.org/mailman/listinfo/dev)](http://lists.jitsi.org/mailman/listinfo/dev](http://lists.jitsi.org/mailman/listinfo/dev))%5D(http://lists.jitsi.org/mailman/listinfo/dev](http://lists.jitsi.org/mailman/listinfo/dev)](http://lists.jitsi.org/mailman/listinfo/dev](http://lists.jitsi.org/mailman/listinfo/dev))))


dev mailing list

[dev@jitsi.org](mailto:dev@jitsi.org)

Unsubscribe instructions and other list options:

[[http://lists.jitsi.org/mailman/listinfo/dev](http://lists.jitsi.org/mailman/listinfo/dev](http://lists.jitsi.org/mailman/listinfo/dev))](http://lists.jitsi.org/mailman/listinfo/dev](http://lists.jitsi.org/mailman/listinfo/dev)](http://lists.jitsi.org/mailman/listinfo/dev](http://lists.jitsi.org/mailman/listinfo/dev)))
dev mailing list

[dev@jitsi.org](mailto:dev@jitsi.org)

Unsubscribe instructions and other list options:

[[http://lists.jitsi.org/mailman/listinfo/dev](http://lists.jitsi.org/mailman/listinfo/dev](http://lists.jitsi.org/mailman/listinfo/dev))](http://lists.jitsi.org/mailman/listinfo/dev](http://lists.jitsi.org/mailman/listinfo/dev)](http://lists.jitsi.org/mailman/listinfo/dev](http://lists.jitsi.org/mailman/listinfo/dev)))


dev mailing list

dev@jitsi.org

Unsubscribe instructions and other list options:

[http://lists.jitsi.org/mailman/listinfo/dev](http://lists.jitsi.org/mailman/listinfo/dev](http://lists.jitsi.org/mailman/listinfo/dev))
dev mailing list

dev@jitsi.org

Unsubscribe instructions and other list options:

[http://lists.jitsi.org/mailman/listinfo/dev](http://lists.jitsi.org/mailman/listinfo/dev](http://lists.jitsi.org/mailman/listinfo/dev))


#2

Hi,

···

On 20/05/15 02:52, dr.andreas.rice@gmx.net wrote:

You suggested to mungle the SDP and set an SSRC (just generate one) for
the recvonly channel.
But it seems our SSRC will never get included in RtpChannel.receiveSSRCs.
So RtpChannelDatagramFilter.java #127 will check if packetSenderSSRC
  matches a channelSSRC, otherwise the packet will be dropped.
So it seems mungle SDP is right now not a solution for recvonly streams?
int[] channelSSRCs = channel.getReceiveSSRCs();
             for (int channelSSRC : channelSSRCs)
             {
                 if (channelSSRC == packetSenderSSRC)
                     return true;

SSRCs can also be added to a channel via signalling (COLIBRI):
https://github.com/jitsi/jitsi-videobridge/blob/master/src/org/jitsi/videobridge/RtpChannel.java#L1641

As long as you advertise your generated SSRC in the Jingle answer, jicofo should take care of adding it to the bridge.

Regards,
Boris


#3

I think expressed (or tried to express..) the opposite, i.e. the generated SSRC gets included in the receiveSSRCs array. Maybe I should clarify what my previous email:

hmm we probably don't include it there.

"There" is referring to the JSON description of the conference.

It's stored in the RtpChannel.receiveSSRCs array and that's not used to "describe" the channel.

By "describe" the channel I mean serialise it in an XMPP stanza or JSON document. The receiveSSRCs array is not used to describe the channel but it is correctly populated.

Does this make more sense?

Best regards,
George

···

On 20 May 2015, at 1:52, dr.andreas.rice@gmx.net wrote:

You suggested to mungle the SDP and set an SSRC (just generate one) for the recvonly channel.
But it seems our SSRC will never get included in RtpChannel.receiveSSRCs.
So RtpChannelDatagramFilter.java #127 will check if packetSenderSSRC matches a channelSSRC, otherwise the packet will be dropped.

So it seems mungle SDP is right now not a solution for recvonly streams?

int[] channelSSRCs = channel.getReceiveSSRCs();
for (int channelSSRC : channelSSRCs)
{
if (channelSSRC == packetSenderSSRC)
return true;
}

2015-05-19 16:56 GMT+02:00 George Politis <[gp@jitsi.org](mailto:gp@jitsi.org)>: On 19 May 2015, at 16:32, [dr.andreas.rice@gmx.net](mailto:dr.andreas.rice@gmx.net) wrote:

That means the RTCP packet will not get accepted.

hmm I don't understand this. Which RTCP packet and why will it be dropped?
Does it make sense to add the SSRC to the RtpChannel.receiveSSRCs array in case when we get an RR with unknown SSRC?

No, I'm afraid not, because when we do bundle we don't know if an RR with an unknown SSRC that is received from a recvonly channel is for audio or for video. If it's received from a sendrecv channel, then the situation is completely different because the bridge automatically populates the RtpChannel.receiveSSRCs structure when it receives media.

2015-05-19 14:46 GMT+02:00 George Politis <[[gp@jitsi.org](mailto:gp@jitsi.org)](mailto:[gp@jitsi.org](mailto:gp@jitsi.org))>: hmm we probably don't include it there. It's stored in the RtpChannel.receiveSSRCs array and that's not used to "describe" the channel.

On 19 May 2015, at >>>> 12:26, [[dr.andreas.rice@gmx.net](mailto:dr.andreas.rice@gmx.net)](mailto:[dr.andreas.rice@gmx.net](mailto:dr.andreas.rice@gmx.net)) wrote:
Okay that make sense. Thank you. Is the generated SSRC for the recvonly channel supposed to show up on the bridge when doing a GET /colibri/conferencesXXX ?

Because I can't see it, I see only ssrc where actually data is flowing.

{
"channels": [
{
"channel-bundle-id": "551c48b049297113e2f8a184",
"sources": [
3408283600
],
"rtp-level-relay-type": "translator",
"expire": 60,
"initiator": true,
"ssrcs": [
2934823582
],
"id": "f06af2be4d6d5a3",
"direction": "sendrecv"
},
{
"channel-bundle-id": "551db593ab779dea3361b38c",
"sources": [
3408283600
],
"rtp-level-relay-type": "translator",
"expire": 60,
"initiator": true,
"id": "9d219925fe0614d7",
"direction": "sendrecv"
}
],
"name": "video"
}

2015-05-19 11:55 GMT+02:00 George Politis <[[[gp@jitsi.org](mailto:gp@jitsi.org)](mailto:[gp@jitsi.org](mailto:gp@jitsi.org))](mailto:[[gp@jitsi.org](mailto:gp@jitsi.org)](mailto:[gp@jitsi.org](mailto:gp@jitsi.org)))>: On 19 May 2015, at 11:49, [[[dr.andreas.rice@gmx.net](mailto:dr.andreas.rice@gmx.net)](mailto:[dr.andreas.rice@gmx.net](mailto:dr.andreas.rice@gmx.net))](mailto:[[dr.andreas.rice@gmx.net](mailto:dr.andreas.rice@gmx.net)](mailto:[dr.andreas.rice@gmx.net](mailto:dr.andreas.rice@gmx.net))) wrote: So I generate SSRC for the recvonly channel. Do the rest of the peers need to SRD for this SSRC as well?

Yes. I thought the bridge has the "mixed" stream to send RTCP packets if it needs to.

It does, but if you have a recvonly channel in Chrome and it asks for a PLI (i.e. the [[[webrtc.org](http://webrtc.org/)]([http://webrtc.org/)]([http://webrtc.org/](http://webrtc.org/)](http://webrtc.org/)%5D(%5Bhttp://webrtc.org/%5D(http://webrtc.org/))) engine asks for a PLI), then the bridge and the remote end has to know the recvonly channel SSRC in order to relay and process the PLI. 2015-05-18 17:23 GMT+02:00 George Politis <[[[[gp@jitsi.org](mailto:gp@jitsi.org)](mailto:[gp@jitsi.org](mailto:gp@jitsi.org))](mailto:[[gp@jitsi.org](mailto:gp@jitsi.org)](mailto:[gp@jitsi.org](mailto:gp@jitsi.org)))](mailto:[[[gp@jitsi.org](mailto:gp@jitsi.org)](mailto:[gp@jitsi.org](mailto:gp@jitsi.org))](mailto:[[gp@jitsi.org](mailto:gp@jitsi.org)](mailto:[gp@jitsi.org](mailto:gp@jitsi.org))))>: You don't have to make the channel sendrecv, you can leave it recvonly. But you must signal the recvonly SSRC to jicofo so that it notifies the rest of the peers appropriately. On 18 May 2015, at 17:10, PhiL wrote: I tried to mungle the SDP (e.g. sdp.replace(/(recvonly)/, "sendrecv"); + added ssrcs). That doesn't seem to help, but I will do more investigations.Also I didn't see any PLIs sent with Chrome Stable, just with Canary so far.

2015-05-18 16:38 GMT+02:00 George Politis <[[[[[gp@jitsi.org](mailto:gp@jitsi.org)](mailto:[gp@jitsi.org](mailto:gp@jitsi.org))](mailto:[[gp@jitsi.org](mailto:gp@jitsi.org)](mailto:[gp@jitsi.org](mailto:gp@jitsi.org)))](mailto:[[[gp@jitsi.org](mailto:gp@jitsi.org)](mailto:[gp@jitsi.org](mailto:gp@jitsi.org))](mailto:[[gp@jitsi.org](mailto:gp@jitsi.org)](mailto:[gp@jitsi.org](mailto:gp@jitsi.org))))](mailto:[[[[gp@jitsi.org](mailto:gp@jitsi.org)](mailto:[gp@jitsi.org](mailto:gp@jitsi.org))](mailto:[[gp@jitsi.org](mailto:gp@jitsi.org)](mailto:[gp@jitsi.org](mailto:gp@jitsi.org)))](mailto:[[[gp@jitsi.org](mailto:gp@jitsi.org)](mailto:[gp@jitsi.org](mailto:gp@jitsi.org))](mailto:[[gp@jitsi.org](mailto:gp@jitsi.org)](mailto:[gp@jitsi.org](mailto:gp@jitsi.org)))))>: You can try to mungle the SDP and set an SSRC (just generate one) for the recvonly channel. This should force the remote side and the bridge to understand RTCP packets and route them appropriately. On 18 May 2015, at 16:20, [[[[[dr.andreas.rice@gmx.net](mailto:dr.andreas.rice@gmx.net)](mailto:[dr.andreas.rice@gmx.net](mailto:dr.andreas.rice@gmx.net))](mailto:[[dr.andreas.rice@gmx.net](mailto:dr.andreas.rice@gmx.net)](mailto:[dr.andreas.rice@gmx.net](mailto:dr.andreas.rice@gmx.net)))](mailto:[[[dr.andreas.rice@gmx.net](mailto:dr.andreas.rice@gmx.net)](mailto:[dr.andreas.rice@gmx.net](mailto:dr.andreas.rice@gmx.net))](mailto:[[dr.andreas.rice@gmx.net](mailto:dr.andreas.rice@gmx.net)](mailto:[dr.andreas.rice@gmx.net](mailto:dr.andreas.rice@gmx.net))))](mailto:[[[[dr.andreas.rice@gmx.net](mailto:dr.andreas.rice@gmx.net)](mailto:[dr.andreas.rice@gmx.net](mailto:dr.andreas.rice@gmx.net))](mailto:[[dr.andreas.rice@gmx.net](mailto:dr.andreas.rice@gmx.net)](mailto:[dr.andreas.rice@gmx.net](mailto:dr.andreas.rice@gmx.net)))](mailto:[[[dr.andreas.rice@gmx.net](mailto:dr.andreas.rice@gmx.net)](mailto:[dr.andreas.rice@gmx.net](mailto:dr.andreas.rice@gmx.net))](mailto:[[dr.andreas.rice@gmx.net](mail
to:dr.andreas.rice@gmx.net)](mailto:[dr.andreas.rice@gmx.net](mailto:dr.andreas.rice@gmx.net))))) wrote: So currently in recvonly streams the receiver has to wait till a keyframe is sent (every 3000 frames)?What can we do to ask for a keyframe earlier with a recvonly streams? Also askForKeyframes() rtcpFeedbackMessageSender.sendFIR(stream, receiveSSRCs) , RtpChannel.java #551 doesn't seem to have any effect on chrome:

googFirsReceived
0
googPlisReceived
0
googNacksReceived
0

2015-05-15 7:18 GMT+02:00 Boris Grozev <[[[[[[boris@jitsi.org](mailto:boris@jitsi.org)](mailto:[boris@jitsi.org](mailto:boris@jitsi.org))](mailto:[[boris@jitsi.org](mailto:boris@jitsi.org)](mailto:[boris@jitsi.org](mailto:boris@jitsi.org)))](mailto:[[[boris@jitsi.org](mailto:boris@jitsi.org)](mailto:[boris@jitsi.org](mailto:boris@jitsi.org))](mailto:[[boris@jitsi.org](mailto:boris@jitsi.org)](mailto:[boris@jitsi.org](mailto:boris@jitsi.org))))](mailto:[[[[boris@jitsi.org](mailto:boris@jitsi.org)](mailto:[boris@jitsi.org](mailto:boris@jitsi.org))](mailto:[[boris@jitsi.org](mailto:boris@jitsi.org)](mailto:[boris@jitsi.org](mailto:boris@jitsi.org)))](mailto:[[[boris@jitsi.org](mailto:boris@jitsi.org)](mailto:[boris@jitsi.org](mailto:boris@jitsi.org))](mailto:[[boris@jitsi.org](mailto:boris@jitsi.org)](mailto:[boris@jitsi.org](mailto:boris@jitsi.org)))))](mailto:[[[[[boris@jitsi.org](mailto:boris@jitsi.org)](mailto:[boris@jitsi.org](mailto:boris@jitsi.org))](mailto:[[boris@jitsi.org](mailto:boris@jitsi.org
)](mailto:[boris@jitsi.org](mailto:boris@jitsi.org)))](mailto:[[[boris@jitsi.org](mailto:boris@jitsi.org)](mailto:[boris@jitsi.org](mailto:boris@jitsi.org))](mailto:[[boris@jitsi.org](mailto:boris@jitsi.org)](mailto:[boris@jitsi.org](mailto:boris@jitsi.org))))](mailto:[[[[boris@jitsi.org](mailto:boris@jitsi.org)](mailto:[boris@jitsi.org](mailto:boris@jitsi.org))](mailto:[[boris@jitsi.org](mailto:boris@jitsi.org)](mailto:[boris@jitsi.org](mailto:boris@jitsi.org)))](mailto:[[[boris@jitsi.org](mailto:boris@jitsi.org)](mailto:[boris@jitsi.org](mailto:boris@jitsi.org))](mailto:[[boris@jitsi.org](mailto:boris@jitsi.org)](mailto:[boris@jitsi.org](mailto:boris@jitsi.org))))))>: On 15/05/15 04:05, Philipp Hancke wrote:Am 14.05.2015 um 18:00 schrieb Brian Baldino:I'm still digging further, but it looks like this is happening due to Chrome using an SSRC of "1" in its PLI messages, so they get filtered out and ignored by the RtpChannelDatagramFilter (due to not matching any ssrcs of the channel). Surprised that this isn't affecting jitsi meet at all, though. Does it do something to not rely on PLI?

It only does that on recvonly streams IIRC. See[[[[[[https://groups.google.com/forum/#!searchin/discuss-webrtc/ssrc|sort:date/discuss-webrtc/5yuZjV7lkNc/fFlDhcGvpV0J](https://groups.google.com/forum/#!searchin/discuss-webrtc/ssrc|sort:date/discuss-webrtc/5yuZjV7lkNc/fFlDhcGvpV0J)](https://groups.google.com/forum/#!searchin/discuss-webrtc/ssrc|sort:date/discuss-webrtc/5yuZjV7lkNc/fFlDhcGvpV0J](https://groups.google.com/forum/%23!searchin/discuss-webrtc/ssrc|sort:date/discuss-webrtc/5yuZjV7lkNc/fFlDhcGvpV0J))](https://groups.google.com/forum/#!searchin/discuss-webrtc/ssrc|sort:date/discuss-webrtc/5yuZjV7lkNc/fFlDhcGvpV0J](https://groups.google.com/forum/%23!searchin/discuss-webrtc/ssrc|sort:date/discuss-webrtc/5yuZjV7lkNc/fFlDhcGvpV0J)](https://groups.google.com/forum/%23!searchin/discuss-webrtc/ssrc|sort:date/discuss-webrtc/5yuZjV7lkNc/fFlDhcGvpV0J](https://groups.google.com/forum/%23!searchin/discuss-webrtc/ssrc|sort:date/discuss-webrtc/5yuZjV7lkNc/fFlDhcGvpV0J)))](https://groups.google.com/forum/#!searchin/d
i](https://groups.google.com/forum/#!searchin/discuss-webrtc/ssrc|sort:date/discuss-webrtc/5yuZjV7lkNc/fFlDhcGvpV0J](https://groups.google.com/forum/%23!searchin/discuss-webrtc/ssrc|sort:date/discuss-webrtc/5yuZjV7lkNc/fFlDhcGvpV0J)](https://groups.google.com/forum/%23!searchin/discuss-webrtc/ssrc|sort:date/discuss-webrtc/5yuZjV7lkNc/fFlDhcGvpV0J](https://groups.google.com/forum/%23!searchin/discuss-webrtc/ssrc|sort:date/discuss-webrtc/5yuZjV7lkNc/fFlDhcGvpV0J))](https://groups.google.com/forum/%23!searchin/discuss-webrtc/ssrc|sort:date/discuss-webrtc/5yuZjV7lkNc/fFlDhcGvpV0J](https://groups.google.com/forum/%23!searchin/discuss-webrtc/ssrc|sort:date/discuss-webrtc/5yuZjV7lkNc/fFlDhcGvpV0J)](https://groups.google.com/forum/%23!searchin/discuss-webrtc/ssrc|sort:date/discuss-webrtc/5yuZjV7lkNc/fFlDhcGvpV0J](https://groups.google.com/forum/%23!searchin/discuss-webrtc/ssrc|sort:date/discuss-webrtc/5yuZjV7lkNc/fFlDhcGvpV0J)))](https://groups.google.com/forum/%23!searchin
/di)

s]([https://groups.google.com/forum/#!searchin/discuss-webrtc/ssrc|sort:date/discuss-webrtc/5yuZjV7lkNc/fFlDhcGvpV0J](https://groups.google.com/forum/%23!searchin/discuss-webrtc/ssrc|sort:date/discuss-webrtc/5yuZjV7lkNc/fFlDhcGvpV0J)](https://groups.google.com/forum/%23!searchin/discuss-webrtc/ssrc|sort:date/discuss-webrtc/5yuZjV7lkNc/fFlDhcGvpV0J](https://groups.google.com/forum/%23!searchin/discuss-webrtc/ssrc|sort:date/discuss-webrtc/5yuZjV7lkNc/fFlDhcGvpV0J))](https://groups.google.com/forum/%23!searchin/discuss-webrtc/ssrc|sort:date/discuss-webrtc/5yuZjV7lkNc/fFlDhcGvpV0J](https://groups.google.com/forum/%23!searchin/discuss-webrtc/ssrc|sort:date/discuss-webrtc/5yuZjV7lkNc/fFlDhcGvpV0J)](https://groups.google.com/forum/%23!searchin/discuss-webrtc/ssrc|sort:date/discuss-webrtc/5yuZjV7lkNc/fFlDhcGvpV0J](https://groups.google.com/forum/%23!searchin/discuss-webrtc/ssrc|sort:date/discuss-webrtc/5yuZjV7lkNc/fFlDhcGvpV0J)))](https://groups.google.com/forum/%23!searc
hin](https://groups.google.com/forum/#!searchin/discuss-webrtc/ssrc|sort:date/discuss-webrtc/5yuZjV7lkNc/fFlDhcGvpV0J](https://groups.google.com/forum/%23!searchin/discuss-webrtc/ssrc|sort:date/discuss-webrtc/5yuZjV7lkNc/fFlDhcGvpV0J)](https://groups.google.com/forum/%23!searchin/discuss-webrtc/ssrc|sort:date/discuss-webrtc/5yuZjV7lkNc/fFlDhcGvpV0J](https://groups.google.com/forum/%23!searchin/discuss-webrtc/ssrc|sort:date/discuss-webrtc/5yuZjV7lkNc/fFlDhcGvpV0J))](https://groups.google.com/forum/%23!searchin/discuss-webrtc/ssrc|sort:date/discuss-webrtc/5yuZjV7lkNc/fFlDhcGvpV0J](https://groups.google.com/forum/%23!searchin/discuss-webrtc/ssrc|sort:date/discuss-webrtc/5yuZjV7lkNc/fFlDhcGvpV0J)](https://groups.google.com/forum/%23!searchin/discuss-webrtc/ssrc|sort:date/discuss-webrtc/5yuZjV7lkNc/fFlDhcGvpV0J](https://groups.google.com/forum/%23!searchin/discuss-webrtc/ssrc|sort:date/discuss-webrtc/5yuZjV7lkNc/fFlDhcGvpV0J)))](https://groups.google.com/forum/%23!sear
chin)
/dis) cuss-webrtc/ssrc%7Csort:date/discuss-webrtc/5yuZjV7lkNc/fFlDhcGvpV0J]([[https://groups.google.com/forum/%23!searchin/discuss-webrtc/ssrc|sort:date/discuss-webrtc/5yuZjV7lkNc/fFlDhcGvpV0J)](https://groups.google.com/forum/%23!searchin/discuss-webrtc/ssrc|sort:date/discuss-webrtc/5yuZjV7lkNc/fFlDhcGvpV0J](https://groups.google.com/forum/%23!searchin/discuss-webrtc/ssrc|sort:date/discuss-webrtc/5yuZjV7lkNc/fFlDhcGvpV0J))](https://groups.google.com/forum/%23!searchin/discuss-webrtc/ssrc|sort:date/discuss-webrtc/5yuZjV7lkNc/fFlDhcGvpV0J](https://groups.google.com/forum/%23!searchin/discuss-webrtc/ssrc|sort:date/discuss-webrtc/5yuZjV7lkNc/fFlDhcGvpV0J)](https://groups.google.com/forum/%23!searchin/discuss-webrtc/ssrc|sort:date/discuss-webrtc/5yuZjV7lkNc/fFlDhcGvpV0J](https://groups.google.com/forum/%23!searchin/discuss-webrtc/ssrc|sort:date/discuss-webrtc/5yuZjV7lkNc/fFlDhcGvpV0J))))for](https://groups.google.com/forum/%23!searchin/discuss-webrtc/ssrc|sort:date/discuss-
w](https://groups.google.com/forum/%23!searchin/discuss-webrtc/ssrc|sort:date/discuss-webrtc/5yuZjV7lkNc/fFlDhcGvpV0J)%5D(https://groups.google.com/forum/%23!searchin/discuss-webrtc/ssrc|sort:date/discuss-webrtc/5yuZjV7lkNc/fFlDhcGvpV0J](https://groups.google.com/forum/%23!searchin/discuss-webrtc/ssrc|sort:date/discuss-webrtc/5yuZjV7lkNc/fFlDhcGvpV0J))%5D(https://groups.google.com/forum/%23!searchin/discuss-webrtc/ssrc|sort:date/discuss-webrtc/5yuZjV7lkNc/fFlDhcGvpV0J](https://groups.google.com/forum/%23!searchin/discuss-webrtc/ssrc|sort:date/discuss-webrtc/5yuZjV7lkNc/fFlDhcGvpV0J)](https://groups.google.com/forum/%23!searchin/discuss-webrtc/ssrc|sort:date/discuss-webrtc/5yuZjV7lkNc/fFlDhcGvpV0J](https://groups.google.com/forum/%23!searchin/discuss-webrtc/ssrc|sort:date/discuss-webrtc/5yuZjV7lkNc/fFlDhcGvpV0J))))for%5D(https://groups.google.com/forum/%23!searchin/discuss-webrtc/ssrc|sort:date/discuss-w)

ebrtc/5yuZjV7lkNc/fFlDhcGvpV0J)%5D([https://groups.google.com/forum/%23!searchin/discuss-webrtc/ssrc|sort:date/discuss-webrtc/5yuZjV7lkNc/fFlDhcGvpV0J](https://groups.google.com/forum/%23!searchin/discuss-webrtc/ssrc|sort:date/discuss-webrtc/5yuZjV7lkNc/fFlDhcGvpV0J))%5D(https://groups.google.com/forum/%23!searchin/discuss-webrtc/ssrc|sort:date/discuss-webrtc/5yuZjV7lkNc/fFlDhcGvpV0J](https://groups.google.com/forum/%23!searchin/discuss-webrtc/ssrc|sort:date/discuss-webrtc/5yuZjV7lkNc/fFlDhcGvpV0J)](https://groups.google.com/forum/%23!searchin/discuss-webrtc/ssrc|sort:date/discuss-webrtc/5yuZjV7lkNc/fFlDhcGvpV0J](https://groups.google.com/forum/%23!searchin/discuss-webrtc/ssrc|sort:date/discuss-webrtc/5yuZjV7lkNc/fFlDhcGvpV0J))))for](https://groups.google.com/forum/%23!searchin/discuss-webrtc/ssrc|sort:date/discuss-webrtc/5yuZjV7lkNc/fFlDhcGvpV0J](https://groups.google.com/forum/%23!searchin/discuss-webrtc/ssrc|sort:date/discuss-webrtc/5yuZjV7lkNc/fFlD
hcGvpV0J))%5D(https://groups.google.com/forum/%23!searchin/discuss-webrtc/ssrc|sort:date/discuss-webrtc/5yuZjV7lkNc/fFlDhcGvpV0J](https://groups.google.com/forum/%23!searchin/discuss-webrtc/ssrc|sort:date/discuss-webrtc/5yuZjV7lkNc/fFlDhcGvpV0J)](https://groups.google.com/forum/%23!searchin/discuss-webrtc/ssrc|sort:date/discuss-webrtc/5yuZjV7lkNc/fFlDhcGvpV0J](https://groups.google.com/forum/%23!searchin/discuss-webrtc/ssrc|sort:date/discuss-webrtc/5yuZjV7lkNc/fFlDhcGvpV0J))))for)) some discussion.
That's interesting. Maybe we should assume RTCP packets with SSRC 1 are video, until they stop doing this.Boris
_______________________________________________dev mailing list [[[[[[dev@jitsi.org](mailto:dev@jitsi.org)](mailto:[dev@jitsi.org](mailto:dev@jitsi.org))](mailto:[[dev@jitsi.org](mailto:dev@jitsi.org)](mailto:[dev@jitsi.org](mailto:dev@jitsi.org)))](mailto:[[[dev@jitsi.org](mailto:dev@jitsi.org)](mailto:[dev@jitsi.org](mailto:dev@jitsi.org))](mailto:[[dev@jitsi.org](mailto:dev@jitsi.org)](mailto:[dev@jitsi.org](mailto:dev@jitsi.org))))](mailto:[[[[dev@jitsi.org](mailto:dev@jitsi.org)](mailto:[dev@jitsi.org](mailto:dev@jitsi.org))](mailto:[[dev@jitsi.org](mailto:dev@jitsi.org)](mailto:[dev@jitsi.org](mailto:dev@jitsi.org)))](mailto:[[[dev@jitsi.org](mailto:dev@jitsi.org)](mailto:[dev@jitsi.org](mailto:dev@jitsi.org))](mailto:[[dev@jitsi.org](mailto:dev@jitsi.org)](mailto:[dev@jitsi.org](mailto:dev@jitsi.org)))))](mailto:[[[[[dev@jitsi.org](mailto:dev@jitsi.org)](mailto:[dev@jitsi.org](mailto:dev@jitsi.org))](mailto:[[dev@jitsi.org](mailto:dev@jitsi.org)](mailto:[dev@jitsi.org](mailto:dev@jitsi.org)))](mailto:[[[dev@jitsi.org](mailto:dev@jits
i.org)](mailto:[dev@jitsi.org](mailto:dev@jitsi.org))](mailto:[[dev@jitsi.org](mailto:dev@jitsi.org)](mailto:[dev@jitsi.org](mailto:dev@jitsi.org))))](mailto:[[[[dev@jitsi.org](mailto:dev@jitsi.org)](mailto:[dev@jitsi.org](mailto:dev@jitsi.org))](mailto:[[dev@jitsi.org](mailto:dev@jitsi.org)](mailto:[dev@jitsi.org](mailto:dev@jitsi.org)))](mailto:[[[dev@jitsi.org](mailto:dev@jitsi.org)](mailto:[dev@jitsi.org](mailto:dev@jitsi.org))](mailto:[[dev@jitsi.org](mailto:dev@jitsi.org)](mailto:[dev@jitsi.org](mailto:dev@jitsi.org)))))) Unsubscribe instructions and other list options:

[[[[[[http://lists.jitsi.org/mailman/listinfo/dev](http://lists.jitsi.org/mailman/listinfo/dev)](http://lists.jitsi.org/mailman/listinfo/dev](http://lists.jitsi.org/mailman/listinfo/dev))](http://lists.jitsi.org/mailman/listinfo/dev](http://lists.jitsi.org/mailman/listinfo/dev)](http://lists.jitsi.org/mailman/listinfo/dev](http://lists.jitsi.org/mailman/listinfo/dev)))](http://lists.jitsi.org/mailman/listinfo/dev](http://lists.jitsi.org/mailman/listinfo/dev)](http://lists.jitsi.org/mailman/listinfo/dev](http://lists.jitsi.org/mailman/listinfo/dev))%5D(http://lists.jitsi.org/mailman/listinfo/dev](http://lists.jitsi.org/mailman/listinfo/dev)](http://lists.jitsi.org/mailman/listinfo/dev](http://lists.jitsi.org/mailman/listinfo/dev))))](http://lists.jitsi.org/mailman/listinfo/dev](http://lists.jitsi.org/mailman/listinfo/dev)](http://lists.jitsi.org/mailman/listinfo/dev](http://lists.jitsi.org/mailman/listinfo/dev))%5D(http://lists.jitsi.org/mailman/
lis](http://lists.jitsi.org/mailman/listinfo/dev](http://lists.jitsi.org/mailman/listinfo/dev)](http://lists.jitsi.org/mailman/listinfo/dev](http://lists.jitsi.org/mailman/listinfo/dev))%5D(http://lists.jitsi.org/mailman/listinfo/dev](http://lists.jitsi.org/mailman/listinfo/dev)](http://lists.jitsi.org/mailman/listinfo/dev](http://lists.jitsi.org/mailman/listinfo/dev)))%5D(http://lists.jitsi.org/mailman/listinfo/dev](http://lists.jitsi.org/mailman/listinfo/dev)](http://lists.jitsi.org/mailman/listinfo/dev](http://lists.jitsi.org/mailman/listinfo/dev))%5D(http://lists.jitsi.org/mailman/listinfo/dev](http://lists.jitsi.org/mailman/listinfo/dev)](http://lists.jitsi.org/mailman/listinfo/dev](http://lists.jitsi.org/mailman/listinfo/dev))))%5D(http://lists.jitsi.org/mailman/listinfo/dev](http://lists.jitsi.org/mailman/listinfo/dev)](http://lists.jitsi.org/mailman/listinfo/dev](http://lists.jitsi.org/mailman/listinfo/dev))%5D(http://lists.jitsi.org
/mailman/lis)
tinfo/dev%5D([http://lists.jitsi.org/mailman/listinfo/dev)%5D(http://lists.jitsi.org/mailman/listinfo/dev](http://lists.jitsi.org/mailman/listinfo/dev)))%5D(http://lists.jitsi.org/mailman/listinfo/dev](http://lists.jitsi.org/mailman/listinfo/dev)](http://lists.jitsi.org/mailman/listinfo/dev](http://lists.jitsi.org/mailman/listinfo/dev))%5D(http://lists.jitsi.org/mailman/listinfo/dev](http://lists.jitsi.org/mailman/listinfo/dev)](http://lists.jitsi.org/mailman/listinfo/dev](http://lists.jitsi.org/mailman/listinfo/dev)))](http://lists.jitsi.org/mailman/listinfo/dev)%5D(http://lists.jitsi.org/mailman/listinfo/dev](http://lists.jitsi.org/mailman/listinfo/dev)))%5D(http://lists.jitsi.org/mailman/listinfo/dev](http://lists.jitsi.org/mailman/listinfo/dev)](http://lists.jitsi.org/mailman/listinfo/dev](http://lists.jitsi.org/mailman/listinfo/dev))%5D(http://lists.jitsi.org/mailman/listinfo/dev](http://lists.jitsi.org/mailman/listinfo/dev)](http://lists.j
itsi.org/mailman/listinfo/dev](http://lists.jitsi.org/mailman/listinfo/dev))))))

_______________________________________________dev mailing list

[[[[[dev@jitsi.org](mailto:dev@jitsi.org)](mailto:[dev@jitsi.org](mailto:dev@jitsi.org))](mailto:[[dev@jitsi.org](mailto:dev@jitsi.org)](mailto:[dev@jitsi.org](mailto:dev@jitsi.org)))](mailto:[[[dev@jitsi.org](mailto:dev@jitsi.org)](mailto:[dev@jitsi.org](mailto:dev@jitsi.org))](mailto:[[dev@jitsi.org](mailto:dev@jitsi.org)](mailto:[dev@jitsi.org](mailto:dev@jitsi.org))))](mailto:[[[[dev@jitsi.org](mailto:dev@jitsi.org)](mailto:[dev@jitsi.org](mailto:dev@jitsi.org))](mailto:[[dev@jitsi.org](mailto:dev@jitsi.org)](mailto:[dev@jitsi.org](mailto:dev@jitsi.org)))](mailto:[[[dev@jitsi.org](mailto:dev@jitsi.org)](mailto:[dev@jitsi.org](mailto:dev@jitsi.org))](mailto:[[dev@jitsi.org](mailto:dev@jitsi.org)](mailto:[dev@jitsi.org](mailto:dev@jitsi.org)))))
Unsubscribe instructions and other list options:
[[[[[http://lists.jitsi.org/mailman/listinfo/dev](http://lists.jitsi.org/mailman/listinfo/dev)](http://lists.jitsi.org/mailman/listinfo/dev](http://lists.jitsi.org/mailman/listinfo/dev))](http://lists.jitsi.org/mailman/listinfo/dev](http://lists.jitsi.org/mailman/listinfo/dev)](http://lists.jitsi.org/mailman/listinfo/dev](http://lists.jitsi.org/mailman/listinfo/dev)))](http://lists.jitsi.org/mailman/listinfo/dev](http://lists.jitsi.org/mailman/listinfo/dev)](http://lists.jitsi.org/mailman/listinfo/dev](http://lists.jitsi.org/mailman/listinfo/dev))%5D(http://lists.jitsi.org/mailman/listinfo/dev](http://lists.jitsi.org/mailman/listinfo/dev)](http://lists.jitsi.org/mailman/listinfo/dev](http://lists.jitsi.org/mailman/listinfo/dev))))](http://lists.jitsi.org/mailman/listinfo/dev](http://lists.jitsi.org/mailman/listinfo/dev)](http://lists.jitsi.org/mailman/listinfo/dev](http://lists.jitsi.org/mailman/listinfo/dev))%5D(http://lists.jitsi.org/mailman/li
stinfo/dev%5D(http://lists.jitsi.org/mailman/listinfo/dev)%5D(http://lists.jitsi.org/mailman/listinfo/dev](http://lists.jitsi.org/mailman/listinfo/dev)))%5D(http://lists.jitsi.org/mailman/listinfo/dev](http://lists.jitsi.org/mailman/listinfo/dev)](http://lists.jitsi.org/mailman/listinfo/dev](http://lists.jitsi.org/mailman/listinfo/dev))%5D(http://lists.jitsi.org/mailman/listinfo/dev](http://lists.jitsi.org/mailman/listinfo/dev)](http://lists.jitsi.org/mailman/listinfo/dev](http://lists.jitsi.org/mailman/listinfo/dev)))))

_______________________________________________ dev mailing list [[[[[dev@jitsi.org](mailto:dev@jitsi.org)](mailto:[dev@jitsi.org](mailto:dev@jitsi.org))](mailto:[[dev@jitsi.org](mailto:dev@jitsi.org)](mailto:[dev@jitsi.org](mailto:dev@jitsi.org)))](mailto:[[[dev@jitsi.org](mailto:dev@jitsi.org)](mailto:[dev@jitsi.org](mailto:dev@jitsi.org))](mailto:[[dev@jitsi.org](mailto:dev@jitsi.org)](mailto:[dev@jitsi.org](mailto:dev@jitsi.org))))](mailto:[[[[dev@jitsi.org](mailto:dev@jitsi.org)](mailto:[dev@jitsi.org](mailto:dev@jitsi.org))](mailto:[[dev@jitsi.org](mailto:dev@jitsi.org)](mailto:[dev@jitsi.org](mailto:dev@jitsi.org)))](mailto:[[[dev@jitsi.org](mailto:dev@jitsi.org)](mailto:[dev@jitsi.org](mailto:dev@jitsi.org))](mailto:[[dev@jitsi.org](mailto:dev@jitsi.org)](mailto:[dev@jitsi.org](mailto:dev@jitsi.org)))))
Unsubscribe instructions and other list options:

[[[[[http://lists.jitsi.org/mailman/listinfo/dev](http://lists.jitsi.org/mailman/listinfo/dev)](http://lists.jitsi.org/mailman/listinfo/dev](http://lists.jitsi.org/mailman/listinfo/dev))](http://lists.jitsi.org/mailman/listinfo/dev](http://lists.jitsi.org/mailman/listinfo/dev)](http://lists.jitsi.org/mailman/listinfo/dev](http://lists.jitsi.org/mailman/listinfo/dev)))](http://lists.jitsi.org/mailman/listinfo/dev](http://lists.jitsi.org/mailman/listinfo/dev)](http://lists.jitsi.org/mailman/listinfo/dev](http://lists.jitsi.org/mailman/listinfo/dev))%5D(http://lists.jitsi.org/mailman/listinfo/dev](http://lists.jitsi.org/mailman/listinfo/dev)](http://lists.jitsi.org/mailman/listinfo/dev](http://lists.jitsi.org/mailman/listinfo/dev))))](http://lists.jitsi.org/mailman/listinfo/dev](http://lists.jitsi.org/mailman/listinfo/dev)](http://lists.jitsi.org/mailman/listinfo/dev](http://lists.jitsi.org/mailman/listinfo/dev))%5D(http://lists.jitsi.org/mailman/lis
tinfo/dev%5D(http://lists.jitsi.org/mailman/listinfo/dev)%5D(http://lists.jitsi.org/mailman/listinfo/dev](http://lists.jitsi.org/mailman/listinfo/dev)))%5D(http://lists.jitsi.org/mailman/listinfo/dev](http://lists.jitsi.org/mailman/listinfo/dev)](http://lists.jitsi.org/mailman/listinfo/dev](http://lists.jitsi.org/mailman/listinfo/dev))%5D(http://lists.jitsi.org/mailman/listinfo/dev](http://lists.jitsi.org/mailman/listinfo/dev)](http://lists.jitsi.org/mailman/listinfo/dev](http://lists.jitsi.org/mailman/listinfo/dev)))))

_______________________________________________

dev mailing list
[[[[dev@jitsi.org](mailto:dev@jitsi.org)](mailto:[dev@jitsi.org](mailto:dev@jitsi.org))](mailto:[[dev@jitsi.org](mailto:dev@jitsi.org)](mailto:[dev@jitsi.org](mailto:dev@jitsi.org)))](mailto:[[[dev@jitsi.org](mailto:dev@jitsi.org)](mailto:[dev@jitsi.org](mailto:dev@jitsi.org))](mailto:[[dev@jitsi.org](mailto:dev@jitsi.org)](mailto:[dev@jitsi.org](mailto:dev@jitsi.org))))
Unsubscribe instructions and other list options:
[[[[http://lists.jitsi.org/mailman/listinfo/dev](http://lists.jitsi.org/mailman/listinfo/dev)](http://lists.jitsi.org/mailman/listinfo/dev](http://lists.jitsi.org/mailman/listinfo/dev))](http://lists.jitsi.org/mailman/listinfo/dev](http://lists.jitsi.org/mailman/listinfo/dev)](http://lists.jitsi.org/mailman/listinfo/dev](http://lists.jitsi.org/mailman/listinfo/dev)))](http://lists.jitsi.org/mailman/listinfo/dev](http://lists.jitsi.org/mailman/listinfo/dev)](http://lists.jitsi.org/mailman/listinfo/dev](http://lists.jitsi.org/mailman/listinfo/dev))%5D(http://lists.jitsi.org/mailman/listinfo/dev](http://lists.jitsi.org/mailman/listinfo/dev)](http://lists.jitsi.org/mailman/listinfo/dev](http://lists.jitsi.org/mailman/listinfo/dev))))

_______________________________________________ dev mailing list [[[[dev@jitsi.org](mailto:dev@jitsi.org)](mailto:[dev@jitsi.org](mailto:dev@jitsi.org))](mailto:[[dev@jitsi.org](mailto:dev@jitsi.org)](mailto:[dev@jitsi.org](mailto:dev@jitsi.org)))](mailto:[[[dev@jitsi.org](mailto:dev@jitsi.org)](mailto:[dev@jitsi.org](mailto:dev@jitsi.org))](mailto:[[dev@jitsi.org](mailto:dev@jitsi.org)](mailto:[dev@jitsi.org](mailto:dev@jitsi.org))))

Unsubscribe instructions and other list options:
[[[[http://lists.jitsi.org/mailman/listinfo/dev](http://lists.jitsi.org/mailman/listinfo/dev)](http://lists.jitsi.org/mailman/listinfo/dev](http://lists.jitsi.org/mailman/listinfo/dev))](http://lists.jitsi.org/mailman/listinfo/dev](http://lists.jitsi.org/mailman/listinfo/dev)](http://lists.jitsi.org/mailman/listinfo/dev](http://lists.jitsi.org/mailman/listinfo/dev)))](http://lists.jitsi.org/mailman/listinfo/dev](http://lists.jitsi.org/mailman/listinfo/dev)](http://lists.jitsi.org/mailman/listinfo/dev](http://lists.jitsi.org/mailman/listinfo/dev))%5D(http://lists.jitsi.org/mailman/listinfo/dev](http://lists.jitsi.org/mailman/listinfo/dev)](http://lists.jitsi.org/mailman/listinfo/dev](http://lists.jitsi.org/mailman/listinfo/dev))))

_______________________________________________
dev mailing list
[[[dev@jitsi.org](mailto:dev@jitsi.org)](mailto:[dev@jitsi.org](mailto:dev@jitsi.org))](mailto:[[dev@jitsi.org](mailto:dev@jitsi.org)](mailto:[dev@jitsi.org](mailto:dev@jitsi.org)))
Unsubscribe instructions and other list options:
[[[http://lists.jitsi.org/mailman/listinfo/dev](http://lists.jitsi.org/mailman/listinfo/dev)](http://lists.jitsi.org/mailman/listinfo/dev](http://lists.jitsi.org/mailman/listinfo/dev))](http://lists.jitsi.org/mailman/listinfo/dev](http://lists.jitsi.org/mailman/listinfo/dev)](http://lists.jitsi.org/mailman/listinfo/dev](http://lists.jitsi.org/mailman/listinfo/dev)))

_______________________________________________ dev mailing list

[[[dev@jitsi.org](mailto:dev@jitsi.org)](mailto:[dev@jitsi.org](mailto:dev@jitsi.org))](mailto:[[dev@jitsi.org](mailto:dev@jitsi.org)](mailto:[dev@jitsi.org](mailto:dev@jitsi.org)))
Unsubscribe instructions and other list options:
[[[http://lists.jitsi.org/mailman/listinfo/dev](http://lists.jitsi.org/mailman/listinfo/dev)](http://lists.jitsi.org/mailman/listinfo/dev](http://lists.jitsi.org/mailman/listinfo/dev))](http://lists.jitsi.org/mailman/listinfo/dev](http://lists.jitsi.org/mailman/listinfo/dev)](http://lists.jitsi.org/mailman/listinfo/dev](http://lists.jitsi.org/mailman/listinfo/dev)))

_______________________________________________
dev mailing list
[[dev@jitsi.org](mailto:dev@jitsi.org)](mailto:[dev@jitsi.org](mailto:dev@jitsi.org))
Unsubscribe instructions and other list options:
[[http://lists.jitsi.org/mailman/listinfo/dev](http://lists.jitsi.org/mailman/listinfo/dev)](http://lists.jitsi.org/mailman/listinfo/dev](http://lists.jitsi.org/mailman/listinfo/dev))

_______________________________________________ dev mailing list

[[dev@jitsi.org](mailto:dev@jitsi.org)](mailto:[dev@jitsi.org](mailto:dev@jitsi.org))
Unsubscribe instructions and other list options:
[[http://lists.jitsi.org/mailman/listinfo/dev](http://lists.jitsi.org/mailman/listinfo/dev)](http://lists.jitsi.org/mailman/listinfo/dev](http://lists.jitsi.org/mailman/listinfo/dev))

_______________________________________________
dev mailing list
[dev@jitsi.org](mailto:dev@jitsi.org)
Unsubscribe instructions and other list options:
[http://lists.jitsi.org/mailman/listinfo/dev](http://lists.jitsi.org/mailman/listinfo/dev)

_______________________________________________

dev mailing list
[dev@jitsi.org](mailto:dev@jitsi.org)
Unsubscribe instructions and other list options:
[http://lists.jitsi.org/mailman/listinfo/dev](http://lists.jitsi.org/mailman/listinfo/dev)

_______________________________________________
dev mailing list
dev@jitsi.org
Unsubscribe instructions and other list options:
http://lists.jitsi.org/mailman/listinfo/dev