I thought SSRC was a constant

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

I thought SSRC was a constant

Wes Miller
Administrator

I have two streams feeding into the udpsrc attached to a gstrtpbin. One stream is live data and the other is from a audiotestsrc intended to wake up the pipeline (blocked waiting on the async recv_rtp_src_%d_%d_%d pad to connect.) It is not always possible to know the order the streams will arrive, so either may be "first".


noise stream =======\
                     >>> udpsrc---->gstrtpbin
live stream=========/

When the first stream connects, cb_pad_added in the receiver pipe finishes the async connection from the recv_rtp_src_%d_%d_%d pad to the rest of the receive pipe.

When the second stream comes online, I get a second callback indicating a new recv_rtp_src_%d_%d_%d pad has been requested. Makes sense, the second stream should have a different SSRC.

Wanting to know which stream was which, I added an identity to the pipe producing the "noise" stream between the payloader and udpsink and connected a pad_probe to it. The cb_pad_probe() does nothing more than tell me the SSRC of the packets. Figured I could use this info to tell the main gstrtpbin which connection to keep.


               ,---padprobbe() {print ssrc}
               |
--->encodeer-->identity-->udpsink === noise stream =======\
                                                           >>> udpsrc---->gstrtpbin
                                      live stream=========/

Well, lo and behold, the SSRC reported from each packet is different! Siimilar looking numbers, but different. What I don't get is a message from the cb_pad_added() in the main pipe telling me each different SSRC is requesting a new recv_rtp_src_%d_%d_%d pad!

So, friends, why are the SSRCs different and whay does the gstrtpbin see them as equivalent? How does it tell the next stream is different? *both streams have payload type = 96).

I am about to add an identity between the udpsrc and the gstrtpbin to see it sees the same thing. Will add that information when have it.

Warmly,

Wes

Reply | Threaded
Open this post in threaded view
|

Re: [OOPS] I thought SSRC was a constant

Wes Miller
Administrator
Well, now it's working correctly.  Don't know why I got bad SSRCs before, but they are constant now.

Thanks,

Wes