Commit graph

1551 commits

Author SHA1 Message Date
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
461fd8d82d tests: clean up eventloop in examples
Don't leak the bus. Don't parse messages with the method for errors (triggers
gobject warning).
2010-08-05 10:31:50 +03:00
Stefan Kost
dbe8e5d1ad benchmark: handle errors from the pipeline
Catch errors and warnings on the bus. This fixes hanging pipelines in the case
of bugs elsewhere. Also print state-change messages to give more detail on the progress.
2010-08-05 10:31:50 +03:00
Stefan Kost
ced3d517eb benchmark: cleanup last change in capsnego benchmark
A pad name is not a factory name.
2010-08-05 10:31:35 +03: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