rtp: Don't use cookie for SSRC
authorArun Raghavan <arun@arunraghavan.net>
Thu, 12 May 2016 12:26:51 +0000 (17:56 +0530)
committerArun Raghavan <arun@arunraghavan.net>
Fri, 8 Nov 2019 12:09:03 +0000 (17:39 +0530)
Publishing the cookie on multicast seems to be a bad idea.

Signed-off-by: Arun Raghavan <arun@arunraghavan.net>
src/modules/rtp/module-rtp-recv.c
src/modules/rtp/module-rtp-send.c
src/modules/rtp/rtp.c
src/modules/rtp/rtp.h

index 79e712d..91305fa 100644 (file)
@@ -238,9 +238,6 @@ static int rtpoll_work_cb(pa_rtpoll_item *i) {
 
         s->ssrc = s->rtp_context.ssrc;
         s->offset = s->rtp_context.timestamp;
-
-        if (s->ssrc == s->userdata->module->core->cookie)
-            pa_log_warn("Detected RTP packet loop!");
     } else {
         if (s->ssrc != s->rtp_context.ssrc) {
             pa_memblock_unref(chunk.memblock);
index a7a3f77..2089d54 100644 (file)
@@ -491,7 +491,7 @@ int pa__init(pa_module*m) {
 
     pa_xfree(n);
 
-    if (pa_rtp_context_init_send(&u->rtp_context, fd, m->core->cookie, payload, pa_frame_size(&ss)) < 0)
+    if (pa_rtp_context_init_send(&u->rtp_context, fd, payload, pa_frame_size(&ss)) < 0)
         goto fail;
     pa_sap_context_init_send(&u->sap_context, sap_fd, p);
 
index 279c455..365c716 100644 (file)
 
 #include "rtp.h"
 
-int pa_rtp_context_init_send(pa_rtp_context *c, int fd, uint32_t ssrc, uint8_t payload, size_t frame_size) {
+int pa_rtp_context_init_send(pa_rtp_context *c, int fd, uint8_t payload, size_t frame_size) {
     pa_assert(c);
     pa_assert(fd >= 0);
 
     c->fd = fd;
     c->sequence = (uint16_t) (rand()*rand());
     c->timestamp = 0;
-    c->ssrc = ssrc ? ssrc : (uint32_t) (rand()*rand());
+    c->ssrc = (uint32_t) (rand()*rand());
     c->payload = (uint8_t) (payload & 127U);
     c->frame_size = frame_size;
 
index 7c7ae44..5bdb8b9 100644 (file)
@@ -39,7 +39,7 @@ typedef struct pa_rtp_context {
     pa_memchunk memchunk;
 } pa_rtp_context;
 
-int pa_rtp_context_init_send(pa_rtp_context *c, int fd, uint32_t ssrc, uint8_t payload, size_t frame_size);
+int pa_rtp_context_init_send(pa_rtp_context *c, int fd, uint8_t payload, size_t frame_size);
 
 /* If the memblockq doesn't have a silence memchunk set, then the caller must
  * guarantee that the current read index doesn't point to a hole. */