Commit graph

343 commits

Author SHA1 Message Date
Jonas Holmberg
afbba8974a tests: fix spurious failure in test_collect collectpads test
pop() in collected callback.

There were three threads in the test cases that hanged: the test thread and two
threads that push buffers. Each thread push one buffer on one pad. There are
two pads in the collectpads so the second buffer will trigger the
collect-callback.

This is what happens when the hang occurs:

The first thread pushes a buffer and initializes a cookie to the value of a
counter in the collectpads object and waits on a cond for the counter to change
and for someone to consume the buffer (i.e. _pop() it).

The second thread pushes a buffer and calls the collected callback, which
signals the cond that the test thread is waiting for.

The test thread pops both buffers (without holding any lock). Each call to
_pop() increases the counter broadcasts the condition that the first thread is
now waiting for. It then joins both threads (hangs).

The first thread wakes up and returns, since its buffer has been consumed.

The second thread starts executing again. When the callback, called by the
second thread, has returned it initializes a cookie to the value of a counter,
which has already prematurely been increased by the test thread when it popped
the buffers, and wait's on a cond for the counter to change and for someone to
consume the buffer (i.e. _pop() it). Since the buffer has already been poped
and the counter has already been increased it will be stuck forever.

https://bugzilla.gnome.org/show_bug.cgi?id=685555
2013-03-18 10:45:13 +00:00
Stefan Sauer
9db3c83d2e controller: remove a bogus test
We previously forgot to initilize the amplitde property to the default and thus it was 0.0. Therefore a default lfo controlsource returned a series of 0.0 and the test was asserting on that.
2013-03-07 11:37:21 +01:00
Stefan Sauer
03e81ca8a2 collectpads: add two more tests using collectpads within an element
Add a static plugin with a rudimentary element using collectpads and do some
pipeline based tests.
2013-02-18 20:49:07 +01:00
Wim Taymans
51ebcaef74 tests: add basesink test 2013-02-05 17:22:37 +01:00
Tim-Philipp Müller
8ea19a48ce tests: check return value of gst_queue_array_drop_element() too
Was added when the API was made public in git master.

https://bugzilla.gnome.org/show_bug.cgi?id=692691
2013-01-30 11:34:15 +00:00
Tim-Philipp Müller
bc397c780c tests: one more test for gst_queue_array_drop_element()
https://bugzilla.gnome.org/show_bug.cgi?id=692691

Conflicts:
	tests/check/libs/queuearray.c
2013-01-30 11:32:21 +00:00
Daniel Díaz
a26a98209b tests: fix ABI check struct sizes for ARM
and re-enable ABI check for ARM.

https://bugzilla.gnome.org/show_bug.cgi?id=691828
2013-01-17 09:27:48 +00:00
Tim-Philipp Müller
47c2fc4aba tests: disable ABI checks for architectures where the struct sizes are not up-to-date
https://bugzilla.gnome.org/show_bug.cgi?id=691828
2013-01-16 11:29:47 +00:00
Wim Taymans
aa777bb315 tests: don't use deprecated thread API 2012-11-20 16:34:28 +01:00
Tim-Philipp Müller
abc805ca95 tests: gst_adapter_prev_timestamp -> gst_adapter_prev_pts
https://bugzilla.gnome.org/show_bug.cgi?id=675598
2012-11-13 23:11:34 +00:00
Tim-Philipp Müller
c6cc50e6de testclock: minor cleanups, add since markers for gtk-doc
https://bugzilla.gnome.org/show_bug.cgi?id=683012
2012-11-13 22:43:04 +00:00
Sebastian Rasmussen
4eeb471e11 check: allow GstTestClock to handle clock notifications
API: gst_test_clock_peek_id_count()
API: gst_test_clock_has_id()
API: gst_test_clock_peek_next_pending_id()
API: gst_test_clock_wait_for_next_pending_id()
API: gst_test_clock_wait_for_pending_id_count()
API: gst_test_clock_process_next_clock_id()
API: gst_test_clock_get_next_entry_time()

https://bugzilla.gnome.org/show_bug.cgi?id=683012
2012-11-13 21:47:01 +00:00
Sebastian Rasmussen
e58da2a22d check: add GstTestClock as a deterministic clock for testing
API: GstTestClock
API: gst_test_clock_new()
API: gst_test_clock_new_with_start_time()
API: gst_test_clock_set_time()
API: gst_test_clock_advance_time()

https://bugzilla.gnome.org/show_bug.cgi?id=683012
2012-11-13 21:19:57 +00:00
Tim-Philipp Müller
666c8c11c6 Fix FSF address
https://bugzilla.gnome.org/show_bug.cgi?id=687520
2012-11-03 20:44:48 +00:00
Jan Schmidt
9a37de9408 check: Add a simple test for the CollectPads buffer collect callback 2012-10-30 10:03:43 +11:00
Sebastian Dröge
05bd82cf61 queuearray: Fix unit test 2012-10-25 15:27:23 +02:00
Tim-Philipp Müller
36b2cb2a97 tests: update struct_i386.h for ABI checks
Fixes make check on 32-bit x86.
2012-10-07 00:16:48 +01:00
Tim-Philipp Müller
856e61c2dd tests: update struct_ppc32.h for ABI checks
Fixes make check on 32-bit PowerPC.
2012-10-06 17:26:21 +01:00
Wim Taymans
c6e754635c tests: enable library abi checks 2012-09-27 10:37:32 +02:00
Mark Nauwelaerts
abf21d1f6d replace gst_element_class_set_details_simple with gst_element_class_set_metadata 2012-09-14 17:01:21 +02:00
Stefan Sauer
57b24d9c57 collectpads: fix a misplaced ')' 2012-09-12 23:12:56 +02:00
Stefan Sauer
57ea490f5a collectpads: remove gst_collect_pads_add_pad_full
Rename gst_collect_pads_add_pad_full() to gst_collect_pads_add_pad() and fix all
invocations.
2012-09-12 21:04:47 +02:00
Mark Nauwelaerts
47e7c91ab5 tests: port to new GLib thread API 2012-09-12 13:01:18 +02:00
Tim-Philipp Müller
1507ce3907 tests: fix collectpads test
After an EOS we must send a FLUSH_STOP event if
we want to send data again.
2012-08-12 18:36:09 +01:00
Tim-Philipp Müller
352a4b5b07 tests: update .gitignore for queuearray test binary 2012-08-05 17:12:35 +01:00
Tim-Philipp Müller
53cfccf764 tests: fix spurious netclientclock test failures
Give clocks a bit more time to synchronise.
2012-08-05 17:11:46 +01:00
Tim-Philipp Müller
94f6ba9c0b base: make GstQueueArray private to coreelements for now
Keep it private until we have a reason to make it public.
2012-07-14 19:36:02 +01:00
Edward Hervey
d3744d05dc check: gstcontroller.h doesn't exist anymore 2012-07-06 12:48:44 +02:00
Edward Hervey
0efc42aac7 check: Use consistencycheck on basesrc 2012-07-06 12:48:44 +02:00
Edward Hervey
041787ac82 check: New unit test for GstQueueArray 2012-07-04 17:46:54 +02:00
Wim Taymans
1b87a07d8e adapter: remove _try_to_merge_up()
It causes the timestamp to go wrong, should not cause much of a performance
increase and in the cases where it is faster, it is broken in 0.10 as well.
We should try to review this when rewriting the adapter for 0.11 memory
features.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=674791
2012-05-01 10:50:32 +02:00
Stefan Sauer
772c58e255 controller: expand the api to offer functions for plain and GValue arrays
Rename the _get_value_array() functions to _get_g_value_array() and reintroduce
the former to operate on plain unboxed c datatypes (like in 0.10). The _g_value
variants are for bindings while the _value ones are more suited to processing
in elements.
2012-04-25 20:19:23 +02:00
Mark Nauwelaerts
e076e36840 collectpads2: rename to collectpads 2012-04-17 15:07:54 +02:00
Wim Taymans
fc8b28455f tests: add another adapter test
Test performance of merging
2012-04-14 10:24:38 +02:00
Wim Taymans
38b96e6c8c buffer: improve the buffer memory methods
gst_buffer_take_memory -> gst_buffer_insert_memory because insert is what the
method does.
Make all methods deal with ranges so that we can replace, merge, remove and map
a certain subset of the memory in a buffer. With the new methods we can make
some code nicer and reuse more code. Being able to deal with a subset of the
buffer memory allows us to optimize more cases later (most notably RTP headers
and payload that could be in different memory objects).
Make some more convenient macros that call the more generic range methods.
2012-03-30 18:15:24 +02:00
Wim Taymans
7b0e4f27fb memory: make _new_wrapped take user_data and notify
Make it possible to configure a GDestroyNotify and user_data for
gst_memory_new_wrapped() this allows for more flexible wrapping of foreign
memory blocks.
2012-02-22 02:10:21 +01:00
Tim-Philipp Müller
83002ac63e typefind: pass extensions as comma-separated list in a simple string
Fix annoying gst_type_find_register() function signature. A simple
string with comma-separated extensions works just as well and saves
lines of code, casts, relocations and ultimately kittens.
2012-02-02 01:32:07 +00:00
Stefan Sauer
5e4c13fc97 controller: constructures for control sources return GstControlSource
Don't return the specific types. In most cases there is no specific api there
anyway.
2012-01-31 12:29:52 +01:00
Stefan Sauer
4deaf9b8be controller: rename control-bindings
gst_control_binding_xxx -> gst_xxx_control_binding for consistency.
2012-01-30 21:18:57 +01:00
Wim Taymans
21455d35b1 tests: fix some more leaks 2012-01-27 12:52:01 +01:00
Tim-Philipp Müller
ca697b61f3 docs: remove collectpads from docs, fix build 2012-01-26 10:48:51 +00:00
Sebastian Dröge
ded86f716d collectpads2: Fix unit test to actually work again 2012-01-26 11:40:53 +01:00
Sebastian Dröge
0ff349fb38 collectpads2: Port collectpads unit test to collectpads2
Currently fails but really shouldn't.
2012-01-26 11:39:22 +01:00
Wim Taymans
a521252845 Add new GstMapInfo
Use a structure to hold info about the mapping. The application then keeps track
of this state and we can use it to unmap the memory again later.
2012-01-25 11:54:23 +01:00
Stefan Sauer
b23977cb93 controller: allow different controlbindings
Make controlbinding an abstract baseclass. Move implementation to control-
binding-direct and add a control-binding-argb. Add an example.
2012-01-23 11:03:43 +01:00
Stefan Sauer
dd9f0481ea controller: improve control binding handling
Change _set_control_binding to _add_control_binding and take ownership. Add a
_remove_control_binding function.
2012-01-20 14:42:31 +01:00
Stefan Sauer
c227d51fa9 controller: remove convenience api for control sources
This is needed to support multiple kinds of control-bindings.
2012-01-20 11:31:23 +01:00
Tim-Philipp Müller
80f2eb6108 net: port to use gio's networking API
Some warts still, but it's a start.
2012-01-18 01:22:43 +00:00
Stefan Sauer
33e381743b controller: rename some tests 2012-01-01 20:57:34 +01:00
Stefan Sauer
62a0d9dc39 controller: support control mapping for enums
Add a mapping for enum types (supporting sparse enums). Add a test.
2012-01-01 20:55:20 +01:00
Stefan Sauer
3a08d90ec7 controller: remove nonsense parts from test object property descriptions 2012-01-01 20:43:51 +01:00
Stefan Sauer
44de1ed5f1 controller: cleanup the tests 2012-01-01 16:08:01 +01:00
Stefan Sauer
dce3dcee35 controller: fix tests
Set a defined value to check for no-change.
2011-12-31 09:57:49 +01:00
Stefan Sauer
fcef8d8046 control-sources: turn into GstObjects
This is a preparation for chaining them.
2011-12-31 09:57:49 +01:00
Tim-Philipp Müller
9a3e4ce5cb libs: remove gdp dataprotocol library
Made private and moved to gdp plugin in -base for
the time being, until we figure out what we do with
gdp and 0.11.
2011-12-25 23:41:50 +00:00
Stefan Sauer
15f675ccc1 controller: split and cleanup the tests
The controller object was once copied from buzztards unit tests. Change
TestMonoSource to TestObj as it is not a full fledged element. Split the tests
into a core and library test suite.
2011-12-25 21:24:57 +01:00
Stefan Sauer
39d6b7462f controller: move GValue handling from control-sources to -binding
ControlSources are now gdouble based. A control source is mapped to a
particullar GObject property using a ControlBinding.
2011-12-25 20:48:14 +01:00
Stefan Sauer
a80401b22c controller: move GstControlledProperty into a separate class
Add a GstControlBinding class. This is a preparation for making the
controlsources generate double valued control curves and do the gparamspec
mapping in the control binding. Now the API in GstObject is again mostly
for convenience.
2011-12-25 18:50:45 +01:00
Stefan Sauer
503b739b23 controller: cleanup interpolation modes
Remove deprecated/unimplemented modes. Turn interpolation mode into a gobject
property. Update docs and examples.
2011-12-19 23:36:26 +01:00
Stefan Sauer
2c7a8b924a controlsources: refactor interpolation control source
Move most of the code to a GstTimedValueControlSource. Split out the trigger
'interpolation mode' to a new control source class. Move tests and examples to
new api. Update docs.

Fixes #610338
2011-12-19 22:52:30 +01:00
Stefan Sauer
c379842aec controller: port the test to new api as well 2011-12-06 14:40:36 +01:00
Wim Taymans
960564831e fix compilation 2011-12-06 13:58:00 +01:00
Wim Taymans
8acc2d9dc7 basesink: last-buffer -> last-sample
Rename the last-buffer property to last-sample and make it return the new
GstSample type so that we can include caps and timing info in one nice bundle.
2011-12-01 16:46:06 +01:00
Wim Taymans
612b1fbb14 pad: add parent to other functions
Add parent to chain, chain_list, getrange and event functions.
2011-11-17 12:40:45 +01:00
Stefan Sauer
009d799087 collectpads: move fields out of reserved and restore padding
Do the 0.11 ABI changes. Add extra fields for destroy_notify and drop the qdata
hack. Rename _add_pad_full to _add_pad and remove the old _add_pad.
2011-11-17 08:39:01 +01:00
Stefan Sauer
faf31366ab controller: remove functions to add/remove controlled properties
Make that implizit with attaching/detaching controlsources. This is a lot easier
and has less invalid state (controlled property without control source).
2011-11-14 10:02:55 +01:00
Stefan Sauer
a1599f5f7e controller: merge controller into gstobject
This make the controller even more lightweight (no extra object, no extra lock,
less indirections). For object that don't use the controller the only 'overhead'
is a 3 unused fields in the gst_object structure.
2011-11-10 22:47:07 +02:00
Wim Taymans
4b216bf73a adapter: remove flush from _unmap 2011-11-10 18:18:24 +01:00
Wim Taymans
62f614d0cb tests: only override when != NULL
Only override the methods in the unit tests when != NULL otherwise we might
override the default implementation.
2011-11-10 13:37:12 +01:00
Wim Taymans
ba3028aeeb pad: Add GstPadProbeInfo
Make a new GstPadProbeInfo structure and pass this in the probe callback. This
allows us to add more things later and also allow the callback to replace or
modify the passed object.
2011-11-08 11:04:19 +01:00
Wim Taymans
24e596a1fb pad: rework pad probes
Make a separate cookie to detect chancges in the list of probes and keeping
track of what hooks have been invoked yet.
Remove the requirement to have probes on srcpads in push mode and sinkpads in
pull mode.
Add some more debug.
Keep track of what callbacks got executed. If no callback is called and we are a
blocking pad, let the item pass. This allows you to block pads on selected
items only.
Explicitly have an UPSTREAM and DOWNSTREAM PadProbeType. This allows you to only
block the pad on upstream or downstream items.
Add convenience macros to only block on downstream/upstream items.
2011-11-07 17:15:17 +01:00
Stefan Sauer
dfd7ea1628 controller: fix tests after move and API changes 2011-11-04 20:11:51 +01:00
Tim-Philipp Müller
bffc9207b5 pad: rename GstProbeType and GstProbeReturn to GstPadProbe{Type,Return}
Better now than later in the cycle. These might come in handy:

sed -i -e 's/GstProbeReturn/GstPadProbeReturn/g'   `git grep GstProbeReturn  | sed -e 's/:.*//' | sort -u`
sed -i -e 's/GST_PROBE_/GST_PAD_PROBE_/g'          `git grep GST_PROBE_      | sed -e 's/:.*//' | sort -u`
sed -i -e 's/GstProbeType/GstPadProbeType/g'       `git grep GstProbeType    | sed -e 's/:.*//' | sort -u`
2011-11-01 00:15:17 +00:00
Wim Taymans
021f09d622 tests: fix compilation 2011-10-27 17:09:51 +02:00
Tim-Philipp Müller
434e7042d8 base: make GstDataQueue private API for multiqueue
There's no code that uses it other than multiqueue, so make it private
to multiqueue for now. That way we can also do optimisations that
require API/ABI breaks. If anyone ever wants to use it, we can still
make it public again.
2011-10-07 13:54:37 +01:00
Wim Taymans
9a064bef5a test: disable failing unit tests
Disable unit tests that are failing until someone ports this to 0.11
2011-07-05 16:32:45 +02:00
Wim Taymans
54fd50bfe1 buffer: add index to _take_memory()
Add an index to gst_buffer_take_memory() so that we can also insert memory at a
certain offset. This is mostly interesting to prepend a header memory block to
the buffer.
2011-06-13 16:31:53 +02:00
Wim Taymans
3f51563319 pad: further improve probes and pad blocking
Keep track of installed number of probes to shortcut emission.
Allow NULL callbacks, this is useful for blocking probes.
Improve probe selection based on the mask, an empty mask for the data or the
scheduling flags equals that all probes match.
Add some more debug info.
Don't check the flushing flag in the probe callback handler, this needs to be
done before calling the handler.
Fix blocking probes.
Fix unit tests
2011-06-01 19:39:20 +02:00
Wim Taymans
a5bbf7f369 utils: remove _full variants of probes
Remove the _full variants and add the destroy notify to the regular methods.
2011-06-01 19:39:11 +02:00
Wim Taymans
690c81b95d basesrc: remove deprecated clean shutdown method 2011-05-27 17:28:34 +02:00
Sebastian Dröge
a46c9c2a62 event: Make SEGMENT event parsing API more consistent with the others 2011-05-18 16:56:43 +02:00
Sebastian Dröge
6bff1f968a tests: Update for negotiation related API changes 2011-05-16 15:33:11 +02:00
Wim Taymans
bdbc069348 Rework GstSegment handling
Improve GstSegment, rename some fields. The idea is to have the GstSegment
structure represent the timing structure of the buffers as they are generated by
the source or demuxer element.
gst_segment_set_seek() -> gst_segment_do_seek()
Rename the NEWSEGMENT event to SEGMENT.
Make parsing of the SEGMENT event into a GstSegment structure.
Pass a GstSegment structure when making a new SEGMENT event. This allows us to
pass the timing info directly to the next element. No accumulation is needed in
the receiving element, all the info is inside the element.
Remove gst_segment_set_newsegment(): This function as used to accumulate
segments received from upstream, which is now not needed anymore because the
segment event contains the complete timing information.
2011-05-16 11:37:52 +02:00
Wim Taymans
c07b57fc05 segment: remove _full version
Rename the _full versions of the functions to the normal function names.
2011-05-09 17:51:07 +02:00
Wim Taymans
b5456cc6f4 caps: remove caps from buffers and pads
Remove the GstCaps from buffers and pads. We now use CAPS events to negotiate
formats between element.
2011-05-09 16:21:28 +02:00
Wim Taymans
c4751ec8c1 Revert "context: use context on buffers instead of caps"
This reverts commit 9ef1346b1f.

Way to much for one commit and I'm not sure we want to get rid of the pad caps
just like that. It's nice to have the buffer and its type in onw nice bundle
without having to drag the complete context with it.
2011-05-05 13:17:08 +02:00
Wim Taymans
9ef1346b1f context: use context on buffers instead of caps
Put the srcpad context on buffers instead of caps. This allows us to associate
all the relevant info contained in events with a buffer.
2011-05-04 18:59:47 +02:00
Wim Taymans
6ab7e6c15d Remove pad_alloc, this can now be done better
Remove pad_alloc and all references. This can now be done more efficiently and
more flexible with the ALLOCATION query and the bufferpool objects. There is no
reverse negotiation yet but that will be done with an event later.
2011-04-29 13:26:19 +02:00
Sebastian Dröge
355dbdfa7e tests: Use G_DEFINE_TYPE instead of GST_BOILERPLATE 2011-04-19 11:45:37 +02:00
Sebastian Dröge
f51a23a83c Merge branch 'master' into 0.11 2011-04-16 08:59:58 +02:00
Tim-Philipp Müller
0e94961069 tests: fix unusued-but-assigned-variable warnings with gcc 4.6 2011-04-11 15:08:30 +01:00
Wim Taymans
fdd6433757 Merge branch 'master' into 0.11
Conflicts:
	tests/check/gst/struct_x86_64.h
2011-03-31 17:55:22 +02:00
Sebastian Dröge
2714587a96 libsabi: Add lots of new structures for x86-64 2011-03-31 10:46:40 +02:00
Wim Taymans
ebb14d95b2 buffer: more API tweaks
_trim -> _resize
_create_sub -> copy_region
2011-03-30 16:47:55 +02:00
Wim Taymans
a12ede3fb1 Merge branch 'master' into 0.11-fdo
Conflicts:
	gst/gst.c
	libs/gst/base/gstcollectpads.c
2011-03-28 20:11:20 +02:00
Wim Taymans
beac9c4a95 buffer: fix remaining unit tests 2011-03-28 20:08:46 +02:00
Wim Taymans
6f2af5aa87 memory: more fixes
Automatically make the memory of a buffer writable when the buffer is writable
and the memory is asked to mapped WRITE.
Add docs
2011-03-28 20:08:46 +02:00
Wim Taymans
38ffe30745 memory: more work on implementing buffer memory 2011-03-28 20:08:46 +02:00
Wim Taymans
1af328e785 memory: more work on porting the unit tests 2011-03-28 20:08:46 +02:00
Wim Taymans
4a9a59df08 tests: make some tests compile 2011-03-28 20:08:46 +02:00
Tim-Philipp Müller
f9558b163f tests: add libscpp unit test to make sure g++ likes our library headers 2011-03-23 20:53:00 +00:00
Wim Taymans
230c3455ac Merge branch 'master' into 0.11
Conflicts:
	gst/gstregistry.h
2011-03-02 11:08:34 +01:00
Stefan Kost
b3f0d98964 tests: refix the tests (missing #endif) 2011-02-24 16:20:01 +02:00
Stefan Kost
3cb1180ff4 tests: add abi check data for ARM (libs) 2011-02-24 15:12:57 +02:00
Wim Taymans
0894ed2053 Merge branch 'master' into 0.11 2011-02-22 15:08:51 +01:00
Thiago Santos
83597767b1 basetransform: Be smarter with pad allocs
Avoid doing unnecessary pad-allocs when on passthrough mode.
If multiple basetransform elements are on a pipeline, they
would do a pad-alloc for each received buffer, each element
would do this, so we would have lots of pad allocs on the
pipeline for a single buffer being pushed through it.

This patch attempts to reduce this amount by avoiding
doing pad-allocs if the element has already done it
after the last pushed buffer. So it will only be allowed
to do a new pad-alloc after it has pushed a buffer, so we get
1x1 pad-alloc and buffer ratio

https://bugzilla.gnome.org/show_bug.cgi?id=642373
2011-02-21 10:31:22 -03:00
Wim Taymans
a1500eeeb2 check: remove deprecated tests 2010-12-07 15:21:06 +01:00
Sebastian Dröge
f17efc49c6 bitreader: Fix uninitialized variable compiler warnings
gcc doesn't notice that the check assertion macros will abort
further execution of the tests.
2010-10-03 23:41:26 +02:00
Sebastian Dröge
dd762eb49f bitreader: Add inlined and unchecked versions of the important functions
API: gst_bit_reader_skip_unchecked
API: gst_bit_reader_skip_to_byte_unchecked
API: gst_bit_reader_get_bits_uint16_unchecked
API: gst_bit_reader_get_bits_uint32_unchecked
API: gst_bit_reader_get_bits_uint64_unchecked
API: gst_bit_reader_get_bits_uint8_unchecked
API: gst_bit_reader_peek_bits_uint16_unchecked
API: gst_bit_reader_peek_bits_uint32_unchecked
API: gst_bit_reader_peek_bits_uint64_unchecked
API: gst_bit_reader_peek_bits_uint8_unchecked

This alone makes flacparse about 3 times faster.
2010-10-03 15:32:41 +02:00
Edward Hervey
b6aa0583b6 tests: Handle new assertion in gst_adapter_masked_scan_uint32 2010-09-19 16:10:16 +02:00
Wim Taymans
1afaa1680f adapter: add function to get a list of buffers
Add a function to retrieve a list of buffers containing the first N bytes from
the adapter. This can be done without a memcpy and should make it possible to
transfer the list to a GstBufferList later.
2010-09-17 17:35:41 +02:00
Wim Taymans
1dde3cb440 adapter: add support for 0 sized buffers
Add support for 0 sized buffers. This is interesting in combination with the
timestamp functions.

Fixes #629553
2010-09-17 12:40:12 +02:00
Stefan Kost
42e8f0aa90 tests: add comments telling the meaning of the abbreviations 2010-08-05 09:40:02 +03:00
Thiago Santos
574e6ab423 basetransform: Try suggesting caps on bad caps pad_alloc
When basetransform received an unsupported caps on pad_alloc
it just returned not-negotiated. This patch makes it query
the allowed caps between his sinkpad and upstream's srcpad
to find a caps to suggest.

This happens when dinamically switching pipeline elements
and upstream pad_allocs with the previous caps that was
being used.

Fixes #614296
2010-07-26 14:49:14 -03:00
Shixin Zeng
f6b0200026 tests: make *_get_type() in tests thread safe
Even if it shouldn't be needed here. See #623491.
2010-07-21 21:08:32 +01:00
Tim-Philipp Müller
8836a3fd03 .gitignore: ignore new basesink unit test binary 2010-07-08 13:46:56 +01:00
Alessandro Decina
3a553f4eda basesink: add accessors for the enable-last-buffer property.
API: gst_base_sink_set_last_buffer_enabled
API: gst_base_sink_is_last_buffer_enabled
2010-07-06 16:39:18 +02:00
Alessandro Decina
f079ff3f20 basesink: add new enable-last-buffer property.
Add a new enable-last-buffer property. When false, it disables storing the last
received buffer in basesink::last-buffer. This can be useful in cases where
buffers need to be released asap.

API: GstBaseSink::enable-last-buffer
2010-07-06 12:38:21 +02:00
Mark Nauwelaerts
d6a6dbd740 tests: also check for adapter buffer merging in unit test 2010-05-27 15:10:34 +02: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
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
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
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
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
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
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
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
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
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
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
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
Tim-Philipp Müller
998b2392d3 Remove double semicolons at end of line 2009-06-08 17:13:17 +01: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
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
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
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
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