rtp: Don't use cookie for SSRC

Publishing the cookie on multicast seems to be a bad idea.

Signed-off-by: Arun Raghavan <arun@arunraghavan.net>
This commit is contained in:
Arun Raghavan 2016-05-12 17:56:51 +05:30
parent a9a3f0874a
commit 7766f0e8d7
4 changed files with 4 additions and 7 deletions

View 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);

View 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);

View file

@ -43,14 +43,14 @@
#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;

View 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. */