mirror of
				https://gitlab.freedesktop.org/pulseaudio/pulseaudio.git
				synced 2025-11-03 09:01:50 -05:00 
			
		
		
		
	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:
		
							parent
							
								
									a9a3f0874a
								
							
						
					
					
						commit
						7766f0e8d7
					
				
					 4 changed files with 4 additions and 7 deletions
				
			
		| 
						 | 
					@ -238,9 +238,6 @@ static int rtpoll_work_cb(pa_rtpoll_item *i) {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        s->ssrc = s->rtp_context.ssrc;
 | 
					        s->ssrc = s->rtp_context.ssrc;
 | 
				
			||||||
        s->offset = s->rtp_context.timestamp;
 | 
					        s->offset = s->rtp_context.timestamp;
 | 
				
			||||||
 | 
					 | 
				
			||||||
        if (s->ssrc == s->userdata->module->core->cookie)
 | 
					 | 
				
			||||||
            pa_log_warn("Detected RTP packet loop!");
 | 
					 | 
				
			||||||
    } else {
 | 
					    } else {
 | 
				
			||||||
        if (s->ssrc != s->rtp_context.ssrc) {
 | 
					        if (s->ssrc != s->rtp_context.ssrc) {
 | 
				
			||||||
            pa_memblock_unref(chunk.memblock);
 | 
					            pa_memblock_unref(chunk.memblock);
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -491,7 +491,7 @@ int pa__init(pa_module*m) {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    pa_xfree(n);
 | 
					    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;
 | 
					        goto fail;
 | 
				
			||||||
    pa_sap_context_init_send(&u->sap_context, sap_fd, p);
 | 
					    pa_sap_context_init_send(&u->sap_context, sap_fd, p);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -43,14 +43,14 @@
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include "rtp.h"
 | 
					#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(c);
 | 
				
			||||||
    pa_assert(fd >= 0);
 | 
					    pa_assert(fd >= 0);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    c->fd = fd;
 | 
					    c->fd = fd;
 | 
				
			||||||
    c->sequence = (uint16_t) (rand()*rand());
 | 
					    c->sequence = (uint16_t) (rand()*rand());
 | 
				
			||||||
    c->timestamp = 0;
 | 
					    c->timestamp = 0;
 | 
				
			||||||
    c->ssrc = ssrc ? ssrc : (uint32_t) (rand()*rand());
 | 
					    c->ssrc = (uint32_t) (rand()*rand());
 | 
				
			||||||
    c->payload = (uint8_t) (payload & 127U);
 | 
					    c->payload = (uint8_t) (payload & 127U);
 | 
				
			||||||
    c->frame_size = frame_size;
 | 
					    c->frame_size = frame_size;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -39,7 +39,7 @@ typedef struct pa_rtp_context {
 | 
				
			||||||
    pa_memchunk memchunk;
 | 
					    pa_memchunk memchunk;
 | 
				
			||||||
} pa_rtp_context;
 | 
					} 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
 | 
					/* 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. */
 | 
					 * guarantee that the current read index doesn't point to a hole. */
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue