<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">Solved this with help from Tim on IRC.<div class=""><br class=""/></div><div class="">Needed to add `-lgsttag-1.0` to my make command.</div><div class=""><br class=""/><div class="">
<div style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; text-decoration: none;">David Walter<br class=""/>––––––––––––––––––––––––––––––––<br class=""/><br class=""/></div>
</div>
<div><br class=""/><blockquote type="cite" class=""><div class="">On Oct 5, 2021, at 12:43 AM, <a href="mailto:gstreamer-devel-request@lists.freedesktop.org" class="">gstreamer-devel-request@lists.freedesktop.org</a> wrote:</div><br class="Apple-interchange-newline"/><div class=""><div class="">Send gstreamer-devel mailing list submissions to<br class=""/><span class="Apple-tab-span" style="white-space:pre">     </span><a href="mailto:gstreamer-devel@lists.freedesktop.org" class="">gstreamer-devel@lists.freedesktop.org</a><br class=""/><br class=""/>To subscribe or unsubscribe via the World Wide Web, visit<br class=""/><span class="Apple-tab-span" style="white-space:pre">        </span>https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel<br class=""/>or, via email, send a message with subject or body 'help' to<br class=""/><span class="Apple-tab-span" style="white-space:pre">      </span>gstreamer-devel-request@lists.freedesktop.org<br class=""/><br class=""/>You can reach the person managing the list at<br class=""/><span class="Apple-tab-span" style="white-space:pre">        </span>gstreamer-devel-owner@lists.freedesktop.org<br class=""/><br class=""/>When replying, please edit your Subject line so it is more specific<br class=""/>than "Re: Contents of gstreamer-devel digest..."<br class=""/><br class=""/><br class=""/>Today's Topics:<br class=""/><br class=""/>   1. webrtcbin do-nack: rtprtxsend says "requested seqnum has not<br class=""/>      been transmitted yet in the original stream" (Michiel Konstapel)<br class=""/>   2. Re: rtsp-server (???)<br class=""/>   3. gst_tag_xmp_list_schemas() linker error on Ubuntu (David Walter)<br class=""/>   4. Screen capture, select the right screen. (Davide Perini)<br class=""/>   5. Changing buffer PTS/DTS in Python (Marianna Smidth Buschle)<br class=""/><br class=""/><br class=""/>----------------------------------------------------------------------<br class=""/><br class=""/>Message: 1<br class=""/>Date: Mon, 4 Oct 2021 14:31:39 +0200<br class=""/>From: Michiel Konstapel <michiel@aanmelder.nl><br class=""/>To: Discussion of the development of and with GStreamer<br class=""/><span class="Apple-tab-span" style="white-space:pre"> </span><gstreamer-devel@lists.freedesktop.org><br class=""/>Subject: webrtcbin do-nack: rtprtxsend says "requested seqnum has not<br class=""/><span class="Apple-tab-span" style="white-space:pre">  </span>been transmitted yet in the original stream"<br class=""/>Message-ID: <d841acc5-4d39-aaa1-ffdf-50fdb2a4c7b7@aanmelder.nl><br class=""/>Content-Type: text/plain; charset=utf-8; format=flowed<br class=""/><br class=""/>I am trying to improve WebRTC video quality in less than optimal network<br class=""/>conditions, sending audio and video from my pipeline to a browser. My<br class=""/>first thought was to try and enable do-nack on the transceivers. Or for<br class=""/>now, only the video transceiver, because Chrome doesn't support NACK for<br class=""/>audio?<br class=""/><br class=""/>I am using tc to simulate 1% packet loss on the link, which has a<br class=""/>noticeable impact on the video (both visually (dropped frames and<br class=""/>smearing) and in terms of the packetsLost statistic).<br class=""/><br class=""/>However, when I enable "do-nack", I see no improvement, and in the logs<br class=""/>I see:<br class=""/><br class=""/>rtprtxsend gstrtprtxsend.c:651:gst_rtp_rtx_send_sink_event:<rtprtxsend0><br class=""/>Payload 96 not in rtx-pt-map<br class=""/>rtprtxsend gstrtprtxsend.c:655:gst_rtp_rtx_send_sink_event:<rtprtxsend0><br class=""/>got caps for payload: 96->-1, ssrc: 715396252->3436539345 :<br class=""/>application/x-rtp, media=(string)video, clock-rate=(int)90000,<br class=""/>encoding-name=(string)H264, packetization-mode=(string)1,<br class=""/>profile-level-id=(string)42c028,<br class=""/>sprop-parameter-sets=(string)"Z0LAKJWgHgCJ+XAWoCAgKAAAH0AABhqEIA\=\=\,aM48gA\=\=",<br class=""/>payload=(int)96, ssrc=(uint)715396252,<br class=""/>timestamp-offset=(uint)4223414689, seqnum-offset=(uint)25976,<br class=""/>a-framerate=(string)25<br class=""/><br class=""/>on startup, and then<br class=""/><br class=""/>rtprtxsend gstrtprtxsend.c:524:gst_rtp_rtx_send_src_event:<rtprtxsend0><br class=""/>requested seqnum 25100 has not been transmitted yet in the original<br class=""/>stream; either the remote end is not configured correctly, or the source<br class=""/>is too slow<br class=""/><br class=""/>This repeats ~10 times for each sequence number.<br class=""/><br class=""/>This is the generated offer:<br class=""/><br class=""/>v=0<br class=""/>o=- 3673290479767803662 0 IN IP4 0.0.0.0<br class=""/>s=-<br class=""/>t=0 0<br class=""/>a=ice-options:trickle<br class=""/>m=video 9 UDP/TLS/RTP/SAVPF 96 97 98<br class=""/>c=IN IP4 0.0.0.0<br class=""/>a=setup:actpass<br class=""/>a=ice-ufrag:GBQSDSR0t2BjpCKzhBy6D5TWI5PIwHcL<br class=""/>a=ice-pwd:gVq+L+I5gtsYST5+0Ko1qiou+cmTMBek<br class=""/>a=rtcp-mux<br class=""/>a=rtcp-rsize<br class=""/>a=sendonly<br class=""/>a=rtpmap:96 H264/90000<br class=""/>a=rtcp-fb:96 nack pli<br class=""/>a=framerate:25<br class=""/>a=fmtp:96<br class=""/>packetization-mode=1;profile-level-id=42c028;sprop-parameter-sets=Z0LAKJWgHgCJ+XAWoCAgKAAAH0AABhqEIA==,aM48gA==<br class=""/>a=rtpmap:97 red/90000<br class=""/>a=rtpmap:98 ulpfec/90000<br class=""/>a=ssrc:694513671 msid:user119389484@host-196b6568 webrtctransceiver2<br class=""/>a=ssrc:694513671 cname:user119389484@host-196b6568<br class=""/>a=mid:video0<br class=""/>a=fingerprint:sha-256<br class=""/>66:39:E9:A0:C1:C8:83:09:D0:3D:CD:A6:A7:1E:7B:A3:E4:DE:62:B0:20:08:98:16:74:F6:48:AD:49:BB:B9:0F<br class=""/>m=audio 9 UDP/TLS/RTP/SAVPF 96<br class=""/>c=IN IP4 0.0.0.0<br class=""/>a=setup:actpass<br class=""/>a=ice-ufrag:DWJDEBPdaEDqrvwWH4taF+4IxwzJUbtt<br class=""/>a=ice-pwd:2TLZ/cUYHrYWec9NL2Q08z2X2N5pQEy6<br class=""/>a=rtcp-mux<br class=""/>a=rtcp-rsize<br class=""/>a=sendonly<br class=""/>a=rtpmap:96 OPUS/48000/2<br class=""/>a=rtcp-fb:96 nack pli<br class=""/>a=fmtp:96 sprop-maxcapturerate=48000;sprop-stereo=1<br class=""/>a=ssrc:1591833598 msid:user119389484@host-196b6568 webrtctransceiver3<br class=""/>a=ssrc:1591833598 cname:user119389484@host-196b6568<br class=""/>a=mid:audio1<br class=""/>a=fingerprint:sha-256<br class=""/>66:39:E9:A0:C1:C8:83:09:D0:3D:CD:A6:A7:1E:7B:A3:E4:DE:62:B0:20:08:98:16:74:F6:48:AD:49:BB:B9:0F<br class=""/><br class=""/>This appears to also be offering forward error correction (red, ulpfec)?<br class=""/>However, I have not enabled that (yet) but I was going to try that next.<br class=""/><br class=""/>One thing that worries/confuses me, is that it is using payload types<br class=""/>96/97/98 for video, and 96 for audio, too. Is the duplicate 96 a<br class=""/>problem? And, where is it getting these numbers? The RTP packets I am<br class=""/>using as "input" for webrtcbin have 96 for audio and 97 for video.<br class=""/><br class=""/>In short: how do I use NACKs or FEC to handle packet loss from webrtcbin<br class=""/>to a browser?<br class=""/><br class=""/>Kind regards,<br class=""/>Michiel<br class=""/><br class=""/><br class=""/><br class=""/>------------------------------<br class=""/><br class=""/>Message: 2<br class=""/>Date: Mon, 4 Oct 2021 21:51:24 +0900<br class=""/>From: ??? <byunghun.lee@fainders.ai><br class=""/>To: Discussion of the development of and with GStreamer<br class=""/><span class="Apple-tab-span" style="white-space:pre">       </span><gstreamer-devel@lists.freedesktop.org><br class=""/>Cc: jam@tigger.ws<br class=""/>Subject: Re: rtsp-server<br class=""/>Message-ID:<br class=""/><span class="Apple-tab-span" style="white-space:pre">   </span><CADirASCPgDKNdR6Cq-zh4miOGmi-Ce8j4r+M3g+RnFj=ECWGqA@mail.gmail.com><br class=""/>Content-Type: text/plain; charset="utf-8"<br class=""/><br class=""/>Hi<br class=""/><br class=""/>Then the server pipeline reads from the pipesrc?s and every new connection<br class=""/>uses a new src?<br class=""/>James<br class=""/><br class=""/>I'm new on gstreamer. So maybe my saying could be useless but anyway I had<br class=""/>got same error when I tried connect multiple client into a single usb<br class=""/>source with rtsp-server.<br class=""/>I thought this error means, multiple pipeline tried to make source from a<br class=""/>single usb source.<br class=""/>So after with some research, in github of rtsp-server, I found that If you<br class=""/>don't set gst media factory shared option to true, then every connection<br class=""/>will make new pipeline.<br class=""/><br class=""/>Even you set the option true, in my case there have identical pts error,<br class=""/>but anyway with some other muxer or elements I can work around that error.<br class=""/><br class=""/>I hope this work for you<br class=""/>-------------- next part --------------<br class=""/>An HTML attachment was scrubbed...<br class=""/>URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20211004/6b84aa46/attachment-0001.htm><br class=""/><br class=""/>------------------------------<br class=""/><br class=""/>Message: 3<br class=""/>Date: Mon, 04 Oct 2021 21:19:44 +0000<br class=""/>From: David Walter <dlwalter@protonmail.com><br class=""/>To: Discussion of the development of and with GStreamer<br class=""/><span class="Apple-tab-span" style="white-space:pre">        </span><gstreamer-devel@lists.freedesktop.org><br class=""/>Subject: gst_tag_xmp_list_schemas() linker error on Ubuntu<br class=""/>Message-ID: <70B8BEBB-77C5-4229-AEF5-8702DC4E1E74@protonmail.com><br class=""/>Content-Type: text/plain; charset="utf-8"<br class=""/><br class=""/>Gstreamer 1.14.4 on a Jetson Nano running Ubuntu 18.04. I have no problem building and running a basic videotestsrc pipeline.<br class=""/><br class=""/>I am trying to add a custom XMP schema, starting with just listing the schemas using [gst_tag_xmp_list_schemas](https://gstreamer.freedesktop.org/documentation/tag/gsttagxmp.html?gi-language=c#gst_tag_xmp_list_schemas) but get a ?undefined reference to ?gst_tag_xmp_list_schemas?.<br class=""/><br class=""/>I am not able to access any of the functions in [gstxmptag.c](https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/blob/1.14.4/gst-libs/gst/tag/gstxmptag.c) either. Is this included in libgstreamer-plugins-base1.0-0?<br class=""/>-------------- next part --------------<br class=""/>An HTML attachment was scrubbed...<br class=""/>URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20211004/e39bcf2a/attachment-0001.htm><br class=""/><br class=""/>------------------------------<br class=""/><br class=""/>Message: 4<br class=""/>Date: Tue, 5 Oct 2021 09:24:46 +0200<br class=""/>From: Davide Perini <perini.davide@dpsoftware.org><br class=""/>To: "gstreamer-devel@lists.freedesktop.org"<br class=""/><span class="Apple-tab-span" style="white-space:pre">    </span><gstreamer-devel@lists.freedesktop.org><br class=""/>Subject: Screen capture, select the right screen.<br class=""/>Message-ID: <50c2da8a-4078-b3e1-2003-a6b93308ef91@dpsoftware.org><br class=""/>Content-Type: text/plain; charset="iso-8859-15"; Format="flowed"<br class=""/><br class=""/>Hi all,<br class=""/>I'm using this command to screen capture<br class=""/><br class=""/>./gst-launch-1.0 d3d11desktopdupsrc monitor-index=1 ! d3d11convert !<br class=""/>d3d11download ! autovideosink<br class=""/><br class=""/><br class=""/>I have noticed that the "monitor-index" does not represent the real<br class=""/>display number on Windows.<br class=""/><br class=""/>If I rearrange the monitor order in Windows, monitor index on gstreamer<br class=""/>does not change.<br class=""/><br class=""/>How can I know how to record the left and right screen if that number<br class=""/>does not represent the "numbers I see in Windows"?<br class=""/><br class=""/>Thank you<br class=""/>Davide<br class=""/>-------------- next part --------------<br class=""/>An HTML attachment was scrubbed...<br class=""/>URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20211005/96dfeb68/attachment-0001.htm><br class=""/><br class=""/>------------------------------<br class=""/><br class=""/>Message: 5<br class=""/>Date: Tue, 5 Oct 2021 09:43:46 +0200<br class=""/>From: Marianna Smidth Buschle <msb@qtec.com><br class=""/>To: gstreamer-devel@lists.freedesktop.org<br class=""/>Subject: Changing buffer PTS/DTS in Python<br class=""/>Message-ID: <24676185-66b4-745f-9e09-069cac0452ff@qtec.com><br class=""/>Content-Type: text/plain; charset=utf-8; format=flowed<br class=""/><br class=""/>Hi,<br class=""/><br class=""/>I need to manipulate some buffer timestamps in python.<br class=""/><br class=""/>But the Gst.Buffer.make_writable() function does not exist:<br class=""/>https://gitlab.freedesktop.org/gstreamer/gst-python/-/issues/18<br class=""/><br class=""/>So I don't suppose it is safe to do: "buf.pts = Gst.CLOCK_TIME_NONE"?<br class=""/><br class=""/><br class=""/>Are there any workarounds?<br class=""/><br class=""/><br class=""/>I have been trying to cook a solution using ctypes.<br class=""/><br class=""/>But I can't seem to make the C pointer to GstBuffer* I receive back into<br class=""/>a python Gst.Buffer.<br class=""/><br class=""/>It seems like Gst.Buffer is not compatible with ctypes:<br class=""/>https://gitlab.freedesktop.org/gstreamer/gst-python/-/issues/46<br class=""/><br class=""/><br class=""/>So I started trying to duplicate the GstBuffer* in python as a ctypes<br class=""/>compatible class/struct.<br class=""/><br class=""/>But then I also need to implement the GstMiniObject the same way, and<br class=""/>I'm afraid I will find even more dependencies in the mini object.<br class=""/><br class=""/><br class=""/>--<br class=""/>Best regards / Med venlig hilsen<br class=""/>?Marianna Smidth Buschle?<br class=""/><br class=""/><br class=""/><br class=""/>------------------------------<br class=""/><br class=""/>Subject: Digest Footer<br class=""/><br class=""/>_______________________________________________<br class=""/>gstreamer-devel mailing list<br class=""/>gstreamer-devel@lists.freedesktop.org<br class=""/>https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel<br class=""/><br class=""/><br class=""/>------------------------------<br class=""/><br class=""/>End of gstreamer-devel Digest, Vol 129, Issue 6<br class=""/>***********************************************<br class=""/></div></div></blockquote></div><br class=""/></div></body></html>