Commit graph

1596 commits

Author SHA1 Message Date
Tim-Philipp Müller
9b1bf88d7d checks: don't assume element factory is not loaded yet
It may already be loaded if check is being run with CK_FORK=no.

See #623469.
2010-07-03 14:11:32 +01:00
Edward Hervey
70d1f1f177 gstcaps: Make sure _normalize() is applied on all structures.
We need to use gst_caps_get_size() in the loop counter since some
structures could be added while iterating.

Fixes #623301
2010-07-01 18:17:40 +02:00
Tim-Philipp Müller
bdcb5fec0f examples: remove xml example build system bits and purge from tree
Fixes make distcheck.
2010-06-26 10:35:38 +01:00
Tim-Philipp Müller
a70a6d10ff examples: add missing stdlib.h include in typefind example 2010-06-26 10:35:38 +01:00
Sebastian Dröge
ea82d2d72a tests: Remove GstXML tests 2010-06-25 18:25:40 +02:00
Sebastian Dröge
5f4a965f67 gstxml: Deprecate GstXml and related functions
Pipeline serialisation to and from XML is horribly broken for all
but the most simple use cases, and will likely never be fixed.
Make sure everyone playing around with these tools is aware of
this, to avoid frustration. See countless bug reports in bugzilla.

Fixes bug #622685.
2010-06-25 18:25:40 +02:00
Edward Hervey
83f6185707 benchmarks: Use gst_element_link_pads_full
We're testing caps negotiation, not pad linking. Brings the startup
time down 100 fold.
2010-06-25 17:51:49 +02:00
Edward Hervey
3df54c45bf Revert "gstpad: Return pad template in get_caps if pad is not negotiable"
This reverts commit 7460321a60.

crack
2010-06-15 11:54:19 +02:00
Edward Hervey
7460321a60 gstpad: Return pad template in get_caps if pad is not negotiable
https://bugzilla.gnome.org/show_bug.cgi?id=618644
2010-06-14 17:08:14 +02:00
Sebastian Dröge
121a0f6f7b caps: Don't use invalid fraction range in the unit test 2010-06-14 15:45:11 +02:00
Sebastian Dröge
a55765465d rtpool-test: Prevent NULL pointer dereference 2010-06-13 18:12:47 +02:00
Sebastian Dröge
e03b46cae4 bufferstress: Check if the number of threads and buffers makes sense 2010-06-13 17:08:37 +02:00
Sebastian Dröge
199b180439 read-metadata: Stop if setting the pipeline state back to NULL fails 2010-06-13 17:03:53 +02:00
Sebastian Dröge
59147fd111 complexity: Remove dead assignments and unused variables 2010-06-13 16:59:40 +02:00
Sebastian Dröge
4a3dde96e7 value: Add test for deserializing fourccs 2010-06-12 08:07:46 +02:00
Martin Bisson
ab0763f0e8 value: Fixed serialization for short fourccs.
"Y16 " and "Y8  " were not displayed properly because the space
character is not alnum.  A unit test is also included.

Fixes bug #621282.
2010-06-12 08:07:34 +02:00
Stefan Kost
94ed3c370a capsnego: also meassure pipeline building time 2010-06-06 21:20:21 +03:00
Mark Nauwelaerts
d6a6dbd740 tests: also check for adapter buffer merging in unit test 2010-05-27 15:10:34 +02:00
Wim Taymans
88c6896fb9 gstbin: unlock _get_state() on error
When an error message is received on the bus, mark the bin as being in the error
state and unlock all current _get_state() calls with an error.

Fixes #505770
2010-05-25 19:17:44 +02:00
Tim-Philipp Müller
4c37bae463 checks: add multi-thread test for tagsetter
See #619533.
2010-05-24 19:08:42 +01:00
Stefan Kost
4ac58c3816 tests: rename testsuite
Previous name was only applicable to a few of the tests.
2010-05-22 22:46:40 +03:00
Stefan Kost
5e1a7d9360 benchmark: add commandline parameters for capsnego
Allow to specify the graph size and offer two flavours (audio/video).
2010-05-19 14:11:56 +03:00
Stefan Kost
da46035638 benchmarks: add a benchmark for capsnegotiation
The test builds a tree like graph having conversion and basetransform elements.
2010-05-19 09:59:31 +03:00
Stefan Kost
f9fd1524cd benchmarks: use gst_util_get_timestamp() instead of own implementation 2010-05-19 09:59:30 +03:00
Edward Hervey
2d094c57d8 tests: Read return value to make clang/icc happy 2010-05-06 17:32:11 +02:00
Stefan Kost
bbda261b51 tests: add more tests for controller
The tests verify that bug #616846 is indeed fixed.
2010-04-27 12:13:00 +03:00
Wim Taymans
67ab660b19 bin: fix refcount when removing elements during state change
When an element is removed from a bin because it caused a state change error,
don't unref the child twice.
Add some more debug info.
Add a unit test for this error.

Fixes #615756
2010-04-14 18:32:26 +02:00
Tim-Philipp Müller
88b4a704f3 tests: more LDFLAGS -> LDADD fixes 2010-04-14 11:50:38 +01:00
Edward Hervey
62352d6f1c tests: gstsystemclock: don't leak the system clock 2010-04-07 09:31:39 +02:00
Edward Hervey
2183504355 tests: Don't forget to unref the newsegment event 2010-04-01 13:19:06 +02:00
Stefan Kost
bfe5b681cc tests: add test for updating playback rate
Tests if a seek with both positions being GST_SEEK_TYPE_NONE is handled.
2010-03-31 22:07:57 +03:00
Tim-Philipp Müller
890042bc92 build: build examples subdirectories in parallel if requested 2010-03-30 12:35:05 +01:00
Benjamin Otte
d11b1f19df Fix tests after set_element_details() deprecation 2010-03-24 15:16:02 +01:00
Tim-Philipp Müller
c80f263a19 tests: remove unused CHECK_CFLAGS and CHECK_LIBS from Makefile.am 2010-03-23 19:25:08 +00:00
Tim-Philipp Müller
0aa584917a structure: add mapping for (uint) to allow deserialisation of unsigned integers
Unsigned ints are used in taglists, would be nice to be able to
deserialise them, esp. in connection with the taginject API.
2010-03-23 19:23:22 +00:00
Robert Swain
1a3257132d message: add QoS message to inform apps of lost data
This has been implemented as per part-qos.txt and partially addresses
bug #322947
2010-03-17 19:16:42 +01:00
Benjamin Otte
9cc1b172c2 test: Remove needless cast
GstValueArray.name is const now
2010-03-17 16:45:52 +01:00
Benjamin Otte
253ebab319 win32: Fix build failures of tests 2010-03-11 21:02:45 +01:00
Benjamin Otte
7e7f51f617 Fixes for -Wmissing-declarations -Wmissing-prototypes
Also adds those flags to the configure warning flags

https://bugzilla.gnome.org/show_bug.cgi?id=611692
2010-03-11 10:59:57 +01:00
Stefan Kost
0723c86046 tests: cast the arg. to fix the build with new compiler opts.
This is ugly. I am not sure if we really want to have such casts all over the
place.
2010-03-11 10:29:23 +02:00
Benjamin Otte
a9d1a493a7 Fixes for -Wwrite-strings
This changes some APIs in compatible ways:
- Some functions now take "const char *" arguments, not "char *"
- Some structs now have "conts char *" members, not "char *"
The changes may cause warnings when compiling with the right warning
flags. You've been warned.

Also adds -Wwrite-strings as a warning flag in configure.ac.

https://bugzilla.gnome.org/show_bug.cgi?id=611692
2010-03-10 20:50:10 +01:00
Benjamin Otte
22f87a529f Fixes -Wundef warnings
... and adds that flag to configure.ac

https://bugzilla.gnome.org/show_bug.cgi?id=611692
2010-03-10 20:46:09 +01:00
Benjamin Otte
58415ef177 benchmarks: Remove unneeded g_thread_exit()
https://bugzilla.gnome.org/show_bug.cgi?id=611692
2010-03-10 20:45:35 +01:00
Benjamin Otte
e8f65e8bff Make code safe for -Wredundant-decls
Adds that warning to configure.ac

Includes a tiny change of the GST_BOILERPLATE_FULL() macro:
The get_type() function is no longer declared before being defined.

https://bugzilla.gnome.org/show_bug.cgi?id=611692
2010-03-10 20:45:33 +01:00
Sebastian Dröge
800a63e2b3 controller: Add benchmark for getting a value array of the control points 2010-03-09 20:57:16 +00:00
Sebastian Dröge
b30c7d370e interpolationcontrolsource: Don't pass NULL pointers to GSequence API
This causes assertion failures. Fixes bug #610444.
2010-02-19 14:31:54 +01:00
Thiago Santos
aad80a1053 bytewriter: Adds a test for _fill 2010-02-12 17:23:29 -03:00
Edward Hervey
5a0cdc7001 tests: Fix multiqueue test for latest commits.
The problem lies in the fact that multiqueue will now operate somewhat
similarly to the flow aggregation logic of demuxers and therefore
will stopp whenever all downstream pads return NOT_LINKED and/or
UNEXPECTED and there's no more buffers to push.

The latest commits should not affect any regular use-case, but the bug
report will be kept open so the previous behaviour can be re-established
if needed.

Fixes #609486
2010-02-10 14:40:17 +01:00
Edward Hervey
9cc47f8cba Revert "multiqueue: handle UNEXPECTED flowreturn better"
This reverts commit fbdf4dceda.

Partly fixes #609274
2010-02-09 15:58:36 +01:00
Tim-Philipp Müller
712189398c checks: fix spurious ghost pad check failure 2010-01-27 00:24:49 +00:00
Tim-Philipp Müller
25271218de tests: fix warning in rtpool-test
The stream status message object may be of a non-GObject type, e.g.
G_TYPE_POINTER (see GstAudioSrc), so print that properly instead
of assuming the value holds an object.
2010-01-26 18:39:45 +00:00
Wim Taymans
fbdf4dceda multiqueue: handle UNEXPECTED flowreturn better
When we receive an UNEXPECTED flowreturn from downstream, we must not shutdown
the pushing thread because upstream will at some point push an EOS that we still
need to push further downstream.

To achieve this, convert the UNEXPECTED return value to OK. Add a fixme so that
we implement the right logic to propagate the flowreturn upstream at some point.

Also clean up the unit test a little.

Fixes #608136
2010-01-26 17:07:31 +01:00
Wim Taymans
381d35fd1e pad: Fix problem with destroy callback not being called
When we unblock a pad with the same user_data, the destroy callback is not
called. This leads to refcounting leaks that cannot be avoided. Instead always
call the destroy notify whenever we install a new pad block.
In particular, this fixes a nasty pad leak in decodebin2.

Also update the unit test to have more accurate comments and test the required
behaviour.
2009-12-23 21:20:14 +01:00
Tim-Philipp Müller
3c7c9692ac plugin-scanner: rename plugin-scanner helper binary to gst-plugin-scanner
and install into a different directory $(libexecdir/gstreamer-0.10) so that
everything is versioned properly.

NOTE: run 'make clean' after updating; if you are running an uninstalled setup,
you will need to update your gst-uninstalled script (unless it's symlinked
to gstreamer core master) and exit/enter your uninstalled environment to get
the updated environment. If you are running an installed setup, you should
run 'make uninstall' before merging this change or remove the old
plugin-scanner binary manually.

Fixes #601698.
2009-11-18 09:28:08 +00:00
Jan Schmidt
7a8fa2b6a0 check: Add a debug status to the systemclock test
Next time it fails on a buildbot we can see which clock id
return it is getting.
2009-11-16 18:29:01 +00:00
Ole André Vadla Ravnås
73f2d464b7 miniobject: avoid race when recycling buffers
Avoid a race where a miniobject is recycled and quickly freed, which causes the
g_type_free_instance() to be called on the same object twice.

Ref the object before calling the finalize method and check if we still need to
free it afterward.

Also add a unit test for this case.

Fixes #601587
2009-11-13 11:45:48 +01:00
Руслан Ижбулатов
516d4a984f tests: Do not list libgstcheck as a requirement for tests/examples/manual
Fixes bug #601669.
2009-11-12 12:52:46 +01:00
Edward Hervey
70a08107fd tests: Make sure we use the local libgstbase and not a stray outside one.
Theoretically we should also do this for all local libraries to make sure
we don't test with a 'stray' outside library.
2009-11-05 21:09:28 +01:00
Edward Hervey
5583220a1d tests/fakesink: Add some debugging 2009-10-22 12:33:37 +02:00
Edward Hervey
ca054ff4e5 tests/faeksink: Lower the number of threads to avoid timeouts
We just end up with way too much contention in glib otherwise.
2009-10-22 12:33:01 +02:00
Michael Smith
d833b39a85 Remove executable bits on xml unit test. 2009-10-20 12:21:41 -07:00
Benjamin Otte
1190018f04 Add XML_LIBS when building tests that use xml-specific functions 2009-10-15 19:10:50 +02:00
Sebastian Dröge
4917bb4fc2 gstobject: Add simple unit test for gst_object_has_ancestor() 2009-10-14 08:34:03 +02:00
Jan Schmidt
ffb8518d01 check: Disable the test_fail_abstract_new() test entirely on OS/X
Fixes a compiler warning from the function being compiled but not
used.
2009-10-12 21:51:55 +01:00
Jan Schmidt
2d4795cd17 checks: Disable a fairly silly gstobject test on OS/X
This test used to SIGBUS on OS/X but now SIGSEGV's instead on
Snow Leopard. It's not worth the effort to figure out which platform
should produce which error for what is fundamentally a pretty silly
test, so just disable it on OS/X
2009-10-12 14:24:53 +01:00
Jan Schmidt
5dbe63c07a check: Hopefully fix an 'may be used uninitialized' warning on OS/X 2009-10-08 17:19:38 +01:00
Jan Schmidt
5c46b8774b gitignores: Ignore the bytewriter check binary 2009-10-08 10:39:28 +01:00
Jan Schmidt
509e1fdf0e check: Fix test run in tests/examples/manual
Add the GST_PLUGIN_SCANNER env var to the check environment here too
so that it doesn't fail when no installed scanner is available.
2009-10-08 10:29:08 +01:00
Edward Hervey
fff8656af3 benchmarks: Clean up gstbufferstress. 2009-10-08 08:20:13 +02:00
Jan Schmidt
8a8408846a benchmarks: Fix the complexity and mass-elements benchmarks 2009-10-08 02:42:16 +01:00
Jan Schmidt
077ca39def checks: Fix string leaks in the new childproxy test 2009-10-08 02:20:51 +01:00
Stefan Kost
558f4aca59 tests: add ghostpad test for setting target again after pad is linked 2009-10-07 22:41:30 +03:00
Stefan Kost
593fc8894b tests: remove empty lines from wrong indent run 2009-10-07 22:41:29 +03:00
Jan Schmidt
01cbe5012a check: Fix compilation of the bytewriter test 2009-10-07 20:38:49 +01:00
Sebastian Dröge
28c4bfc1c4 bytewriter: Add unit test 2009-10-07 18:40:37 +02:00
Jan Schmidt
a39ca4a9c7 check: Attempt to fix type-punning warning in the gstiterator test 2009-10-07 16:36:31 +01:00
Jan Schmidt
8b90cf1be1 check: Make sure to init the dataprotocol lib.
Call the gst_dp_init() function to ensure that the debug
category is initialised, to avoid g_criticals when running with
GST_DEBUG=5
2009-10-07 16:14:02 +01:00
Jan Schmidt
4446a6276b check: Use GST_DEBUG instead of g_message in the gdp test 2009-10-07 16:14:02 +01:00
Jan Schmidt
4c75d07f5f check: Add GST_PLUGIN_SCANNER env var to the check environment 2009-10-07 16:14:01 +01:00
Tim-Philipp Müller
643c24a91b benchmarks: add bufferstress binary to .gitignore 2009-10-07 09:58:43 +01:00
Stefan Kost
cfb4aa4627 build: sprintf, sscanf need stdio.h 2009-10-07 10:59:54 +03:00
Stefan Kost
09c7d34921 childproxy: initialize gvalue in _valist function. Fixes #595602
Reflow the code to move error handling to the end of the functions. Initialize
gvalue like we do in the setter. Add a unit-test module with two simple tests
the catche this bug.
2009-10-07 10:59:54 +03:00
Edward Hervey
fe366f7b24 benchmark: New benchmark for testing contention when creating buffers 2009-10-07 08:54:03 +02:00
Edward Hervey
3879cc60b1 tests: init more variables to avoid compiler warning on osx
Init variable to avoid compiler warning and make the build bot happy
(the compiler most likely complains about this because it doesn't know
here that fail_unless will abort/exit in the path where it fails).
2009-10-07 08:40:18 +02:00
Tim-Philipp Müller
abb9caf484 tests: init variable to avoid compiler warning on osx
Init variable to avoid compiler warning and make the build bot happy
(the compiler most likely complains about this because it doesn't know
here that fail_unless will abort/exit in the path where it fails).
2009-10-06 20:04:10 +01:00
Jan Schmidt
8105265087 Re-enable and fix disabled bit of the registry test 2009-10-06 19:51:44 +01:00
Jan Schmidt
51675e0c2a registry: Add registry helper phase 1
Phase 1 of adding the registry scan helper
2009-10-06 19:51:42 +01:00
Sebastian Dröge
7464062ff2 utils: Fix GMP scaling unit test
GMP only uses "unsigned long int", which is 32 bit
on 32 bit architectures and can't hold a guint64.
This resulted in false unit test failures on 32 bit architectures.

Fixes bug #595133.
2009-09-15 11:31:15 +02:00
Jan Schmidt
057afdd5cd check: Fix version check tests
Accomodate the slightly changed semantics in the plugin version check
where a CVS version just before a release is acceptable.
2009-09-11 20:43:51 +01:00
Tim-Philipp Müller
080b2e4fd5 bytereader: add inlined _unchecked() variants for some functions
API: gst_byte_reader_skip_unchecked()
API: gst_byte_reader_peek_*_unchecked()
API: gst_byte_reader_get_*_unchecked()
API: gst_byte_reader_{peek,get,dup}_data_unchecked()
2009-09-06 18:51:13 +01:00
Jan Schmidt
ca482c75ce dist: Don't list the streams subdir twice in examples Makefile
Listing the 'streams' subdir twice in DIST_SUBDIRS breaks distcheck.
2009-09-01 12:08:17 +01:00
Sebastian Dröge
3a5cceeb6b iterator: Add unit test for the single iterator 2009-09-01 10:21:31 +02:00
Sebastian Dröge
b0b971ff32 examples: Link rtpool-test to libpthread for using the POSIX threads
Also the other streams example can run without pthreads therefore
enable it even if pthreads are not available.

Fixes bug #592314.
2009-08-19 15:25:41 +02:00
Sebastian Dröge
2919e5add8 gstutils: Add special random unit test for 64 scaling functions
This tests 100000 random multiplications/divisions of all scaling
function variants and compares the result with the result that is
generated by GMP on the same input.

For this check for GSL and GMP during configure but only use
it for this single unit test.

Testing functions were provided by Kipp Cannon <kcannon@ligo.caltech.edu>
2009-08-14 11:12:50 +02:00
Sebastian Dröge
535952c9fa gstutils: Add (very) minimal unit test for the new rounding scaling functions 2009-08-13 16:32:28 +02:00
Sebastian Dröge
276a55fd24 gstsegment: Actually start==stop==segment_start is inside the segment
Still the old code was wrong as it claimed that start==stop<segment_start
would be inside the segment and returned insane clipping differences.
2009-08-11 13:21:35 +02:00
Sebastian Dröge
868538945b gstsegment: Fix unit test and add an additional test
The previous test assumed that start=stop=segment_start will
be inside the segment but this is wrong.
2009-08-11 13:03:03 +02:00
Sebastian Dröge
46b2a5a34e gstbus: Unref pipeline after usage in test_custom_main_context unit test
This makes the core unit tests valgrind clean again.
2009-08-11 05:48:22 +02:00
Tim-Philipp Müller
60a962dcb8 checks: don't forget to include config.h in the GstObject unit test 2009-08-10 14:30:34 +01:00
Tim-Philipp Müller
657c68fc99 checks: try to fix GstObject unit test on OSX
Seems like we get SIGBUS instead of SIGSEGV here when GLib crashes
where it shouldn't crash (and we even have a unit test for that!).
2009-08-10 13:05:57 +01:00
Tim-Philipp Müller
3bf19f0a45 checks: set pipelines to NULL state in parse-launch unit test
Fixes timeouts in gst_task_cleanup_all().
2009-08-10 12:01:48 +01:00
Tim-Philipp Müller
a6c84b2ae6 checks: set pipeline back to NULL state in GstBus unit test
Fixes timeout in gst_task_cleanup_all().
2009-08-10 11:55:52 +01:00
Tim-Philipp Müller
699539a331 gitignore: ignore new queue-error test 2009-08-07 02:36:29 +01:00
Stefan Kost
89cefd8b59 example: unref the clock id 2009-08-06 15:30:32 +03:00
Mark Nauwelaerts
3f0e4bd6f6 queue: add unit test
Make a downstream element return an error after upstream has already
put all data into queue (including EOS).  As such, upstream
will not be around to pick up the error, so it is up to queue to
act appropriately.  See #589991.

Note there may be downstream fatal errors (e.g. negotiation) that do
not warrant an error message already having been posted.
2009-08-06 13:40:18 +02:00
Wim Taymans
96e342b686 tests: don't set caps on unwritable buffers
Take the ref after setting the caps on a buffer because else the buffer is
techinically not writable.
2009-08-06 10:53:01 +02:00
Wim Taymans
ffca244c26 tests: make sure the tasks are joined
Call _clean_all() on the task to make sure everything is joined and stopped.

See #589127
2009-07-20 18:03:21 +02:00
Tim-Philipp Müller
9459a93cb4 tags: only emit a g_warning() for empty tag strings for git versions
For now, don't show a g_warning() for empty tag strings and NULL
tags with non-git versions; we should wait for the fixes in our
plugin modules to make it into a release before we enable this
unconditionally.
2009-07-16 13:59:07 +01:00
Jan Schmidt
7bf3554228 structure: Change NULL and empty string handling
Don't forbid the empty string "" in generic structures, only in taglists.
Properly allow the NULL string by adding special cases for serialising
and deserialising it. prop1=(string)NULL is the NULL string,
prop1=(string)"NULL" is the actual string with the value "NULL"
2009-07-13 18:28:37 +01:00
Wim Taymans
f5f63434ab tests: fix example 2009-06-29 11:57:13 +02:00
Tim-Philipp Müller
6b64d41937 bytereader: add a bunch of utility functions for strings and a data dup function
API: gst_byte_reader_dup_data
API: gst_byte_reader_dup_string
API: gst_byte_reader_dup_string_utf8
API: gst_byte_reader_dup_string_utf16
API: gst_byte_reader_dup_string_utf32
API: gst_byte_reader_skip_string
API: gst_byte_reader_skip_string_utf8
API: gst_byte_reader_skip_string_utf16
API: gst_byte_reader_skip_string_utf32
API: gst_byte_reader_peek_string
API: gst_byte_reader_peek_string_utf8
API: gst_byte_reader_get_string
API: gst_byte_reader_get_string_utf8

And some basic unit tests. Fixes #586568.
2009-06-23 02:17:48 +01:00
Tim-Philipp Müller
2b4d127ca0 tests: fix crash and leak in bufferlists unit test
Don't access already-freed iterator, makes check-valgrind work and fixes
crash on PPC; unref buffer we're going to steal to make valgrind happy.
2009-06-21 14:43:08 +01:00
Wim Taymans
6438f6f9b9 bufferlist: Various cleanups
Add new method to iterate a bufferlist without having to allocate an iterator.
Add convenience method for getting an item from the list based on the group and
index.
Remove redundant _do_data callback and method.
Update unit-tests and add some more for the new methods.
2009-06-19 15:31:53 +02:00
Tim-Philipp Müller
dccea0406b taglist: add functions to create a new taglist with tags in one go
Add functions to create a new tag list and set tags in one go, which
is nice for use in combination with functions that take ownership of
the taglist, such as gst_event_new_tag() or gst_element_found_tags().

API: add gst_tag_list_new_full()
API: add gst_tag_list_new_full_valist()
2009-06-14 16:17:50 +01:00
Tim-Philipp Müller
674447fafe bytereader: add gst_byte_reader_masked_scan_uint32()
Add a pattern scan function similar to the one recently added to
GstAdapter, and a unit test (based on the adapter one).
Fixes #585592.

API: add gst_byte_reader_masked_scan_uint32()
2009-06-13 10:53:49 +01:00
Wim Taymans
25067558dc stepping: more stepping improvements
Update design doc with step-start docs.
Add eos field to step done message
when stepping in reverse, update the segment time field.
Flush out the current step when we are flushing.
2009-06-12 13:20:36 +02:00
Tim-Philipp Müller
cdd47a37e9 structure: add gst_structure_*_get*() vararg functions
Add a bunch of vararg getter convenience functions to complement
the vararg setter functions, and a basic unit test. Fixes #534208.

API: gst_structure_get()
API: gst_structure_id_get()
API: gst_structure_get_valist()
API: gst_structure_id_get_valist()
2009-06-10 09:39:12 +01:00
Tim-Philipp Müller
998b2392d3 Remove double semicolons at end of line 2009-06-08 17:13:17 +01:00
Wim Taymans
fbaa49faf4 tests: conditionally compile the streams example
Detect pthreads.h in configure.ac
Only compile the streams example when pthreads.h is present.

Fixes #585039
2009-06-07 22:20:54 +02:00
Wim Taymans
0e74bfe248 segment: add gst_segment_set_running_time
Added new method for closing the segment to a specific running time.

API: GstSegment::gst_segment_set_running_time()
2009-06-04 12:53:20 +02:00
Wim Taymans
92984a116b segment: add method for converting to position
Add gst_segment_to_position() that converts a running_time to a position in the
segment. A faulty variant of this function is currently used in inputselector
but we'll need it for frame stepping too.

API: GstSegment::gst_segment_to_position()
2009-06-03 19:06:30 +02:00
Stefan Kost
47d9904eba structure: fix serialisation of nested structures.
Use string_warp/unwrap to escape delimiters, otherwise deserialisation fails.
Also move GST_ASCII_IS_STRING to private header to avoid keeping it in sync.
Also use '\0' when terminating a string for better readability.
2009-06-02 18:39:17 +03:00
Wim Taymans
0c205b96b4 framestep: implement backwards framestep
Update framestep document, we want to pass the flush flag in the step-done
message.

Add flush flag to the gstmessage.

Update examples to use the new step-done message api.

Implement framestep with playback rates < 0.0 too.
2009-06-01 13:37:28 +02:00
Wim Taymans
2f6439dfde examples: step in time as well 2009-06-01 13:37:28 +02:00
Wim Taymans
67752e5adb example: print step_done message and sync
Dump the step_done message contents.
Sync against the clock when going to PLAYING.
2009-06-01 13:37:27 +02:00
Wim Taymans
cb9597a271 Add frame stepping in PAUSED example 2009-06-01 13:37:26 +02:00
Stefan Kost
fc866b82db controller: add test for cubic int. and too few control points
Added another tests to check some worries in Bug #582564.
2009-06-01 11:08:31 +03:00
Stefan Kost
249b9b9aa4 controller: use real world number in benchmark 2009-05-31 22:39:05 +03:00
Tim-Philipp Müller
7e4b164c12 fakesink: hack around crasher bug in g_object_notify() for out-of-band events
GObject may crash if two threads do concurrent g_object_notify() on the same
object. This may happen if fakesink receives an out-of-band event such as
FLUSH_START while processing a buffer or serialised event in the streaming
thread. Since this may happen with the default settings during a common
operation like a seek, and there seems to be little chance of a timely fix
in GObject (see #166020), we should hack around this issue by protecting all
of fakesink's direct g_object_notify() calls with a lock.

Also add unit test for the above.

Fixes #554460.
2009-05-31 19:17:33 +01:00
Tim-Philipp Müller
30c890c7a2 taglists: warn if someone tries to add empty or NULL string tags to a taglist
Also warn if an element or application tries to add a field with an
empty string to a structure (NULL strings are still needed and
allowed though) and do all those checks in the right function.

Fixes #559643.
2009-05-31 15:38:01 +01:00
Wim Taymans
087c8957d2 pipeline: deprecate old methods, fix test
Deprecate the old _set_stream_time and _get_last_stream_time methods because
they are now equivalent to the better named _set/_get_start_time.
2009-05-29 12:21:36 +02:00
Arnout Vandecappelle
c74c3bf1b3 adapter: fix _masked_scan_uint32() at boundaries
gst_adapter_masked_scan_uint32 could return values smaller than offset
if the first byte(s) of the mask are 0 and the pattern matches the
beginning of the adapter.
Added examples to documentation of gst_adapter_masked_scan_uint32().
Also added some more masked boundary tests.
Fixes #584118
2009-05-28 22:02:21 +02:00
Jan Schmidt
f0abaa230b dist: Fix the name of the header to dist: testrtpool.h, not rtpool-test.h 2009-05-25 17:43:32 +01:00
Stefan Kost
5c4751c601 controller: add a benchmark to verify the switch to gsequence 2009-05-22 23:55:33 +03:00
Stefan Kost
1234000942 controller: add more error handling to example 2009-05-22 23:52:42 +03:00
Jan Schmidt
77fd56bc17 dist: Add rtpool-test.h to the sources list so it gets disted.
Fixes the distcheck
2009-05-22 09:51:44 +01:00
Jan Schmidt
409181b36f gitignores: Ignore the clockstress benchmark binary 2009-05-22 09:44:25 +01:00
Wim Taymans
23314ddefb tests: one more adapter test 2009-05-20 10:28:46 +02:00
Wim Taymans
270723c85c adapter: add _masked_scan_uint32
Add a reasonably optimized new gst_adapter_masked_scan_uint32() function
to scan the adapter for a pattern after applying a mask.

Add some unit tests.

API: GstAdapter::gst_adapter_masked_scan_uint32()

Fixes #583187
2009-05-20 00:37:53 +02:00
Wim Taymans
f83809cf37 stress: add a clock stresstest
Add a stresstest for gst_clock_get_time().
2009-05-15 16:13:04 +02:00
Wim Taymans
f6d71be830 tests: add another test for adapter timestamps 2009-05-13 17:09:32 +02:00
Wim Taymans
0d9ba7c7fe tests: add new timestamp unit test 2009-05-13 16:48:38 +02:00
Jonas Holmberg
22a48fb08c bufferlist: hook up the pad functions
Reuse buffer code for bufferlists. Not sure if this measurably impacts performance
for the simple buffer case, if it does after doing some benchmarks, we can
decouple it later.

Fixes #572285
2009-05-12 15:18:53 +02:00
Jonas Holmberg
d99cf4db1b bufferlist: add docs/build/debug/unittest
See #572285
2009-05-12 15:18:52 +02:00
Wim Taymans
605639a2bf adapter: optimize taking the headbuffer
When a are requested to take a buffer from the adapter that is exactly the
headbuffer, don't make a subbuffer of it but return that head buffer.

Add a unit-test for this new optimisation.
2009-05-12 10:25:40 +02:00
Wim Taymans
2cd86a4956 tests: set the latency-time to something low 2009-05-12 00:27:46 +02:00
Wim Taymans
e9bcae7377 tests: improve the example 2009-05-12 00:27:42 +02:00
Wim Taymans
d2c5ea9a40 TaskPool: remove _set_func()
Remove the static function set on the TaskPool before _prepare() is called and
allow for assigning a function to a Task when we _push().
Update the examples
2009-05-12 00:27:38 +02:00
Wim Taymans
4cc2e05629 tests: add example of custom taskpools
Add an example to demonstrate the use of a custom taskpool and how to configure
it on the task. Currently the taskpool does not do much yet but it'll create
some custom threads later on.
2009-05-12 00:27:31 +02:00
Wim Taymans
1cf54ede9d tests: cleanup some code 2009-05-12 00:27:17 +02:00