GNOME Bugzilla – Bug 723328
gstrtpbase(|de)payload: add more unit tests and fix bugs
Last modified: 2014-02-24 11:14:37 UTC
The attached patch series starts by fixing some trivial things: * a few cosmetic typos in GstRTPBaseDepayload * a typo in the payload type property boundary values in GstRTPBasePayload Then proceeds to fix a real bug in GstRTPBasePayload where the CAPS events failed to be able to configure the seqnum-offset property of a GstRTPBasePayload (or derived class). This fix might be controversial so I have tried to explain it as well as I could. Let me know if it the fix is wrong or needs further explanation. It is not possible to simply remove/postpone this fix as the last patch depends on it. If you want me to separate them let me know and I'll do it. The last patch in the patch series is the biggest one, but hopefully not so controversial. It removes the existing unit test for GstRTPBase(Pay|Depay)load and replaces it with separate tests for each element. As per ocretes previous comments I stopped using appsrc/appsink for testing and started using the gst_check_*() approach instead. I succeeded in raising the code coverage to a green 90+% for both elements. Moreover I found the issues the previous patches fix when implementing these tests. I have run the tests for each element in a loop 1000 times to try to ensure that they are not racy, and I have also run them in valgrind and with/without CK_FORK=no.
Created attachment 267688 [details] [review] Proposed patch fixing typos in depayloader.
Created attachment 267689 [details] [review] Proposed patch fixing payload type boundary typo in payloader
Created attachment 267690 [details] [review] Proposed patch fixing bug in payloader where caps can not reconfigure seqnum-offset.
Created attachment 267691 [details] [review] Proposed patch raising base(pay|depay)loader unit test coverage to ~90%
Agh! I just remembered that I forgot to add: "Fixes https://bugzilla.gnome.org/show_bug.cgi?id=723328" Either please do that for me when committing, or I'll do it if I get any review comments.
Commited