Commit graph

1497 commits

Author SHA1 Message Date
Tim-Philipp Müller
834339b773 tests: videomixer: disable racy flush_start_flush_stop test
It's been broken for years, and it's unlikely it will ever
be fixed for collectpads/videomixer now that there's compositor
which works fine. So let's disable it, since all it does
is that it creates noise that distracts from other failures.

Also see the corresponding adder bug as it failed in the same way:
 https://bugzilla.gnome.org/show_bug.cgi?id=708891
2016-10-20 22:08:14 +01:00
Jan Alexander Steffens (heftig)
6deab72e10 tests: Fix souphttpsrc tests without CK_FORK=no
It seems that the forked processes all attempt to handle the listening
socket from the server, and only one has to shutdown the socket to break
the server completely.

Create a new server inside each test to avoid this.

https://bugzilla.gnome.org/show_bug.cgi?id=772656
2016-10-20 13:29:07 +03:00
Jan Alexander Steffens (heftig)
22ced681af tests: Fix level test in CK_FORK=no mode
The tests accumulate buffers in GstCheck's buffers list, and the list is
not (consistently) reset between tests. Do that and remove the now
conflicting unrefs for outbuffers.

https://bugzilla.gnome.org/show_bug.cgi?id=772644
2016-10-20 13:23:30 +03:00
Thibault Saunier
887a5911f5 meson: Make use of new environment object and set plugin path to builddir
Workaround source_root being the root directory of all projects in the subproject
case and remove now unneeded getpluginsdir

Bump meson requirement to 0.35
2016-10-11 02:09:04 +02:00
Gaurav Gupta
6542edd909 tests: Fix memory leak in test rtpaux test
https://bugzilla.gnome.org/show_bug.cgi?id=772496
2016-10-06 13:23:28 +03:00
Thibault Saunier
b910ecca68 meson: Setup pre commit hook and fix getpluginsdir for standalone case 2016-09-30 12:57:51 -03:00
Arun Raghavan
153b716490 tests: Fix tagschecking failure due to missing PTS
qtmux now needs the PTS (commit a993883b7), so let's make sure we
produce one with our buffers.

https://bugzilla.gnome.org/show_bug.cgi?id=772228
2016-09-30 13:25:10 +05:30
Tim-Philipp Müller
7f294ad125 meson: tests: fix vp8 availability checks
Those variables are not defined if vp8 was not found.
2016-09-27 12:41:21 +01:00
Thibault Saunier
375f3aab89 meson: Add gst-plugins-base plugins directories to be used by tests 2016-09-26 13:22:29 -03:00
Tim-Philipp Müller
787f47604d meson: add unit tests
Only works properly in an installed setup currently, most
likely won't work with a subprojects setup yet.
2016-09-26 14:31:09 +01:00
Tim-Philipp Müller
e6d188967a tests: fix indentation 2016-09-15 09:53:07 +01:00
Havard Graff
f440b074b1 rtpjitterbuffer: improved rtx-rtt averaging
The basic idea is this:
1. For *larger* rtx-rtt, weigh a new measurement as before
2. For *smaller* rtx-rtt, be a bit more conservative and weigh a bit less
3. For very large measurements, consider them "outliers"
   and count them a lot less

The idea being that reducing the rtx-rtt is much more harmful then
increasing it, since we don't want to be underestimating the rtt of the
network, and when using this number to estimate the latency you need for
you jitterbuffer, you would rather want it to be a bit larger then a bit
smaller, potentially losing rtx-packets. The "outlier-detector" is there
to prevent a single skewed measurement to affect the outcome too much.
On wireless networks, these are surprisingly common.

https://bugzilla.gnome.org/show_bug.cgi?id=769768
2016-09-14 19:37:50 -04:00
Stian Selnes
f8238f0a9f rtpjitterbuffer: Detect whether to assume equidistant spacing when loss
Assuming equidistant packet spacing when that's not true leads to more
loss than necessary in the case of reordering and jitter. Typically this
is true for video where one frame often consists of multiple packets
with the same rtp timestamp. In this case it's better to assume that the
missing packets have the same timestamp as the last received packet, so
that the scheduled lost timer does not time out too early causing the
packets to be considered lost even though they may arrive in time.

https://bugzilla.gnome.org/show_bug.cgi?id=769768
2016-09-14 19:37:50 -04:00
Stian Selnes
2eb7383816 rtpjitterbuffer: Don't request rtx if 'now' is past retry period
There is no need to schedule another EXPECTED timer if we're already
past the retry period. Under normal operation this won't happen, but if
there are more timers than the jitterbuffer is able to process in
real-time, scheduling more timers will just make the situation worse.
Instead, consider this packet as lost and move on. This scenario can
occur with high loss rate, low rtt and high configured latency.

https://bugzilla.gnome.org/show_bug.cgi?id=769768
2016-09-14 19:37:50 -04:00
Stian Selnes
ab49dfd0b2 rtpjitterbuffer: Fix lost duration when gap after lost timer
This patch fixes an issue with the estimated gap duration when there is
a gap immediately after a lost timer has been processed. Previously
there was a discrepancy beteen the gap in seqnum and gap in dts which
would cause wrong calculated duration. The issue would only be seen with
retranmission enabled since when it's disabled lost timers are only
created when a packet is received and the actual gap length and last dts
is known.

https://bugzilla.gnome.org/show_bug.cgi?id=769768
2016-09-14 19:37:50 -04:00
Havard Graff
8087a8a31c rtpjitterbuffer: Improved expected-timer handling when gap > 0
https://bugzilla.gnome.org/show_bug.cgi?id=769768
2016-09-14 19:37:50 -04:00
Stian Selnes
38a7545003 rtpjitterbuffer: Major improvements for RTX stats
Stats should also be collected for unsuccessful packets.

rtx-rtt is very important for determining the necessary configured
latency on the jitterbuffer. It's especially important to be able to
increase the latency when retransmitted packets arrive too late and are
considered lost. This patch includes these late packets in the
calculation of the various rtx stats, making them more correct and
useful.

Also in the case where the original packet arrives after a NACK is sent,
the received RTX packet should update the stats since it provides useful
information about RTT.

The RTT is only updated if and only if all requested retranmissions are
received. That way the RTT is guaranteed to make sense. If not we don't
know which request the packet is a response to and the RTT may be bogus.
A consequence of this patch is that RTT is not updated for a request
when one of the RTX packets for that seqnum is lost, but that since
measured RTT will be more accurate.

The implementation store the RTX information from the timed out timers
and use this when the retransmitted packet arrives. For performance
these timers are stored separately from the "normal" timers in order to
not impact performance (see attached performance test).

https://bugzilla.gnome.org/show_bug.cgi?id=769768
2016-09-14 19:37:50 -04:00
Havard Graff
1b868cc9b1 rtpjitterbuffer: Add and expose more stats and increase testing of it
Add num-pushed and num-lost.
Expose num-late, num-duplicates and avg-jitter.

https://bugzilla.gnome.org/show_bug.cgi?id=769768
2016-09-14 19:37:50 -04:00
Sebastian Dröge
63b0e519fa tests/examples: #define GDK_DISABLE_DEPRECATION_WARNINGS
We use gdk_cairo_create() which is deprecated since 3.22.
2016-09-01 10:59:51 +03:00
Josep Torra
d40f007d61 gitignore: ignore qtdemux, rtph261 and rtpvp9 tests 2016-08-26 21:32:07 +02:00
Josep Torra
8f89d2a439 tests: use GST_NET_LIBS instead of hardcoded -lgstnet
Fixes build in OSX when running 'make check' in gst-uninstalled.
2016-08-26 21:22:16 +02:00
Josep Torra
ccc7d7e5a3 tests: remove a wrong 'const' specifier
Fixes "error: duplicate 'const' declaration specifier"
2016-08-26 21:14:47 +02:00
Josep Torra
77585fdade build: silence error about pthread for 'make check' in osx
Fixes "clang: error: argument unused during compilation: '-pthread'"
2016-08-26 21:11:59 +02:00
Sebastian Dröge
bc99a86472 vp9enc: Fix build of unit test by letting it link to libgstvideo 2016-08-26 20:31:10 +03:00
Stian Selnes
8bf77e34f2 rtpvp9depay: Support flexible mode 2016-08-26 11:57:15 -04:00
Stian Selnes
195d181828 vp9enc: Fix leak of vpx_image_t 2016-08-26 11:57:15 -04:00
Stian Selnes
5f3b570d53 rtph263pdepay: Don't try to push empty frame
If the result of depayloading is an empty frame, just drop it. This is
likely the result of a buggy payloader.
2016-08-26 11:57:15 -04:00
Stian Selnes
11b7575cff rtph263pdepay: Fix picture header for non-writable payload
Under certain conditions gst_rtp_buffer_get_payload() returns a copy of
the payload. In this case the payload modifications will not affect the
rtp buffer. So instead of modifying the payload buffer directly we
should modify the buffer that actually gets pushed on the adapter.
2016-08-26 11:53:22 -04:00
Stian Selnes
793327cce2 rtph261depay: Fix check of valid payload length
Packets with no H.261 payload should be dropped to avoid invalid
write/reads.
2016-08-26 11:53:22 -04:00
Stian Selnes
64f9d08d3d rtph263pay: Fix double free, invalid reads and leak 2016-08-26 11:53:22 -04:00
Mikhail Fludkov
880f494050 tests/rtprtx: refactor the tests to use gstharness
The functionality of all the tests was kept exactly the same. Some tests
were renamed:
test_push_forward_seq -> test_rtxsend_rtxreceive
test_drop_one_sender -> test_rtxsend_rtxreceive_with_packet_loss
test_drop_multiple_sender -> test_multi_rtxsend_rtxreceive_with_packet_loss

test_rtxreceive_data_reconstruction was testing that retransmitted
buffer produced by rtxsend was correctly transformed to the original
buffer by rtxreceive. Now we are checking for this in all the tests
where both rtxsend & rtxreceive are involved. That's why the test was
removed.
2016-08-25 18:21:10 -04:00
Nirbheek Chauhan
b09f478e80 Add support for Meson as alternative/parallel build system
https://github.com/mesonbuild/meson

With contributions from:

Tim-Philipp Müller <tim@centricular.com>
Jussi Pakkanen <jpakkane@gmail.com> (original port)

Highlights of the features provided are:
* Faster builds on Linux (~40-50% faster)
* The ability to build with MSVC on Windows
* Generate Visual Studio project files
* Generate XCode project files
* Much faster builds on Windows (on-par with Linux)
* Seriously fast configure and building on embedded

... and many more. For more details see:

http://blog.nirbheek.in/2016/05/gstreamer-and-meson-new-hope.html
http://blog.nirbheek.in/2016/07/building-and-developing-gstreamer-using.html

Building with Meson should work on both Linux and Windows, but may
need a few more tweaks on other operating systems.
2016-08-20 11:21:12 +01:00
Sebastian Dröge
a1eefe23de rtpjitterbuffer: Fix unit test by disabling adaptive misorder/dropout calculations
Need to set max-misorder-time and max-dropout-time to 0 so the
jitterbuffer does not base them on packet rate calculations.
If it does, out gap is big enough to be considered a new stream and
we wait for a few consecutive packets just to be sure

https://bugzilla.gnome.org/show_bug.cgi?id=751311
2016-08-18 09:58:58 +03:00
Haihua Hu
2ae2b7fa80 qmlglsrc: Add qmlglsrc unit test example
https://bugzilla.gnome.org/show_bug.cgi?id=768160
2016-08-03 22:11:11 +10:00
Sebastian Dröge
ac35df33e0 qml: Don't forget to unref the actual sink element after setting it on glsinkbin 2016-07-22 17:00:14 +03:00
Sebastian Dröge
f7ee11f68b qml: Use glsinkbin instead of glupload directly 2016-07-22 16:57:45 +03:00
Guillaume Desmottes
7da2bac2e3 tests: qtdemux: fix element and pad leak
https://bugzilla.gnome.org/show_bug.cgi?id=768739
2016-07-18 10:54:59 +01:00
Guillaume Desmottes
94232da665 tests: fix bus leaks
gst_bus_add_signal_watch() takes a ref on the bus which should be
released using gst_bus_remove_signal_watch().

https://bugzilla.gnome.org/show_bug.cgi?id=768739
2016-07-18 10:53:19 +01:00
Olivier Crête
a390a6791c rtp example: Fix leak
Also stop fetching the internal source as this
functionality has been broken.
2016-07-11 11:59:21 -04:00
Jonas Holmberg
833c530553 rtph265pay: Accept array_completeness=1
When parsing NAL unit type in codec_data, check the 6bits of
NAL_unit_type only and do not require the array_completeness bit to be
0, since the default and mandatory value of array_completeness is 1 for
hvc1.

https://bugzilla.gnome.org/show_bug.cgi?id=768653
2016-07-11 11:49:41 +03:00
Jonas Holmberg
a06152c40a rtph265pay/depay: Sync against RFC 7798
Handle sprop-vps, sprop-sps and sprop-pps in caps instead of
sprop-parameter-sets.

rtph265pay works with byte-stream and hvc1 formats but not hev1 yet. It
handles profile-id, tier-flag and level-id in caps query.

https://bugzilla.gnome.org/show_bug.cgi?id=753760
2016-07-07 14:59:50 +03:00
Sebastian Dröge
6289280535 qtmux: Use complete AAC caps with codec_data in the tests 2016-07-04 17:45:40 +02:00
Edward Hervey
e3923df800 qtdemux: Handle upstream GAP in push-mode/time segment
This is to handle cases where upstream handles the fragmented streaming in TIME
segments and sends us data with gaps within fragments. This would happen when dealing
with trick-modes.

When upstream (push-based, TIME SEGMENT) wishes to send discontinuous samples,
it must obey the following rules:
* The buffer containing the [moof] must have a valid GST_BUFFER_OFFSET
* The buffers containing the first sample after a gap:
 * MUST start at the beginning of a sample,
 * MUST have the DISCONT flag set,
 * MUST have a valid GST_BUFFER_OFFSET relative to the beginning of the fragment.

https://bugzilla.gnome.org/show_bug.cgi?id=767354
2016-07-01 14:21:04 +02:00
Tim-Philipp Müller
c68b7f944a tests: splitmux: skip tests if theora or ogg plugins are not available
https://bugzilla.gnome.org/show_bug.cgi?id=767861
2016-06-21 17:54:21 +01:00
Guillaume Desmottes
6ae9c23fa3 fix buffer leaks in tests
Need to call gst_check_drop_buffers() to release the buffers exchanged
during the test.

https://bugzilla.gnome.org/show_bug.cgi?id=766561
2016-06-21 10:51:08 +03:00
Guillaume Desmottes
fb41b307a6 interleave: fix message leaks in test
Flush the bus when cleaning up so pending messages are destroyed.

https://bugzilla.gnome.org/show_bug.cgi?id=766561
2016-06-21 10:51:08 +03:00
Guillaume Desmottes
23c8f7128b videomixer: fix event leaks in test
https://bugzilla.gnome.org/show_bug.cgi?id=766561
2016-06-21 10:51:08 +03:00
Guillaume Desmottes
c7621e24ec deinterleave: fix leaks
- Flush the bus so messages aren't leaked
- Fix pad leak

https://bugzilla.gnome.org/show_bug.cgi?id=766561
2016-06-21 10:51:08 +03:00
Sebastian Dröge
6cb4208710 simple-launch-lines: Use correct JPEG2000 caps 2016-06-11 12:16:23 +03:00
Guillaume Desmottes
57eb9fec72 tests: rtpbin: fix caps leak
https://bugzilla.gnome.org/show_bug.cgi?id=767156
2016-06-02 14:19:02 +01:00
Guillaume Desmottes
507e99cb96 tests: amrparse: clean up test
- use GST_CHECK_MAIN() to reduce boilerplate
- unref the input caps using a teardown function to prevent leaks

https://bugzilla.gnome.org/show_bug.cgi?id=767156
2016-06-02 14:18:53 +01:00
Tim-Philipp Müller
eaf329d39b tests: add unit test for JPEG-2000 rtp payloader leak
https://bugzilla.gnome.org/show_bug.cgi?id=766870
2016-05-27 12:58:37 +01:00
Mikhail Fludkov
ee7e80d615 rtpsession: don't act on suspicious BYE RTCP
Some endpoints (like Tandberg E20) can send BYE packet containing our
internal SSRC. I this case we would detect SSRC collision and get rid
of the source at some point. But because we are still sending packets
with that SSRC the source will be recreated immediately.
This brand new internal source will not have some variables incorrectly
set in its state. For example 'seqnum-base` and `clock-rate` values will be
-1.
The fix is not to act on BYE RTCP if it contains internal or unknown
SSRC.

https://bugzilla.gnome.org/show_bug.cgi?id=762219
2016-05-20 09:28:39 +03:00
Mikhail Fludkov
fa1c711a2f rtpsession: Add test for locking of the stats signal
Keeping the lock while emitting the stats signal introduces potential
deadlock in those situations when the signal callback wants the access
to rtpsession's properties which also requre the lock.

https://bugzilla.gnome.org/show_bug.cgi?id=762216
2016-05-20 09:26:20 +03:00
Thiago Santos
79e52b9f81 tests: souphttpsrc: replace deprecated API
Avoid using soup_server_run_async and old get_port() APIs,
replace with me soup_server_listen and get the port through the
URIs list returned from the server.
2016-05-14 08:40:12 -03:00
Havard Graff
8f7962e1c3 rtpjitterbuffer: Fix stall when receiving already lost packet
When a packet arrives that has already been considered lost as part of a
large gap the "lost timer" for this will be cancelled. If the remaining
packets of this large gap never arrives, there will be missing entries
in the queue and the loop function will keep waiting for these packets
to arrive and never push another packet, effectively stalling the
pipeline.

The proposed fix conciders parts of a large gap definitely lost (since
they are calculated from latency) and ignores the late arrivals.

In practice the issue is rare since large gaps are scheduled immediately,
and for the stall to happen the late arrival needs to be processed
before this times out.

https://bugzilla.gnome.org/show_bug.cgi?id=765933
2016-05-06 14:32:42 +03:00
George Kiagiadakis
c0dd2029e9 tests: add splitmuxsrc test for new "format-location" signal
https://bugzilla.gnome.org/show_bug.cgi?id=753625
2016-05-05 10:53:23 +01:00
Tim-Philipp Müller
03e2655f70 tests: add unit test for jpeg depayloader packet loss handling
Make sure it always outputs something that looks like a valid
JPEG frame, ie. starts with an SOI marker and ends with an EOI
marker.
2016-04-04 17:42:03 +01:00
Stian Selnes
4c0e509328 rtpsession: Add new signal 'on-app-rtcp'
Similar to the 'on-feedback-rtcp' signal, but emitted for RTCP APP
packets.

https://bugzilla.gnome.org/show_bug.cgi?id=762217
2016-03-30 15:42:01 +03:00
Thiago Santos
d738fa0787 splitmuxsink: only try to create internal sink if it doesn't exist
This allows splitmuxsink to be reused after being put to NULL.

Test included

https://bugzilla.gnome.org/show_bug.cgi?id=762893
2016-03-24 20:10:25 -03:00
Edward Hervey
c4f06420b3 check: Fix indentation 2016-03-24 16:22:31 +01:00
Edward Hervey
f0a27084f9 tests: Remove unused variables 2016-03-24 16:22:28 +01:00
Vivia Nikolaidou
02a932d789 deinterlace: Added unit tests for field=auto
https://bugzilla.gnome.org/show_bug.cgi?id=763869
2016-03-24 14:34:11 +02:00
Havard Graff
bcbb8fc1da flvdemux: don't emit pad-added until caps are ready
In other words, gst_pad_get_current_caps should never return NULL
in a pad-added callback from the demuxer.

Added tests for the two special cases with AAC and H.264 where this
would happen every time.

https://bugzilla.gnome.org/show_bug.cgi?id=763780
2016-03-24 14:33:33 +02:00
Vineeth TM
1071309870 good: use new gst_element_class_add_static_pad_template()
https://bugzilla.gnome.org/show_bug.cgi?id=763076
2016-03-24 14:32:20 +02:00
David Buchmann
2b8b5f2246 flvmux: Test to verify flvmux handles DTS with GST_CLOCK_TIME NONE
https://bugzilla.gnome.org/show_bug.cgi?id=762207
2016-03-24 14:30:21 +02:00
Sebastian Dröge
d37822173d gtk: examples: #define GST_USE_UNSTABLE_API and link with X11_LIBS
X11_LIBS is needed for XInitThreads() and without the #define we get
warnings about the GL API being still unstable.
2016-03-05 11:38:46 +02:00
Tim-Philipp Müller
a4d64b5caa rgvolume: make tag list writable before modifying it
Making the event itself writable is not enough, it won't make
the actual taglist in the event writable as well. Instead, just
make a copy of the taglist and then create a new tag event from
that if required, replacing the old one. Before we would
inadvertently modify taglists upstream elements might still
be holding on to. Add unit test for this as well.

https://bugzilla.gnome.org/show_bug.cgi?id=762793
2016-02-28 14:44:39 +00:00
Tim-Philipp Müller
7335d03070 tests: fix indentation 2016-02-19 14:44:11 +00:00
Havard Graff
69436d5a61 tests: rtpjitterbuffer: port testharness to GstHarness and cleanup/improve
Probably found a bug as well, in that there are some timestamps in
there that are looking very wrong. (marked with FIXME)

https://bugzilla.gnome.org/show_bug.cgi?id=762267
2016-02-19 14:44:02 +00:00
Havard Graff
d52765fabb tests: rtpjitterbuffer: test cleanups/improvements
Use fail_unless and friends instead of g_assert
Factor seq-num checking out to separate function
Check more return-values from push and crank and others

https://bugzilla.gnome.org/show_bug.cgi?id=762254
2016-02-19 11:26:45 +00:00
Stian Selnes
fb4c2909ca tests: rtpjitterbuffer: fix leaks in unit test
https://bugzilla.gnome.org/show_bug.cgi?id=762214
2016-02-19 11:07:52 +00:00
Tim-Philipp Müller
8e2c1d1de5 tests: fix spurious souphttpsrc test timouts
Set GSETTINGS_BACKEND=memory, apparently there's something
about fork() and the dconf backend (or whatever else that
drags in or activates) that messes up locking and causes
timeouts due to deadlocks in g_mutex_lock(), since
everything works fine with CK_FORK=no as well.
2016-02-18 13:46:45 +00:00
Stian Selnes
3eeca9c7d2 rtpjitterbuffer: Add test for big seqnum gap handling
Make sure that the packets queued when detecting a big gap are pushed
after reset (5 consective seqnums) and not dropped.

https://bugzilla.gnome.org/show_bug.cgi?id=762211
2016-02-18 09:39:01 +02:00
Tim-Philipp Müller
52bd182e98 tests: fix mpg123audiodec test for big-endian architectures 2016-02-16 10:40:39 +00:00
Sebastian Dröge
265ecb5171 mpg123audiodec: Fix event handling in unit test 2016-02-16 10:40:39 +00:00
Vineeth TM
03e40efb65 tests: rtpmux: Fix element memory leak
https://bugzilla.gnome.org/show_bug.cgi?id=762057
2016-02-15 09:55:30 +00:00
Thiago Santos
522de42381 tests: extend the AM_TESTS_ENVIRONMENT from check.mak
To get the CK_DEFAULT_TIMEOUT defined for all tests

https://bugzilla.gnome.org/show_bug.cgi?id=761472
2016-02-05 20:00:57 -03:00
Holger Kaelberer
f3e126df88 tests: fix warning in qml example
https://bugzilla.gnome.org/show_bug.cgi?id=756082
2016-02-01 13:55:05 +11:00
Sebastian Dröge
5d728b3ce5 deinterlace: Add negotiation unit tests for all 4 modes
These now check the output caps based on the input caps and a following
capsfilter and make sure the caps are exactly as expected.

https://bugzilla.gnome.org/show_bug.cgi?id=760995
https://bugzilla.gnome.org/show_bug.cgi?id=720388
2016-01-27 16:45:29 +01:00
Antonio Ospite
be5f94734a tests: fix a thinko in the wavenc example
The code is supposed to follow somehow what the comment above says, that
is to have one channel with a wave of freq 440 and the other channel
with a wave of freq 880, but an off by one error results in frequencies
of 0 and 440.

https://bugzilla.gnome.org/show_bug.cgi?id=735673
2016-01-12 22:20:33 +00:00
Sebastian Dröge
98fddf090c rganalysis: Fix compiler warnings in the unit test
elements/rganalysis.c:919:66: error: shifting a negative signed value is undefined
      [-Werror,-Wshift-negative-value]
  push_buffer (test_buffer_const_int16_stereo (8000, 16, 512, -1 << 14, 0));
                                                              ~~ ^
elements/rganalysis.c:929:69: error: shifting a negative signed value is undefined
      [-Werror,-Wshift-negative-value]
  push_buffer (test_buffer_const_int16_stereo (8000, 16, 512, 0, -1 << 14));
                                                                 ~~ ^
elements/rganalysis.c:939:64: error: shifting a negative signed value is undefined
      [-Werror,-Wshift-negative-value]
  push_buffer (test_buffer_const_int16_mono (8000, 16, 512, -1 << 14));
                                                            ~~ ^
2016-01-08 15:32:47 +02:00
Reynaldo H. Verdejo Pinochet
0b234c9b54 tests: souphttpsrc: grammar fix 2015-12-01 11:27:17 -08:00
Reynaldo H. Verdejo Pinochet
f9b5271694 tests: souphttpsrc: switch shoutcast stream provider
Fixes failing ICY test. Previous provider has
streaming disabled outside UK.

https://bugzilla.gnome.org/show_bug.cgi?id=758114
2015-12-01 11:27:17 -08:00
Tim-Philipp Müller
3026d1094b rtph264pay: change config-interval property type from uint to int
This way we can use -1 as special value, which is nicer than MAXUINT.
This is backwards compatible even with the GValue API, as shown by
a unit test.

https://bugzilla.gnome.org/show_bug.cgi?id=757892
2015-11-27 12:48:09 +00:00
Reynaldo H. Verdejo Pinochet
d55cc79310 Remove unnecessary NULL checks before g_free()
g_free() is NULL-safe
2015-11-18 16:05:42 -08:00
Josep Torra
f8b9360dad tests: rtp-payloading: Test for handling of custom events in rtpgst
Add a simple test that checks proper serialization/deserialization
of custom events with rtpgstpay and rtpgstdepay.
2015-11-17 17:24:28 -08:00
George Kiagiadakis
a4c8bdfb3c tests/check/splitmux: test that the release_pad vfunc of splitmuxsink actually releases pads
https://bugzilla.gnome.org/show_bug.cgi?id=753622
2015-10-28 22:39:44 +11:00
Thiago Santos
cf830a55b1 tests: deinterlace: fix small typo in comment 2015-10-25 10:55:55 -03:00
Jan Schmidt
48d810ea26 check: Dist splitvideo0[012].ogg test files. 2015-10-26 00:41:51 +11:00
Matthew Waters
608cf31a25 glshaderelement: implement on-demand create-shader signalling
One may not have an GstGLContext available or current in the thread where one
would need to update the shader.  Support this by signalling create-shader
whenever the one-shot 'update-shader' is set to TRUE.
2015-10-17 16:10:41 +11:00
Matthew Waters
b8b9c78599 gl/examples: add a live shader demo using the new GstGLSLStage
Implemented with videotestsrc ! glshader ! glupload ! gtkglsink

Errors on an invalid shader compilation are ignored however any error
provided by the glsl compiler is printed to stdout.
2015-10-17 01:10:47 +11:00
Tim-Philipp Müller
7f112af657 tests: add GST_PLUGINS_BASE_LIBS for flvdemux check
So it pulls in the right libgsttag-1.0.
2015-10-12 18:57:22 +01:00
Edward Hervey
0ece1f0c49 check: Don't forget base CFLAGS for flvdemux check
elements/flvdemux.c:25:25: fatal error: gst/tag/tag.h: No such file or directory
2015-10-11 16:40:01 +02:00
Havard Graff
240b0ac9f6 flvdemux: output speex vorbiscomment as a GstTagList
This is what speexdec expects.

https://bugzilla.gnome.org/show_bug.cgi?id=755478
2015-10-11 11:12:27 +01:00
Havard Graff
b6f133ba17 flvmux: GST_BUFFER_OFFSETs should be GST_BUFFER_OFFSET_NONE
Or else flvdemux don't understand it

https://bugzilla.gnome.org/show_bug.cgi?id=754435
2015-10-11 11:10:20 +01:00
Havard Graff
cf3a2294da flvmux: use time segment and copy timestamps when streamable
Add a basic test using speex data to verify timestamping.

https://bugzilla.gnome.org/show_bug.cgi?id=754435
2015-10-11 11:09:08 +01:00
Havard Graff
d5e26ab909 gstrtpmux: allow the ssrc-property to decide ssrc on outgoing buffers
By not doing this, the muxer is not effectively a rtpmuxer, rather a
funnel, since it should be a single stream that exists the muxer.

If not specified, take the first ssrc seen on a sinkpad, allowing upstream
to decide ssrc in "passthrough" with only one sinkpad.

Also, let downstream ssrc overrule internal configured one

We hence has the following order for determining the ssrc used by
rtpmux:

0. Suggestion from GstRTPCollision event
1. Downstream caps
2. ssrc-Property
3. (First) upstream caps containing ssrc
4. Randomly generated

https://bugzilla.gnome.org/show_bug.cgi?id=752694
2015-10-02 17:39:06 -04:00
Vineeth TM
290f8be15a gstreamer: good: tests: Fix memory leaks when context parse fails.
When g_option_context_parse fails, context and error variables are not getting free'd
which results in memory leaks. Free'ing the same.

And replacing g_error_free with g_clear_error, which checks if the error being passed

https://bugzilla.gnome.org/show_bug.cgi?id=753853
2015-10-02 17:35:10 +03:00
Thiago Santos
5c7b051b90 deinterleave: implement accept-caps
Avoid using default accept-caps handler that will query downstream
and is more expensive. Just check if the caps is compatible with
the template and check if the channels are the same.
2015-09-30 17:35:33 -03:00
Thiago Santos
c0c8d503da tests: deinterleave: also check for caps query results 2015-09-30 12:48:30 -03:00
Tim-Philipp Müller
81a76853cf tests: gdkpixbufoverlay: add minimal unit test
https://bugzilla.gnome.org/show_bug.cgi?id=755773
2015-09-29 11:15:35 +01:00
Olivier Crête
7cc59fcdf6 tests: Fix rtpsession test failure
The time of the first RTCP packet is semi-random, so
sometimes it was produced before enough packets from
the second SSRC were received. First drop queued RTCP
packets, then advance the clock enough to ensure
that at least one new RTCP packet is produced.

https://bugzilla.gnome.org/show_bug.cgi?id=750731
2015-08-31 16:42:30 -04:00
Stefan Sauer
22443b2eed level: improve the test for multi-channel mode
Change the test to verify the read-index for multiple messages per buffer.
See https://bugzilla.gnome.org/show_bug.cgi?id=754144
2015-08-31 13:57:33 +02:00
Tim-Philipp Müller
dd1bd2beb3 tests: souphttpsrc: don't try to connect to dead radio server 2015-08-21 11:52:19 +01:00
Thiago Santos
2b1db23175 tests: aacparse: use caps query instead of accept-caps
The accept-caps query just does a shallow check at the current
element while at this test we want it to also look at downstream.
So use caps query there.

https://bugzilla.gnome.org/show_bug.cgi?id=753623
2015-08-14 13:42:27 -03:00
Edward Hervey
933004579d check: Rename states unit test
Makes it easier to differentiate from other modules states unit test
2015-08-14 11:13:01 +02:00
Thiago Santos
dac431ef3f tests: rtpaux: use a dynamic pt in the test
1) Tests that using dynamic PT instead of the default ones work
2) If we ever decide to change the codec here we don't need to
   worry about change the PT for the default one of the new codec
   in the test

https://bugzilla.gnome.org/show_bug.cgi?id=746445
2015-08-06 01:39:43 -03:00
Thiago Santos
5f9e5bf385 tests: rtpaux: fix test failure
The RTP PT for alaw is 8.
Less than 50 packets are received in the length of this test so it
would never drop a buffer or would drop only the last buffer and
it would fail sometimes when the received wouldn't receive the
retransmission packet in time.

https://bugzilla.gnome.org/show_bug.cgi?id=746445
2015-08-04 18:25:29 -03:00
Tim-Philipp Müller
c1382e97fa tests: add minmal matroskademux test for subtitle output
Some of the subtitle chunks will have embedded
NUL-terminators (last three), some don't (first three),
some will have markup, some won't, some will be valid
UTF-8 (all but last), some won't (last stanza).

https://bugzilla.gnome.org/show_bug.cgi?id=752421
2015-07-21 14:25:12 +01:00
Havard Graff
764bbf99a8 rtpmux: handle different ssrc's on sinkpads
Do this by not putting the ssrc from the src pads in the caps used to
probe other sinkpads, and then  intersecting with it later.

https://bugzilla.gnome.org/show_bug.cgi?id=752491
2015-07-16 16:46:11 -04:00
Matthew Waters
b1bbdceeb2 new qt5 qml GL video sink
Very much in the same spirit as the Gtk GL sink

Two things are provided
1. A QQuickItem subclass that renders out RGBA filled GstGLMemory
   buffers that is instantiated from qml.
2. A sink element that will push buffers into (1)

To use
1. Declare the GstGLVideoItem in qml with an appropriate
   objectName property set.
2. Get the aforementioned GstGLVideoItem from qml using something like

QQmlApplicationEngine engine;
engine.load(QUrl(QStringLiteral("qrc:/main.qml")));

QObject *rootObject = engine.rootObjects().first();
QQuickItem *videoItem = rootObject->findChild<QQuickItem *> ("videoItem");

3. Set the videoItem on the sink

https://bugzilla.gnome.org/show_bug.cgi?id=752185
2015-07-10 15:25:26 +10:00
Thiago Santos
a1bee6eb46 gitignore: ignore rtph263 test 2015-07-09 09:26:09 -03:00
Thiago Santos
241e0c2722 rtpjitterbuffer: fix build error with gcc (Debian 4.9.2-21) 4.9.2
Replace static constants with macros to make gcc happy

  CC       elements/elements_rtpjitterbuffer-rtpjitterbuffer.o
elements/rtpjitterbuffer.c:387:1: error: initializer element is not constant
 static const GstClockTime PCMU_BUF_DURATION = PCMU_BUF_MS * GST_MSECOND;
 ^
elements/rtpjitterbuffer.c:388:1: error: initializer element is not constant
 static const guint PCMU_BUF_SIZE = 64000 * PCMU_BUF_MS / 1000;
 ^
elements/rtpjitterbuffer.c:390:5: error: initializer element is not constant
     PCMU_BUF_CLOCK_RATE * PCMU_BUF_MS / 1000;
2015-07-08 23:49:12 -03:00
Thiago Santos
3edf9e4f58 rtpjitterbuffer: run indent and fix some comments
Fix indent on this file and break some comment lines into two to make
it fit 80 chars per line
2015-07-08 23:49:09 -03:00
Havard Graff
ddd032f56b rtpjitterbuffer: fix gap-time calculation and remove "late"
The amount of time that is completely expired and not worth waiting for,
is the duration of the packets in the gap (gap * duration) - the
latency (size) of the jitterbuffer (priv->latency_ns). This is the duration
that we make a "multi-lost" packet for.

The "late" concept made some sense in 0.10 as it reflected that a buffer
coming in had not been waited for at all, but had a timestamp that was
outside the jitterbuffer to wait for. With the rewrite of the waiting
(timeout) mechanism in 1.0, this no longer makes any sense, and the
variable no longer reflects anything meaningful (num > 0 is useless,
the duration is what matters)

Fixed up the tests that had been slightly modified in 1.0 to allow faulty
behavior to sneak in, and port some of them to use GstHarness.

https://bugzilla.gnome.org/show_bug.cgi?id=738363
2015-07-08 23:18:48 +03:00
Stian Selnes
8a0dbff3f4 rtph263depay: Make sure payload is large enough
Plus new unit test.

https://bugzilla.gnome.org/show_bug.cgi?id=752112
2015-07-08 11:36:55 +01:00
Tim-Philipp Müller
4ed4d0b84c tests: rtp-payloading: add basic unit test for KLV payloading
Also make it so that the mtu is always set if specified, not
only in case of the rather weird bufferlist test code path.
This allows us to easily make the payloader fragment a payload
across multiple output packets by setting a small MTU on it.
2015-07-07 20:11:28 +01:00
Stian Selnes
ef8d630a59 rtp: add H.261 RTP payloader and depayloader
Implementation according to RFC 4587.

Payloader create fragments on MB boundaries in order to match MTU size
the best it can. Some decoders/depayloaders in the wild are very strict
about receiving a continuous bit-stream (e.g. no no-op bits between
frames), so the payloader will shift the compressed bit-stream of a
frame to align with the last significant bit of the previous frame.

Depayloader does not try to be fancy in case of packet loss. It simply
drops all packets for a frame if there is a loss, keeping it simple.

https://bugzilla.gnome.org/show_bug.cgi?id=751886
2015-07-03 11:48:41 +01:00
Sebastian Dröge
3df0cce65d rtpjitterbuffer: If possible, always update the current time before looping over all timers
If we have a clock, update "now" now with the very latest running time we have.
If timers are unscheduled below we otherwise wouldn't update now (it's only updated
when timers expire), and also for the very first loop iteration now would otherwise
always be 0.

Also the time is used for the timeout functions, e.g. to calculate any times
for the next timeouts and we would otherwise pass too old times there.

https://bugzilla.gnome.org/show_bug.cgi?id=751636
2015-07-02 16:45:59 +02:00
Sebastian Dröge
b3dae8c969 rtp: Add examples with VTS/ATS for VP8/OPUS
Let's have an example with modern codecs.
2015-07-01 12:42:40 +02:00
Luis de Bethencourt
063f553275 docs: decodebin2 -> decodebin 2015-06-25 10:57:29 +01:00
Nicolas Dufresne
db63796fd3 qtmux: Correctly test each segments
In presence of gaps, qtdemux will emit multiple segments. The
second segment start should match the CTTS.

https://bugzilla.gnome.org/show_bug.cgi?id=751361
2015-06-23 22:34:36 -04:00
Nicolas Dufresne
89104e35bf qtmux: Test gaps at start of stream
https://bugzilla.gnome.org/show_bug.cgi?id=751242
2015-06-22 17:45:30 -04:00
Thiago Santos
74dcd85de4 tests: qtmux: test for muxing with DTS outside the segment
https://bugzilla.gnome.org/show_bug.cgi?id=740575
2015-06-12 17:18:24 -04:00
Nicolas Dufresne
b68f478467 gstgtk: No need to realize the widget
The widget already does that.
2015-06-11 12:41:49 -04:00
Nicolas Dufresne
bdbff3bc8e gstgtk: Don't leak the widget
g_object_get() returns a ref, gtk_container_add() only ref_sink().
That mean we still need to unref afterward. This leak was hiding
a reference bug previously present.
2015-06-11 12:41:49 -04:00
Sebastian Dröge
fe5bf0cee1 gtk: Add missing CFLAGS to example 2015-06-11 14:58:27 +02:00
Matthew Waters
a959c410d9 Implement gtk sinks
two sinks are provided.  gtksink which is a cairo/software based renderer
and gtkglsink which utilises the GL support in gtk and gstreamer.
2015-06-11 22:01:03 +10:00
Jan Schmidt
c16c381a89 tests: Update mp4 mux test for mdat placeholder change
The mp4 muxer now writes a place-holder mdat as a free
atom followed by a 0-byte mdat that covers the rest of the
file, making it possible to rewrite it as 64-bit, or leave
it as-is if nothing else is written afterward
2015-06-08 14:49:11 +10:00
Sebastian Dröge
b549ebd066 rtpsession: Override the SSRC from the packets' SSRC if none was given via caps or property 2015-06-07 10:33:27 +02:00
Edward Hervey
ebfa19b0d1 check: Use GST_CHECK_MAIN () macro everywhere
Makes source code smaller, and ensures we go through common initialization
path (like the one that sets up XML unit test output ...)
2015-06-02 16:31:10 +02:00
Edward Hervey
d524439b35 check: Use GST_CHECK_MAIN () macro everywhere
Makes source code smaller, and ensures we go through common initialization
path (like the one that sets up XML unit test output ...)
2015-06-02 16:27:24 +02:00
Sebastian Dröge
7bd1cfa197 examples: Set RTP profile to AVPF for rtpaux examples
https://bugzilla.gnome.org/show_bug.cgi?id=746543
2015-06-02 11:38:15 +02:00
Mark Nauwelaerts
692df969ea tests: wavpackparse: fix unit test
See also https://bugzilla.gnome.org/show_bug.cgi?id=738237
2015-05-10 14:22:43 +02:00
Tim-Philipp Müller
2e412a447a docs: update example pipelines in element docs
Mostly gst-launch -> gst-launch-1.0
Use autovideosink/autoaudiosink more often.
Sprinkle some converters here and there.
2015-05-10 11:05:00 +01:00
Sebastian Dröge
91c8688ed7 rtpjitterbuffer: Fix RTX unit test
The calculations were a bit off everywhere, even before the changes done
recently to the delay for RTX of expected future packets. It only worked by
accident, but now the calculations are all correct again. Hopefully.
2015-04-27 16:37:23 +02:00
Tim-Philipp Müller
12c77968bf tests: define GST_CHECK_TEST_ENVIRONMENT_BEACON
Make sure the test environment is set up.

https://bugzilla.gnome.org//show_bug.cgi?id=747624
2015-04-23 16:11:32 +01:00
Luis de Bethencourt
852088db8d tests: selectable amount of bands in equalizer demo
Adding an option in the equalizer demo to make the number of bands selectable.
2015-04-16 16:39:37 +01:00
Luis de Bethencourt
1a8f2031b3 tests: switch equalizer demo to play from uri
Switch the equalizer-nbands demo to use uridecodebin, so users can listen to
something more pleasant than white noise. If anybody misses the white noise
a uri handler to audiotestsrc can be used.
2015-04-16 16:09:10 +01:00
Luis de Bethencourt
3dc3493c5a tests: improve readability of equalizer demo
Rename variable name to make it more readable, add comments for the three
scales created per block, and set the window title.
2015-04-16 16:09:10 +01:00
Luis de Bethencourt
d463e3fba8 tests: add missing license header for equalizer demo 2015-04-16 16:09:10 +01:00
Vincent Penquerc'h
2e3f3375ca suppressions: ignore an apparent bug in strtod
A buffer overread.

https://bugzilla.gnome.org/show_bug.cgi?id=747554
2015-04-15 18:00:00 +01:00
Thiago Santos
9f7c659ff0 tests: qtmux: add tests to verify it handles non-0 segments
Both input streams in this test have a segment.start = 10s, so
output should start from 0 anyway.

Another test has both starting at non-0 segments, but the running
time of both streams should still start from 0
2015-04-10 10:05:24 -03:00
Thiago Santos
48c5c0c5b3 tests: qtmux: simple muxing test
Adds a new simple test that verifies that data is properly muxed
and preserved.  PTS, DTS, duration and caps are verified.
2015-04-10 10:05:24 -03:00
Ravi Kiran K N
a833084320 tests: add test suite for alpha
Added test suite for alpha element with test cases
1. alpha
2. chroma keying

https://bugzilla.gnome.org/show_bug.cgi?id=747595
2015-04-10 10:20:03 +01:00
Vincent Penquerc'h
54c444d61d suppressions: add a well known zlib inflate bug 2015-04-09 13:01:23 +01:00
Jan Schmidt
a51073c7de tests: Fix rtprtx test by handling buffer lists
Commit #1018aa made rtprtxsend handle buffer lists, breaking
the test which probes for buffers, but not buffer lists.

Use a utility function to run the probe callback on each buffer
in the list in turn and remove any buffers that are dropped.
2015-04-09 12:58:04 +10:00
Edward Hervey
67a11a5acf tests: Use AM_TESTS_ENVIRONMENT
Needed by the new automake test runner
2015-04-08 16:40:02 +02:00
Sebastian Dröge
6611517af5 icles: Fix waiting for segment-done if it happens too fast
Sometimes we can get segment-done before we got async-done. If we waited
for async-done only, the segment-done would be dropped and we would wait
forever for it a few lines below.
2015-04-06 19:08:59 -07:00
Thiago Santos
00e5d90ffc tests: multifile: increment tests to check for multifile messages
Also verify that the multifilesink file messages are being correctly
posted to the bus
2015-04-04 11:45:07 -03:00
Thiago Santos
4bba05339c tests: multifile: handle FIXME for proper checking when test finished
Use a GstBus and wait for EOS to finish the tests instead of
relying on sleeping
2015-04-04 07:58:44 -03:00
Jan Schmidt
3d59b5f814 isomp4: Make non-seekable downstream an error in normal mode
When not in fast-start or fragmented mode, we need to be able
to rewrite the size of the mdat atom, or else the output just
won't be playable - the mdat placeholder with size == 0 will
cover the rest of the file, including any moov atom we write out.

https://bugzilla.gnome.org/show_bug.cgi?id=708808
2015-04-03 23:07:04 +11:00
Sebastian Rasmussen
cf54d4cc67 rtph263pay/-depay: add framesize SDP attribute
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=726416
2015-04-02 19:38:21 -04:00
Wim Taymans
13804eab7d check: add jitterbuffer unit test
See https://bugzilla.gnome.org/show_bug.cgi?id=745539
2015-03-06 11:40:53 +01:00
Tim-Philipp Müller
50ac949a0f tests: gdkpixbufoverlay-test: replace deprecated function
Just avoid using the deprecated function entirely,
it's easy enough. Defining the macro is not enough.
2015-03-03 23:25:35 +00:00
Tim-Philipp Müller
e78e524265 tests: gdkpixbufoverlay-test: fix compilation against newer gdk-pixbuf
gdk_pixbuf_new_from_inline() has been deprecated in favour
of GResource.
2015-03-03 19:04:48 +00:00
Nicolas Dufresne
96b218d939 splitmux-test: Parse error message
The test had a function to print the error, but was not parsing it.
This was causing warning about dbg_info being used uninitialized. If
the test was testing any errors, this would have crashed.
2015-02-15 21:45:24 -05:00
Jan Schmidt
8ceb58122e splitmux: Add unit test for file splitting
Add a unit test for file splitting, and fix the leaks in the
splitmuxsink it found
2015-02-07 03:58:30 +11:00
Jan Schmidt
aa4c29c5d6 splitmux: Fix memory leaks until the test valgrinds clean 2015-02-07 00:19:36 +11:00
Jan Schmidt
7719606a5f tests: Change splitmux test video files
Avoid test failure by changing the stored video resolution
from 80x60 to 80x64, which needs bug 741030 to be fixed.
2015-02-06 05:03:19 +11:00
Jan Schmidt
5e2214d309 splitmux: Implement new elements for splitting files at mux level.
Implement 2 new elements - splitmuxsink and splitmuxsrc.

splitmuxsink is a bin which wraps a muxer and takes 1 video stream,
plus audio/subtitle streams, and starts a new file
whenever necessary to avoid overrunning a threshold of either bytes
or time. New files are started at a keyframe, and corresponding audio
and subtitle streams are split at packet boundaries to match
video GOP timestamps.

splitmuxsrc is a corresponding source element which handles
the splitmux:// URL and plays back all component files,
reconstructing the original elementary streams as it goes.
2015-02-06 04:26:59 +11:00
Thiago Santos
59431f663a tests: souphttpsrc: update ssl key/cert pair
Our ones were expired. The new ones were copied from libsoup's
tests files.

Also sets the property to use our own cert to validate the
server, otherwise the default system certs would be used
and it would fail.
2015-02-04 21:37:50 -03:00
Tim-Philipp Müller
953789fb8e tests: gdkpixbufoverlay-test: remove outdated FIXME 2014-12-30 18:03:22 +00:00
Tim-Philipp Müller
d67da4c8ae tests: rtpcollision: use alawenc/dec in these tests instead of Speex
They should always be built, while the speex elements are not.

Need to check for a smaller number of buffers then (7->4) because
speexenc will add 3 header buffers while alawenc will just output
as many buffers as it receives as input.

https://bugzilla.gnome.org/show_bug.cgi?id=742098
2014-12-30 17:19:59 +00:00
Tim-Philipp Müller
f1972b667e tests: simple-launch-lines: only run jpeg/png tests if elements are available 2014-12-30 16:37:00 +00:00
Tim-Philipp Müller
d416336a6e tests: rtpaux: use alawenc/dec in these tests instead of Speex
They should always be built, while the speex elements are not.

https://bugzilla.gnome.org/show_bug.cgi?id=742098
2014-12-30 14:58:02 +00:00
Tim-Philipp Müller
f0e8821f76 tests: gdkpixbufoverlay-test: use absolute positioning to fix demo
https://bugzilla.gnome.org/show_bug.cgi?id=739566
2014-12-25 15:38:43 +00:00
Tim-Philipp Müller
75917de294 tests: add interactive gdkpixbufoverlay test
Just need to fix the coordinate system now so
that negative offsets are actually negative
and not flipped to position things from the
opposite border.
2014-11-30 14:35:08 +00:00
Tim-Philipp Müller
7b64b3e109 tests: add interactive test for gapless playback using SEGMENT seeks
Not working too well yet, there are glitches even with WAV or FLAC.

https://bugzilla.gnome.org/show_bug.cgi?id=692368
2014-11-28 10:46:06 +00:00
Tim-Philipp Müller
4459088c6d test: use gst_util_uint64_scale_round() for timestamp to sample calculation 2014-11-27 11:20:36 +00:00
Tim-Philipp Müller
65ff17660b tests: add interactive test for accurate seeking
For some audio formats.

https://bugzilla.gnome.org/show_bug.cgi?id=655276
2014-11-27 11:17:58 +00:00
Henning Heinold
8aa2630068 examples: port python rtp PCMA client/server tests to 1.0
https://bugzilla.gnome.org/show_bug.cgi?id=739930
2014-11-17 00:23:13 +00:00
Tim-Philipp Müller
da51a99403 tests: don't use deprecated property in level unit test 2014-11-02 16:58:30 +00:00
Sebastian Dröge
543c8772cb aacparse: Fix unit test now that we always have profile/level in the caps 2014-10-27 11:08:40 +01:00
Tim-Philipp Müller
146702e226 tests: fix rgvolume test on big-endian systems 2014-10-25 11:09:57 +01:00
Tim-Philipp Müller
e6f6d9045c tests: fix mulawdec/mulawenc test for big endian systems 2014-10-25 11:09:57 +01:00
Sjoerd Simons
0ee384b251 rtpmux: Don't set PROXY_CAPS flag on the src pad
rtpmux behaves like a funnel in that it forwards whatever upstream is
sending buffers. So setting proxy caps doesn't make sense as the
upstream don't have to have compatible caps, thus resulting in an empty
caps set as a result of a caps query. Instead set fixed caps just
as funnel does.

https://bugzilla.gnome.org/show_bug.cgi?id=738722
2014-10-21 10:52:00 +02:00
Olivier Crête
155ed569c3 rtpdtmfsrc: clock-base and seqnum-base -> timestamp-offset and seqnum-offset
These were renamed in GstRTPBasePayload in 1.0
2014-10-10 18:12:32 -04:00
Olivier Crête
b3069634bd rtpmux: clock-base and seqnum-base -> timestamp-offset and seqnum-offset
These were renamed in GstRTPBasePayload in 1.0
2014-10-10 18:12:23 -04:00
Edward Hervey
5765db50a1 check/soup: Temporarily disable G_ENABLE_DIAGNOSTIC
The SOUP_SERVER_PORT property has been deprecated in recent libsoup
versions.
2014-09-23 09:48:27 +02:00
Edward Hervey
9e47ea2dc8 check/soup: Define minimum version required
To avoid deprecation warnings
2014-09-23 09:48:27 +02:00
Tim-Philipp Müller
d9a7954dc9 tests: udpsrc: add check to make sure multiple memory chunks are used 2014-09-09 17:42:02 +01:00
Tim-Philipp Müller
5c76255bc1 tests: udpsrc: wait for buffers with GCond instead of sleeping
Avoids half-second sleep for no reason.
2014-09-09 17:42:02 +01:00
Tim-Philipp Müller
7b1774513e tests: udpsrc: split out socket setup 2014-09-09 17:42:02 +01:00
Thiago Santos
0430ea87a3 tests: vp8dec: add test for caps renegotiation
Check that vp8dec can properly accept a new caps when upstream
changes it

https://bugzilla.gnome.org/show_bug.cgi?id=734266
2014-09-02 01:01:43 -03:00
Ravi Kiran K N
67255c6b49 examples: use 'post-messages' property instead of deprecated 'message' property
https://bugzilla.gnome.org/show_bug.cgi?id=734979
2014-08-18 11:06:09 +01:00
Mark Nauwelaerts
6ea83d97c5 tests: rtp-payloading: adjust test data to avoid NAL chopping
... and correspondingly unexpected buffer sizes.
2014-08-10 12:32:38 +02:00
Sebastian Rasmussen
70a43758bb shapewipe: Unref caps and element after usage
https://bugzilla.gnome.org/show_bug.cgi?id=734478
2014-08-10 11:09:09 +01:00
Philippe Normand
b8b5704445 interleave: set output caps layout to interleaved
Set output caps layout independently from input caps layout which can
be either non-interleaved or interleaved.

https://bugzilla.gnome.org/show_bug.cgi?id=733866
2014-07-29 11:49:32 +02:00
Sebastian Rasmussen
c541e56b0c tests: fix pipeline leak in videocrop test
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=732976
2014-07-10 22:26:43 +01:00
Sebastian Rasmussen
5cd0261f77 examples: client-rtpaux: Release reference to parent when done
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=732976
2014-07-10 22:25:25 +01:00
Tim-Philipp Müller
46f6687bf6 tests: qtmux: suppress glib criticals caused by testing deprecated dts methods 2014-07-04 19:46:41 +01:00
Sebastian Dröge
0e13172837 rtpsession: Fix memory leaks in unit test 2014-06-30 00:00:43 +02:00
Tim-Philipp Müller
4edbd4c368 tests: matroskaparse: fail on errors and disable pull mode test
Actually look for error messages on the bus and fail if there
is one before the EOS message. Disable pull mode test which is
pointless as long as matroskaparse only supports push mode
(pull mode support has not been ported over to 1.0).
2014-06-28 17:40:45 +01:00
Ravi Kiran K N
e4f0133cb1 videobox: Add unit test
https://bugzilla.gnome.org/show_bug.cgi?id=732144
2014-06-26 18:52:17 +02:00
Tim-Philipp Müller
f7aeb57858 tests: add udpsink test to check client add/remove 2014-06-24 10:48:39 +01:00
Tim-Philipp Müller
495dfe3c5b tests: port udpsink tests to 1.0
They all seem a bit pointless though.
2014-06-24 10:48:32 +01:00
Tim-Philipp Müller
c7c72c00b1 rtph264pay: push single buffer directly, no need to wrap it in a bufferlist
No point in a buffer list if we just have one single
buffer to push. Fix up unit test to handle that case
as well.
2014-06-18 14:54:58 +01:00
Olivier Crête
4377dfeadd rtprtx: Reset state on each iteration
Otherwise it didn't wait for the test to finish before checking the results.

https://bugzilla.gnome.org/show_bug.cgi?id=728501
2014-06-03 17:59:32 -04:00
George Kiagiadakis
b19c830a1c tests/check: rtpsession: test internal sources timing out 2014-05-14 16:01:50 +02:00
Wim Taymans
b2e1598e4a rtpjitterbuffer: increment accepted packets after loss
When we detect a lost packet, expect packets with higher
seqnum on the input.

Also update the unit test.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=729524
2014-05-09 18:10:32 +02:00
Jason Litzinger
9068e1bb8e Add new test case. 2014-05-09 18:10:32 +02:00
Wim Taymans
5c90f17cf0 shapewipe: no need to activate pads
Activation will happen in the state change
2014-05-09 18:10:31 +02:00
Tim-Philipp Müller
c3bd2bdcf4 tests: fix compilation of souphttpsrc test for libsoup 2.40 for real
https://bugzilla.gnome.org/show_bug.cgi?id=727329
2014-05-07 15:49:39 +01:00
Tim-Philipp Müller
cf94d498e6 tests: fix compilation of souphttpsrc test for libsoup 2.40
SOUP_CHECK_VERSION was only added in 2.41, but we only
depend on 2.40.

https://bugzilla.gnome.org/show_bug.cgi?id=727329
2014-05-07 13:27:10 +01:00
Olivier Crête
985897d8d9 rtpaux/rtprtx: Make tests non-racy
Fix the raciness by iterating on a condition instead of using the gmainloop.
Don't use the EOS as the target, otherwise the retransmission of the last
packets are lost. Also count the retranmissions requests that are dropped.
Check the condition before blocking on the GCond

https://bugzilla.gnome.org/show_bug.cgi?id=728501
2014-05-04 22:37:26 -04:00
Olivier Crête
0742a5a257 rtpmux: Always let upstream chose the ssrc if it wishes 2014-05-04 19:11:03 -04:00
Olivier Crête
2e54d38dd0 rtpsession: Keep local conflicting addresses in the session
As we now replace the local RTPSource on a conflict, it's no longer possible
to keep local conflicts in the RTPSource, so they instead need to be kept
in the RTPSession.

Also fix the rtpcollision test to generate multiple collisions instead of
one by change the address, as otherwise we detected that it was a single one.
2014-05-03 18:30:20 -04:00
Sebastian Dröge
3b5deb2b45 shapewipe: Send initial events after setting the elements to PLAYING
Otherwise we send them too early, and setting the elements to PLAYING
afterwards will drop all the events again.
2014-05-03 11:43:21 +02:00
Matthew Waters
fc45400f4e gl/examples: move to -bad
- fix all the compiler errors
- give them their own gl directory
2014-04-29 16:40:08 +10:00
Sebastian Dröge
2149d5a9bd rtprtx: Don't forget to unmap rtp buffer in the test 2014-04-17 18:07:09 +02:00
Sebastian Dröge
5dba8dfe59 rtprtx: Provide an ssrc in the test
And increase timeout to allow all tests to run in valgrind.
2014-04-17 17:43:12 +02:00
Sebastian Dröge
02d9b5e6f8 rtpsession: Fix memory leaks in test 2014-04-17 17:33:46 +02:00
Sebastian Dröge
02e62c139d rtpjitterbuffer: Fix hundreds of memory leaks in the test 2014-04-17 17:26:36 +02:00
Sebastian Dröge
0c073b2d1d rtpcollision: Fix memory leaks in unit test 2014-04-17 16:39:59 +02:00
Sebastian Dröge
cd4c17031b videomixer: Fix memory leak in unit test 2014-04-16 19:03:47 +02:00
Sebastian Dröge
6c02593386 aacparse: Fix memory leak in the test 2014-04-16 17:35:42 +02:00
Reynaldo H. Verdejo Pinochet
f187d9fc7c tests: souphttpsrc: use SoupKnownStatusCode if needed
From libsoup docs:

Prior to 2.44 SoupStatus was called SoupKnownStatusCode,
but the individual values have always had the names they
have now.

Fixes:
  https://bugzilla.gnome.org/show_bug.cgi?id=727329
2014-04-07 17:48:35 -03:00
Руслан Ижбулатов
12e669f388 gl: fix the use of always-defined macros
After 2a0f0399ae GST_GL_* macros are always
defined to 0 or 1. Don't use #ifdef ... or #if defined() on them.

https://bugzilla.gnome.org/show_bug.cgi?id=726591
2014-03-18 06:17:03 +00:00
Matthew Waters
499cd75e4b [864/906] examples: update to gtk3 2014-03-15 18:37:05 +01:00
Sebastian Dröge
f5cb0ccb16 [771/906] gl: Some less long/ulong/gulong usage 2014-03-15 18:36:59 +01:00
Mathieu Duponchelle
e850ed5498 [769/906] tests/examples: fix and port some of the examples.
Realize widgets, remove glupload element.
2014-03-15 18:36:59 +01:00
Sebastian Dröge
804c5b14e8 [729/906] gl: Include config.h everywhere 2014-03-15 18:36:57 +01:00
Sebastian Dröge
1a2de27a52 [720/906] examples: Stop using deprecated GLib thread API 2014-03-15 18:36:56 +01:00
Matthew Waters
d6054f9738 [603/906] update FSF address 2014-03-15 18:36:50 +01:00
Matthew Waters
3d180b1602 [560/906] examples: update for bus api changes and glimagesink changes 2014-03-15 18:36:47 +01:00
Matthew Waters
d4a320f81f [511/906] tests: update for 1.0 2014-03-15 18:36:44 +01:00
Stefan Kost
4555feb043 [461/906] xoverlay: require base from git and update to new API 2014-03-15 18:36:41 +01:00
Julien Isorce
b130c3b750 [457/906] gtk examples: adapt code since the native-window changes from gtk
Fixes bug #599885
2014-03-15 18:36:41 +01:00
Руслан Ижбулатов
df4b871718 [413/906] Fix Windows compiler warning in test/examples/gtk/fxtest/pixbufdrop.c 2014-03-15 18:36:39 +01:00
Julien Isorce
757d005662 [386/906] pixbufdrop: fix example on win32 2014-03-15 18:36:37 +01:00
Filippo Argiolas
754299a5fd [361/906] gstgtk: add missing license and copyright information 2014-03-15 18:36:35 +01:00
Filippo Argiolas
b1102eafe5 [360/906] examples: add missing copyright/license to my examples 2014-03-15 18:36:35 +01:00
David Schleef
b70b0106b5 [328/906] Convert gtk examples to use helper library
Helper lib implements gst-gtk glue on all platforms
2014-03-15 18:36:34 +01:00
David Schleef
cbbb5f1eff [310/906] Global reindent
Indent parameters:
INDENT_PARAMETERS="--braces-on-if-line \
        --case-brace-indentation0 \
        --case-indentation2 \
        --braces-after-struct-decl-line \
        --line-length80 \
        --no-tabs \
        --cuddle-else \
        --dont-line-up-parentheses \
        --honour-newlines \
        --continuation-indentation4 \
        --tab-size8 \
        --indent-level2"
2014-03-15 18:36:33 +01:00
David Schleef
500ebc49b9 [308/906] Rename glpixbufoverlay to gloverlay 2014-03-15 18:36:32 +01:00
Julien Isorce
f115d31df6 [301/906] depends on libpng instead of gdk_pixbuf 2014-03-15 18:36:32 +01:00
David Schleef
ea43a17480 [298/906] Revert "Fix indention"
This reverts commit 96e4ab18c2cf9876f6c031b9aba6282d0bd45a93.

You should have asked first.  And you would have been told "no",
because it causes people on development branches to do a huge
amount of extra work.
2014-03-15 18:36:32 +01:00
Sebastian Dröge
4525015dc6 [295/906] Fix indention 2014-03-15 18:36:32 +01:00
Filippo Argiolas
532ea881fb [247/906] Import xray effect
Add xray effect. Maps luma to a negative, slightly cyan tinted, curve,
applies some light gaussian blur and multiplies it with its sobel edges. Not
sure about the name, likely to change. Probably still needs some tuning.
2014-03-15 18:36:29 +01:00
Julien Isorce
dcbc69cb0b [199/906] add pixbufdrop vs8 project 2014-03-15 18:36:26 +01:00
Julien Isorce
04ccea8780 [198/906] add fxtest vs8 project 2014-03-15 18:36:26 +01:00
Filippo Argiolas
3264db13fa [195/906] fix gstgldifferencematte and add an example app to test it dragging an image over the video (works with pixbufoverlay too, see pixbufdrop --help) 2014-03-15 18:36:26 +01:00
Filippo Argiolas
944afa296c [180/906] minor cleanup in fxtest 2014-03-15 18:36:25 +01:00
Filippo Argiolas
8941057006 [178/906] improve fxtest command line option handling, default to videotestsrc if no source bin description is given 2014-03-15 18:36:25 +01:00
Filippo Argiolas
f327cd5a86 [175/906] add sin effect (desaturate everything but red shades). still needs some tuning. 2014-03-15 18:36:25 +01:00
Filippo Argiolas
0bb26924a8 [173/906] add lumaxpro (desaturate + cross process) effect. nothing too impressive but I like it. 2014-03-15 18:36:25 +01:00
Filippo Argiolas
ae673c3d4a [172/906] add support for command line parsing to fxtest (try fxtest videotestsrc ! desired caps ! identity). report a new issue on BUGS. 2014-03-15 18:36:25 +01:00
Filippo Argiolas
530be54c7b [171/906] import fxtest (little gtk app to easily test effects) from cvs branch, fixed rgbtocurve. 2014-03-15 18:36:25 +01:00
Nicolas Dufresne
418a4940a8 v4l2: Use a copy of videodev2.h header
With years the amount of ifdef have grown up and we are not even sure if the
old code path compiles. Each time we need to update the v4l2 framework to add
the new feature, we break compilation on older kernel. With exception of two
controls in the video orientation control, this patch get rid of all ifdef by
including the latest version of videodev2.h inside GStreamer.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=723446
2014-03-15 13:54:47 +01:00
Sebastian Rasmussen
1a91ab31d1 tests: Don't build disabled plugins' check tests
https://bugzilla.gnome.org/show_bug.cgi?id=723502
2014-02-26 21:07:57 +01:00
Stefan Sauer
ce683b0031 autodetect: improve the tests
Add fake audio/video sinks. Previously running the test might be flaky due to
the use of real elements (hardware in use), which we don't want to test here.
Add two more tests that check that the fakes are chosen.
2014-02-19 21:07:28 +01:00
Stefan Sauer
02e59756a9 autodetect: fix the disabled test
Use a shared helper for both tests. It turns out that the valgrind variant is
fine (maybe due to picking up pulsesink though).
2014-02-19 11:26:22 +01:00
Stefan Sauer
c40e8b1210 autodetect: remove cruft from the test
Remove the obsolete version check and use the ignore macro for the disabled test.
2014-02-19 11:05:35 +01:00
Wim Taymans
6af234e29e tests: fix typecast to fix compilation 2014-02-14 15:53:55 +01:00
Sebastian Dröge
1a78a7eb22 souphttpsrc: Fix implicit enum conversion compiler warning
error: implicit conversion from enumeration type
'SoupStatus' to different enumeration type 'SoupKnownStatusCode'
2014-02-08 17:43:32 +01:00
Sebastian Dröge
ec1899e456 interleave: Fix unitialized variable compiler warning in test
error: variable 'mask' is used uninitialized
whenever 'if' condition is false [-Werror,-Wsometimes-uninitialized]
2014-02-08 17:41:21 +01:00
Edward Hervey
ceb602073a check: Use fakesink sync=True instead of an audio sink
Ensures the test can run on systems without alsa (or any audio output for
that matter), and will avoid people running build slaves wondering what
the hell was beeping during the night :)
2014-01-29 10:37:53 +01:00
George Kiagiadakis
016e1562a6 tests: rtprtx::test_rtxreceive_data_reconstruction: remove useless code for triggering retransmission
There is no need anymore to push yet another buffer in rtxsend
in order to trigger the previously requested retransmissions
to actually happen.
2014-01-21 15:00:54 +01:00
George Kiagiadakis
184553151d tests: rtprtx::test_rtxreceive_data_reconstruction: fix race condition
Now with rtprtxsend pushing rtx buffers from a different thread,
this is necessary to ensure that the result of the test is deterministic.

This code makes use of GstCheck's global GMutex and GCond that are
being used inside GstCheck's sink pad chain() function in order
to synchronize with it.
2014-01-21 15:00:53 +01:00
George Kiagiadakis
7677aec2fa tests: rtprtx::test_rtxsender_packet_retention: fix race condition
Now with rtprtxsend pushing rtx buffers from a different thread,
this is necessary to ensure that the result of the test is deterministic.

This code makes use of GstCheck's global GMutex and GCond that are
being used inside GstCheck's sink pad chain() function in order
to synchronize with it.
2014-01-21 15:00:53 +01:00
George Kiagiadakis
7011f98d7e tests: rtprtx::test_push_forward_seq: fix race condition
Now with rtprtxsend pushing rtx buffers from a different thread,
this is necessary to ensure that the result of the test is deterministic.

This code makes use of GstCheck's global GMutex and GCond that are
being used inside GstCheck's sink pad chain() function in order
to synchronize with it.
2014-01-21 15:00:53 +01:00
George Kiagiadakis
c702e37091 tests: rtprtx::test_push_forward_seq: fix buffer refcounting 2014-01-21 15:00:53 +01:00
Olivier Crête
8a143dfcbc tests: Remove usage of the system clock from the rtprtx test 2014-01-15 10:13:12 +01:00
Olivier Crête
f0a4f26fa7 tests: Initial segment in rtpcollision test 2014-01-15 10:13:12 +01:00
George Kiagiadakis
a7823bc522 examples/*-rtpaux: specify payload type association for the audio stream, so that rtx works also for audio 2014-01-15 10:13:12 +01:00
Stefan Sauer
d1223ebd10 wavparse: split the test
This way one failure won't shadow the other test and also if one fails we get
better disgnostics through the test-name.
2014-01-06 21:13:37 +01:00
George Kiagiadakis
94e4cd203b test/check: Verify rtprtxsend::ssrc-map property works as expected 2014-01-03 20:48:29 +01:00
George Kiagiadakis
9226091235 rtprtxreceive: modify to use a payload-type map like rtprtxsend 2014-01-03 20:48:29 +01:00
Wim Taymans
130ad1b1fa rtprtxsend: Allow SSRC-multiplexing and multiple payload types in the original stream
Conflicts:
	tests/examples/rtp/server-rtpaux.c
2014-01-03 20:48:29 +01:00
Torrie Fischer
e29b5f8b41 examples: rtp: Add end-to-end rtpbin example with RTX elements
This example demonstrates how to use rtpbin with retransmission (rtx)
elements set in the place of rtpbin's "aux" elements in order to
enable RTP retransmission according to the rules of RFC4588.
2014-01-03 20:48:29 +01:00
Julien Isorce
5f360f3b13 tests/check: add rtpaux::test_simple_rtpbin_aux
It shows how to use "set-aux-receive" and "set-aux-send"
properties of rtpbin to set rtprtxsend and rtprtxreceive

Build 2 pipelines, one for rtpbin as a sender and one for
rtobin as a receive. Then transmit an audio stream.

It also drops some packets to activate restransmission and
check they are actually retransmited.
2014-01-03 20:48:29 +01:00
Julien Isorce
68149d14e1 tests/check: add rtpcollision::test_rtx_ssrc_collision unit test
check that rtxrtpsend changes its retransmission ssrc when
collision happens
2014-01-03 20:48:28 +01:00
George Kiagiadakis
123bc46b60 tests/check: add rtprtx::test_rtxreceive_data_reconstruction
This unit test verifies that retransmitted rtp packets coming out
of rtprtxreceive are the same as the original ones.
2014-01-03 20:48:28 +01:00
George Kiagiadakis
487fa8c989 rtprtxsend: retransmit packets in the same order as the rtx requests 2014-01-03 20:48:28 +01:00
George Kiagiadakis
3e818e218b tests/check: Add unit test for rtxsend's max_size_time property 2014-01-03 20:48:28 +01:00
George Kiagiadakis
f7277db9e4 tests/check: Add rtprtx::test_rtxsender_packet_retention
This unit test verifies that the rtxsend element correctly maintains
a buffer of already transmitted rtp packets and that it can
re-transmit all of them correctly on demand. It also verifies
that the limit of this buffer (max-size-packets property) is respected.
2014-01-03 20:48:28 +01:00
Julien Isorce
71bdb5e088 tests/check: add rtprtx::test_drop_multiple_sender unit test
Several senders / one receiver

Similar than test_drop_one_sender but with multiple senders
mixed through the funnel element.
It drops some packets and checks that they are retransmited
correctly.
2014-01-03 20:48:28 +01:00
Julien Isorce
2a2fa7ebc0 tests/check: add rtprtx::test_drop_one_sender unit test
Test for one sender / one receiver

Build the pipeline
videotestsrc ! rtpvrawpay ! rtprtxsend ! rtprtxreceive ! fakesink
and drop some buffers between rtprtxsend and rtprtxreceive
Then it checks that every dropped packet has been re-sent.
It also checks that not too much requests has been sent.
2014-01-03 20:48:27 +01:00
Julien Isorce
2e4ce28443 tests/check: add rtprtx::test_push_forward_seq
add simple unit test that manually push buffers
in rtprtxsend connected to rtprtxreceive.
Drops some buffers and make sure they are retransmisted.
2014-01-03 20:48:27 +01:00
Wim Taymans
c83ed4f61e tests: add AUX receiver unit test 2013-12-31 15:08:49 +01:00
Wim Taymans
b91e0096b7 tests: improve rtpbin test 2013-12-31 15:08:49 +01:00
Wim Taymans
3e83e6a33d tests: add AUX sender unit test 2013-12-31 15:08:49 +01:00
Wim Taymans
841f9ad050 tests: add decoder test 2013-12-31 15:08:48 +01:00
Wim Taymans
3f3b2d0886 rtpbin: handle multiple encoder instances
Keep track of elements that are added to multiple sessions and make sure
we only add them to the rtpbin once and that we clean them when no
session refers to them anymore.
2013-12-30 16:28:57 +01:00
Wim Taymans
76e4cbc753 tests: add unit test for encoder element 2013-12-30 15:17:05 +01:00
Wim Taymans
bcd1589a91 tests: fix leak 2013-12-30 15:17:05 +01:00
Sebastian Dröge
29840bfd96 wavpackdec: Send a CAPS event in the unit test 2013-12-30 11:07:03 +01:00
Olivier Crête
dc845c1899 tests: Initialize segment in rtpcollision test 2013-12-13 16:05:41 -05:00
George Kiagiadakis
f9b7f44938 tests/check: add an rtpsession unit test to verify all RBs are included in all SRs, roundrobin
This test checks that when we have multiple internal sender sources
in rtpsession, SRs contain RBs for every other sender source, and that
they are included roundrobin when they exceed ST_RTCP_MAX_RB_COUNT,
which is the max number of RBs that can fit in a SR.
2013-12-12 16:02:56 +01:00
Julien Isorce
d562263852 tests/check: improve rtpcollision::test_master_ssrc_collision to ensure that a collision does not BYE the whole session
Conflicts:
	tests/check/elements/rtpcollision.c
2013-12-12 15:39:40 +01:00
Julien Isorce
7b001e35ed tests/check: add rtpcollision::test_master_ssrc_collision unit test
It checks the payloader changes its ssrc when collision happens
2013-12-12 15:39:39 +01:00
Wim Taymans
eee515cb2c rtpjitterbuffer: serialize events in the buffer
Serialize events into the jitterbuffer by inserting them with a -1
seqnum.
Update unit test to expect events from the streaming thread.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=652986
2013-12-10 11:57:37 +01:00
Wim Taymans
e0a5c07e8d audioparsers: use ACCEPT_INTERSECT flag
The parser can accept input that is not completely specified. Use the
ACCEPT_INTERSECT flag on the sinkpad to tweak the acceptcaps function to
check for intersection only. This allows us to proxy downstream
constraints while still allowing non-subset caps as input.
We can then also remove the appended template caps workaround.
Make a unit-test to check the new feature.

This reverts commit 26040ee38c

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=705024
2013-12-03 22:26:44 +01:00
Nicolas Dufresne
77833b886d videoflip: Add unit test for the 'automatic' method
These new tests send a tag event before seding the buffer. Tested case are an
empty tag list, a tag list with orientation-180 set and an invalid orientation value.

https://bugzilla.gnome.org/show_bug.cgi?id=719497
2013-11-28 11:59:05 -05:00
Wim Taymans
29d9b1e7de check: fix jitterbuffer check
Don't advance the clock to 240ms too early.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=710013
2013-11-25 17:39:52 +01:00
Wim Taymans
710d1f3a2a rtpjitterbuffer: improve clear-pt-map handling
Don't reset the expected output seqnum when clearing the pt map because this
could stall the jitterbuffer forever.
Add a unit test for this.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=709800
2013-11-25 15:52:22 +01:00
George Kiagiadakis
387e3b918a rtpjitterbuffer: Fix stats property field names and documentation 2013-11-15 16:23:34 +02:00
Torrie Fischer
22ceb80ba9 rtpjitterbuffer: implement rtx statistics 2013-11-14 09:24:26 +01:00
Wim Taymans
3623ebf01e check: add rtpsession test
Add a basic rtpsession test to ensure that RR blocks are generated when
multiple SSRC senders are active.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=711270
2013-11-11 14:28:52 +01:00
Thiago Santos
43602e2d8a tests: souphttpsrc: add explicit cast to silence warning
Silencing this warning:

elements/souphttpsrc.c:533:14: error: comparison between ‘SoupKnownStatusCode’ and ‘enum <anonymous>’ [-Werror=enum-compare]
   if (status != SOUP_STATUS_OK && !send_error_doc)

With gcc 4.8.2 (debian)
2013-10-31 13:22:40 -03:00
Wim Taymans
3c69d65b85 tests: add test for retransmission because of reordering 2013-09-23 14:45:27 +02:00
Wim Taymans
f40d6689f2 tests: remove timeouts from check
Timeouts make the test unreliable and are not needed.
2013-09-23 14:45:26 +02:00
Wim Taymans
a71014518c tests: add test for packet delay and retransmission 2013-09-23 14:45:24 +02:00
Wim Taymans
c959cdc8c1 tests: check both PTS and DTS 2013-09-23 14:45:24 +02:00
Wim Taymans
2e3346eff9 tests: add unit-test for multiple missing packets
Check if multiple missing packets generate retransmission events and that the
retranmission requests are canceled when the missing packet arrives.
2013-09-23 14:45:24 +02:00
Wim Taymans
3b9e2ee5a0 tests: improve debug 2013-09-23 14:45:23 +02:00
Wim Taymans
ee817363c7 tests: add retransmission jitterbuffer test
Store both DTS and PTS on buffers.
Make a queue for srcpad events.
Activate pads after linking so that we don't get RECONFIGURE events.
Add test for retransmission.
2013-09-19 14:32:48 +02:00
Wim Taymans
ee75d4b01e tests: fix comments 2013-09-18 15:08:45 +02:00
Wim Taymans
5c1f2f0045 rtpjitterbuffer: add another test
The test is modified slightly because the late lost packets are only
generated now when a large gap is received.
2013-09-18 14:23:55 +02:00
Wim Taymans
5d5fc03e04 rtpjitterbuffer: round gap duration to multiple of duration
Make sure the gap duration in the lost event is a multiple of the packet
duration.
Enable another test.
2013-09-18 14:12:47 +02:00
Wim Taymans
6e4a051d40 rtpjitterbuffer: keep track of duration
Keep track of the estimated duration of missing packets and use it in the lost
event.
Enable another unit test
2013-09-18 12:29:38 +02:00
Wim Taymans
ac3bb3acf6 rtpjitterbuffer: handle large gaps with one lost event
When we have a large number of missing packets, generate one lost event for all
the packets that have no chance of being pushed out in time.
Fix and activate unit test for large gaps.
2013-09-18 11:59:28 +02:00
Wim Taymans
99675d1161 check: change for videomixer renamed orc file 2013-09-17 15:11:41 +02:00
Wim Taymans
aa9af2c82e examples: we don't need the queue anymore 2013-09-16 15:55:55 +02:00
David Holroyd
a956a6ceb2 rtp: add L24 pay and depayloader
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=707734
2013-09-09 15:13:46 +02:00
Tim-Philipp Müller
cc4f985332 tests: rganalysis: rename function for clarity 2013-09-02 22:50:58 +01:00
Christoph Reiter
92dde0760b tests: fix skipped rganalysis tests
In 0.10 elements would post tag messages on the bus
directly, and rganalysis would only post a tag message
when it changed tags. In 1.0, only sinks post tag
messages when they receive the serialised tag event.
This means that we get an additional tag message on
the bus now where we didn't expect one before.

https://bugzilla.gnome.org/show_bug.cgi?id=695090
2013-09-02 20:00:29 +01:00
Wim Taymans
43359b9244 tests: add retransmission example 2013-08-23 12:10:19 +02:00
Thibault Saunier
6c349d6ec3 videomixer: Send EOS if buf_end >= segment.stop
That means the whole segment is already played, and we are sure we
are EOS at that point.

Also handle segment seeks, and do not send EOS in that case.
2013-08-11 19:05:18 +02:00
Tim-Philipp Müller
67eb029a50 tests: skip https test if there's no TLS support in soup/glib 2013-08-04 14:32:47 +01:00
David Schleef
4a2ae4c001 tests: create/remove orc directory at proper time
Before automake creates .deps directories, and during distclean.
2013-08-02 17:38:34 -07:00
Tim-Philipp Müller
7a740479b9 tests: ignore new test binaries 2013-07-29 19:48:54 +01:00
Tim-Philipp Müller
a53dcf98f8 tests: fix test ID3 tags up not to rely on dodgy typefinding code
Change 0xff 0xfb 'mp3' marker to 'fLaC' marker, so we can fix
the typefinder.

https://bugzilla.gnome.org/show_bug.cgi?id=681368
2013-07-25 10:43:13 +01:00
Nicolas Dufresne
01b20ab901 videocrop: Fix unit for GRAY16 formats 2013-07-18 10:54:50 -04:00
Douglas Bagnall
cff0b179d3 level: Fix the spectrum example for 1.0
The "message" property has been replaced by "post-messages".

Pre-patch output:

(test_spectrum:23101): GLib-GObject-WARNING **: g_object_set_valist:
object class `GstSpectrum' has no property named `message'
New spectrum message, endtime 0:00:00.100000000

(test_spectrum:23101): GStreamer-CRITICAL **:
gst_value_list_get_value: assertion `GST_VALUE_HOLDS_LIST (value)' failed
[...]

Post-patch:

New spectrum message, endtime 0:00:00.100000000
band 0 (freq 400): magnitude -65.988777 dB phase 1.533397
band 1 (freq 1200): magnitude -65.545563 dB phase -0.780900
band 2 (freq 2000): magnitude -64.791946 dB phase -0.799611
band 3 (freq 2800): magnitude -64.556175 dB phase -0.063615
[...]

https://bugzilla.gnome.org/show_bug.cgi?id=704179
2013-07-15 08:02:01 +02:00
Sebastian Dröge
1a11a9be0c rtp: Fail payloading unit test if an error message is received 2013-07-08 14:15:34 +02:00
Stefan Sauer
115b117878 audiopanorama: cleanup and expand the tests
Split out two more tests. Extract more common code into helpers. Add coverage for float.
2013-06-11 21:48:18 +02:00
Stefan Sauer
1602f50195 level: rework the tests to cover other formats too 2013-06-09 20:39:48 +02:00
Stefan Sauer
bf250a90dc tests: cleanup level tests
Split out a few more tests to avoid checking the same stuff over and over again.
2013-06-02 13:05:09 +02:00
Stefan Sauer
19b23d3b90 level: add a test for continous timestamps
A test that checks that msg[n].ts + msg[n].dur == msg[n+1].ts.
2013-06-01 21:34:37 +02:00
Wim Taymans
1516c14881 Revert "rtph264pay/depay: Add frame dimensions a payloaded caps"
This reverts commit 3dca756a5d.

The H264 RTP spec has no attributes for width and height.
2013-05-31 15:11:12 +02:00
Wim Taymans
f870cef8bc Revert "rtpjpegpay/depay: Replace framerate caps field with fraction"
This reverts commit 9fd25a810b.

We deal with sdp attributes in application/sdp, which are always strings.
2013-05-31 15:05:51 +02:00
Thibault Saunier
03fc515f66 tests: videomixer: Add a testsuite for videomixer
This is mostly copy pasted from -base/tests/check/elements/adder.c
2013-05-25 11:05:37 -04:00
Sebastian Rasmussen
9fd25a810b rtpjpegpay/depay: Replace framerate caps field with fraction
The previous implementation had the formatting of SDP attributes happen
in each RTP payloader, now instead the constituent values are propagated
as caps fields. This allows for applications to do SDP offer/answer
based on caps negotiation.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=700748
2013-05-23 21:05:49 +02:00
Sebastian Rasmussen
3dca756a5d rtph264pay/depay: Add frame dimensions a payloaded caps
This allows for applications to format SDP attributes and still do SDP
offer/answer based on caps negotiation.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=700749
2013-05-23 21:04:11 +02:00
Thibault Saunier
f1f149b503 tests: Re-enable videomixer test
https://bugzilla.gnome.org/show_bug.cgi?id=684237
2013-05-19 09:28:04 -04:00
Sebastian Dröge
381e6912a5 rgvolume: Fix event handling in the unit test 2013-05-14 17:29:18 +02:00
Sebastian Dröge
4bf7dabed1 rglimiter: Fix event handling in unit tests 2013-05-14 16:34:54 +02:00
Sebastian Dröge
4d81538090 rganalysis: Fix event handling in unit test 2013-05-14 16:31:57 +02:00
Sebastian Dröge
0e76ed510c qtmux: Fix event handling in unit test 2013-05-14 16:08:54 +02:00
Sebastian Dröge
924d7eeadf multifile: Fix event handling in unit test 2013-05-14 16:00:58 +02:00
Sebastian Dröge
3909eced0e mulaw: Fix event handling in unit test 2013-05-14 13:58:01 +02:00
Sebastian Dröge
da95e53c73 interleave: Fix event handling in unit test 2013-05-14 10:25:56 +02:00
Nicolas Dufresne
04c9f43567 rtpmux: Send stream-start before caps 2013-05-13 15:37:05 +02:00
Nicolas Dufresne
7719b19aec rtpjitterbuffer-test: Send stream-start before caps followed by segment 2013-05-13 15:36:49 +02:00
Nicolas Dufresne
c561ce0b9f rtpbin-test: Send missing stream-start and segment events 2013-05-13 15:36:34 +02:00
Sebastian Dröge
3dd14e968a tests: Fix some more event handling in tests 2013-05-13 15:36:19 +02:00
Sebastian Dröge
e1c959c60c icydemux: Fix event handling in unit test 2013-05-13 15:19:36 +02:00
Sebastian Dröge
511fb95ef8 deinterleave: Fix event handling in test 2013-05-13 14:55:27 +02:00
Nicolas Dufresne
e6a14a95ea shapewipe-test: Send inital events
https://bugzilla.gnome.org/show_bug.cgi?id=700033
2013-05-11 09:12:35 +02:00
Nicolas Dufresne
5abd7698f3 spectrum-test: Send inital events
https://bugzilla.gnome.org/show_bug.cgi?id=700033
2013-05-11 09:12:12 +02:00
Nicolas Dufresne
890e9e3738 videofilter-test: Send inital events
https://bugzilla.gnome.org/show_bug.cgi?id=700033
2013-05-11 09:12:06 +02:00
Nicolas Dufresne
96df3472ba wavpackparse-test: Send inital events
https://bugzilla.gnome.org/show_bug.cgi?id=700033
2013-05-11 09:12:01 +02:00
Nicolas Dufresne
93bd95f518 y4menc-test: Send inital events
https://bugzilla.gnome.org/show_bug.cgi?id=700033
2013-05-11 09:11:56 +02:00
Sebastian Dröge
c5c2827114 tests: Fix some more unit tests 2013-05-10 13:34:16 +02:00
Sebastian Dröge
044fcbe901 tests: Fix parser tests 2013-05-10 13:10:29 +02:00
Nicolas Dufresne
6b56ad5d09 jpegenc-test: Send inital events
https://bugzilla.gnome.org/show_bug.cgi?id=700033
2013-05-10 09:24:53 +02:00
Nicolas Dufresne
c944987a2a vp8enc-test: Send inital events
https://bugzilla.gnome.org/show_bug.cgi?id=700033
2013-05-10 09:24:47 +02:00
Nicolas Dufresne
f3bb4d6b34 vp8dec-test: Send inital events
https://bugzilla.gnome.org/show_bug.cgi?id=700033
2013-05-10 09:24:35 +02:00
Nicolas Dufresne
67ade43a4f wavpackdec-test: Send initial events
https://bugzilla.gnome.org/show_bug.cgi?id=700033
2013-05-10 09:24:28 +02:00
Nicolas Dufresne
8a9a3039fc videofilter: Unit test send SEGMENT before CAPS
https://bugzilla.gnome.org/show_bug.cgi?id=699966
2013-05-09 09:08:01 +02:00
Nicolas Dufresne
43f9934ba5 avimux: Unit test sends SEGMENT before caps
https://bugzilla.gnome.org/show_bug.cgi?id=699966
2013-05-09 09:07:43 +02:00
Nicolas Dufresne
9bd526ef4a audiowsincband: Test should send segment after CAPS
This makes the unit test pass again.

https://bugzilla.gnome.org/show_bug.cgi?id=699966
2013-05-09 09:07:29 +02:00
Nicolas Dufresne
22d64ea3be audiowsinclimit: Test should send segment after CAPS
This makes the unit test pass again.

https://bugzilla.gnome.org/show_bug.cgi?id=699966
2013-05-09 09:07:10 +02:00
Alexander Schrab
3ec9673dfc mulawdec: change base class to GstAudioDecoder
https://bugzilla.gnome.org/show_bug.cgi?id=698894
2013-04-26 08:46:34 +02:00
Sebastian Dröge
fb0384fa0d mulaw: Some minor memleak fixes and cleanup 2013-04-25 12:44:15 +02:00
Alexander Schrab
f0edb5fb70 mulawenc: change to gstaudioencoder base, added bitrate tags 2013-04-25 12:36:15 +02:00
Tim-Philipp Müller
a8e7cd0860 tests: fix some printf format issues in debug messages 2013-04-11 22:55:58 +01:00
Tim-Philipp Müller
7e91057934 tests: refactor new wavparse test a little
Use fakesrc instead of filesrc with /dev/null.

https://bugzilla.gnome.org/show_bug.cgi?id=696684
2013-04-09 00:28:54 +01:00
Alexander Schrab
79d5a7d03c wavparse: error out if we receive eos before any valid data
https://bugzilla.gnome.org/show_bug.cgi?id=696684
2013-04-09 00:27:31 +01:00
Stefan Sauer
2e56032031 level: subdivide buffers for sample accurate interval handling
Previously we would skip level message when processing buffers > the requested
interval. Also the message frequency would contain quite some jitter due to only
considering them at the end of buffers.

Cleanup the tests while we're at it.
2013-04-03 21:40:17 +02:00
Jonas Holmberg
08c5a04691 autodetect checktest: Do not fail without videosink
If there is no videosink available autovideosink will contain a
fakesink instead which needs special treatment in the unit test.
2013-03-11 10:54:48 +01:00
Tim-Philipp Müller
694dbcc5a0 dtmf: move dtmf plugin from -bad to -good
https://bugzilla.gnome.org/show_bug.cgi?id=687416
2013-03-09 01:18:30 +00:00
Tim-Philipp Müller
a4c5aa38ec Merge branch 'dtmf-moved-from-bad'
https://bugzilla.gnome.org/show_bug.cgi?id=687416
2013-03-09 00:30:38 +00:00
Tim-Philipp Müller
0427524d73 tests: re-add suppression for GValueArray warnings to unit test as well 2013-02-28 17:38:47 +00:00
Jonas Holmberg
fba30e3384 tests: use relative include for out-of-tree builds in dtmf test 2013-02-28 12:30:51 +00:00
Stefan Sauer
b62cb3edcd level: add a "post-messages" property and deprecate "message"
In spectrum this was changed from 0.10 to 1.0, lets do this here too.
2013-02-28 09:43:12 +01:00
Olivier Crête
ab2a342f42 tests: Add tests for dtmfsrc 2013-02-27 18:56:56 -05:00
Olivier Crête
0233eb9f79 tests: Fix ref leak in dtmf test 2013-02-27 16:15:33 -05:00
Thomas Vander Stichele
52b7aab711 level: send last message on EOS 2013-02-25 00:19:22 +01:00
Tim-Philipp Müller
7de14c5dbe tests: fix some h264 caps
Doesn't fix anything in particular, but is
still needed here for correctness.
2013-02-16 15:05:34 +00:00
Sebastian Dröge
a7ddbc03fe rtp-payloading: Fix unit test caps and AMR depayloader sink template caps
Fields were missing from the actual caps, or too many fields
existed in the template caps.
2013-02-13 12:02:46 +01:00
Sebastian Dröge
ae291fc40c aacparse: Fix caps used in the unit test
The AAC caps passed were incomplete.
2013-02-13 11:53:01 +01:00
Sebastian Dröge
17513dae66 wavpack: Fix unit tests, width is now called depth in the caps in 1.0 2013-02-13 11:49:40 +01:00
Tim-Philipp Müller
7d02a4dacb tests: make souphttpsrc unit test work even if http_proxy is set
We're testing with an http server on localhost, but don't support
an exception list for the http_proxy, so just unset the environment
variable to make sure we can run this test properly even if the
environment has http_proxy set.

Also, don't skip all tests if there is an issue with the SSL server,
just run the non-SSL tests then.

https://jenkins.qa.ubuntu.com/view/Raring/view/JHBuild%20Gnome/job/jhbuild-amd64-gst-plugins-good/
2013-02-12 23:34:38 +00:00
Stefan Sauer
02956d7778 level-example. avoid taking the arrays again for each channel for clarity
Also introduce some blank lines for better readability and update the comments.
2013-02-05 18:47:59 +01:00
B.Prathibha
7bb368ee4c tests: use g_timeout_add_seconds instead of g_timeout_add
https://bugzilla.gnome.org/show_bug.cgi?id=692615
2013-01-27 15:38:12 +00:00
Olivier Crête
6105510a7a tests: Add test for rtpdtmfdepay and rtpdtmfsrc 2013-01-25 21:05:39 -05:00
Tim-Philipp Müller
066600c18b tests: skip souphttpsrc tests if there is no local http server to use
Skip tests if the server couldn't be started or we can't connect
to it for some reason (e.g. draconic build bot environments).
2013-01-16 18:03:44 +00:00
Martin Pitt
b46dcf379a tests: use _1_0 variants for the various registry variables
These override the variants without version suffix. Makes 'make check' work
properly in environments that set the suffixed variant for 1.0, such as
jhbuild.
2013-01-16 11:10:19 +00:00
Tim-Philipp Müller
baac8ad663 tests: add test for souphttpsrc error handling with data
https://bugzilla.gnome.org/show_bug.cgi?id=678429
2013-01-01 19:14:36 +00:00
Tim-Philipp Müller
08702be68f cairo: port cairooverlay to 0.11
The other elements are not that interesting now that we're
using pangocairo in the pango plugin, and should probably
just be removed.
2013-01-01 11:52:09 +00:00
Tim-Philipp Müller
1a073355bc examples: check for uri argument in decodebin-h264p-amr server example
Otherwise people get a rather confusing error message.
2012-12-31 18:59:18 +00:00
Jonas Holmberg
60fa4536e2 tests: add jpegpay unit test
See also https://bugzilla.gnome.org/show_bug.cgi?id=684955
2012-12-20 16:15:13 +01:00
Tim-Philipp Müller
3295b5d791 rtpmanager: move rtpmux and rtpdtmfmux elements from -bad
https://bugzilla.gnome.org/show_bug.cgi?id=629117
2012-12-16 16:36:39 +00:00
Tim-Philipp Müller
de204ba754 rtpmux: Fix FSF address
https://bugzilla.gnome.org/show_bug.cgi?id=687520
2012-12-16 16:36:39 +00:00
Olivier Crête
15dfdc58d4 rtpmux: Misc fix for 0.11
Convert the incoming caps before proxying them
Clear the last_pad when going to ready

tests: Implement accept_caps, don't leak event
2012-12-16 16:36:38 +00:00
Olivier Crête
f20a6b1d16 rtpmux: port to 0.11 2012-12-16 16:35:26 +00:00