Commit graph

76 commits

Author SHA1 Message Date
Matej Knopp f33b1397d3 adapter: fix return type of _map() to gconstpointer
Fixes compiler warnings on OSX:
gstadapter.h:82: warning: type qualifiers ignored on function return type
gstadapter.c:412: warning: type qualifiers ignored on function return type

const gpointer is not the same as gconstpointer or const void *.

https://bugzilla.gnome.org/show_bug.cgi?id=664491
2011-11-22 11:53:42 +00:00
Wim Taymans 4b216bf73a adapter: remove flush from _unmap 2011-11-10 18:18:24 +01:00
Wim Taymans c5ef50d4de adapter: use gpointer for return types 2011-11-10 11:42:26 +01:00
Wim Taymans f1b07c580e Merge branch 'master' into 0.11
Conflicts:
	common
	configure.ac
2011-11-02 10:29:04 +01:00
Tim-Philipp Müller cf69ce1df6 adapter: simplify gst_adapter_take_list()
Use a stack-allocated GQueue to assemble our GList.
2011-11-01 14:17:21 +00:00
Wim Taymans a495701900 adapter: use pts/dts on buffers 2011-10-28 12:26:28 +02:00
Josep Torra 178bdccb76 Fix and clarify debug statements
Fixes build on MacOSX

Signed-off-by: Edward Hervey <edward.hervey@collabora.co.uk>
2011-08-10 11:01:58 +02:00
Wim Taymans 54fd50bfe1 buffer: add index to _take_memory()
Add an index to gst_buffer_take_memory() so that we can also insert memory at a
certain offset. This is mostly interesting to prepend a header memory block to
the buffer.
2011-06-13 16:31:53 +02:00
Tim-Philipp Müller 4b920eb5d2 docs: update for API changes
Also remove GST_PAD_CHECKGETRANGEFUNC macro
2011-06-05 18:57:56 +01:00
Sebastian Dröge 7da7494adc base: Use G_DEFINE_TYPE instead of GST_BOILERPLATE 2011-04-19 11:45:36 +02:00
Wim Taymans ebb14d95b2 buffer: more API tweaks
_trim -> _resize
_create_sub -> copy_region
2011-03-30 16:47:55 +02:00
Wim Taymans beac9c4a95 buffer: fix remaining unit tests 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 38ffe30745 memory: more work on implementing buffer memory 2011-03-28 20:08:46 +02:00
Wim Taymans d82c8bd2af memory: port code to new buffer data API 2011-03-28 20:08:45 +02:00
Tim-Philipp Müller 686b16756d docs: libgstbase: more gobject introspection annotations
Many of these are superfluous and were added for clarity.
2010-12-07 18:37:04 +00:00
Wim Taymans 19e5a54c9f adapter: improve docs a little. 2010-12-02 19:10:45 +01:00
Tim-Philipp Müller 5b25761f29 docs: add some gtk-doc Since: markers
Add some gtk-doc Since: markers, fix one Since: marker,
fix typo.
2010-10-16 16:53:49 +01:00
Stefan Kost ad2e7b1de3 docs: use the gtk-doc shortcuts to get coloured and xrefed example 2010-10-11 16:44:01 +03:00
David Schleef 9dbe690f72 adapter: Add check for pattern bits not in mask 2010-09-18 19:29:09 -07: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 a144882871 adapter: reuse more data in _peek()
Optimize _peek() some more by reusing already assembled data when we can.
2010-09-17 15:07:50 +02:00
Wim Taymans 961e2029db adapter: optimize _take() a little more
When we have already assembled some data before, reuse this data and only copy
the part that is new.
2010-09-17 13:57:39 +02:00
Wim Taymans fc4caf55c9 adapter: refactor adapter take
Move some common code into one place
2010-09-17 12:48:55 +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
Mark Nauwelaerts 7e23719a74 adapter: optimize progressive masked_scan
Retain the last scanned buffer entry and offset, so we can resume buffer
scanning there in case of a typical progressive scan.
Also potentially optimize _copy subsequently occurring in that area.
2010-06-14 15:09:59 +02:00
Mark Nauwelaerts d5ed339f20 adapter: add extended masked_scan_uint32_peek that also provides matching value
Also add to .def and docs.

Fixes #619828.

API: gst_adapter_masked_scan_uint32_peek
2010-06-14 15:09:38 +02:00
Mark Nauwelaerts aa8b8b57d7 adapter: fix _try_to_merge_up
That is, provide correct return value (as documented), and actually
loop to consider more than the first 2 buffers.
2010-05-27 14:57:29 +02:00
Edward Hervey 7a8004233a GstAdapter: add a unchecked variant of flush for internal usage
Trims off 10-20% cpu time when using gst_adapter_take[_buffer]
2010-03-25 10:28:21 +01:00
Edward Hervey 27284628e4 optimisation : Use g_object_newv where possible.
This avoids:
* triple-checking for the GType when type-checking is enabled (see #597260)
* Avoids going through an expensive no-argument checking which landed in
  glib-2.22
* Avoids going through 2 extrac functions (g_object_new -> g_object_new_valist)
2009-10-28 09:31:17 +01:00
Wim Taymans b6728ca46e adapter: whitespace fixes 2009-08-28 18:04:54 +02:00
Tim-Philipp Müller 79c8e24885 docs: fix API docs for gst_{adapter|byte_reader}_masked_scan_uint32
Clarify byte reader docs a bit: offset is relative to the current
position of the reader, not to the start of the data. Also, the
examples in both the adapter docs and the byte reader docs have
the mask and pattern arguments swapped (see #587561). Spotted
by Carl-Anton Ingmarsson.
2009-07-16 14:17:03 +01:00
Stefan Kost 3e21ddf81f logging: add a performace log category
This category can be used to log slow code path and help auditing the
performance. Add FIXME-0.11 to some questionable categories.
2009-06-29 11:28:01 +03:00
Arnout Vandecappelle c74c3bf1b3 adapter: fix _masked_scan_uint32() at boundaries
gst_adapter_masked_scan_uint32 could return values smaller than offset
if the first byte(s) of the mask are 0 and the pattern matches the
beginning of the adapter.
Added examples to documentation of gst_adapter_masked_scan_uint32().
Also added some more masked boundary tests.
Fixes #584118
2009-05-28 22:02:21 +02:00
Wim Taymans 72232cfef1 adapter: improve the flush function
Remove a compare and branch from flush.
2009-05-20 22:20:46 +02:00
Wim Taymans fd76e4fc93 adapter: potentially save a memcpy in _take
Directly use the assembled_data in _take() functions when we can instead of
copying it out.
2009-05-20 12:48:41 +02:00
Wim Taymans f3ff7ad055 adapter: micro optimisations 2009-05-20 11:36:11 +02:00
Wim Taymans 49c4e367e9 adapter: avoid comparisions in fast path
Small tweaks to reduce the number of useless compares in loops.
2009-05-20 11:12:43 +02:00
Wim Taymans 9197f4399b adapter: avoid branch in copy code 2009-05-20 10:28:45 +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 d6b21ba529 adapter: more optimisations
Remove duplicate copy code (_peek_into and _copy) and make a unified
optimized copy function.
2009-05-19 22:13:04 +02:00
Wim Taymans b23279e922 adapter: don't use realloc, it does a memcpy
Don't use realloc to grow the scratch area because we don't want the memcpy the
old useless data into the new area before we write our new stuff in it.
2009-05-13 23:52:02 +02:00
Wim Taymans cc7985ab48 adapter: use g_realloc for resizing the buffer
Use g_realloc for resizing the internal buffer instead of a
less fancy _free/_malloc pair.
2009-05-13 22:51:18 +02:00
Wim Taymans bb013081a4 adapter: move new member to private struct
Move the new members to a private struct because we don't have enough padding
anymore on 32-bits platforms.
2009-05-13 21:35:23 +02:00
Wim Taymans 763a6f6761 adapter: update some docs 2009-05-13 18:50:23 +02:00
Wim Taymans 3d19b75147 adapter: add method to keep track of timestamps
Keep track of the timestamp and offset associated with the current head of the
adapter.

API: GstAdapter::gst_adapter_prev_timestamp()
2009-05-13 16:22:58 +02:00
Wim Taymans 8ceff30ca9 adapter: small cleanups 2009-05-13 16:20:26 +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
Edward Hervey 471bd93af5 adapter: remove dead assignment.
The value set to to_copy at that line is never used, and is overwritten
further down before being read.
2009-04-03 12:57:24 +02:00
Edward Hervey f0481cb717 GstAdapter: Discard empty buffers in _push(). Fixes #574024 2009-03-04 09:20:43 +01:00