Hello I am developing an audio only embedded device using a MYIR development board with a TI AM3352 CPU that will stream live AES67 audio to and from a Dante device. I used buildroot to make the Linux image: Version 2017.02-git and the kernel is 4.1.18. Gstreamer core library is version 1.10.2. The Linux image is running ptpd2 version 2.3.1 and ntpd version 4.2.8@1.3265-o. I am using CLion for multi-thread development and the MYIR gcc cross-compiler to build the code. One thread creates a send pipeline. One of many I have tried is: get_parse_launch(“rtpbin name=rtpbin audiotestsrc provide-clock=true do-timestamp=true ! audio/x-raw, channels=2, rate=48000, depth=24, width=24 ! audioconvert ! rtpL24pay mtu=300, max-ptime=2000000 ! rtpbin.send_rtp_src_0 ! udpsink host=239.69.199.180 port=5004 sync=false ttl-mc=32 qos-dscp=46”, &err); The mtu, ttl-mc and qos-dscp values are what Dante uses in its AES67 configuration. Another thread creates the SAP/SDP that is sent every 30 seconds to port 9875: I load the mediaclk:direct with offset as below: uint64_t bitrate = 48000; uint64_t epoch = time(NULL); uint32_t offset = (epoch * bitrate) & 0x00000000FFFFFFFF; The ts-refclk:ptp is the MAC address of my dev board. This is what the SDP looks like from Wireshark Session Description Protocol Session Description Protocol Version (v): 0 Owner/Creator, Session Id (o): - 1583511 1581758 IN IP4 192.168.0.191 Owner Username: - Session ID: 1583511 Session Version: 1581758 Owner Network Type: IN Owner Address Type: IP4 Owner Address: 192.168.0.191 Session Name (s): Announcer I/O Connection Information (c): IN IP4 239.69.199.180/32 Connection Network Type: IN Connection Address Type: IP4 Connection Address: 239.69.199.180 Connection TTL: 32 Time Description, active time (t): 0 0 Session Start Time: 0 Session Stop Time: 0 Session Attribute (a): keywds:Agame Session Attribute Fieldname: keywds Session Attribute Value: Agame Media Description, name and address (m): audio 5004 RTP/AVP 96 Media Type: audio Media Port: 5004 Media Protocol: RTP/AVP Media Format: DynamicRTP-Type-96 Media Title (i): 2 channels: CH1, CH2 Media Attribute (a): recvonly Media Attribute (a): rtpmap:96 L24/48000/2 Media Attribute Fieldname: rtpmap Media Format: 96 MIME Type: L24 Sample Rate: 48000 Media Attribute (a): ptime:1 Media Attribute Fieldname: ptime Media Attribute Value: 1 Media Attribute (a): ts-refclk:ptp=IEEE1588-2008:44-EA-D8-FF-FE-C1-3B-EA:0 Media Attribute Fieldname: ts-refclk Media Attribute Value: ptp=IEEE1588-2008:44-EA-D8-FF-FE-C1-3B-EA:0 Media Attribute (a): mediaclk:direct=503186688 Media Attribute Fieldname: mediaclk Media Attribute Value: direct=503186688 If I run gst-launch-1.0(…) from a command line on my MAC I hear tone perfectly, however on the Dante device it shows that the packets are arriving hours late. The receiving Dante device shows that ptp is locked to the MAC address of my dev board. The lateness is random each time I run the program. The timestamps on the audio packets don’t seem to be related to my SDP timestamp. I have tried capturing the stream basetime value but that doesn’t seem to help either. GstClockTime base time = gst_element_get_base_time(&pipeline_TX); I also tried setting the basetime to epoch time. I have tried various scaling of the timestamp such as seconds, milliseconds, nanoseconds, microseconds. Is there another way of getting the sending stream start time timestamp? I have been searching for answers for weeks now and have tried at least 12 variations of my gst_parse_launch with the same results. Regards, Sam Virgillo _______________________________________________ gstreamer-embedded mailing list gstreamer-embedded@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/gstreamer-embedded