Tim-Philipp Müller [Sun, 14 Jun 2009 15:17:50 +0000 (16:17 +0100)]
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()
Thomas Vander Stichele [Sat, 13 Jun 2009 12:55:43 +0000 (14:55 +0200)]
git-version.sh: make executable
Thomas Vander Stichele [Sat, 13 Jun 2009 12:53:24 +0000 (14:53 +0200)]
Update scripts/cvs-update.sh to git-update.sh; add git-version.sh
add script to get git versions
first update all, then build
add gnonlin too
specify where to pull from
also update submodule
rename and change cvs-update script to git-update
Tim-Philipp Müller [Fri, 12 Jun 2009 17:36:15 +0000 (18:36 +0100)]
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()
René Stadler [Fri, 17 Apr 2009 14:59:38 +0000 (17:59 +0300)]
Fix remaining --disable-gst-debug ABI breakage.
Fixes #579177.
Stefan Kost [Fri, 12 Jun 2009 14:51:22 +0000 (17:51 +0300)]
filesrc/sink: turn the bus messages into g_warning
Its a programming error.
Wim Taymans [Fri, 12 Jun 2009 13:48:35 +0000 (15:48 +0200)]
message: fix docs
Wim Taymans [Fri, 12 Jun 2009 11:18:21 +0000 (13:18 +0200)]
stepping: more stepping improvements
Update design doc with step-start docs.
Add eos field to step done message
when stepping in reverse, update the segment time field.
Flush out the current step when we are flushing.
Wim Taymans [Wed, 10 Jun 2009 13:51:40 +0000 (15:51 +0200)]
basesink: post step-start
when we clip, also stop the stepping.
Don't do QoS when stepping
Post step-start when queueing and activating the step.
Wim Taymans [Wed, 10 Jun 2009 13:48:35 +0000 (15:48 +0200)]
message: add step-start message
Tim-Philipp Müller [Thu, 11 Jun 2009 13:18:03 +0000 (14:18 +0100)]
gstvalue: more efficient value table lookup for fundamental types
Small micro-optimisation: look up value table for fundamental types
via an array dedicated to fundamental types instead of going through
a hash table lookup. Since there can be only 255 fundamental types,
the table size/efficiency trade-off should be acceptable, esp. since
the most commonly-used types are all fundamental types. The size of
the table could probably be minimised further if needed by allocating
the table dynamically and only expanding it on demand.
Tim-Philipp Müller [Thu, 11 Jun 2009 12:16:15 +0000 (13:16 +0100)]
gstvalue: don't put GTypes into int variables
GTypes are not ints and as such are not guaranteed to fit into an int
(with the exception of fundamental types), so we really shouldn't put
them into int variables. Even if a rather unlikely obscure corner case,
this has actually been a problem at some point in the past, see commit
99f16655f4cfbc8e06b5972417ba11279083a64e.
Stefan Kost [Thu, 11 Jun 2009 14:03:04 +0000 (17:03 +0300)]
filesrc/sink: improve warning message a bit (wrong state)
Unify and turn those into element warnings.
Jan Schmidt [Thu, 11 Jun 2009 13:00:09 +0000 (14:00 +0100)]
elementfactory: Fix a compiler warning
Use (gpointer) instead of (gpointer *) to fix a strict-aliasing build warning.
Jan Schmidt [Thu, 11 Jun 2009 12:16:29 +0000 (13:16 +0100)]
docs: Bump common, fix the upload logic inclusion
Update the common submodule, and fix the docs upload rules to include
the right makefile snippet from common.
Jan Schmidt [Tue, 9 Jun 2009 10:13:04 +0000 (11:13 +0100)]
multiqueue: Use the slice allocator for MultiQueueItems
Tim-Philipp Müller [Wed, 10 Jun 2009 19:29:41 +0000 (20:29 +0100)]
Make sure config.h is only included once
Fixes build problem on win32 (#585075).
Stefan Kost [Wed, 10 Jun 2009 15:05:47 +0000 (18:05 +0300)]
plugin: add since: tags for the api docs.
The previous related commit added new API.
API: add gst_plugin_get_cache_data, gst_plugin_set_cache_data
Stefan Kost [Wed, 10 Jun 2009 09:02:23 +0000 (12:02 +0300)]
plugin: fix leaks introduced by fix for #584389
Tim-Philipp Müller [Mon, 8 Jun 2009 22:43:16 +0000 (23:43 +0100)]
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()
Tim-Philipp Müller [Mon, 8 Jun 2009 23:16:05 +0000 (00:16 +0100)]
docs: a few small API doc fixes and additions
Tim-Philipp Müller [Mon, 8 Jun 2009 18:33:55 +0000 (19:33 +0100)]
logging: when logging taglists, shorten long buffer dumps
Don't dump hundreds of kB of hexdata into debug logs when converting
taglists containing huge images into a string. Instead, shorten the
buffer data so that the string is still readable and debug logs
stay managable. Can be turned off with GST_DEBUG_OPTIONS=full-tags.
See #584988.
Wim Taymans [Tue, 9 Jun 2009 11:07:34 +0000 (13:07 +0200)]
multiqueue: check byte range even when we have timestamps
As found by thaytan on IRC.
Also check the byte limit, even if we have timestamps because there might just
not be a time limit.
Wim Taymans [Tue, 9 Jun 2009 10:06:35 +0000 (12:06 +0200)]
basesink: update segment start/stop for clipping
When we start stepping, store the start/stop values of the segment before we
install new start/stop values for clipping in non-flushing steps.
for non-flushing steps, update the element start time. For flushing steps, it
does not change because running_time does not advance
Make sure we always perform the stop_stepping operations even when we drop
frames.
Wim Taymans [Tue, 9 Jun 2009 08:25:34 +0000 (10:25 +0200)]
basesink: do proper clipping in stepping
Update the stop position of the segment so that we clip correctly.
After clipping in non-flushing mode, rerender the remainder of the buffer.
Wim Taymans [Tue, 9 Jun 2009 08:23:23 +0000 (10:23 +0200)]
segment: make conversion more precise
Make sure the conversion from and the conversion to give the same results.
Tim-Philipp Müller [Mon, 8 Jun 2009 14:39:59 +0000 (15:39 +0100)]
utils: gst_util_uint64_scale*() micro-optimisations
Sprinkle G_LIKELY/G_UNLIKELY; add inlined _scale_int_unchecked()
so we don't do some checks twice when calling it from _scale().
Tim-Philipp Müller [Sun, 7 Jun 2009 21:49:01 +0000 (22:49 +0100)]
Remove double semicolons at end of line
Wim Taymans [Mon, 8 Jun 2009 15:39:47 +0000 (17:39 +0200)]
stepping: do flushing steps correctly
Note in the docs that a flushing step in PLAYING brings the pipeline to the lost
state and skips the data before prerolling again.
Implement the flushing step correctly by invalidating the current step
operation, which would activate the new step operation.
Jan Schmidt [Mon, 8 Jun 2009 15:16:27 +0000 (16:16 +0100)]
basesink: Change awkward wording in a translateable message.
Wim Taymans [Mon, 8 Jun 2009 14:27:36 +0000 (16:27 +0200)]
basesink: add non-flushing steps
Add support for non-flushing steps and with different rates.
Clear step info when flushing
Stefan Kost [Sun, 7 Jun 2009 20:46:54 +0000 (23:46 +0300)]
registry: allow plugins to cache extra data in registry. Fixes #570233
Add a GstStructure to GstPlugin. Plugins can retieve it in plugin_init and
access the cached info or build the cache and store it there.
Stefan Kost [Sun, 7 Jun 2009 19:09:14 +0000 (22:09 +0300)]
registry: don't recreate features on first use. Fixes #584389
The first time one calls gst_element_factory_make(), gst recreates the plugin
feature and the element factory. As a side effect we ref the class to fill
in detail we already have filled from the registry cache. This patch changes
the behaviour to just update the existing entries. The factory is now attached
to the type and set in gst_element_base_class_init().
Wim Taymans [Sun, 7 Jun 2009 20:20:54 +0000 (22:20 +0200)]
tests: conditionally compile the streams example
Detect pthreads.h in configure.ac
Only compile the streams example when pthreads.h is present.
Fixes #585039
Wim Taymans [Sun, 7 Jun 2009 15:32:35 +0000 (17:32 +0200)]
gstvalue: remove type checks and redundant code
Wim Taymans [Sun, 7 Jun 2009 13:43:57 +0000 (15:43 +0200)]
value: fix fraction range lcopy function
This function seems to be broken for 3.5 years. Luckily nobody ever tried to
make a fraction range object property...
Wim Taymans [Sun, 7 Jun 2009 13:35:12 +0000 (15:35 +0200)]
gstvalue: performance improvements
Add a GType->GstValueTable hashtable mapping.
Avoid _get_type() multiple times when we can.
Use GSlice for fraction range dynamic memory
Add G_LIKELY when we can
Improve lookup of the value table using the hashtable
Wim Taymans [Sun, 7 Jun 2009 12:30:28 +0000 (14:30 +0200)]
structure: no need to clear on init
We don't need to clear the field on init because we will do that again before we
are going to use the field later.
Jan Schmidt [Fri, 5 Jun 2009 19:57:05 +0000 (20:57 +0100)]
gststructure: Fix some memory leaks. Sprinkle G_LIKELY/UNLIKELY
Fix some memory leaks shown by the new serialisation/deserialisation unit
test. Split the gst_string_wrap function in gstvalue.c into components and
use them to make gst_string_take_and_wrap, which takes ownership of the
string, avoiding a strdup.
Add some G_LIKELY/UNLIKELY, and clean up some leaks in error paths.
Mark Nauwelaerts [Fri, 5 Jun 2009 09:37:24 +0000 (11:37 +0200)]
basesrc: reply to QUERY_SEEKING with original format. Fixes #584838.
Tim-Philipp Müller [Thu, 4 Jun 2009 18:44:38 +0000 (19:44 +0100)]
configure: remove AC_C_INLINE and update win32 files to git
Remove AC_C_INLINE check, so we don't end up with an #undef inline in
config.h, which causes problems with some versions of MSCV apparently.
GLib defines inline for us in a suitable way already anyway.
Fixes #584835.
While we're at it, also update the other win32 files to git (bump
version, add new defines and enums).
Wim Taymans [Thu, 4 Jun 2009 16:26:04 +0000 (18:26 +0200)]
ghostpad: avoid excessive notify for caps
Avoid an object property notify if the caps on the other pad were already
set (and thus notified).
Wim Taymans [Thu, 4 Jun 2009 15:27:03 +0000 (17:27 +0200)]
basesink: fix clipped start/stop after step
Use the segment helpers to get a more accurate clipped start/stop position after
a stepping operation ended.
Wim Taymans [Thu, 4 Jun 2009 10:34:47 +0000 (12:34 +0200)]
basesink: use more correct segment methods
Use the more correct new segment methods for updating the segment before and
after a step.
Wim Taymans [Thu, 4 Jun 2009 10:48:51 +0000 (12:48 +0200)]
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()
Tim-Philipp Müller [Wed, 3 Jun 2009 23:37:28 +0000 (00:37 +0100)]
po: update .po files for string changes
This makes sure that people who get themselves a fresh checkout
don't immediately have changed *po files after running make, which
would cause a bit of hassle next time the files are updated. Better
to keep them up-to-date when strings change.
Tim-Philipp Müller [Wed, 3 Jun 2009 23:54:24 +0000 (00:54 +0100)]
errors: reword state change failed error message and remove bugzilla link
Reword this message a bit to make it clearer what it means, namely that
the state change may have failed for good reasons, but that the element
just failed to post a proper error on the bus. This is not an internal
GStreamer bug, and we really don't need people to flood bugzilla with
bug reports if one such plugin bug ever makes it into the wild.
Tim-Philipp Müller [Wed, 3 Jun 2009 23:29:31 +0000 (00:29 +0100)]
gst-launch: refer to element, pad, or object in some message strings
Revisit these strings now that the change regarding the message source
object in gst_element_found_tags_for_pad() got reverted. Try to refer
explicitly to what kind of element it is (element, pad, etc.) in some
cases, which is nicer than having to deduce this info (and we can
re-use the already existing translated strings for the most common
case). It also makes for better example code, since it's clear now
that the message source object doesn't have to be an element.
Tim-Philipp Müller [Wed, 3 Jun 2009 20:10:39 +0000 (21:10 +0100)]
API: add GST_MESSAGE_SRC_NAME macro
Add GST_MESSAGE_SRC_NAME macro that always returns a non-NULL string.
Useful for debugging and logging purposes.
Wim Taymans [Wed, 3 Jun 2009 17:06:30 +0000 (19:06 +0200)]
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()
Wim Taymans [Wed, 3 Jun 2009 13:39:13 +0000 (15:39 +0200)]
basesink; handle EOS correctly.
Handle EOS and buffers without a timestamp gracefully.
Remove a warning that is not so much a warning now anymore.
Tim-Philipp Müller [Wed, 3 Jun 2009 08:45:25 +0000 (09:45 +0100)]
Revert "go back to allowing gettext 0.11.5, but don't mix with libtool 2.2"
This reverts commit
31c09d738ce7f47bff9d292996e9489c275e55a1.
Reverting this, since it breaks autogen.sh for me on debian sid.
Failure is: "libtool 2.2 requires autopoint 0.17 or higher" even though
0.17 was found.
Tim-Philipp Müller [Wed, 3 Jun 2009 08:41:21 +0000 (09:41 +0100)]
Revert "only update submodule when it is not on a specific branch"
This reverts commit
93b83333aad519c5555156576f0baa3be7b263f3.
Reverting since this fails on a fresh checkout. Also, we shouldn't
depend on possibly translated strings.
Tim-Philipp Müller [Wed, 3 Jun 2009 00:56:10 +0000 (01:56 +0100)]
docs: fix up reference to gst-launch-0.8
Also mention decodebin2, uridecodebin, and playbin2
Wim Taymans [Wed, 3 Jun 2009 08:39:53 +0000 (10:39 +0200)]
basesink: forget previous times when stepping
When we start a flushing step operation, forget about the previous stream time
so that the position reporting works correctly.
Thomas Vander Stichele [Tue, 2 Jun 2009 23:25:26 +0000 (01:25 +0200)]
go back to allowing gettext 0.11.5, but don't mix with libtool 2.2
Thomas Vander Stichele [Tue, 2 Jun 2009 23:01:57 +0000 (01:01 +0200)]
only update submodule when it is not on a specific branch
David Schleef [Tue, 2 Jun 2009 20:45:52 +0000 (13:45 -0700)]
tools: Set pipeline to PAUSED before waiting for main loop idle
When it is shutting down a pipeline after ctrl-c, set pipeline to
paused before waiting for the main loop to complete all pending
transactions. Fixes #584657.
If some part of the pipeline is generating signals or idle functions
at a fast rate, waiting for a main loop iteration may never return.
Stefan Kost [Tue, 2 Jun 2009 15:36:10 +0000 (18:36 +0300)]
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.
Wim Taymans [Tue, 2 Jun 2009 13:37:22 +0000 (15:37 +0200)]
basesink: fix regression in unit tests
Store the timestamp of the buffer after prerolling. While we are prerolled we
want to report the position of the segment start value.
Tim-Philipp Müller [Mon, 1 Jun 2009 19:26:53 +0000 (20:26 +0100)]
info: widen log level strings to take into account the new MEMDUMP
Wim Taymans [Mon, 1 Jun 2009 17:37:14 +0000 (19:37 +0200)]
basesink: post a warning on excessive framedrops
When we go into emergency rendering, post a warning informing the user about
this fact.
Wim Taymans [Sun, 31 May 2009 17:10:02 +0000 (19:10 +0200)]
basesink: more stepping in reverse
Fix stepping and position reporting in reverse playback.
Wim Taymans [Fri, 29 May 2009 14:06:52 +0000 (16:06 +0200)]
basesink: use start_time as the step start
Use the start_time of the element as the point from where the step operation
starts. This fixes stepping in all paused states.
Wim Taymans [Tue, 19 May 2009 17:45:06 +0000 (19:45 +0200)]
basesink: catch step cases in _wait_preroll()
When a subclass is blocking in _wait_preroll() in the _render method, make sure
we can unlock the subclass and detect this return value from the render method.
Wim Taymans [Tue, 19 May 2009 08:50:57 +0000 (10:50 +0200)]
basesink: more stepping in reverse fixes
Wim Taymans [Mon, 18 May 2009 16:41:45 +0000 (18:41 +0200)]
basesink: small cleanups
Wim Taymans [Mon, 18 May 2009 13:48:20 +0000 (15:48 +0200)]
framestep: implement backwards framestep
Update framestep document, we want to pass the flush flag in the step-done
message.
Add flush flag to the gstmessage.
Update examples to use the new step-done message api.
Implement framestep with playback rates < 0.0 too.
Wim Taymans [Fri, 15 May 2009 13:25:06 +0000 (15:25 +0200)]
basesink: add framestepping in time
Wim Taymans [Fri, 15 May 2009 13:24:30 +0000 (15:24 +0200)]
examples: step in time as well
Wim Taymans [Fri, 15 May 2009 10:02:02 +0000 (12:02 +0200)]
example: print step_done message and sync
Dump the step_done message contents.
Sync against the clock when going to PLAYING.
Wim Taymans [Fri, 15 May 2009 10:05:44 +0000 (12:05 +0200)]
basesink: keep track of stepped time
Pass running_time around so that the stepping code can calculate the elapsed
time correctly.
Wim Taymans [Thu, 14 May 2009 17:29:08 +0000 (19:29 +0200)]
basesink: move stuff around, more stepping
Make start and stop_stepping methods and move their invocation in the right
places.
Perform the atual stepping operation where we have full context about the
timestamps.
Wim Taymans [Mon, 11 May 2009 16:56:03 +0000 (18:56 +0200)]
Add frame stepping in PAUSED example
Wim Taymans [Mon, 11 May 2009 16:56:56 +0000 (18:56 +0200)]
basesink: first stab at frame stepping in PAUSED
Unlock the prerolled frame and recheck if we need to step.
Keep a simple counter for the frames we're about to skip while stepping and
preroll/post step_done when stepping finished.
Wim Taymans [Mon, 1 Jun 2009 10:19:52 +0000 (12:19 +0200)]
add new API for framestepping
Add new STEP event and methods for creating/parsing the event
Update design docs.
Add new STEP_DONE message and method to create/parse.
API: GstEvent::gst_event_new_step()
API: GstEvent::gst_event_parse_step()
API: GstMessage::gst_message_new_step_done()
API: GstMessage::gst_message_parse_step_done()
Tim-Philipp Müller [Mon, 1 Jun 2009 09:05:32 +0000 (10:05 +0100)]
structures: don't leak invalid or empty strings when we warn
Fixes minor memory leak in unit tests caused by the recent changes.
Since we're expected to take ownership of the GValue in the structure
field struct here, we need to unset it if we don't use it.
Stefan Kost [Mon, 1 Jun 2009 08:08:31 +0000 (11:08 +0300)]
controller: add test for cubic int. and too few control points
Added another tests to check some worries in Bug #582564.
Stefan Kost [Thu, 28 May 2009 09:31:08 +0000 (12:31 +0300)]
fakesrc: add a FIXME comment for blocksize vs. size-max property issue
Tim-Philipp Müller [Sun, 31 May 2009 20:27:40 +0000 (21:27 +0100)]
identity: hack around g_object_notify() bug by protecting it with a lock
Out-of-band events might lead to us calling g_object_notify() from a
non-streaming thread, which can cause crashes if g_object_notify() is
being called from the streaming thread at the same time. See #554460.
Stefan Kost [Sun, 31 May 2009 19:37:59 +0000 (22:37 +0300)]
controller: use real world number in benchmark
Stefan Kost [Sun, 31 May 2009 19:37:03 +0000 (22:37 +0300)]
registry: fix comment formatting
Tim-Philipp Müller [Sat, 30 May 2009 19:36:25 +0000 (20:36 +0100)]
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.
Tim-Philipp Müller [Sun, 31 May 2009 15:17:45 +0000 (16:17 +0100)]
taglists: make _get_{string|pointer} return FALSE for NULL values
Make gst_tag_list_get_string() return FALSE for NULL strings and
empty strings, and gst_tag_list_get_pointer() return FALSE for
NULL pointers, like we do with dates and buffers.
Fixes #560345.
Tim-Philipp Müller [Sat, 30 May 2009 19:50:40 +0000 (20:50 +0100)]
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.
Tim-Philipp Müller [Fri, 29 May 2009 17:22:42 +0000 (18:22 +0100)]
structure: add gst_structure_id_new() convenience function
Add convenience wrapper for gst_structure_id_empty_new() plus
gst_structure_id_set() and use it in a few places.
API: gst_structure_id_new()
Tim-Philipp Müller [Fri, 29 May 2009 17:00:06 +0000 (18:00 +0100)]
micro-optimisation: use GST_QUARK in more places
Use gst_structure_id_empty_new() in combination with GST_QUARK
rather than gst_structure_id_new() when creating message, event,
query and taglist structures. Mostly just because we can.
Wim Taymans [Fri, 29 May 2009 14:04:28 +0000 (16:04 +0200)]
element: reset start_time in lost state
Wim Taymans [Fri, 29 May 2009 11:03:15 +0000 (13:03 +0200)]
docs: update element an pipeline docs
Wim Taymans [Fri, 29 May 2009 10:48:28 +0000 (12:48 +0200)]
docs: remove a TODO item that is fixed now
Wim Taymans [Fri, 29 May 2009 10:21:36 +0000 (12:21 +0200)]
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.
Wim Taymans [Thu, 28 May 2009 14:30:52 +0000 (16:30 +0200)]
pipeline: use START_TIME to keep track of time
Use the element START_TIME to keep track of the running time when the pipeline
paused so that it can be used to restore the base_time.
Take the start_time before setting the children to PAUSED so that we can
distribute the start_time to the children.
Wim Taymans [Thu, 28 May 2009 13:40:01 +0000 (15:40 +0200)]
bin: set the base_time and start_time better
Simply set the start_time and base_time on the element instead of calling the
setters.
Wim Taymans [Wed, 27 May 2009 09:35:58 +0000 (11:35 +0200)]
bin: make the bin set the start_time on elements
Set the start_time of the bin on the elements when they are added to the
pipeline and when a state change happens.
Wim Taymans [Tue, 26 May 2009 09:53:05 +0000 (11:53 +0200)]
element: add start_time field an methods
Add a start_time field and some methods. The start_time will contain the
running_time of when the element last went to paused. This time can be user to
report the position in PAUSED but also to do more correct clipping and
stepping later.
Arnout Vandecappelle [Thu, 28 May 2009 20:02:21 +0000 (22:02 +0200)]
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
Wim Taymans [Thu, 28 May 2009 14:36:32 +0000 (16:36 +0200)]
pad: add pad private structure
Add pad private structure and move the new chainlistfunc into the private
struct. This avoids ABI breakage and allows us to expand in the future.
Sebastian Dröge [Wed, 27 May 2009 14:34:19 +0000 (16:34 +0200)]
Add missing symbol to the win32 exports
This was accidentially removed by my last commit.
Wim Taymans [Wed, 27 May 2009 14:17:31 +0000 (16:17 +0200)]
buffer: avoid memory leaks
Avoid leaking the caps of the dest buffer and avoid doing needless caps
refs.
When the source and target buffers are the same, return immediatly.
Sebastian Dröge [Wed, 27 May 2009 12:32:51 +0000 (14:32 +0200)]
API: Add gst_message_{new,parse}_tag_full() to get/set the source pad
Fixes bug #582588.