Nicolas Dufresne
103a40b6ce
bufferpool: Add method and virtuals to set flushing state
...
Currently there is no other way to unlock a buffer pool other then
stopping it. This may have the effect of freeing all the buffers,
which is too heavy for a seek. This patch add a method to enter and
leave flushing state. As a convenience, flush_start/flush_stop
virtual are added so pool implementation can also unblock their own
internal poll atomically with the rest of the pool. This is fully
backward compatible with doing stop/start to actually flush the pool
(as being done in GstBaseSrc).
https://bugzilla.gnome.org/show_bug.cgi?id=727611
2014-05-26 13:31:21 -04:00
Sebastian Dröge
f2cb36b995
value: Add some positive testcase for string deserialization
2014-05-19 11:05:12 +02:00
Nicolas Dufresne
194db480e0
bufferpool: Add an helper to validate config
...
When we call gst_buffer_pool_set_config() the pool may return FALSE and
slightly change the parameters. This helper is useful to do the minial required
validation before accepting the modified configuration.
https://bugzilla.gnome.org/show_bug.cgi?id=727916
2014-05-08 13:11:14 -04:00
Nicolas Dufresne
6079666a71
bufferpool: Add support for reconfiguring a pool
...
If a pool config is being configured again, check if the configuration have changed.
If not, skip that step. Finally, if the pool is active, try deactivating it.
https://bugzilla.gnome.org/show_bug.cgi?id=728268
2014-05-08 13:08:21 -04:00
Nicolas Dufresne
64aa64cb80
value: Add support for GstAllocationParams comparision
...
This is useful to compare buffer pool configuaration.
https://bugzilla.gnome.org/show_bug.cgi?id=728268
2014-05-08 13:08:21 -04:00
Nicolas Dufresne
00614e2c2b
value: Add support for GObject comparising in structures
...
This is useful to allow comparing pool configuration where a GstAllocator
is set.
https://bugzilla.gnome.org/show_bug.cgi?id=728268
2014-05-08 13:08:21 -04:00
Jan Schmidt
4d7d3a1c02
Fix extended message handling with gst_bus_pop_timed_filtered()
...
Make sure extended message types don't get accidentally matched
when not asked for in the mask
2014-03-17 06:29:27 +11:00
Tim-Philipp Müller
1b7c5c4d64
tests: add test for extended message types and gst_bus_timed_pop_filtered
2014-03-16 14:38:07 +00:00
Wim Taymans
7691150c45
bufferpool: only release buffers with writable memory
...
Check if the memory is writable before releasing the buffer into the
pool again.
Add unit test for this scenario.
2014-02-27 16:40:34 +01:00
Wim Taymans
f22d8f08e0
bufferpool: Use TAG_MEMORY to check memory before releasing
...
Tag allocated buffers with TAG_MEMORY. When they are released later,
only add them back to the pool if the tag is still there and the memory
has not been changed, otherwise throw the buffer away.
Add unit test to check various scenarios.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=724481
2014-02-27 15:43:13 +01:00
Sebastian Dröge
ab9fdf13a0
structure: Add getters for int64 and uint64 values
2014-02-25 15:41:45 +01:00
Tim-Philipp Müller
7644c8a3c5
tests: fix leak in systemclock test
2014-02-08 23:39:03 +00:00
Matthieu Bouron
97103c90b0
tests: add caps features unit tests
...
https://bugzilla.gnome.org/show_bug.cgi?id=723236
2014-02-04 18:47:23 +01:00
Stefan Sauer
c42780db66
bufferpool: more tests and small doc fixes
2014-01-31 08:36:55 +01:00
Stefan Sauer
f9a5a24211
bufferpool: add a new testsuite or the pool
...
Start with some basic tests.
2014-01-30 12:43:45 +01:00
Sebastian Dröge
af84535569
iterator: Add unit tests for filtering, recursive filtering and locking
...
https://bugzilla.gnome.org/show_bug.cgi?id=711138
2014-01-18 14:48:54 +01:00
Wim Taymans
6c95262447
tests: improve check, also check stream-time
2014-01-08 15:47:10 +01:00
Wim Taymans
b5e4e24e75
tests: add unit test for segment _offset_running_time()
...
Add a unit test to check that positive and negative offsets are applied
correctly in various cases.
2014-01-08 15:31:28 +01:00
Sebastian Dröge
9e125e7bab
pad: Add unit test for adding/removing blocking probes while a pad is blocked
...
And make sure that these new probes are actually called if they should
instead of silently blocking the pad forever.
https://bugzilla.gnome.org/show_bug.cgi?id=721289
2014-01-02 13:34:52 +01:00
Edward Hervey
3ea6b04c10
gstvalue: Fix comparision of double range
...
Checking twice the lower bound is great (you never know, it might change
between the two calls by someone using emacs butterfly-mode), but it's a bit
more useful to check the higher bound are also identical.
Detected by Coverity
2013-12-10 18:01:52 -05:00
Tim-Philipp Müller
9a62f007fc
tests: add unit test for registering the same category twice
2013-12-07 19:04:16 +00:00
Sebastian Rasmussen
e8ecf3c407
Fix some typos in code comments and debug messages
...
https://bugzilla.gnome.org/show_bug.cgi?id=720029
2013-12-07 17:09:39 +00:00
Tim-Philipp Müller
47679cf2f8
tests: fix GstBus unit test with latest GLib
...
g_source_remove() works on the default main context, and
we're doing things with a custom context. Fixes warning
with newer GLib versions.
2013-11-18 15:28:32 +00:00
Sebastian Dröge
5286479467
value: Lists with all equal elements are equal to a single value
...
Otherwise caps containing f={X, X} are not compatible with f=X
https://bugzilla.gnome.org/show_bug.cgi?id=709253
2013-11-13 19:57:23 +01:00
Wim Taymans
02b64ee03b
systemclock: Add gst_system_clock_set_default
...
Used for setting the default system clock that is obtained through
gst_system_clock_obtain(), which is sometimes needed for unit
testing.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=711269
2013-11-11 12:25:14 +01:00
Sebastian Dröge
4429ea53c4
caps: Skip test_subset_duplication until the bug is fixed
...
https://bugzilla.gnome.org/show_bug.cgi?id=709253
2013-10-10 13:19:09 +02:00
Sebastian Dröge
eb0d978e1e
caps: Add a testcase for subset checks on lists with duplicated items
...
https://bugzilla.gnome.org/show_bug.cgi?id=709253
2013-10-10 12:42:52 +02:00
Thiago Santos
007c0e5fe1
value: fix caps serialization when there are caps inside caps
...
Wrap caps strings so that it can handle serialization and deserialization
of caps inside caps. Otherwise the values from the internal caps are parsed
as if they were from the upper one
https://bugzilla.gnome.org/show_bug.cgi?id=708772
2013-09-30 16:20:48 -03:00
Sebastian Dröge
8f0c9c7055
context: Add test for the context caching in GstBin
...
https://bugzilla.gnome.org/show_bug.cgi?id=708668
2013-09-24 13:11:47 +02:00
Sebastian Dröge
921ab73340
context: Fix unit test for GstContext changes
2013-09-18 21:42:42 +02:00
Olivier Crête
f90f3cde5f
buffer: Fix gst_buffer_memcmp() where the buffer is smaller than size
...
Also add unit tests for gst_buffer_memcmp
https://bugzilla.gnome.org/show_bug.cgi?id=706162
2013-08-20 14:41:27 -04:00
Sebastian Dröge
0b3bd4b954
tests: Remove other interface structs from the ABI tests too
2013-07-24 10:31:02 +02:00
Thiago Santos
6da1778dad
tests: Remove GstTagSetter from ABI checks
...
Interfaces can have new members added without breaking ABI, so
remove it from the check.
https://bugzilla.gnome.org/show_bug.cgi?id=623799
2013-07-24 10:31:02 +02:00
Sebastian Dröge
4fc1ba1e60
buffer: Add unit test for map_range()
...
https://bugzilla.gnome.org/show_bug.cgi?id=702617
2013-06-19 10:45:45 +02:00
Sebastian Dröge
2253f8fa6f
pad: Fix memory leak in the unit test
2013-05-29 11:36:38 +02:00
Sebastian Dröge
114f9584d4
tests: Fix event order warnings and dataflow before stream-start/segment event
2013-05-09 13:32:07 +02:00
Tim-Philipp Müller
913b1e6f20
tests: add some basic checks for gst_buffer_fill()
2013-05-08 10:26:15 +01:00
Alessandro Decina
ef0e9b6840
tests: add check for FLUSH pad probes
2013-04-25 07:26:29 +02:00
Tim-Philipp Müller
c7a8318452
tests: ignore new test binary
2013-04-18 10:14:09 +01:00
Sebastian Dröge
03c3738b67
context: Add gst_context_writable_structure() and let get_structure() return const again
2013-04-18 10:18:22 +02:00
Tim-Philipp Müller
e8a9f7acdf
printf: fix handling of old printf extension specifiers for ABI compatibility
...
Fixes abort when the old specifiers are used. Fix up the conversion
specifier, it would get overwritten with 'c' below to the extension
format char, which then later is unhandled, leading to the abort.
Also fix up and enable unit test for this.
https://bugzilla.gnome.org/process_bug.cgi
2013-04-18 00:46:58 +01:00
Tim-Philipp Müller
c398c842f5
tests: add unit test for old printf extension specifiers
...
To make sure we maintain binary compatibility with the old
specifiers.
https://bugzilla.gnome.org/show_bug.cgi?id=698242
2013-04-18 00:28:00 +01:00
Sebastian Dröge
f5f0dd50c8
context: Add unit test for GstContext
2013-04-17 12:44:29 +02:00
Tim-Philipp Müller
637e8b5e1c
tests: skip all GstPoll tests on Windows
...
As they don't work there, and it's non-trivial to fix.
https://bugzilla.gnome.org/show_bug.cgi?id=697609
2013-04-13 12:20:06 +01:00
Руслан Ижбулатов
ff62f3f1e0
libsabi: Special struct size values for W32
...
These account for both possible type size mismatch AND -mms-bitfields
packing. Sizes are taken from an i686-w64-mingw32-built GStreamer,
gcc 4.8.0, mingw-w64 svn-r5685.
Fixes #697551
2013-04-09 20:10:46 +02:00
Руслан Ижбулатов
54aaba5f21
tests: fix GstPad test on windows and in CK_FORK=no mode
...
Need to clear buffer lists at the end of each test.
https://bugzilla.gnome.org/show_bug.cgi?id=697610
2013-04-09 09:56:57 +01:00
Sebastian Dröge
1de3b0f9e8
caps: Add test for operations on caps with ANY features
2013-04-06 21:21:39 +02:00
Tim-Philipp Müller
24cac0afa3
docs: more since markers and other docs fixes
2013-04-02 23:51:06 +01:00
Sebastian Dröge
65c650d7d4
capsfeatures: Add GST_CAPS_FEATURES_ANY
...
This is equal to any other caps features but results in unfixed caps. It
would be used by elements that only look at the buffer metadata or are
currently working in passthrough mode, and as such don't care about any
specific features.
2013-04-02 22:17:22 +02:00
Sebastian Dröge
7477b25df5
caps: Add new data type for handling caps features to the caps
...
These are meant to specify features in caps that are required
for a specific structure, for example a specific memory type
or meta.
Semantically they could be though of as an extension of the media
type name of the structures and are handled exactly like that.
2013-03-31 18:15:52 +02:00
Tim-Philipp Müller
0e5c1dcf64
event: add stream flags to stream-start event
...
API: gst_event_set_stream_flags()
API: gst_event_parse_stream_flags()
API: GST_STREAM_FLAG_NONE
API: GST_STREAM_FLAG_SPARSE
https://bugzilla.gnome.org/show_bug.cgi?id=600648
2013-03-31 11:47:40 +01:00
Sebastian Dröge
7b00fd3701
caps: Add unit test for GST_CAPS_{ANY,NONE} and GST_STATIC_CAPS_{ANY,NONE}
...
https://bugzilla.gnome.org/show_bug.cgi?id=696435
2013-03-25 09:22:50 +01:00
Stefan Sauer
c342d54571
controller: code cleanups
...
Use a property for accessing the control-source on the binding. Drop base_init
on the test object.
2013-03-08 13:16:40 +01:00
Tim-Philipp Müller
0cbe23995f
utils: avoid unexpected side-effects of GST_WRITE_* macros
...
Make sure the data argument is only evaluated once.
2013-02-19 18:00:48 +00:00
Tim-Philipp Müller
22b7c0bf58
check: add some more fail_unless_*() macros for convenience
...
API: fail_unless_equals_int_hex
API: assert_equals_int_hex
API: fail_unless_equals_int64_hex
API: assert_equals_int64_hex
API: fail_unless_equals_uint64_hex
API: assert_equals_uint64_hex
API: fail_unless_equals_pointer
API: assert_equals_pointer
2013-02-19 17:40:20 +00:00
Tim-Philipp Müller
5fc34add25
message: accept NULL error argument in gst_message_parse_{error,warning,info}
...
And simplify code a bit while at it.
https://bugzilla.gnome.org/show_bug.cgi?id=693704
2013-02-13 16:52:13 +00:00
Sebastian Dröge
fb3b53328f
value: Remove set-style bitmask intersection/union/subtraction functions
...
Set operations on the bitmasks don't make much sense and result
in invalid caps when used as a channel-mask. They are now handled
exactly like integers.
This functionality was not used anywhere except for tests.
https://bugzilla.gnome.org/show_bug.cgi?id=691370
2013-02-13 17:07:47 +01:00
Sebastian Dröge
171c79c9a7
structure: Make sure that subsets have all fields of the superset
...
"video/x-h264,parsed=(boolean)true" is not a superset of
"video/x-h264,stream-format=(string)byte-stream,alignment=(string)nal"
for example.
https://bugzilla.gnome.org/show_bug.cgi?id=693365
2013-02-13 10:46:37 +01:00
Tim-Philipp Müller
c0926dc7cc
pad: add gst_pad_get_stream_id() utility function
...
API: gst_pad_get_stream_id()
2013-01-19 12:51:56 +00:00
Daniel Díaz
a26a98209b
tests: fix ABI check struct sizes for ARM
...
and re-enable ABI check for ARM.
https://bugzilla.gnome.org/show_bug.cgi?id=691828
2013-01-17 09:27:48 +00:00
Tim-Philipp Müller
47c2fc4aba
tests: disable ABI checks for architectures where the struct sizes are not up-to-date
...
https://bugzilla.gnome.org/show_bug.cgi?id=691828
2013-01-16 11:29:47 +00:00
Tim-Philipp Müller
e9497b7bf0
tests: fix leak in ghostpad unit test
...
The created pad is never used and overwritten with
another newly-created pad a few lines below.
2013-01-05 16:31:06 +00:00
Tim-Philipp Müller
2d85c0f18c
tests: fix clock unit test build failure after header changes
...
https://bugzilla.gnome.org/show_bug.cgi?id=688785
2012-11-23 13:32:07 +00:00
Tim-Philipp Müller
666c8c11c6
Fix FSF address
...
https://bugzilla.gnome.org/show_bug.cgi?id=687520
2012-11-03 20:44:48 +00:00
Tim-Philipp Müller
36b2cb2a97
tests: update struct_i386.h for ABI checks
...
Fixes make check on 32-bit x86.
2012-10-07 00:16:48 +01:00
Tim-Philipp Müller
856e61c2dd
tests: update struct_ppc32.h for ABI checks
...
Fixes make check on 32-bit PowerPC.
2012-10-06 17:26:21 +01:00
Wim Taymans
ed19974e25
meta: do metadata registration threadsafe
...
We need to use g_once to register the metadata implementations
only once.
See https://bugzilla.gnome.org/show_bug.cgi?id=685332
2012-10-03 13:45:22 +02:00
Tim-Philipp Müller
507fc9cea7
value: avoid duplicates when intersecting lists
...
Fixes negotiation taking a ridiculous amount of
time (multiple 10s of seconds on a core2) when
there are duplicate entries in lists.
Could have a negative performance impact on other
scenarios because we now have to iterate the
dest list to avoid duplicates, but we don't
have a lot of lists any more these days, and
they tend to be small anyway. The negatives
are hopefully countered by the positive effects
of reducing the list length early on in the
process. And in any case, it's the right thing
to do.
Based on patch by Andre Moreira Magalhaes.
https://bugzilla.gnome.org/show_bug.cgi?id=684981
2012-09-29 14:35:58 +01:00
Olivier Crête
fd846a7c64
miniobject: Always reject WRITE locks on READONLY miniobjects
...
Verify that mapping a read-only memory as read doesnt make it writable
2012-09-28 17:12:14 -04:00
Olivier Crête
fddf7dcb01
tests: Test the case where ghost pads are removed while streaming
...
https://bugzilla.gnome.org/show_bug.cgi?id=684809
2012-09-27 10:53:16 +02:00
Wim Taymans
58443d6f2b
tests: add abi checks
...
Enable abi checks again.
Fix abi sizes for x86_64, copy the file to other archs.
2012-09-26 17:11:05 +02:00
Olivier Crête
945e0d2be9
pad: Remove pad probes only once
...
Also add test to make sure that if a pad probe is removed while it's
callback is running, the cleanup_hook isn't called again if it
returns GST_PAD_PROBE_REMOVE
2012-09-20 15:24:33 -04:00
Sebastian Dröge
de635d089f
pad: Add parent parameter to the link and unlink functions
...
Fixes part of bug #683995 .
2012-09-17 13:24:36 +02:00
Tim-Philipp Müller
c2175db889
sample: add serialisation/deserialisation functions for GstSample
...
Since these things are inside taglists now, it would be good to be
able to print them and deserialise them.
https://bugzilla.gnome.org/show_bug.cgi?id=681322
2012-09-16 23:20:46 +01:00
Mark Nauwelaerts
abf21d1f6d
replace gst_element_class_set_details_simple with gst_element_class_set_metadata
2012-09-14 17:01:21 +02:00
Wim Taymans
3abc720345
docs: fix some docs
...
from git grep for ffmpegcolorspace and x-raw-
2012-09-13 11:35:41 +02:00
Mark Nauwelaerts
47e7c91ab5
tests: port to new GLib thread API
2012-09-12 13:01:18 +02:00
Wim Taymans
00c6fa74f5
events: remove STREAM_CONFIG
...
We won't be able to implement this so it's better to move it out of the way.
2012-09-11 16:29:12 +02:00
Tim-Philipp Müller
79c0d2a276
tests: make pipeline test valgrind clean
2012-08-12 16:40:03 +01:00
Tim-Philipp Müller
31e28180b3
tests: fix pipeline unit test
...
Which was disabled because it failed.
2012-08-12 16:37:02 +01:00
Tim-Philipp Müller
5bff3ba949
tests: remove silly test_fail_abstract_new check
...
Our check would make sure that GLib segfaults when
someone tries to instantiate an abstract type, which
is an extremely useful thing to check for.
In newer GLibs this is fixed and we get an abort with
a g_error() now it seems, so let's just remove this
check entirely.
2012-08-08 14:50:10 +01:00
Sebastian Dröge
0d22988e5c
event: Update for stream-start event API changes
2012-08-06 14:00:56 +02:00
Tim-Philipp Müller
e8ab1006c7
toc: add GstTocScope and require it in the constructor
...
This is because we need to be able to signal different TOCs
to downstream elements such as muxers and the application,
and because we need to send both types as events (because
the sink should post the TOC messages for the app in the
end, just like tag messages are now posted by the sinks),
and hence need to make TOC events multi-sticky.
https://bugzilla.gnome.org/show_bug.cgi?id=678742
2012-07-28 09:16:06 +01:00
Sebastian Dröge
826a8d643d
tag: Add a scope to taglists
...
This specifies if a given taglist applies to the complete
medium or only this specific stream. By default a taglist
has a stream scope.
Fixes bug #677619 .
2012-07-28 00:34:41 +02:00
Wim Taymans
c8840b8270
segment: add offset field
...
Add an offset field that is used to track at what position the segment was
updated. This is used to set the running time to 0 when we do a flushing
seek that doesn't update the position.
See https://bugzilla.gnome.org/show_bug.cgi?id=680306
2012-07-27 17:09:45 +02:00
Wim Taymans
f05b0e222f
Update for new seeking variable name
...
When seeking, the start value and type are now called start and start_type.
2012-07-27 15:24:52 +02:00
Wim Taymans
dbb6d68999
tests: improve segment tests
2012-07-27 12:24:03 +02:00
Wim Taymans
60382cd994
tests: remove segment accumulation checks
...
Remove the checks because there is no more segment accumulation.
2012-07-27 12:17:28 +02:00
Tim-Philipp Müller
3231ea6204
taglist: gst_tag_list_get_buffer*() => gst_tag_list_get_sample*()
...
Image tags and other tags are now of GstSample type.
2012-07-26 15:51:10 +01:00
Mark Nauwelaerts
9166014007
tests: gstbuffer: add tests for some mulitple map combinations
2012-07-19 13:51:52 +02:00
Mark Nauwelaerts
8620352efc
tests: gstbuffer: extend buffer copy test
2012-07-19 13:13:33 +02:00
Edward Hervey
028b9a8dbb
check: Avoid deadlock
...
Queries will be sent when pipeline goes down to NULL, which would
result in the probe being called ... but can't take the lock.
2012-07-18 12:07:26 +02:00
Stefan Sauer
840f905c2c
bin: aggregate durations like in adder
...
Stop querying the duration once an element return unknown and return unknown
as a final result. This avoid eventually cutting off a stream too early.
Add a tests to docuement the behavior.
2012-07-16 20:54:17 +02:00
Wim Taymans
02eebca16b
pad: fix test raciness
...
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=679506
2012-07-13 09:43:59 +02:00
Tim-Philipp Müller
443075e5a4
tests: fix toc unit tests
...
Meant to check subsubentry, not subentry.
2012-07-09 20:11:32 +01:00
Tim-Philipp Müller
5b133bbdcf
tests: minor toc test clean-up
2012-07-09 20:11:32 +01:00
Tim-Philipp Müller
c427d8caa8
tests: turn toc check macros into proper functions
...
So we can see the line number of the check that fails.
2012-07-09 20:11:32 +01:00
Edward Hervey
e219ede527
check: Update tests for new STREAM_START message
2012-07-09 20:31:45 +02:00
Edward Hervey
e2326ac506
check: Ensure STREAM_START message is posted
...
A STREAM_START message is posted if and only if all sinks in the
bin/pipeline received the STREAM_START event
2012-07-09 20:31:45 +02:00
Edward Hervey
d14f523d4a
check: Unit test for EOS message
...
Make sure we get the aggregated message if and only if all sinks
received an EOS event
2012-07-09 20:31:45 +02:00