Commit graph

1288 commits

Author SHA1 Message Date
Tim-Philipp Müller cdade325ae taglist: add gst_tag_list_is_equal()
API: gst_tag_list_is_equal()
2011-10-30 01:44:00 +01:00
Wim Taymans 6da5841d0a tests: fix segment check 2011-10-28 16:23:49 +02:00
Wim Taymans 021f09d622 tests: fix compilation 2011-10-27 17:09:51 +02:00
Wim Taymans 4a189f80a5 tests: fix compilation 2011-10-27 16:51:43 +02:00
Stefan Sauer b6d34084f2 interfaces: clean up the use of iface and class/klass 2011-10-21 14:20:40 +02:00
René Stadler 5800757369 Revert gst_plugin_feature_get_name to const string return
Returning a newly allocated string makes no sense. It's unexpected for a
getter, and also this behaves differently in 0.10, so it would make future
merges harder.

Except for these two places here in core which were updated for the new
semantic, the return value is getting leaked all over the place.
2011-10-19 23:40:10 +02:00
René Stadler 1db50526e7 tests: fix padtemplate leak in selector test
In 0.11, gst_pad_get_pad_template returns a reference.
2011-10-17 21:40:46 +02:00
Edward Hervey b03b4c47af check: Don't leak the feature name 2011-10-17 09:51:15 +02:00
Edward Hervey e60fa7cb48 tests: Fix more leaks 2011-10-11 13:54:45 +02:00
Wim Taymans ea012d3dd7 pad: GST_FLOW_UNEXPECTED -> GST_FLOW_EOS 2011-10-10 11:33:51 +02:00
Thiago Santos 6cfaeb7d4e tests: tee: Remember to initialize variables to NULL
app_thread needs to be initialized to NULL, otherwise tests
will try to use it and crash
2011-10-09 12:03:22 -03:00
Tim-Philipp Müller 26b1496b15 tests: fix compiler warnings in sinks test 2011-10-07 13:55:18 +01: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 4f8bb4085f Merge branch 'master' into 0.11
Conflicts:
	libs/gst/base/gstbaseparse.c
2011-10-03 10:06:17 +02:00
Tim-Philipp Müller 6ce1fe1bb2 tests: add minimal test for GstAtomicQueue
Just new + free.
2011-09-30 14:50:51 +01:00
Edward Hervey 10e7159cf8 Merge branch 'master' into 0.11
Conflicts:
	gst/gstcaps.c
	gst/gstpad.c
	libs/gst/base/gstbasesink.c
	libs/gst/base/gstbasesink.h
	libs/gst/base/gstbasetransform.c
2011-09-23 13:09:25 +02:00
Tim-Philipp Müller 1051eddd4c tests: make sure filesrc returns escaped URIs even if the input was unescaped
https://bugzilla.gnome.org/show_bug.cgi?id=654673
2011-09-13 21:58:21 +01:00
Sebastian Dröge 43538e2e75 Merge branch 'master' into 0.11
Conflicts:
	docs/design/draft-buffer2.txt
	docs/design/part-TODO.txt
	docs/design/part-block.txt
	docs/design/part-bufferlist.txt
	docs/design/part-caps.txt
	docs/design/part-element-transform.txt
	docs/design/part-events.txt
	docs/design/part-negotiation.txt
	gst/gstcaps.c
	gst/gstevent.h
	gst/gstghostpad.c
	gst/gstinterface.c
	gst/gstpad.c
	gst/gstpad.h
	gst/gstutils.c
	libs/gst/base/gstbasesink.c
	libs/gst/base/gstbasesrc.c
	libs/gst/base/gstbasetransform.c
	libs/gst/base/gsttypefindhelper.c
	plugins/elements/gstcapsfilter.c
	plugins/elements/gsttee.c
	tests/check/generic/sinks.c
	tools/gst-launch.1.in
2011-09-08 14:28:23 +02:00
Piotr Fusik 14f5518f3d docs, gst: typo fixes
https://bugzilla.gnome.org/show_bug.cgi?id=658449
2011-09-07 18:03:17 +01:00
Wim Taymans d8d7c62789 basesink: remove preroll-queue-len property
Remove the preroll-queue-len property and move its variables to a private
section so that we can remove them later.
2011-08-25 12:38:58 +02:00
Wim Taymans 405a5d2a92 value: remove our FOURCC GType
Remove our custom fourcc GValue.
2011-08-22 12:19:19 +02:00
Tim-Philipp Müller 6248fefaa5 tests: update for query API changes 2011-07-28 11:24:19 +01:00
Wim Taymans 92aa4fede9 Merge branch 'master' into 0.11
Conflicts:
	libs/gst/base/gstbaseparse.c
	libs/gst/base/gstbasesink.c
2011-07-21 16:49:13 +02:00
Tim-Philipp Müller 5164d5b5bf tests: make sure non-ASCII chars in filenames are escaped when creating URIs from them
https://bugzilla.gnome.org/show_bug.cgi?id=654673
2011-07-16 12:24:01 +01:00
Wim Taymans a19baf77e7 buffer: improve size handling
Also handle the case where multiple empty memory blocks are in the buffer.
Add unit test for this.
2011-07-12 13:40:35 +02:00
Wim Taymans a5ee20db3f buffer: fix _resize some more
Add more debug.
Alow resize to 0 bytes.
Do clipping correctly.
Add more unit tests. Also add a failing test: when we resize to 0 and then
try to resize back to the original size it fails because the memory was
removed.
2011-07-12 12:00:58 +02:00
Wim Taymans 8461249f22 buffer: fix negative offsets some more
Allow for negative offsets when doing memory copy and share.
Add fast path in the _get_sizes() function.
Fix resize for negative offset and expanding the buffer.
Add some unit tests.
2011-07-11 18:00:52 +02: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 1b286af5d6 queue: fix unit test
Set the right position member in the segment event.
Add some debug to queue.
2011-07-05 16:20:03 +02:00
Tim-Philipp Müller 3dbcb73b11 Remove GstImplementsInterface
It was a bit too clever, and didn't really work as an API,
confusing people to no end. Better implement specific methods
whether an interface is usable/available/ready on the interface
itself, or even add GError arguments, rather than try to have
per-instance interfaces.
2011-06-26 22:59:26 +01: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 bbfec45ecc event: add reset_time boolean to flush_stop event
Add a boolean to the flush_stop event to make it possible to implement flushes
that don't reset_time.
Make basesink post async_done with the reset_time property from the flush stop
event.
Fix some unit tests
2011-06-10 11:55:08 +02:00
Wim Taymans b84fff07ea memory: Require implementation to implement _share
Require the memory implementations to implement a share operation. This allows
us to remove the fallback share implementation which uses a different allocator
implementation and complicates things too much.
Update design doc a bit.
2011-06-08 12:04:49 +02:00
Edward Hervey 8f048db3f3 check/tee: Pads need to be activated before caps are set
Also add debugging to figure out what's going on
2011-06-07 10:53:49 +02:00
Edward Hervey ef2d593e40 check/ghostpad: Activate pads before checking for caps forwarding/setting
This is now done via in-band events, so the pads need to be active
2011-06-06 10:27:57 +02:00
Tim-Philipp Müller a4092cd5c4 Remove everything libxml2- and loadsave-related 2011-06-04 15:22:06 +01:00
Tim-Philipp Müller 9e20c4eadc tools, tests: fix some unused-but-set-variable compiler warnings 2011-06-04 14:13:07 +01:00
Wim Taymans 7b43f02ed3 structure: fix some more 0.11 fixmes
don't allow spaces in structure names and fix unit tests.
2011-06-03 13:25:54 +02:00
Wim Taymans 272b3263aa Merge branch 'master' into 0.11
Conflicts:
	plugins/elements/gstoutputselector.c
2011-06-01 19:47:10 +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 8abc457a3b pad: implement pad block with probes 2011-06-01 19:39:16 +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
Edward Hervey c5ae6eed10 check/abi: Ignore GstXML* on arm when not present 2011-06-01 15:29:20 +02:00
Wim Taymans fce85f75ff pad: Rework pad blocking, another attempt
Make the PadBlock callback take a GstBlockType parameter to handle the different
kind of stages in the pad block. This provides for more backwards compatibility
in the pad block API.
Separate blocking and unblocking into different methods, only blocking can do a
callback, unblock is always immediately. Also removed synchronous blocking, it
can always be implemented with a callback.
2011-05-30 18:29:06 +02:00
Wim Taymans 565f492af2 Revert "pad: rework pad blocking, first part"
This reverts commit 415da89f3c.

Conflicts:

	gst/gstpad.c
2011-05-30 13:40:04 +02:00
Sebastian Dröge 58302cedfa Merge branch 'master' into 0.11 2011-05-30 07:41:13 +02:00
Sebastian Dröge f304196148 caps: Fix subset check for equivalent lists and scalar values
For example "{ 1 }" and "1" are not strictly equal but
both are a subset of each other. Also add a unit test
for this.
2011-05-30 07:38:40 +02:00
Wim Taymans 415da89f3c pad: rework pad blocking, first part
Make pad block call the callback as soon as the pad is not in use. This makes it
possible to make sure that when the callback is called, no activity is happening
on the pad and that no activity will ever happen until the pad is unblocked
again. This makes pad blocking work when there is no dataflow or after EOS and
greatly helps dynamic pipelines.
Move the probe handling right where we wait on the pad block. The two are
related but not the same and the probe can eventually influence the pad
blocking as we'll se later.
Fix up some broken unit tests or tests that fail with the new behaviour.
2011-05-27 17:37:20 +02:00
Wim Taymans 690c81b95d basesrc: remove deprecated clean shutdown method 2011-05-27 17:28:34 +02:00
Sebastian Dröge 30a7fd7b4d Merge branch 'master' into 0.11 2011-05-27 13:58:26 +02:00
Sebastian Dröge d98e9acb0f caps: Optimize gst_caps_is_subset()
..and as a result gst_caps_is_equal() and others.

This now only checks if for every subset structure there is
a superset structure in the superset caps. Previously we were
subtracting one from another, creating completely new caps
and then even simplified them.

The new implemention now is about 1.27 times faster and doesn't
break the -base unit tests are anything anymore.
2011-05-27 13:38:51 +02:00
Sebastian Dröge 0cf2dfd0ba caps: Fix subset check in gst_caps_merge()
Caps A are a subset of caps B even if caps B doesn't
have all fields of caps A.

Also add a unit test for this.
2011-05-27 13:37:06 +02:00
Wim Taymans f4f4fa5e8f pad: remove old gst_pad_set_blocked methods 2011-05-26 16:17:31 +02:00
Wim Taymans 2c221a5729 feature: use object name
Remove the name property from the plugin feature and port code to use the object
name instead.
2011-05-24 18:17:24 +02:00
Wim Taymans 31a314ac5b pad: add pending event for sticky events
Change the sticky event array so that it contains a pending and an active event.
Events on the sinkpad are copied to the pending array and after the eventfunc
returned TRUE, moved to the active event. This allows us to queue new events
like when we do per-pad offsets without removing the currently active event.
Remove the active argument from the gst_pad_get_sticky_event() method, the
pending events are not something we want to expose.
2011-05-20 11:36:25 +02:00
Wim Taymans 83389aa197 tests: caps are not stored on flushing pads
Caps are now also stored on flushing pads in the inactive state.
2011-05-19 19:07:29 +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
Wim Taymans b1676b8c30 event: fix event copy
Fix parent refcount on event copy.
Fix unit test.
2011-05-18 15:43:20 +02:00
Wim Taymans 029ac4597e pad: rework sticky events a little
Update the design docs with some clear rules for how sticky events are
handled.
Reimplement the sticky tags, use a small structure to hold the event and its
current state (active or inactive).
Events on sinkpads only become active when the event function returned success
for the event.
When linking, only update events that are different.
Avoid making a copy of the event array, use the object lock to protect the event
array and release it only to call the event function. This will need to check
if something changed, later.
Disable a test in the unit test, it can't work yet.
2011-05-18 11:08:52 +02:00
Wim Taymans 8699bca39f test: reset pad caps properly 2011-05-17 18:23:22 +02:00
Wim Taymans 7b8b93ad64 tests: fix tests
Remove the tests that handle incompatible formats, we don't want that anymore.
2011-05-17 17:53:00 +02:00
Wim Taymans 189980ec56 pad: remove unref, the object is NULL 2011-05-17 16:50:53 +02:00
Sebastian Dröge eee515e5ad tests: Update for caps/pad template related API changes 2011-05-17 13:14:16 +02:00
Sebastian Dröge 50f91c0825 Revert "event: example of how to optimize events"
This reverts commit fa28e2c5e6.

The optimization only has minimal impact on the performance and
makes everything more complex.
2011-05-17 11:45:46 +02:00
Sebastian Dröge 3d2127f865 Revert "query: allow _make_writable on query handlers"
This reverts commit cf4fbc005c.

This change did not improve the situation for bindings because
queries are usually created, then directly passed to a function
and not stored elsewhere, and the writability problem with
miniobjects usually happens with buffers or caps instead.
2011-05-17 11:21:41 +02:00
Wim Taymans ca0069595f tests: set elements in PAUSED
Set elements in PAUSED before trying to set caps on pads.
2011-05-16 19:09:54 +02:00
Wim Taymans d4f85a0cd9 test: fix ghostpad test
We need to have activated pads before we can pass around caps.
Don't set NULL caps on pads.
2011-05-16 19:05:23 +02:00
Sebastian Dröge b935a814d9 Merge branch 'master' into 0.11
Conflicts:
	configure.ac
	docs/gst/gstreamer-sections.txt
	gst/gstbin.c
	gst/gstelement.c
	gst/gstelement.h
	gst/gstghostpad.c
	gst/gstminiobject.c
	gst/gstminiobject.h
	libs/gst/base/gstbasesrc.c
	libs/gst/base/gstbasetransform.c
	plugins/elements/gstinputselector.c
	tests/check/gst/gstminiobject.c
2011-05-16 16:53:04 +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
José Alburquerque cf671d7b0a miniobject: Add weak referencing functionality
API: gst_mini_object_weak_ref()
API: gst_mini_object_weak_unref()

Add weak referencing functionality to GstMiniObject, which
allows to get notifications when an mini object is destroyed
but doesn't increase the real refcount. This is mostly
useful for bindings.

Fixes bug #609473.
2011-05-14 11:39:35 +02:00
Sebastian Dröge a216426bb6 ghostpad: API: Expose gst_proxy_pad_get_internal()
This allows to get the internal pad of ghostpads and
proxypads without using gst_pad_iterate_internal_links()
and is much more convenient.

The internal pad of a ghostpad is the pad of the opposite direction
that is used to link to the ghostpad target.
2011-05-14 11:39:34 +02:00
Sebastian Dröge 6e57ce32e5 caps: Merge structures when intersecting instead of appending them
This prevents adding duplicates over and over again to the resulting
caps if they already describe the new intersection result.

While this changes intersection from O(n*m) to O(n^2*m), it results in
smaller caps, which in the end will decrease further processing times.

For example in an audioconvert ! audioconvert ! audioconvert pipeline,
when forwarding the downstream caps preference in basetransform
(see e26da72de25a91c3eaad9f7c8b2f53ba888a0394) this results in
16 instead of 191 caps structures.
2011-05-14 11:39:34 +02:00
Miguel Angel Cabrera Moya f450817d7f parse: don't unescape inside quotes
Escaped characters inside quoted strings are supposed to be unescaped by
deserialization functions, not by parsing functions.

https://bugzilla.gnome.org/show_bug.cgi?id=648025
2011-05-14 11:39:34 +02:00
Sebastian Dröge 54fd068aba meta: Fix compilation of the unit test after removal of the serialize/deserialize functions 2011-05-13 08:38:30 +02:00
Wim Taymans fa28e2c5e6 event: example of how to optimize events
Use a structure for the QoS event by 'extending' the GstEventImpl structure.
This should avoid allocation of GstStructures and its contents.
2011-05-11 11:06:36 +02:00
Wim Taymans cf4fbc005c query: allow _make_writable on query handlers
Pass a GstQuery ** to the query handlers so that they can make the query
writable before using a setter on it.
Port code to new API.
2011-05-10 18:36:33 +02:00
Wim Taymans 933446ec44 query: Hide GstStructure in queries
Hide the GstStructure from the query API.
Rename some methods to match the more common names in GObject libraries.
Add some more useful query API.
2011-05-10 15:33:53 +02:00
Wim Taymans 7f24a48387 event: _qos_full -> _qos 2011-05-09 18:48:55 +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 ba6b915651 base: avoid using buffer caps
Comment all code using buffer caps.
Rework capsfilter code a little.
Fix some unit tests
2011-05-08 12:46:17 +02:00
Wim Taymans e444493793 selector: don't unset caps 2011-05-06 17:39:09 +02:00
Sebastian Dröge 8ce0fea199 tests: Update for new GstIterator API 2011-05-05 15:36:04 +02:00
Sebastian Dröge dc63e38219 caps: Merge structures when intersecting instead of appending them
This prevents adding duplicates over and over again to the resulting
caps if they already describe the new intersection result.

While this changes intersection from O(n*m) to O(n^2*m), it results in
smaller caps, which in the end will decrease further processing times.

For example in an audioconvert ! audioconvert ! audioconvert pipeline,
when forwarding the downstream caps preference in basetransform
(see e26da72de25a91c3eaad9f7c8b2f53ba888a0394) this results in
16 instead of 191 caps structures.
2011-05-05 15:22:14 +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
Miguel Angel Cabrera Moya 419f48d0d1 parse: don't unescape inside quotes
Escaped characters inside quoted strings are supposed to be unescaped by
deserialization functions, not by parsing functions.

https://bugzilla.gnome.org/show_bug.cgi?id=648025
2011-05-05 12:30:05 +02:00
Sebastian Dröge 65eafd9340 Merge branch 'master' into 0.11
Conflicts:
	docs/gst/gstreamer-sections.txt
	gst/gstelementfactory.c
	gst/gstminiobject.c
2011-05-05 12:27:51 +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
Tim-Philipp Müller d72f559d29 tests: fix compiler warning in new miniobject test
gst/gstminiobject.c: In function ‘test_dup_null_mini_object’:
gst/gstminiobject.c:459:7: warning: assignment from incompatible pointer type
2011-05-04 15:30:41 +01:00
Thiago Santos a750aac2dd miniobject: Fix dup_mini_object function to handle NULL gvalues
g_value_dup_object handles gvalues that contain NULL pointers,
gst_value_dup_mini_object should do the same.

https://bugzilla.gnome.org/show_bug.cgi?id=649195
2011-05-03 08:15:51 -03:00
Philippe Normand 4e36f93924 core: store presets, registry and plugins in XDG directories.
Presets and plugins moved to $XDG_DATA_HOME/gstreamer-0.11/
root directory. Registry moved to $XDG_CACHE_HOME/gstreamer-0.11/.

Fixes bug #518597.
2011-05-03 09:43:22 +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
Wim Taymans 070cdaab7c Merge branch 'master' into 0.11 2011-04-25 10:30:41 +02:00
Tim-Philipp Müller 0783046100 tests: clean up properly in the bin test_link_structure_change unit test
Don't forget to set the pipeline back to NULL state, which makes
valgrind happy again.
2011-04-24 11:48:21 +01:00
Tim-Philipp Müller e029aeef9e tests: add simple pipeline-in-pipeline unit test
https://bugzilla.gnome.org/show_bug.cgi?id=648297
2011-04-21 12:33:10 +01: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 a70df76c53 element: Add test for inheriting metadata/pad templates 2011-04-16 15:59:40 +02:00
Sebastian Dröge f51a23a83c Merge branch 'master' into 0.11 2011-04-16 08:59:58 +02:00
Sebastian Dröge b44d555865 multiqueue: Don't leak pads in the named pads unit test 2011-04-14 09:07:25 +02:00
David Schleef 0b6430f6e8 parser: Allow element names to begin with digits 2011-04-13 12:24:12 -07:00
David Schleef e9afe72710 tests: Add test for greatest common divisor 2011-04-13 10:31:03 -07: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
Tim-Philipp Müller 8ba64e4e5d tests: disable test_many_bins unit test for now
It fails on the OSX bot (both with git and the last release), and
it doesn't really test anything useful, so may just as well disable
it for now.
2011-04-11 13:04:32 +01:00
Tim-Philipp Müller 6ca7284a54 tests: allow more time for the test_many_bins pipeline to preroll
Hopefully makes this test work on the OSX build bot and other
not-so-powerful machines.

https://bugzilla.gnome.org/show_bug.cgi?id=646624
2011-04-11 12:04:34 +01:00
Wim Taymans 6be4dbdb5a Merge branch 'master' into 0.11
Conflicts:
	android/base.mk
	android/controller.mk
	android/dataprotocol.mk
	android/elements.mk
	android/gst-inspect.mk
	android/gst-launch.mk
	android/gst-plugin-scanner.mk
	android/gst.mk
	android/indexers.mk
	android/net.mk
	win32/common/libgstbase.def
2011-04-11 10:26:54 +02:00
Edward Hervey ba515c186b check: Ignore new gstmeta binary 2011-04-09 04:07:04 +02:00
Sebastian Dröge b17537d14d utils: Fix uninitialized variable compiler warnings 2011-04-08 09:20:28 +02:00
Tim-Philipp Müller 5c75330fea tests: add some basic unit tests for queue2 2011-04-07 20:50:04 +01:00
Sebastian Dröge 08b98cc7e9 Merge branch 'master' into 0.11 2011-04-06 14:20:59 +02:00
Tim-Philipp Müller 6a5f8a1b2d checks: make tests_many_bins in bin unit test a bit faster
Not doing expensive checks when linking elements makes things
much faster.
2011-04-06 11:41:14 +01:00
Tim-Philipp Müller da5d6712a2 checks: add some queues to test_many_bins unit test
To limit the number of calls in a row per thread.
2011-04-06 11:30:18 +01:00
Sebastian Dröge ec0de993c6 value: GstDate/GDate has a abbreviation now 2011-04-06 11:45:27 +02:00
Tim-Philipp Müller d7ff4ee6cb checks: add GstBin unit test that creates a lot of bins
Currently fails (in normal circumstances) because we create a
socket pair for each bin's bus and exhaust the number of available
file descriptors.

https://bugzilla.gnome.org/show_bug.cgi?id=646624
2011-04-05 16:30:59 +02:00
Wim Taymans 8bcaf95662 Merge branch 'master' into 0.11 2011-04-04 11:17:28 +02:00
Tim-Philipp Müller 439bbf1fde checks: ignore new funnel unit test binary 2011-04-03 16:18:14 +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
Wim Taymans 468ec5bc40 bufferlist: simplify bufferlists
We now have multiple memory blocks as part of the buffers and we can therefore
reduce the bufferlist to a simple array of buffers.
2011-03-31 17:51:02 +02:00
Sebastian Dröge f42f2240d0 gstabi: Add some new structures for x86-64 2011-03-31 10:53:03 +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 7a62d32a07 Merge branch 'master' into 0.11-fdo
Conflicts:
	docs/plugins/gstreamer-plugins.hierarchy
	gst/gstelement.c
2011-03-30 19:58:52 +02:00
Wim Taymans ebb14d95b2 buffer: more API tweaks
_trim -> _resize
_create_sub -> copy_region
2011-03-30 16:47:55 +02:00
Sebastian Dröge 8db570f48c multiqueue: Make assignment of queue IDs and pad names threadsafe
Also add a test for naming pads by the caller and return NULL
when requesting an already existing pad.
2011-03-30 10:52:36 +02:00
Sebastian Dröge 565efa30ea funnel: Integrate into the build system and rename the types 2011-03-29 11:20:05 +02:00
Sebastian Dröge e5a857e78a funnel: Import funnel element from farsight2 2011-03-29 11:20:05 +02:00
Wim Taymans 6da19ffeb2 buffer: more buffer updates 2011-03-29 11:07:36 +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 f35847a094 buffer: fix unit test 2011-03-28 20:08:46 +02:00
Wim Taymans 121ab46aa6 memory: remove memory metadata again 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
Thiago Santos 0e1a561467 tests: caps: Tests for the new caps intersection mode
Adds test cases for the caps 'first' intersect mode
Adds another test for the 'zigzag' mode

Fixes #617045
2011-03-24 11:38:26 -03: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
Sebastian Dröge 4e16347bfa Merge branch 'master' into 0.11
Conflicts:
	gst/gstbufferlist.c
2011-03-17 10:50:43 +01:00
Jonas Holmberg c4c06a2b88 bufferlist: Use a GQueue instead of a GList
Adding a buffer to the end of a GstBufferList is supposed to be a fast
operation, but it was not since the iterator does not advance its
nextpointer when adding buffers and GList does not have a tail pointer.
Using a GQueue to store the buffers makes it easier to add buffers to
the end of the list and this operation will now be much more efficient.

Adding an entire GList of buffers using
gst_buffer_list_iterator_add_list() will however have to iterate over
the list being added to be able to update the tail pointer in the
GQueue.
2011-03-11 14:31:14 +01:00
Wim Taymans f0e3902a37 Merge branch 'master' into 0.11 2011-03-10 10:25:07 +01:00
Stefan Kost 7f49a9189a test: add tests for new element_factory api. 2011-03-09 15:28:06 +02:00
Stefan Kost e66ae6681a tests: add a unit test for gst_caps_new_simple
Add a test for the crash in bug #642271.
2011-03-08 23:01:15 +02:00
Wim Taymans fa0d993372 meta: implement transform function
Replace subbuffer and copy vmethods by a more generic transform function that
can then be parametrised by transform specific data. This should allow us to
implement make-writable and more future transform functions.
2011-03-08 17:11:23 +00:00
Wim Taymans fd0fd97200 Merge branch 'master' into 0.11 2011-03-08 17:06:30 +00:00
Stefan Kost 7c98ae2b98 tests: add test to create a factory 2011-03-08 12:29:28 +02:00
Stefan Kost b6e2c69134 tests: start a new test suite for element factories
Move one test from gstelement suite.
2011-03-08 12:29:28 +02:00
Wim Taymans 230c3455ac Merge branch 'master' into 0.11
Conflicts:
	gst/gstregistry.h
2011-03-02 11:08:34 +01:00
Wim Taymans f5d1dcbd9a tests: add memory unit test 2011-02-28 09:39:44 +01:00
Wim Taymans 58060d7528 meta: separate add and get methods
Make separate api for getting and adding metadata. This allows us to pass extra
parameters to the init functions when creating metadata, which is needed for
specific API implementations.
Add beginnings of memory metadata.
2011-02-27 19:40:45 +01:00
Wim Taymans 6f4a733063 metadata: Rename to GstMeta
Rename to the shorter GstMeta
Add docs
Add api to get metadata by API
2011-02-25 13:15:25 +01:00
Wim Taymans 45645a11a1 buffermeta: fix compilation 2011-02-25 10:34:52 +01:00
Wim Taymans 023cada1f4 meta: improve test a little 2011-02-25 10:34:52 +01:00
Wim Taymans 8468dadc77 buffermeta: add beginnings of buffer metadata
Add first implementation of arbitrary buffer metadata. We use a simple linked
linked of slice allocated metadata chunks. Future implementations could use
something more performant.
Add get, remove, iterate methods to handle the metadata.
2011-02-25 10:34:47 +01:00
Tim-Philipp Müller 1f59906ec1 filesrc, filesink: fix URI creation regression for non-absolute locations
Passing e.g. location=foo would lead to warnings because g_filename_to_uri()
wants an absolute file path and returns NULL otherwise. Use brand-new
gst_filename_to_uri() instead, which will try harder to create a proper
URI for us.

Also add unit test.
2011-02-24 15:36:53 +00:00
Stefan Kost b3f0d98964 tests: refix the tests (missing #endif) 2011-02-24 16:20:01 +02:00
Stefan Kost b30e516d3e Makefile.am: add new abi headers to nodist_HEADERS 2011-02-24 16:11:17 +02:00
Stefan Kost 3cb1180ff4 tests: add abi check data for ARM (libs) 2011-02-24 15:12:57 +02:00
Stefan Kost 98a50e3b82 tests: add abi check data for ARM 2011-02-24 15:03:03 +02:00
Wim Taymans 6c18c9508d miniobject: more boxed type fixing
More miniobject fixing, leaks horribly somewhere..
2011-02-23 10:35:09 +01:00
Wim Taymans 0894ed2053 Merge branch 'master' into 0.11 2011-02-22 15:08:51 +01:00
Wim Taymans 238b9a57cc Merge branch 'master' into 0.11
Conflicts:
	configure.ac
	gst/gstelement.c
	gst/gstelement.h
	gst/gstpad.c
	gst/gstutils.c
	libs/gst/base/Makefile.am
	libs/gst/check/Makefile.am
	libs/gst/controller/Makefile.am
	libs/gst/dataprotocol/Makefile.am
	libs/gst/net/Makefile.am
	win32/common/libgstreamer.def
2011-02-22 14:11:59 +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
Tim-Philipp Müller 3a744ca442 value: add (de)serialisation function for uchar
.. since we sadly have a plugin in -good that has a uchar property
(cmmlenc)

https://bugzilla.gnome.org/show_bug.cgi?id=642522
2011-02-17 10:55:28 +00:00
Wim Taymans 8d27621e40 check: fix a leak in the bus unit test 2011-02-16 17:56:38 +01:00
Sebastian Dröge c1c0c86bba file{sink,src}: Check if non-URI characters are escaped, but only for the URI not the location property 2011-02-15 22:57:28 +01:00
Sebastian Dröge 39eeab382c file{src,sink}: Fix unit tests
filesink and filesrc should return exactly the same URI as passed
and must not escape path separators.
2011-02-15 22:57:28 +01:00
Wim Taymans 5db2e45d5c check: add progress message unit test 2011-02-15 18:55:22 +01:00
Wim Taymans 56826a5ee6 event: add QoS event type
Add a parameter to the QoS event to specify the QoS event type.
Update docs and add unit test.

See #638891
2011-02-10 15:21:45 +01:00
Tim-Philipp Müller b93b05653e bus: honour any per-thread default main context set via g_main_thread_push_thread_default()
Makes gst_bus_add_watch(), gst_bus_add_watch_full(), gst_bus_add_signal_watch(),
and gst_bus_add_signal_watch_full() convenience functions automatically pick up
any non-default main contexts set for the current thread via
g_main_thread_push_thread_default().
2011-01-31 15:58:18 +00:00
Jan Schmidt d38933081e multiqueue test: Remove workaround for pad_task hangs
Remove code that isn't needed any longer, which sets the multiqueue
to PLAYING and back before unreffing, in order to avoid a deadlock
waiting for gstpad tasks that were never started. The problem seems
to have been fixed long ago.
2011-01-25 16:09:18 +10:00
Tim-Philipp Müller bc066cf2ca tests: add unit test for read-beyond-end-of-string bug
https://bugzilla.gnome.org/show_bug.cgi?id=639674
2011-01-24 14:24:37 +00:00
Thiago Santos 08a71b98a9 test: outputselector: Add another negotiation test
Adds an unit test to check that the output-selector works
when negotiating before srcpads are requested
2011-01-10 14:52:05 -03:00
Thiago Santos e1e81ca16d tests: selector: unref peer pad
Do not forget to unref peer's pad on output-selector negotiation
tests
2011-01-10 10:04:46 -03:00
Tim-Philipp Müller c65bf460ad tests: never disable g_assert() and cast checks for the unit tests
The unit tests are riddled with g_assert() and friends, make sure we
don't disable assert and cast checks for the unit tests even if
this has been specified for the rest of the code base, e.g. via
--disable-glib-asserts.
2011-01-07 00:53:11 +00:00
Thiago Santos 757dc90faa output-selector: Add pad-negotiation-mode property
Adds getcaps/setcaps to output-selector and adds a property
to select which type of negotiation should be done.

The available modes are:
 * none:   no negotiation (current behavior), getcaps return ANY and
           setcaps aren't set on any of the peers
 * all:    use all pads (default), getcaps returns the intersection of
           peer pads and setcaps is set on all peers
 * active: getcaps and setcaps are proxied to the active pad

https://bugzilla.gnome.org/show_bug.cgi?id=638381
2011-01-06 18:42:29 +00:00
Zhang Wanming 74ed5af81a tests: fix typo
Signed-off-by: Zhang Wanming <Wanming.Zhang@tieto.com>
2010-12-31 12:20:53 +01:00
Tim-Philipp Müller a97199c6a4 checks: enable input-selector and output-selector unit tests after move 2010-12-31 01:01:02 +00:00
Benjamin Otte 8915626090 Add -Wwrite-strings
and fix its warnings
2010-12-31 00:54:04 +00:00
Benjamin Otte 9bb7806e01 Add -Wmissing-declarations -Wmissing-prototypes to configure flags
And fix all warnings
2010-12-31 00:54:04 +00:00
Wim Taymans 3fcc406815 plugins/elements/gstinputselector.*: Various cleanups.
Original commit message from CVS:
* plugins/elements/gstinputselector.c: (gst_selector_pad_class_init),
(gst_selector_pad_finalize), (gst_selector_pad_get_property),
(gst_selector_pad_event), (gst_input_selector_class_init),
(gst_input_selector_init), (gst_input_selector_set_active_pad),
(gst_input_selector_set_property),
(gst_input_selector_get_property),
(gst_input_selector_request_new_pad),
(gst_input_selector_release_pad),
(gst_input_selector_push_pending_stop),
(gst_input_selector_switch):
* plugins/elements/gstinputselector.h:
Various cleanups.
Added tags to the pads.
Select active pad based on the pad object instead of its name.
Fix refcount in set_active_pad.
Add property to get the number of pads.
* plugins/elements/gstoutputselector.c:
(gst_output_selector_class_init),
(gst_output_selector_set_property),
(gst_output_selector_get_property):
Various cleanups.
Select the active pad based on the pad object instead of its name.
Fix locking when setting the active pad.
* plugins/elements/gstselector-marshal.list:
* tests/check/elements/selector.c: (cleanup_pad),
(selector_set_active_pad), (run_input_selector_buffer_count):
Fixes for pad instead of padname for pad selection.
2010-12-31 00:53:14 +00:00
Stefan Kost 7b742d1cf4 plugins/elements/gstinputselector.*: Added "select-all" property to make it work like aggregator in 0.8.
Original commit message from CVS:
* plugins/elements/gstinputselector.c:
* plugins/elements/gstinputselector.h:
Added "select-all" property to make it work like aggregator in 0.8.
* plugins/elements/gstoutputselector.c:
Fix resend-latest behavoiur.
* tests/check/Makefile.am:
* tests/check/elements/.cvsignore:
* tests/check/elements/selector.c:
Add unit tests for selector.
2010-12-31 00:52:48 +00:00
Tim-Philipp Müller 736daba993 tests: enable valve unit test 2010-12-31 00:51:12 +00:00
Tim-Philipp Müller ad628d0bc5 tests: fix valve unit test
gst_buffer_pad_alloc() needs simple caps or NULL caps,
ANY caps are not allowed.
2010-12-31 00:51:12 +00:00
Olivier Crête 284b9f0e84 tests: Fix caps leak in the valve test 2010-12-31 00:51:12 +00:00
Olivier Crête 17e0b91890 valve: Add unit tests
Add a unit test for the valve element.
2010-12-31 00:51:12 +00:00
Wim Taymans 17bb26b529 check: add more sink unit tests 2010-12-28 16:40:28 +01:00
Wim Taymans 9b37a40e94 check: disable ABI checks 2010-12-07 18:32:53 +01:00
Wim Taymans b2ab72b916 pad: remove get_caps_reffed variants
Make the _get_caps functions behave like the _get_caps_reffed variants and
remove the _reffed variants. This means that _get_caps doesn't return a writable
caps anymore and an explicit _make_writable() is needed before modifying the
caps.
2010-12-07 18:14:38 +01:00
Wim Taymans 920ef127ce element: rework GstElementDetails
Clean up the GstElement structure
Replace GstElementDetails with metadata
2010-12-07 15:33:04 +01:00
Wim Taymans a0ed044de8 plugin: remove deprecated methods
Remove more deprecated methods and fix unit test.
2010-12-07 15:31:27 +01:00
Wim Taymans a1500eeeb2 check: remove deprecated tests 2010-12-07 15:21:06 +01:00
Wim Taymans 7f684e1525 check: fix object unit test 2010-12-07 15:20:12 +01:00
Thiago Santos 2f94ad3d6c gstdatetime: Fix handling of timezones
Fix returning of timezones on systems with gdatetime
to use floats on the math expression to avoid
truncating the fractional part.

Also adds a test for covering this case.
2010-12-02 16:28:43 -03:00
Wim Taymans a813aad0ac basesink: rework position reporting code
Unify the different position reporting code paths to make it more
understandable.
Use start_time to get more accurate position reporting in paused.
Fix unit tests for more accurate reporting.
2010-12-02 19:10:46 +01:00
Wim Taymans 9076d5688f basesink: also preroll after a flush with async=false
Make sure to preroll after a flush even when we are async=false.
Add unit test.

Fixes #634965
2010-12-02 19:10:45 +01:00
Wim Taymans 6c47a2e69d check: lock src state to avoid error cases
Lock the state of the src element or else the pipeline might go into the error
state when we set it to PAUSED later.
2010-12-02 19:10:44 +01:00
Thiago Santos 1b27e1e792 datetime: Add _from_unix_epoch variants
Adds 2 variants for the gst_date_time_from_unix_epoch function,
one for UTC and another for local time.

API: gst_date_time_new_from_unix_epoch_utc
API: gst_date_time_new_from_unix_epoch_local_time

Fixes #653031

https://bugzilla.gnome.org/show_bug.cgi?id=635031
2010-11-17 09:58:32 -03:00
Jan Schmidt 6d590c65e5 tests: Add a multiqueue sparse streams test 2010-10-27 18:11:35 +02:00
Thiago Santos e9312870e5 datetime: Use seconds as double
Use seconds as double to make API similar to glib's
gdatetime. Also move timezone parameter to the
first position, just like glib's.

https://bugzilla.gnome.org/show_bug.cgi?id=628408
2010-10-13 11:48:57 -03:00
Ognyan Tonchev 36b533d5b2 queue: apply sink segment on the source if queue is empty
Apply the sink segment on the source immediatly when it is received
and there is nothing in the queue.

Solves #482147
2010-10-11 15:56:31 +02: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
Thiago Santos dd53349ad2 gstdatetime: Fix string serialization
Correctly serialize tzoffset as a gstvalue
2010-09-27 20:41:52 -03:00
Tim-Philipp Müller 7203806ffb tests: fix 'make check' build for setups where no c++ compiler is available
Only try to build (pseudo-)C++ unit test if a working C++ compiler has been
found, otherwise the build will fail. (We do this to make sure our headers
are 'C++ clean').
2010-09-23 14:41:27 +01:00
Stefan Kost 2713e903fb tests: rebuild one test using cpp
This aims to catch cpp issues in core. Add c++ boilerplate to configure.
2010-09-22 10:22:40 +03:00
Edward Hervey b6aa0583b6 tests: Handle new assertion in gst_adapter_masked_scan_uint32 2010-09-19 16:10:16 +02:00
Wim Taymans 0447e72c97 bufferlist: add function to add a list of buffers
Add a function to add a list of buffers to the bufferlist.
2010-09-17 17:35:45 +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 d2aa01c2de checks: and check the right env-var (fixup last commit) 2010-09-09 21:59:29 +03:00
Stefan Kost 6a3e15373c tests: allow running state tests for all elements
Now one can use GST_NO_STATE_IGNORE_ELEMENTS=1 make generic/states.check
to try elements that would normaly be skipped.
2010-09-09 21:56:28 +03:00
Edward Hervey b792329dde check: Avoid error: array subscript is above array bounds
Could have come up with something better for my 2000th commit
to GStreamer...
2010-09-06 18:37:29 +02:00
Stefan Kost 56a6094b75 tests: tune skipping checks if we have disabled subsystems
Skip ABI tests if some subsystems are off. Remove DISABLE_GST_DEBUG from
skipping export checks as this is safe now.
2010-09-06 14:35:26 +03:00
Philippe Normand 9ef1c47079 gstquery: new buffering_ranges API
Added a new query type to retrieve informations about the areas of the
media currently buffered. See bug 623121.

API: gst_query_add_buffering_range
API: gst_query_get_n_buffering_ranges
API: gst_query_parse_nth_buffering_range
2010-09-03 19:55:25 +02:00
Sebastian Dröge 0107c7e793 gstvalue: Fix memory leaks in the int64range tests 2010-09-01 11:07:38 +02:00
Philippe Normand b2e6379be8 gstvalue: Add new GstInt64Range type
new GstInt64Range to store gint64 ranges.

API: GST_TYPE_INT64_RANGE
API: gst_value_set_int64_range
API: gst_value_get_int64_range_min
API: gst_value_get_int64_range_max

Fixes bug #627826.
2010-09-01 11:07:37 +02:00
Jan Schmidt 519e08c37f tests: Remove checks for deprecated flow check macros
GST_FLOW_IS_FATAL() and GST_FLOW_IS_SUCCESS() are deprecated,
so aren't available for the testsuite any more.
2010-08-28 17:51:14 +10:00
Jan Schmidt 8a20878535 tests: Add a couple of extra caps strings to test 2010-08-28 17:05:29 +10:00
Jonas Holmberg 351de88529 queue: fix segfault in test 2010-08-23 14:19:50 +02:00
Jonas Holmberg 9f87f57a82 queue: added unit test for newsegment events 2010-08-20 16:11:42 +02:00
Sebastian Dröge 41c04c7471 datetime: Fix memory leak in the unit test by unreffing GstDateTime instance after usage 2010-08-19 11:11:28 +02:00
Wim Taymans 649634a98f tests: fix comments in test 2010-08-19 10:03:33 +02:00
Wim Taymans e3dbe65314 check: enable queue test again 2010-08-18 15:31:09 +02:00
Jonas Holmberg 63c0e75e15 queue: fixed racy unit tests
Fixes #600004
2010-08-18 15:27:04 +02:00
Stefan Kost 42e8f0aa90 tests: add comments telling the meaning of the abbreviations 2010-08-05 09:40:02 +03:00
Tim-Philipp Müller e50267593e tests: add basic unit test for gst_pad_proxy_getcaps()
https://bugzilla.gnome.org/show_bug.cgi?id=624203
2010-08-05 01:14:18 +01: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
Thiago Santos d407764110 gstvalue: Adds tests for datetime
Adds tests for datetime fields in gstvalue tests

Fixes #594504
2010-07-26 11:57:52 -03:00
Thiago Santos 6425bde6ec gstdatetime: Adds GstDateTime
Adds GstDateTime to represent dates + time + timezone
information.

Tests included.

API: GstDateTime
API: gst_date_time_get_day
API: gst_date_time_get_month
API: gst_date_time_get_year
API: gst_date_time_get_hour
API: gst_date_time_get_microsecond
API: gst_date_time_get_minute
API: gst_date_time_get_second
API: gst_date_time_get_time_zone_offset
API: gst_date_time_new
API: gst_date_time_new_local_time
API: gst_date_time_new_from_unix_epoch
API: gst_date_time_new_now_local_time
API: gst_date_time_new_now_utc
API: gst_date_time_ref
API: gst_date_time_unref

Fixes #594504
2010-07-26 11:57:49 -03:00
Tim-Philipp Müller 8c72758ec2 plugin: add release datetime field to GstPluginDesc and set it if GST_PACKAGE_RELEASE_DATETIME is defined
This is a string describing a date and/or date/time in a simple subset of
the ISO-8601 format, namely either "YYYY-MM-DD" or "YYYY-MM-DDTHH:MMZ" (with
'T' the date/time separator and the 'Z' indicating UTC).

The main purpose of this field is to keep track of plugin and element versions
on an absolute timeline, so it's possible to determine which one is newer when
comparing two date time numbers. This will allow us to express 'replaces'-type
relationships betweeen plugins and element factories in future, even across
different modules and plugin merges or splits (source module version numbers
aren't particularly useful here, since they can only meaningfully be compared
within the same module). It also allows applications and libraries to reliably
check that a plugin is recent enough without making assumptions about modules
or module versions.

We use a string here to keep things simple and clear, esp. on the build system
side of things.

https://bugzilla.gnome.org/show_bug.cgi?id=623040
2010-07-23 17:00:56 +01: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 c082281d28 checks: add unit test for recent taglist merge_strings_with_comma fix
See #624113.
2010-07-11 19:00:54 +01:00
Tim-Philipp Müller 8836a3fd03 .gitignore: ignore new basesink unit test binary 2010-07-08 13:46:56 +01:00
Tim-Philipp Müller e688f6fb2b 0.10.29.4 pre-release
Also bump libtool versions now (which I meant to do for the first
pre-release but forgot).
2010-07-06 23:52:04 +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
Tim-Philipp Müller a877aefebd checks: rewrite gsttagsetter test to use fewer g_usleep()
Something about that seems to interact badly with some schedulers,
so do things differently.

Fixes #623469.
2010-07-06 11:16:17 +01:00
Alessandro Decina e688979169 tests: remove ABI checks for GstClockEntry. 2010-07-06 10:46:42 +02:00
Alessandro Decina 819780acf7 clock: use the new gst_clock_id_wait_async_full.
Use the new gst_clock_id_wait_async_full in gst_clock_set_master.
Also add some tests.
2010-07-06 10:46:42 +02:00
Tim-Philipp Müller 9db5a93ed8 check: skip silly test that segfaults when in a CK_FORK=no environment
See #623469.
2010-07-03 16:40:43 +01:00
Tim-Philipp Müller 694f4d90f8 checks: make fakesrc check work in a CK_FORK=no environment
Reset have_eos at the beginning of each test.

See #623469.
2010-07-03 15:13:14 +01:00
Tim-Philipp Müller 95a520be76 checks: run tests calling gst_deinit() last so things work with CK_FORK=no
Because gst_init() will fail once gst_deinit() has been called.

See #623469.
2010-07-03 14:11:38 +01:00
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
Sebastian Dröge ea82d2d72a tests: Remove GstXML tests 2010-06-25 18:25:40 +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 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
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
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
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
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 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
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
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
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
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 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
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 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
Sebastian Dröge 3a5cceeb6b iterator: Add unit test for the single iterator 2009-09-01 10:21:31 +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
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
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
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 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
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
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
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
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 4b604f7da6 Pad: post STREAM_STATUS_TYPE_CREATE
Post a stream-status message indicating that a new task was created so that the
application has a chance to change the properties of the task.

Fix unit test to take into account the new ref of the message.
2009-05-12 00:27:10 +02:00
Wim Taymans 2aaf72d259 tests: add a unit-test for the stream-status
Add a unit test for the STREAM_STATUS messages.
2009-05-12 00:07:06 +02:00
Wim Taymans 2efaf65c4c tests: fix unit-tests for new stream-status
Fix the unit-tests so that they don't fail on the new stream-status messages
that are emited now.
2009-05-12 00:00:54 +02:00
Stefan Kost dd3c9ab6b6 controller: factor out duplicated code and add a description for it.
Also fix typo in the tests while reviewing them.
2009-04-14 22:08:56 +03:00
Tim-Philipp Müller 116c8be6bf API: add FIXME and DUMPMEM log levels and convenience macros
Two new log levels to dump FIXMEs into the log and to log data
in form of a hex dump (#578114).

API: GST_CAT_FIXME_OBJECT
API: GST_CAT_MEMDUMP_OBJECT
API: GST_CAT_FIXME
API: GST_CAT_MEMDUMP
API: GST_FIXME_OBJECT
API: GST_MEMDUMP_OBJECT
API: GST_FIXME
API: GST_MEMDUMP
2009-04-08 21:32:05 +01:00
Stefan Kost c9917a1a84 tests: remove the hacks to workaround the pad-leak 2009-04-08 17:49:18 +03:00
Sebastian Dröge 322d0b0fd8 tests: Don't define global buffers variable, it's already defined by libgstcheck 2009-03-30 15:45:02 +02:00
Wim Taymans df30f60048 clock: fix 2 wakeup races.
when an entry being waited on in the async thread is unscheduled, clear the
wakeup queue so we can continue waiting on other entries.
When an entry being waited on in the async thread is unlocked because an earlier
entry was added to the list, set the entry to OK again. This makes sure that
only the entries being waited on have the BUSY flag set and wake up the timer
poll when they are unscheduled.
2009-03-26 15:59:17 +01:00
Tim-Philipp Müller c4e10b9535 API: add gst_tag_list_get_buffer{_index}
Convenience API, mostly for image tags, so people don't have to
figure out the whole GValue/GstValue thing just for this.
2009-03-26 14:21:10 +00:00
Jan Schmidt 4ef524f5ec systemclock: Clean up the tests a bit.
Add some cleanups to the system clock tests, to free all the memory and
unschedule/unref all clock IDs we allocate.

Use a mutex in one test to avoid potential threading problems on multicore
machines.
2009-03-26 12:18:09 +00:00
Jan Schmidt b35f424858 systemclock: Add a test for sync/async clockid interactions
This test randomly hangs if there are problems with the reliability of
unscheduling sync and async clockID's on the system clock.
2009-03-26 12:18:09 +00:00
Wim Taymans da0060d3aa pad: call new callbacks set in the block callback
Keep track of when a new callback is installed in the callback and call the new
callback in that case.
Add unit test for checking pad blocking.
Fixes #573823.
2009-03-09 11:48:36 +01:00
Sebastian Dröge 3c6448c64e API: Add gst_util_array_binary_search() for binary searchs on a sorted array
This will be mostly useful in all elements that have some kind of internal
seek/index table. Currently almost all of them (or even all of them)
are using a linear search although the used array is already sorted,
wasting some CPU time without good reason.

Fixes bug #573623.
2009-03-02 16:17:45 +01:00
Edward Hervey b81b9c0e59 Remove core file from previous commit 2009-02-22 22:09:39 +01:00
Alessandro Decina d3940f520b GstPad: Add gst_pad_set_blocked_async_full
This allows connecting a GDestroyNotify for when the callback is removed/replaced.
Partially fixes #514717
2009-02-22 20:01:05 +01:00
Wim Taymans 4b986a4a94 Add message to request a state change
Add a GST_MESSAGE_REQUEST_STATE that can be posted by element when they would
like to have the application change the state of the pipeline. the primary use
case is to pause the pipeline when an audio mixer is mixing a higher priority
stream but it can also be used for other purposes.

Add some docs and a unit test.

Implement the REQUEST_STATE message in gst-launch.

API: gst_message_new_request_state()
API: gst_message_parse_request_state()
API: GST_MESSAGE_REQUEST_STATE
2009-02-18 15:31:55 +01:00
Wim Taymans 26f368f7e7 Clear target when the target pad disappears
When the target pad disappears (because it was explicitly unlinked or the
element was removed/unreffed) make sure we receive a notify with the unlink
function on the proxy pad and clear the target. We use a simple flag to not do
this and cause deadlocks when the target was changed explicitly using the
ghostpad functions.

Update the unit test because we now unref the target sooner (and correctly).
2009-02-16 12:58:34 +01:00
Stefan Kost 697055b3e4 tests: GstClockTime is always >= 0 2009-02-05 13:57:05 +02:00
Wim Taymans fe4233120c GstBaseSink: avoid calling preroll multiple times
Fix a regression introduced by fix for #567725 in commit
1c7ab4ed4f. We should only call the preroll
function once namely when we did not yet commit the state change.

Add a unit test to check that we call the preroll function when interrupting the
clock_wait (see #567725).

Add a unit test to check that we only call the preroll function once.
2009-02-03 12:52:49 +01:00
Jan Schmidt 6f9b066019 check: Fix comment about the timeout for generic stress test.
Setting the timeout to 0 makes it infinite, so fix the comment
above accordingly.
2009-01-31 21:35:22 +00:00
Jan Schmidt da0a34e493 check: Increase timeout for the tee test
The tee stress test keeps timing out for me on one of the slower
machines, so increase the timeout to 3 mins.
2009-01-31 21:35:21 +00:00
Jan Schmidt e89ce19497 Update a bunch of gitignores to clean up my git status output 2009-01-23 16:08:40 +00:00
Wim Taymans ae76b3d606 do not call the unlink function on the target pad when the ghostpad
is unlinked.
Add some unit tests for this behaviour.
Fixes #566936.
2009-01-21 12:21:49 +01:00
Tim-Philipp Müller 0ee5e36cfb gst/gstbus.c: Fix order of members in GstBusSource structure - the first member must be the parent structure ie. GSou...
Original commit message from CVS:
* gst/gstbus.c: (gst_bus_set_main_context), (gst_bus_create_watch):
Fix order of members in GstBusSource structure - the first member
must be the parent structure ie. GSource. Should make bus sources
attached to non-default main contexts work in all cases now (ie.
primarily in cases where the callback has a non-NULL user data
argument). Fixes #562170.
* tests/check/gst/gstbus.c: (test_custom_main_context):
Add unit test for the above, based on code by
Justin Karneges <justin at affinix com>.
2009-01-17 21:04:41 +00:00
Tim-Philipp Müller 428ead89b8 gst/gstbus.c: Make GstBusSource work with non-default main contexts (#562170).
Original commit message from CVS:
* gst/gstbus.c: (gst_bus_dispose), (gst_bus_get_property),
(gst_bus_wakeup_main_context), (gst_bus_set_main_context),
(gst_bus_post), (gst_bus_source_prepare), (gst_bus_source_finalize),
(gst_bus_create_watch):
Make GstBusSource work with non-default main contexts (#562170).
* tests/check/gst/gstbus.c: (message_func_eos), (message_func_app),
(test_watch), (test_watch_with_custom_context), (gst_bus_suite):
Add test case for GstBusSource with a non-default main context.
* tests/check/libs/.cvsignore:
Ignore more.
2008-12-27 17:41:11 +00:00
Alessandro Decina 1b13418a0a Don't forward gst_pad_set_caps() on a source ghostpad to its target.
Original commit message from CVS:
* gst/gstghostpad.c:
* tests/check/gst/gstghostpad.c:
Don't forward gst_pad_set_caps() on a source ghostpad to its target.
That would cause the ghostpad to emit notify::caps two times (fist
from gst_pad_set_caps() and after from on_src_target_notify()).
2008-12-19 15:11:06 +00:00
Wim Taymans f1be570630 tests/check/gst/gstghostpad.c: Add some more unit-tests for the ghostpad notify signal, one of which currently fails.
Original commit message from CVS:
* tests/check/gst/gstghostpad.c: (ghost_notify_caps),
(GST_START_TEST):
Add some more unit-tests for the ghostpad notify signal, one of which
currently fails.
2008-12-19 11:24:36 +00:00
Alessandro Decina c0a2c5839e In a source ghostpad, when caps are changed in the target pad, the change needs to be reflected in the ghostpad.
Original commit message from CVS:
* gst/gstghostpad.c:
* tests/check/gst/gstghostpad.c:
In a source ghostpad, when caps are changed in the target pad, the
change needs to be reflected in the ghostpad.
Fixes #564863.
2008-12-17 16:16:45 +00:00
Stefan Kost f28a2a6cfc More complete unit tests. Fix handling of empty taglists (they were not merged before).
Original commit message from CVS:
* gst/gsttaglist.c:
* tests/check/gst/gsttag.c:
More complete unit tests. Fix handling of empty taglists (they were
not merged before).
2008-12-16 09:23:21 +00:00
Sebastian Dröge c09870ede4 tests/check/libs/controller.c: This test should return TRUE now as syncing an uncontrolled object will succeed now (t...
Original commit message from CVS:
* tests/check/libs/controller.c: (GST_START_TEST):
This test should return TRUE now as syncing an uncontrolled
object will succeed now (there's nothing to sync).
2008-12-09 10:58:01 +00:00
Wim Taymans d2e5ffde24 gst/gstsegment.c: Set the last_stop to a more meaningful position when configuring the segment. ie. the start/stop of...
Original commit message from CVS:
* gst/gstsegment.c: (gst_segment_set_newsegment_full):
Set the last_stop to a more meaningful position when configuring the
segment. ie. the start/stop of the segment or clipped against the
updated segment boundaries.
* tests/check/gst/gstsegment.c: (GST_START_TEST):
Add some unit tests for the last_stop.
2008-10-23 09:49:07 +00:00
Sebastian Dröge 075811e654 plugins/elements/gsttee.c: Fix flow aggregation of tee. Error out immediately for all flow returns except OK and NOT_...
Original commit message from CVS:
* plugins/elements/gsttee.c: (gst_tee_handle_buffer):
Fix flow aggregation of tee. Error out immediately for all flow returns
except OK and NOT_LINKED, return NOT_LINKED if all pads are not linked
and return OK if at least one pad is linked.
Before we errored out on "fatal" flow returns (i.e. not for WRONG_STATE)
and otherwise returned the flow return of the last pad, which is wrong.
* tests/check/elements/tee.c: (_fake_chain), (_fake_chain_error),
(GST_START_TEST), (tee_suite):
Add unit tests for the flow aggregation.
2008-10-14 12:34:56 +00:00
Wim Taymans 97ec47cabb docs/design/part-TODO.txt: Remove item from the todo list because it was fixed with the latency state change rewrites.
Original commit message from CVS:
* docs/design/part-TODO.txt:
Remove item from the todo list because it was fixed with the latency
state change rewrites.
* docs/design/part-seeking.txt:
* docs/design/part-segments.txt:
Update some docs.
* gst/gstevent.c: (gst_event_new_new_segment_full),
(gst_event_parse_new_segment_full), (gst_event_new_buffer_size),
(gst_event_parse_buffer_size), (gst_event_new_qos),
(gst_event_parse_qos), (gst_event_new_seek),
(gst_event_parse_seek), (gst_event_new_latency),
(gst_event_parse_latency):
Use quarks to construct and parse events.
* gst/gstquark.c: (_priv_gst_quarks_initialize):
* gst/gstquark.h:
Add some more quarks to the table.
Emit a warning when the quark tables are not in sync.
* tests/check/gst/gstbus.c: (GST_START_TEST):
Add an assert.
2008-10-13 17:19:25 +00:00
Wim Taymans bc8e367885 gst/gstbin.c: The message src can be NULL, don't try to print the object names in that case.
Original commit message from CVS:
* gst/gstbin.c: (gst_bin_remove_func), (update_degree),
(gst_bin_handle_message_func):
The message src can be NULL, don't try to print the object names in that
case.
* libs/gst/base/gstbasesink.c: (gst_base_sink_pad_activate):
Add some more debug info.
* tests/check/pipelines/simple-launch-lines.c: (run_pipeline),
(GST_START_TEST):
Add some debug.
Fix the test, pull based sinks go ASYNC to PAUSED, just like other
scheduling modes.
2008-10-10 10:38:12 +00:00
Edward Hervey 3159228799 tests/check/gst/gstutils.c: We now see 3 events go through our pad, since basesink now sends upstream latency events.
Original commit message from CVS:
* tests/check/gst/gstutils.c: (probe_do_nothing), (data_probe),
(buffer_probe), (event_probe), (GST_START_TEST):
We now see 3 events go through our pad, since basesink now sends
upstream latency events.
2008-10-10 09:11:10 +00:00
Jan Schmidt c64e9b0c7a tests/check/: Add Sparc ABI checks
Original commit message from CVS:
* tests/check/Makefile.am:
* tests/check/gst/gstabi.c:
* tests/check/gst/struct_sparc.h:
* tests/check/libs/libsabi.c:
* tests/check/libs/struct_sparc.h:
Add Sparc ABI checks
* tests/check/gst/gstvalue.c: (GST_START_TEST):
Cast signed integer to unsigned to avoid a compiler warning.
2008-10-07 15:12:21 +00:00
Olivier Crete ee0eaf824b gst/gstbin.c: Keep track of pads that are being linked/unlinked and resync the state changes.
Original commit message from CVS:
Base on Patch by: Olivier Crete <tester at tester dot ca>
* gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
(gst_bin_remove_func), (update_degree),
(gst_bin_sort_iterator_new), (gst_bin_handle_message_func):
Keep track of pads that are being linked/unlinked and resync the state
changes.
* gst/gstpad.c: (gst_pad_get_direction),
(gst_pad_set_chain_function), (gst_pad_set_getrange_function),
(gst_pad_set_checkgetrange_function), (gst_pad_unlink),
(gst_pad_link_prepare), (gst_pad_link),
(gst_pad_event_default_dispatch), (gst_pad_chain), (gst_pad_push),
(gst_pad_check_pull_range), (gst_pad_get_range),
(gst_pad_pull_range):
Some code cleanups, use macros to check pad direction.
Don't need to take the lock on the pad direction.
Post structure change when pads are linked/unlinked.
Change some checks into _return_if_fail().
* tests/check/gst/gstbin.c:
(test_link_structure_change_state_changed_sync_cb),
(GST_START_TEST), (gst_bin_suite):
Add testcase for pad link/unlinke resync during a state change.
Fixes #510354.
2008-10-06 16:15:02 +00:00
Sebastian Dröge b377c58e43 Add bit reader and byte reader classes, including documentation and an extensive unit test suite. Fixes bug #553554.
Original commit message from CVS:
* docs/libs/gstreamer-libs-docs.sgml:
* docs/libs/gstreamer-libs-sections.txt:
* libs/gst/base/Makefile.am:
* libs/gst/base/gstbitreader.c: (gst_bit_reader_new),
(gst_bit_reader_new_from_buffer), (gst_bit_reader_free),
(gst_bit_reader_init), (gst_bit_reader_init_from_buffer),
(gst_bit_reader_set_pos), (gst_bit_reader_get_pos),
(gst_bit_reader_get_remaining), (gst_bit_reader_skip),
(gst_bit_reader_skip_to_byte):
* libs/gst/base/gstbitreader.h:
* libs/gst/base/gstbytereader.c: (GDOUBLE_SWAP_LE_BE),
(GFLOAT_SWAP_LE_BE), (gst_byte_reader_new),
(gst_byte_reader_new_from_buffer), (gst_byte_reader_free),
(gst_byte_reader_init), (gst_byte_reader_init_from_buffer),
(gst_byte_reader_set_pos), (gst_byte_reader_get_pos),
(gst_byte_reader_get_remaining), (gst_byte_reader_skip),
(gst_byte_reader_get_uint8), (gst_byte_reader_get_int8),
(gst_byte_reader_peek_uint8), (gst_byte_reader_peek_int8),
(gst_byte_reader_get_uint24_le), (gst_byte_reader_get_uint24_be),
(gst_byte_reader_get_int24_le), (gst_byte_reader_get_int24_be),
(gst_byte_reader_peek_uint24_le), (gst_byte_reader_peek_uint24_be),
(gst_byte_reader_peek_int24_le), (gst_byte_reader_peek_int24_be):
* libs/gst/base/gstbytereader.h:
* tests/check/Makefile.am:
* tests/check/libs/bitreader.c: (GST_START_TEST),
(gst_bit_reader_suite):
* tests/check/libs/bytereader.c: (GST_START_TEST),
(gst_byte_reader_suite):
Add bit reader and byte reader classes, including documentation
and an extensive unit test suite. Fixes bug #553554.
2008-10-06 12:41:53 +00:00
Jan Schmidt 86db1f680c Fix assertion in basetransform when the subclass chooses not to allocate a buffer in prepare_buffer(), and make capsf...
Original commit message from CVS:
* libs/gst/base/gstbasetransform.c:
* plugins/elements/gstcapsfilter.c:
* tests/check/Makefile.am:
* tests/check/elements/.cvsignore:
* tests/check/elements/capsfilter.c:
Fix assertion in basetransform when the subclass chooses not to
allocate a buffer in prepare_buffer(), and make capsfilter error out
cleanly if requested to apply caps that don't completely specify the
buffer. Fixes #551509
2008-09-28 21:19:15 +00:00
Olivier Crete 68037404b8 Add threadsafe replacement functions for getting internal links of an element. Deprecate the old internal links funct...
Original commit message from CVS:
Based on patch by: Olivier Crete <tester at tester dot ca>
* docs/gst/gstreamer-sections.txt:
* win32/common/libgstreamer.def:
* gst/gstpad.c: (gst_pad_init),
(gst_pad_set_iterate_internal_links_function),
(int_link_iter_data_free), (iterate_pad),
(gst_pad_iterate_internal_links_default),
(gst_pad_iterate_internal_links), (gst_pad_get_internal_links):
* gst/gstpad.h:
Add threadsafe replacement functions for getting internal links of an
element. Deprecate the old internal links functions.
API:GstPad::gst_pad_set_iterate_internal_links_function()
API:GstPad::GstPadIterIntLinkFunction
API:GstPad::gst_pad_iterate_internal_links()
API:GstPad::gst_pad_iterate_internal_links_default()
* gst/gstghostpad.c: (gst_proxy_pad_do_iterate_internal_links),
(gst_proxy_pad_init):
Implement threadsafe internal links.
* tests/check/elements/tee.c: (GST_START_TEST), (tee_suite):
Unit test for internal links on tee. See #549504.
2008-09-01 10:42:04 +00:00
Edward Hervey 1639fb5905 tests/check/Makefile.am: libs/transform1 test requires libs/test_transform.c
Original commit message from CVS:
* tests/check/Makefile.am:
libs/transform1 test requires libs/test_transform.c
2008-08-30 12:57:47 +00:00
Edward Hervey dd80b2030c Fix all leaks due to the bug in gst_pad_template_new() by which it does not steal the refcount of the given caps as s...
Original commit message from CVS:
* gst/gstutils.c: (gst_element_get_compatible_pad):
* tests/check/gst/gstghostpad.c: (GST_START_TEST):
* tests/check/gst/gstpad.c: (name_is_valid), (GST_START_TEST):
Fix all leaks due to the bug in gst_pad_template_new() by which it does
not steal the refcount of the given caps as stated.
REVERT THIS COMMIT ONCE FIXED !
REVERT THIS COMMIT ONCE FIXED !
REVERT THIS COMMIT ONCE FIXED !
REVERT THIS COMMIT ONCE FIXED !
REVERT THIS COMMIT ONCE FIXED !
REVERT THIS COMMIT ONCE FIXED !
2008-08-30 11:55:59 +00:00
Wim Taymans e93b94afdf libs/gst/base/gstbasesink.c: Improve position reporting in the flushing state.
Original commit message from CVS:
* libs/gst/base/gstbasesink.c: (gst_base_sink_render_object),
(gst_base_sink_event), (gst_base_sink_chain_unlocked),
(gst_base_sink_negotiate_pull), (gst_base_sink_pad_activate_pull),
(gst_base_sink_get_position), (gst_base_sink_change_state):
Improve position reporting in the flushing state.
Also report the position when we are not yet prerolled but we
have a newsegment event. Fixes #543444.
Improve the pull-based negotiation code.
* tests/check/elements/fakesink.c: (GST_START_TEST),
(fakesink_suite):
Add testcase for position reporting while flushing in PAUSED and
PLAYING.
* tests/check/generic/sinks.c: (GST_START_TEST):
Update unit-test, we can now query the position as soon as we receive a
NEWSEGMENT event.
2008-08-19 16:47:07 +00:00
Ole André Vadla Ravnås fe969e6391 plugins/elements/gsttee.*: Protect pad_alloc with a new lock so that we can be sure that nothing is performing a pad_...
Original commit message from CVS:
Patch by: Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
* plugins/elements/gsttee.c: (gst_tee_finalize), (gst_tee_init),
(gst_tee_request_new_pad), (gst_tee_release_pad),
(gst_tee_find_buffer_alloc), (gst_tee_buffer_alloc):
* plugins/elements/gsttee.h:
Protect pad_alloc with a new lock so that we can be sure that nothing is
performing a pad_alloc when removing the pad. Fixes #547835.
* tests/check/elements/tee.c: (buffer_alloc_harness_setup),
(buffer_alloc_harness_teardown), (app_thread_func),
(final_sinkpad_bufferalloc), (GST_START_TEST), (tee_suite):
Added testcase for shutdown race.
2008-08-15 17:01:07 +00:00
Wim Taymans dc9983cbea libs/gst/base/gstbasetransform.c: Don't overwrite the outsize when calculating the expected size of a new buffer beca...
Original commit message from CVS:
* libs/gst/base/gstbasetransform.c:
(gst_base_transform_transform_caps),
(gst_base_transform_prepare_output_buffer),
(gst_base_transform_buffer_alloc), (gst_base_transform_suggest):
Don't overwrite the outsize when calculating the expected size of a new
buffer because we still need it in case we cannot process the new
buffer.
When converting the size of the new buffer to an upstream size, actually
use the expected size of the buffer, not some other random value.
Use an atomic int to signal that a new upstream caps suggestion is
available.
When we can convert the current buffer to a new format, check if the
buffer size is of the expected size and allocate a new buffer of the
expected size when this is not the case.
* tests/check/libs/transform1.c: (GST_START_TEST):
remove ifdeffed code from the unit test.
2008-08-14 13:57:58 +00:00
Wim Taymans b08cd83cbb gst/gstcaps.c: Fix subset test.
Original commit message from CVS:
* gst/gstcaps.c: (gst_caps_structure_is_subset_field):
Fix subset test.
* tests/check/gst/gstcaps.c: (GST_START_TEST):
Improve unit test subset tests and add a testcase for the subset failure
cases.
* tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
Improve subtraction unit test.
2008-08-07 12:28:28 +00:00
Olivier Crete 70a4cad10c gst/gststructure.c: Avoid overflows in fixation code when dealing with MAXINT values, which v4l2src seems to do.
Original commit message from CVS:
Patch by: Olivier Crete <tester at tester dot ca>
* gst/gststructure.c:
(gst_structure_fixate_field_nearest_fraction):
Avoid overflows in fixation code when dealing with MAXINT values, which
v4l2src seems to do.
Fixes #546328.
* tests/check/gst/gststructure.c: (GST_START_TEST):
Make a unit test to check the fix.
2008-08-05 15:03:27 +00:00
Wim Taymans 30f8603645 docs/libs/gstreamer-libs-sections.txt: Add new function:
Original commit message from CVS:
* docs/libs/gstreamer-libs-sections.txt:
Add new function:
API: GstBaseTransform::gst_base_transform_suggest()
* libs/gst/base/gstbasetransform.c: (gst_base_transform_finalize),
(gst_base_transform_init), (gst_base_transform_transform_caps),
(gst_base_transform_transform_size),
(gst_base_transform_configure_caps),
(gst_base_transform_can_transform),
(gst_base_transform_find_transform), (gst_base_transform_setcaps),
(gst_base_transform_prepare_output_buffer),
(gst_base_transform_buffer_alloc),
(gst_base_transform_handle_buffer), (gst_base_transform_getrange),
(gst_base_transform_chain), (gst_base_transform_activate),
(gst_base_transform_set_passthrough),
(gst_base_transform_is_passthrough),
(gst_base_transform_set_in_place),
(gst_base_transform_is_in_place), (gst_base_transform_update_qos),
(gst_base_transform_set_qos_enabled),
(gst_base_transform_is_qos_enabled),
(gst_base_transform_set_gap_aware), (gst_base_transform_suggest),
(gst_base_transform_reconfigure):
* libs/gst/base/gstbasetransform.h:
Rewrite of basetransform to perform negotiation outside of the
buffer_alloc functions.  Fixes #545853.
* tests/check/libs/transform1.c: (GST_START_TEST),
(buffer_alloc_ct2):
Update unit test.
2008-08-05 11:11:00 +00:00
Stefan Kost 864a45ee13 tests/check/gst/gstpreset.c: Only run preset tests when $HOME is writable. Preliminary fix for #545433.
Original commit message from CVS:
* tests/check/gst/gstpreset.c:
Only run preset tests when $HOME is writable. Preliminary fix for
#545433.
2008-08-05 05:44:02 +00:00
Wim Taymans 5665680537 gst/gstbin.c: Fix race for bins that simulate ASYNC state changes by inserting
Original commit message from CVS:
* gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
(gst_bin_change_state_func), (bin_handle_async_done),
(gst_bin_handle_message_func):
Fix race for bins that simulate ASYNC state changes by inserting
ASYNC_START and ASYNC_DONE messages in their bus. We need to check for
pending ASYNC messages even when the bin does not have ASYNC children.
We note detect this behaviour because we will receive an ASYNC message
that is originating from the bin itself.
Fixes races with decodebin2 state changes.
* tests/check/gst/gstbin.c: (GST_START_TEST):
Add some more debug.
2008-08-04 15:49:13 +00:00
Sebastian Dröge b30e78f7a8 tests/check/libs/gdp.c: Also enable the GDP unit test again on PPC now that the bug is fixed.
Original commit message from CVS:
* tests/check/libs/gdp.c: (gst_dp_suite):
Also enable the GDP unit test again on PPC now that the bug
is fixed.
2008-06-30 09:42:43 +00:00
Wim Taymans e123c66377 tests/check/libs/transform1.c: Add some more tests with switching caps in buffer_alloc.
Original commit message from CVS:
* tests/check/libs/transform1.c: (buffer_alloc_pt1),
(set_caps_pt1), (GST_START_TEST), (set_caps_pt2), (transform_ip_1),
(set_caps_1), (set_caps_ct1), (transform_ct1),
(transform_caps_ct1), (transform_size_ct1), (buffer_alloc_ct1),
(set_caps_ct2), (transform_ct2), (transform_caps_ct2),
(transform_size_ct2), (buffer_alloc_ct2):
Add some more tests with switching caps in buffer_alloc.
2008-06-26 11:59:40 +00:00
Wim Taymans 4379ccf7e1 tests/check/libs/: More tests, prepare for tests with switching caps in buffer_alloc.
Original commit message from CVS:
* tests/check/libs/test_transform.c: (gst_test_trans_base_init),
(gst_test_trans_class_init), (result_sink_chain),
(result_buffer_alloc), (gst_test_trans_new), (gst_test_trans_free),
(gst_test_trans_push), (gst_test_trans_pop):
* tests/check/libs/transform1.c: (buffer_alloc_pt1),
(set_caps_pt1), (GST_START_TEST), (set_caps_pt2), (transform_ip_1),
(set_caps_1), (set_caps_ct1), (transform_ct1),
(transform_caps_ct1), (transform_size_ct1), (buffer_alloc_ct1),
(set_caps_ct2), (transform_ct2), (transform_caps_ct2),
(transform_size_ct2), (buffer_alloc_ct2),
(gst_basetransform_suite):
More tests, prepare for tests with switching caps in buffer_alloc.
2008-06-25 17:27:30 +00:00
Wim Taymans 23d8478698 docs/design/part-block.txt: Fix typo.
Original commit message from CVS:
* docs/design/part-block.txt:
Fix typo.
* docs/design/part-element-transform.txt:
Add notes about why transform needs to know input/output sizes.
Add some issues that need to be solved.
Add some more use cases.
* tests/check/libs/test_transform.c: (gst_test_trans_base_init),
(gst_test_trans_class_init), (result_sink_chain),
(result_buffer_alloc), (gst_test_trans_new), (gst_test_trans_free),
(gst_test_trans_push), (gst_test_trans_pop):
* tests/check/libs/transform1.c: (buffer_alloc_pt1),
(set_caps_pt1), (GST_START_TEST), (set_caps_pt2), (transform_ip_1),
(set_caps_1), (set_caps_ct1), (transform_ct1),
(transform_caps_ct1), (transform_size_ct1), (buffer_alloc_ct1),
(gst_basetransform_suite):
Add suport for different pad templates and buffer-alloc.
Add more checks for caps and buffer-alloc.
Add checks for proxy buffer alloc.
Add unit test for copy transform.
2008-06-25 10:53:52 +00:00
Sebastian Dröge 7c0bd009ce tests/check/gst/gstghostpad.c: Fix some memory leaks and uses of object instances that we don't actually own.
Original commit message from CVS:
* tests/check/gst/gstghostpad.c: (GST_START_TEST):
Fix some memory leaks and uses of object instances that we don't
actually own.
2008-06-24 07:49:36 +00:00
Thomas Vander Stichele fdca1e654d tests/check/: Use HAVE_VALGRIND_H some more.
Original commit message from CVS:
* tests/check/gst/gstbuffer.c:
* tests/check/pipelines/parse-launch.c:
Use HAVE_VALGRIND_H some more.
2008-06-20 21:08:47 +00:00
Wim Taymans 90629e72a2 tests/check/: Add some test basetransform element and the beginnings of various unit tests for it.
Original commit message from CVS:
* tests/check/Makefile.am:
* tests/check/libs/test_transform.c: (gst_test_trans_base_init),
(gst_test_trans_class_init), (gst_test_trans_init),
(gst_test_trans_set_data), (result_sink_chain),
(gst_test_trans_new), (gst_test_trans_free), (gst_test_trans_push),
(gst_test_trans_pop):
* tests/check/libs/transform1.c: (GST_START_TEST),
(transform_ip_1), (set_caps_1), (gst_basetransform_suite):
Add some test basetransform element and the beginnings of various
unit tests for it.
2008-06-20 12:06:54 +00:00