<div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div>Hello</div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Aug 31, 2021 at 1:30 AM 이병헌 via gstreamer-devel <<a href="mailto:gstreamer-devel@lists.freedesktop.org">gstreamer-devel@lists.freedesktop.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hi.<br>
I’m new on gstreamer, and I have some problem with this issue for many days.. <br>
<br>
I need to get absolute timestamp from multiple rtsp camera.<br>
And with some effort, I got to know that I can get absolute timestamp from "RTCP SR(sender report)” in RTSP packets<br>
But I can not find the proper way to get RTCP SR from rtspsrc element or rtpbin in gstreamer document..<br>
And actually I can not understand well about rtpbin’s role<br>
So my questions are<br>
<br>
1. How to get RTCP SR with rtspsrc element or rtpbin element<br></blockquote><div><br></div><div>With your pipeline, get the GstRTPSession: <br><br>rtpSession = gst_bin_get_by_name(GST_BIN(_pipeline->pipeline), "rtpsession0");<br><br>Get the internal RTPSession from it: <br><br><div>GstElement* internalRtpSession; </div><div>g_object_get(rtpSession, "internal-session", &internalRtpSession, NULL);<br><br>Connect to on-receiving-rtcp: <br><br>g_signal_connect(internalRtpSession, "on-receiving-rtcp", G_CALLBACK(on_rtcp_callback), NULL);<br><br>Iterate over the RTCP packets in the buffer: <br><br><div><span style="white-space:pre">   </span>GstRTCPBuffer rtcpBuffer = GST_RTCP_BUFFER_INIT;</div><div><span style="white-space:pre">      </span>gst_rtcp_buffer_map(buffer, GST_MAP_READ, &rtcpBuffer);</div><div><span style="white-space:pre">   </span>GstRTCPPacket rtcpPacket; </div><div><span style="white-space:pre">   </span>if (gst_rtcp_buffer_get_first_packet(&rtcpBuffer, &rtcpPacket))</div><div><span style="white-space:pre">       </span>{</div><div><span style="white-space:pre">             </span>while (gst_rtcp_packet_move_to_next(&rtcpPacket))</div><div><span style="white-space:pre">         </span>{</div><div><span style="white-space:pre">                     </span>GstRTCPType type = gst_rtcp_packet_get_type(&rtcpPacket);</div></div></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
2. If I connect devices into rtpbin element, then does rtpbin sync sources from multiple device automatically?<br>
I mean, suppose If there are two rtsp camera CAM_1 CAM_2, and if I send PLAY request in same time on my client<br>
And if there have network delay, so client get packets of PLAY request of CAM_1 10 seconds more later than CAM_2<br>
Then does rtpbin element sync that 10 seconds automatically?<br></blockquote><div><br></div><div>I'm not sure. </div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
Thanks for reading.</blockquote></div></div></div></div></div></div>