Commit graph

983 commits

Author SHA1 Message Date
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
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 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