AES sender pipeline options

James Cowdery jtc at dolby.com
Thu Jan 24 19:06:27 UTC 2019


I've put together an audio pipeline to stream a wav file that will be readily
accepted by AES67 compatible receivers e.g. Ravenna or Dante. I also send
out the SDP using a SAP packet separately.

 * .------------.      .----------.      .--------------.      
.------------.      .-----------.         .---------.
 * |multifilesrc|     |wavparse|     |audioconvert|      |rtpL16pay|      | 
rtpbin    |         |udpsink|  RTP
 * |              src->sink      src->sink              src->sink    
src->recv_rtp   send_rtp->sink       | port=5004
 * '------------'       '-----------'     '---------------'     
'------------'      |              |          '--------'
 *                                                                                               
|              |      
 *                                                                                               
|              |           .---------.
 *                                                                                               
|              |           |udpsink|  RTCP
 *                                                                                               
|        send_rtcp->sink       | port=5005
 *    .-----------.                                                    
.--------.          |              |            '---------' 
 *    |ptp-clock|                                       RTCP       |udpsrc |        
|              |
 *    '-----------'                                 port=5005     |        
src->recv_rtcp      |                       
 *                                                                        
'---------'          '-----------'              

This works fine for receivers that are not ptp locked e.g. ffplay but my
Ravenna receiver complains about the RTP timestamps being too late or not
synchronized to PTP.
I've created the PTP clock which appears to lock to my PTP grandmaster OK
and I execute gst_pipeline_use_clock to lock the pipeline to the PTP clock
once it's synched. However, I think I need to set a few options to get the
timestamps correct. The options I'm unsure about are:

rtpbin.buffer-mode
rtpbin.ntp-time-source
pipeline latency (gst_pipeline_set_latency)
rtpL16pay.timestamp-offset

There may be others that are important. Can anyone tell me what settings I
need to get the outgoing timestamps correct with respect to the PTP clock?
Thanks,
James





--
Sent from: http://gstreamer-devel.966125.n4.nabble.com/


More information about the gstreamer-devel mailing list