- Apr 10, 2019
-
-
Tim-Philipp Müller authored
- Apr 09, 2019
-
-
Tim-Philipp Müller authored
Fix doc chunks to not use that syntax for links that have the url as description, it will be put verbatim into the xml/*.xml file and then the expat parser will throw a syntax error like: File "../../common/mangle-db.py", line 71, in <module> main() File "../../common/mangle-db.py", line 69, in main patch (details.replace("-details", ""), os.path.basename(details)) File "../../common/mangle-db.py", line 20, in patch doc = xml.dom.minidom.parse(related) File "/usr/lib/python2.7/xml/dom/minidom.py", line 1918, in parse return expatbuilder.parse(file) File "/usr/lib/python2.7/xml/dom/expatbuilder.py", line 924, in parse result = builder.parseFile(fp) File "/usr/lib/python2.7/xml/dom/expatbuilder.py", line 207, in parseFile parser.Parse(buffer, 0) xml.parsers.expat.ExpatError: not well-formed (invalid token): line 84, column 7
-
If the incoming frame buffer has GST_BUFFER_FLAG_DISCONT set this should be preserved and set for the first output buffer too, like other payloaders do. Spotted with gst-validate-1.0 when adding integration tests for rtpsession, a minimal test to reproduce the issue is: $ gst-validate-1.0 videotestsrc num-buffers=1 ! rtpvrawpay ! identity ! fakesink Starting pipeline Pipeline started warning : Buffer didn't have expected DISCONT flag333 speed: 1.000000 /> Detected on <identity0:sink> Detected on <identity0:src> Detected on <fakesink0:sink> Description : Buffers after SEGMENT and FLUSH must have a DISCONT flag Issues found: 1 =======> Test PASSED (Return value: 0)
-
-
-
-
This allows it to be used using gst-launch for easier testing.
-
- Apr 08, 2019
-
-
Dan Kegel authored
lockFocusIfCanDraw is deprecated in mac os 10.14. Apple suggests a different way to do what that does, but for now, just suppress the deprecation. There's no way to disable just that deprecation, so shut them all down. OpenGL is also deprecated in mac os 10.14. There is a gentle way to turn off just those deprecations (GL_SILENCE_DEPRECATION), but since this commit turns them all off, that's moot. gstreamer/gst-plugins-good#577
-
- Apr 07, 2019
-
-
Nicolas Dufresne authored
-
- Apr 05, 2019
-
-
Nicolas Dufresne authored
This introduce a new signal on RTSession, on-sending-nacks is emited right before the list of seqnums to be nacked are processed and transformed into FB Nack. This allow implementing custom nacks handling through another mechanism with APP feedback.
-
Mathieu Duponchelle authored
The Onvif Streaming Spec, in section 6.11, mandates that when Rate-Control is disabled potential RTCP packets shall have their timestamps set to 0. <https://www.onvif.org/specs/stream/ONVIF-Streaming-Spec.pdf>
-
Remove the now unused __user define.
-
AdobeRGB defines have been renamed to opRGB in the kernel headers, use the new names.
-
Recent kernels allow REQBUFS(0) on a queue that still has buffers in use (mmapped or exported via dmabuf), orphaning all buffers on the queue. If this is supported, the v4l2videodec element does not have to send a drain request downstream.
-
Now that the v4l2allocator allows orphaning the V4L2 buffer queue, add support for orphaning in the v4l2bufferpool. gst_v4l2_buffer_pool_orphan can be used as a replacement for gst_v4l2_buffer_pool_stop, without having to wait for buffers to be returned to the pool.
-
Recent kernels allow REQBUFS(0) on a queue that still has buffers in use (mmapped or exported via dmabuf), orphaning all buffers on the queue. Orphaning the allocator causes it to release all buffers with REQBUFS(0), even if they are still in use. An orphaned allocator can only be stopped. It can not be restarted or create new buffers.
-
Update to the latest installed headers (output of make headers_install) from the media tree, keeping the slight modifications to the includes. This includes new HEVC controls, the AdobeRGB -> opRGB rename, a new capabilities field for v4l2_requestbuffers and v4l2_create_buffers, new 32-bit YUV formats, and request_fd changes.
-
-
We used to split the NACK if a smaller seqnum of a range of seqnum was submited. This test also make sure that the three operations (append, prepend, update) works properly.
-
This test verify that NACKs that didn't fit in one packet are properly filtered and inserted into the following pipeline.
-
In order to do that, we now split the nacks registration from the actual FB nack packet construction. We then try and add as many FB Nacks as possible into the active packets and leave the remaining seqnums in the RTPSource. In order to avoid sending outdated NACK later on, we save the seqnum calculated deadline and cleanup the outdated seqnums before the next RTCP send. Fixes #583
-
Calling rtp_session_send_rtcp before marking the source as requiring a pli/fir/nack meant the rtcp_thread could be scheduled and start running before the source was updated. This meant the request would not be sent early but instead was transmitted with the next regular RTCP packet. Add test for nack generation.
-
If the current time is equal to the early rtcp time deadline, there is no need to schedule a timer. This ensure that immediate feedback is really immediate and simplify implementing unit tests with the test clock, which stops perfectly on the timeout time. This fix has been extracted from Pexip feature patch called "rtpsession: Allow instant transmission of RTCP packets"
-
The caps features were lost when sorting caps structures in gst_v4l2src_fixate(). This was breaking alternate as GST_CAPS_FEATURE_FORMAT_INTERLACED was removed from the caps.
-
- Apr 04, 2019
-
-
Mathieu Duponchelle authored
When used in combination with a rtponviftimestamp element downstream, forwarding this flag ensures it gets correctly serialized in the ONVIF header extension.
-
- Apr 03, 2019
-
-
Antonio Ospite authored
-
Antonio Ospite authored
-
Antonio Ospite authored
A missing colon after G_DEFINE_TYPE declaration was confusing gst-indent and causing problem in the pre-commit hook. Add the missing colon and fix the following function declaration to follow the normal GStreamer style.
-
- Apr 02, 2019
-
-
Antonio Ospite authored
One comments in gst_rtp_session_chain_send_rtp_common() is referring to groups in a buffer list, however this concept of "group" comes from GStreamer 0.10 and does not exist anymore in GStreamer 1.0, so update the comment to refer to buffers instead.
-
Antonio Ospite authored
-
Antonio Ospite authored
Add a test to verify that stats about sent and received packets are correct even when using buffer lists. NOTE: the newly introduced get_session_source_stats() selects the desired source (sender or receiver) by filtering them by type (using the get_sender parameter) rather than by ssrc because this simplifies the code and it's good enough for testing purposes as there is usually one source per type in the test setup. Filtering by ssrc would have required handling asynchronous signals like "on-new-sender-ssrc", with the relative locking, just to retrieve the actual ssrc of the sender.
-
Antonio Ospite authored
The update_receiver_stats() function is called also when sending packets in rtp_source_send_rtp(), and sending packets may happen using a buffer list rather than individual buffers. So update the stats using the actual number of packets sent. NOTE: this is fine for the receive path too (rtp_process_send_rtp) because the receive path does not support buffer lists and pinfo->packets would always be equal to 1 in this case.
-
- Apr 01, 2019
-
-
The tests create a buffer list and then use the chain_list callback to verify that the correct packets have been pushed. Move the creation and validation code next to each other so that the reader can more easily understand what is going on. While at it add some comments to introduce the two related functions.
-
The helper function set_chain_function does not really do anything useful, remove it.
-
Make it possible to differentiate between the position in the list and the packet index in the global structures in check_packet, in some future case the list may change, in case some element removes a buffer from the list, and the two indices may not coincide.
-
-
Make the test more useful to verify that the chain list function has actually been called.
-
Port the rtpbin_buffer_list test to GStreamer 1.0 and re-enable it. Some other changes include: - the check on the caps has been moved from the buffer level to the pad level; - remove underscore prefix from static functions names, this is not idiomatic in C and rarely used in the other tests; - the unused header_buffer variable has been removed; - check_group() has been renamed to check_packet() because in GStreamer 1.0 there is no concept of "group" anymore, the comments have also been updated to reflect this.
-
Tim-Philipp Müller authored
Tests might take a bit longer, esp. when run under valgrind and/or they're running on the CI with other things going on, so let's just bump the timeout to something higher and let the test runner time us out if needed.
-