platform/upstream/gstreamer.git
15 years agocontroller: use real world number in benchmark
Stefan Kost [Sun, 31 May 2009 19:37:59 +0000 (22:37 +0300)]
controller: use real world number in benchmark

15 years agoregistry: fix comment formatting
Stefan Kost [Sun, 31 May 2009 19:37:03 +0000 (22:37 +0300)]
registry: fix comment formatting

15 years agofakesink: hack around crasher bug in g_object_notify() for out-of-band events
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.

15 years agotaglists: make _get_{string|pointer} return FALSE for NULL values
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.

15 years agotaglists: warn if someone tries to add empty or NULL string tags to a taglist
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.

15 years agostructure: add gst_structure_id_new() convenience function
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()

15 years agomicro-optimisation: use GST_QUARK in more places
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.

15 years agoelement: reset start_time in lost state
Wim Taymans [Fri, 29 May 2009 14:04:28 +0000 (16:04 +0200)]
element: reset start_time in lost state

15 years agodocs: update element an pipeline docs
Wim Taymans [Fri, 29 May 2009 11:03:15 +0000 (13:03 +0200)]
docs: update element an pipeline docs

15 years agodocs: remove a TODO item that is fixed now
Wim Taymans [Fri, 29 May 2009 10:48:28 +0000 (12:48 +0200)]
docs: remove a TODO item that is fixed now

15 years agopipeline: deprecate old methods, fix test
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.

15 years agopipeline: use START_TIME to keep track of 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.

15 years agobin: set the base_time and start_time better
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.

15 years agobin: make the bin set the start_time on elements
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.

15 years agoelement: add start_time field an methods
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.

15 years agoadapter: fix _masked_scan_uint32() at boundaries
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

15 years agopad: add pad private structure
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.

15 years agoAdd missing symbol to the win32 exports
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.

15 years agobuffer: avoid memory leaks
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.

15 years agoAPI: Add gst_message_{new,parse}_tag_full() to get/set the source pad
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.

15 years agoRevert "element: Set the originating pad as message source in gst_element_found_tags_...
Sebastian Dröge [Wed, 27 May 2009 12:06:13 +0000 (14:06 +0200)]
Revert "element: Set the originating pad as message source in gst_element_found_tags_for_pad ()"

This reverts commit bebfde75027e975b7e7c74c6358c5be83ea4ac9f.

This change shouldn't be done in a stable release series as
applications are actually expecting the sender to be an
GstElement. One example is totem.

15 years agoUpdate common
Jan Schmidt [Tue, 26 May 2009 10:35:49 +0000 (11:35 +0100)]
Update common

15 years agoFix 'make distcheck'
Tim-Philipp Müller [Tue, 26 May 2009 09:41:28 +0000 (10:41 +0100)]
Fix 'make distcheck'

The check-enum-gettypes rule didn't work for 'make distcheck' since
it makes assumptions about the location of the source files from the
current working directory which isn't true during distchecking.

15 years agomanuals.mak: attempt to make 'make distcheck' work with -jN
Tim-Philipp Müller [Tue, 26 May 2009 09:38:56 +0000 (10:38 +0100)]
manuals.mak: attempt to make 'make distcheck' work with -jN

Attempt to fix the 'cannot create regular file build/image.entitites:
file exists' error I got.

15 years agodocs: fix cdparanoia example pipeline in gst-launch man page
Tim-Philipp Müller [Mon, 25 May 2009 22:58:37 +0000 (23:58 +0100)]
docs: fix cdparanoia example pipeline in gst-launch man page

15 years agoelement: fix typo in comments
Wim Taymans [Mon, 25 May 2009 16:44:14 +0000 (18:44 +0200)]
element: fix typo in comments

15 years agodist: Fix the name of the header to dist: testrtpool.h, not rtpool-test.h
Jan Schmidt [Mon, 25 May 2009 16:43:32 +0000 (17:43 +0100)]
dist: Fix the name of the header to dist: testrtpool.h, not rtpool-test.h

15 years agoUpdate common
Jan Schmidt [Mon, 25 May 2009 16:03:05 +0000 (17:03 +0100)]
Update common

15 years agoclock: remove assertion
Wim Taymans [Mon, 25 May 2009 14:54:25 +0000 (16:54 +0200)]
clock: remove assertion

Remove an assertion, this is not really an error in all cases.
Fixes #582010

15 years agoclock: enable monotonic clock when we can
Wim Taymans [Mon, 25 May 2009 14:21:55 +0000 (16:21 +0200)]
clock: enable monotonic clock when we can

Enable the monotonic clock by default when we can.
Fixes #583554

15 years agodocs: add Image to draft klass documentation
Wim Taymans [Mon, 25 May 2009 12:52:13 +0000 (14:52 +0200)]
docs: add Image to draft klass documentation

15 years agopad: keep task ref before releasing the lock
Wim Taymans [Mon, 25 May 2009 11:03:42 +0000 (13:03 +0200)]
pad: keep task ref before releasing the lock

Keep a ref to the task on the pad so that a concurrent stop can stop and join
the task.

15 years agogsttask: avoid join to return early
Wim Taymans [Mon, 25 May 2009 09:56:47 +0000 (11:56 +0200)]
gsttask: avoid join to return early

Unset the running flag after we released the lock for posting the stream-status
message. If we set the running flag to FALSE too early, the join method will
just continue without waiting for the message to be posted, leading to potential
crashes.

15 years agopreset: fix update rule
Stefan Kost [Sun, 24 May 2009 20:14:26 +0000 (23:14 +0300)]
preset: fix update rule

Only update the preset from system, if we had a preset before and system
version is newer.

15 years agocontroller: add a benchmark to verify the switch to gsequence
Stefan Kost [Fri, 22 May 2009 20:47:30 +0000 (23:47 +0300)]
controller: add a benchmark to verify the switch to gsequence

15 years agocontroller: add more error handling to example
Stefan Kost [Fri, 22 May 2009 20:50:58 +0000 (23:50 +0300)]
controller: add more error handling to example

15 years agoregistry: don't free node-date and deref again. Fixes #580579
Stefan Kost [Fri, 22 May 2009 20:14:41 +0000 (23:14 +0300)]
registry: don't free node-date and deref again. Fixes #580579

When writing a cache chunk fails, we were freeing the node and jump to a final
cleanup which dereferenced a null pointer. Leve freeing the node to the cleanup
code in fail_free_list. (sorry for committing wrong fix before).

15 years agoregistry: don't free node-date and deref again. Fixes #580579
Stefan Kost [Fri, 22 May 2009 20:10:00 +0000 (23:10 +0300)]
registry: don't free node-date and deref again. Fixes #580579

When writing a cache chunk fails, we were freeing the node and jump to a final
cleanup which dereferenced a null pointer. Leve freeing the node to the cleanup
code in fail_free_list.

15 years agocontroller: add G_LIKELY and join two if for same condition
Stefan Kost [Fri, 22 May 2009 11:17:56 +0000 (14:17 +0300)]
controller: add G_LIKELY and join two if for same condition

A G_LIKELY for the sequence!=NULL checks. Join two ifs to an if-else. Add
indent guides to keep indent form breaking the function declaration

15 years agogsttypefindhelper: Fix indentation
Edward Hervey [Fri, 22 May 2009 10:57:10 +0000 (12:57 +0200)]
gsttypefindhelper: Fix indentation

15 years agodocs: fix gtk-doc warnings
Stefan Kost [Fri, 22 May 2009 09:24:22 +0000 (12:24 +0300)]
docs: fix gtk-doc warnings

Move MT safety to main description (it does not belong to Return: or Since:
statement). Add a few missing return docs. Downgrade a normal comment froma doc
comment. Fix a doc header to only contain symbol name.

15 years agoAutomatic update of common submodule
Jan Schmidt [Fri, 22 May 2009 09:19:36 +0000 (10:19 +0100)]
Automatic update of common submodule

From d3a8fab to 888e0a2

15 years agodist: Add rtpool-test.h to the sources list so it gets disted.
Jan Schmidt [Fri, 22 May 2009 08:51:44 +0000 (09:51 +0100)]
dist: Add rtpool-test.h to the sources list so it gets disted.

Fixes the distcheck

15 years agogitignores: Ignore the clockstress benchmark binary
Jan Schmidt [Fri, 22 May 2009 08:44:25 +0000 (09:44 +0100)]
gitignores: Ignore the clockstress benchmark binary

15 years agocontroller: Silence a warning from the GSequence being NULL.
Jan Schmidt [Fri, 22 May 2009 08:41:36 +0000 (09:41 +0100)]
controller: Silence a warning from the GSequence being NULL.

Fix a warning that occurs when the self->priv->values is NULL and
the code tries to retrieve an iterator from it. The warning was showing
up in the checks for the volume element.

15 years agodocs: Fix up some documentation warnings.
Jan Schmidt [Fri, 22 May 2009 08:33:02 +0000 (09:33 +0100)]
docs: Fix up some documentation warnings.

Since: tags should always be the last thing in a doc block, apparently.
Add some Returns: descriptions to some recent functions.

15 years agodocs: update docs for stream_time->running_time
Wim Taymans [Thu, 21 May 2009 15:32:00 +0000 (17:32 +0200)]
docs: update docs for stream_time->running_time

Change some instances where we wrongly refer to stream time where it should have
been running time.

15 years agogst-launch: don't use G_GUINT32_FORMAT in translatable string
Tim-Philipp Müller [Thu, 21 May 2009 09:57:47 +0000 (10:57 +0100)]
gst-launch: don't use G_GUINT32_FORMAT in translatable string

xgettext doesn't handle this very well. Fixes #583419.

15 years agoautogen.sh: can remove the -Wno-portability from here now
Tim-Philipp Müller [Wed, 20 May 2009 16:07:37 +0000 (17:07 +0100)]
autogen.sh: can remove the -Wno-portability from here now

since we added it to configure.ac.

15 years agoadapter: improve the flush function
Wim Taymans [Wed, 20 May 2009 20:18:16 +0000 (22:18 +0200)]
adapter: improve the flush function

Remove a compare and branch from flush.

15 years agocontroller: fix assertion when freeing the control source
Stefan Kost [Wed, 20 May 2009 14:24:19 +0000 (17:24 +0300)]
controller: fix assertion when freeing the control source

15 years agoadapter: potentially save a memcpy in _take
Wim Taymans [Wed, 20 May 2009 10:48:41 +0000 (12:48 +0200)]
adapter: potentially save a memcpy in _take

Directly use the assembled_data in _take() functions when we can instead of
copying it out.

15 years agoadapter: micro optimisations
Wim Taymans [Wed, 20 May 2009 09:36:11 +0000 (11:36 +0200)]
adapter: micro optimisations

15 years agoadapter: avoid comparisions in fast path
Wim Taymans [Wed, 20 May 2009 09:12:43 +0000 (11:12 +0200)]
adapter: avoid comparisions in fast path

Small tweaks to reduce the number of useless compares in loops.

15 years agotests: one more adapter test
Wim Taymans [Wed, 20 May 2009 08:28:08 +0000 (10:28 +0200)]
tests: one more adapter test

15 years agoadapter: avoid branch in copy code
Wim Taymans [Wed, 20 May 2009 08:27:43 +0000 (10:27 +0200)]
adapter: avoid branch in copy code

15 years agoloadsave: fix requestpad handling and serialisation order.
Hannes Bistry [Wed, 20 May 2009 07:56:11 +0000 (10:56 +0300)]
loadsave: fix requestpad handling and serialisation order.

Support request pads when loading. Reverse pad serialisation order to
preserve it when recreating the pipeline.

15 years agodefs: add new symbol
Wim Taymans [Tue, 19 May 2009 22:45:27 +0000 (00:45 +0200)]
defs: add new symbol

15 years agodocs: add new symbol to docs
Wim Taymans [Tue, 19 May 2009 22:44:11 +0000 (00:44 +0200)]
docs: add new symbol to docs

15 years agoadapter: add _masked_scan_uint32
Wim Taymans [Tue, 19 May 2009 22:37:53 +0000 (00:37 +0200)]
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

15 years agoadapter: more optimisations
Wim Taymans [Tue, 19 May 2009 20:13:04 +0000 (22:13 +0200)]
adapter: more optimisations

Remove duplicate copy code (_peek_into and _copy) and make a unified
optimized copy function.

15 years agoconfigure: pass -Wno-portability to automake to suppress warnings
Tim-Philipp Müller [Tue, 19 May 2009 16:12:41 +0000 (17:12 +0100)]
configure: pass -Wno-portability to automake to suppress warnings

GNU make is required, no point pretending otherwise.

15 years agodocs: mention that GST_FORMAT_{PERCENT|BUFFERS} are not implemented
Tim-Philipp Müller [Mon, 18 May 2009 00:00:36 +0000 (01:00 +0100)]
docs: mention that GST_FORMAT_{PERCENT|BUFFERS} are not implemented

15 years agogstclock: Fix ABI breakage on 32 bit architectures
Sebastian Dröge [Sun, 17 May 2009 08:46:39 +0000 (10:46 +0200)]
gstclock: Fix ABI breakage on 32 bit architectures

The padding of GstClock is a GstClockTime and not a
gpointer, so adding a pointer requires the padding
size to be changed depending on the pointer size.
Use an union instead.

Fixes bug #582878.

15 years ago[gstvalue] adds safety parenthesis to macros missing them.
Thiago Santos [Fri, 15 May 2009 18:24:40 +0000 (15:24 -0300)]
[gstvalue] adds safety parenthesis to macros missing them.

15 years ago[gstutils] Adds more safety to GST_WRITE_* and GST_READ_ macros.
Thiago Santos [Fri, 15 May 2009 17:42:48 +0000 (14:42 -0300)]
[gstutils] Adds more safety to GST_WRITE_* and GST_READ_ macros.

Adds safety ( ) to parameters in _GST_PUT and _GST_GET macros.
Fixes #582708.

15 years agoclock: use seqlocks to parallellize readers
Wim Taymans [Thu, 19 Mar 2009 10:37:12 +0000 (11:37 +0100)]
clock: use seqlocks to parallellize readers

15 years agostress: add a clock stresstest
Wim Taymans [Thu, 16 Apr 2009 13:53:29 +0000 (15:53 +0200)]
stress: add a clock stresstest

Add a stresstest for gst_clock_get_time().

15 years agoMakefile.am: update for added/moved/removed files that weren't dist-ed.
Edward Hervey [Fri, 15 May 2009 09:00:53 +0000 (11:00 +0200)]
Makefile.am: update for added/moved/removed files that weren't dist-ed.

15 years agodocs: Release script modifications
Jan Schmidt [Tue, 12 May 2009 10:29:21 +0000 (11:29 +0100)]
docs: Release script modifications

15 years agocontroller: Use ordered GSequence instead of GList
Sebastian Dröge [Thu, 14 May 2009 20:11:57 +0000 (22:11 +0200)]
controller: Use ordered GSequence instead of GList

This makes lookups and insertions O(log n) instead of
always O(n) for insertions and O(n) in worst case for
lookups.

Fixes bug #582564.

15 years agodocs: rename and delete some design docs
Wim Taymans [Thu, 14 May 2009 10:30:23 +0000 (12:30 +0200)]
docs: rename and delete some design docs

15 years agogst-launch: Print the path string for message sources
Sebastian Dröge [Thu, 14 May 2009 10:30:04 +0000 (12:30 +0200)]
gst-launch: Print the path string for message sources

This reduces confusion if the message source is a pad
and only "src" is printed as source.

15 years agoelement: Set the originating pad as message source in gst_element_found_tags_for_pad ()
Sebastian Dröge [Thu, 14 May 2009 10:25:20 +0000 (12:25 +0200)]
element: Set the originating pad as message source in gst_element_found_tags_for_pad ()

Fixes bug #582588.

15 years agoelement: add gst_element_lost_state_full()
Wim Taymans [Thu, 14 May 2009 09:36:28 +0000 (11:36 +0200)]
element: add gst_element_lost_state_full()

Add a gst_element_lost_state_full() with an extra argument to control
distribution of a new base_time. We will need this for flushing step
operations.

API: GstElement::gst_element_lost_state_full()

15 years agoadapter: don't use realloc, it does a memcpy
Wim Taymans [Wed, 13 May 2009 21:52:02 +0000 (23:52 +0200)]
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.

15 years agodocs: update trickmode document
Wim Taymans [Wed, 13 May 2009 21:38:08 +0000 (23:38 +0200)]
docs: update trickmode document

15 years agoadapter: use g_realloc for resizing the buffer
Wim Taymans [Wed, 13 May 2009 20:51:18 +0000 (22:51 +0200)]
adapter: use g_realloc for resizing the buffer

Use g_realloc for resizing the internal buffer instead of a
less fancy _free/_malloc pair.

15 years agoadapter: move new member to private struct
Wim Taymans [Wed, 13 May 2009 19:35:23 +0000 (21:35 +0200)]
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.

15 years agoadapter: update some docs
Wim Taymans [Wed, 13 May 2009 16:50:23 +0000 (18:50 +0200)]
adapter: update some docs

15 years agotests: add another test for adapter timestamps
Wim Taymans [Wed, 13 May 2009 15:09:32 +0000 (17:09 +0200)]
tests: add another test for adapter timestamps

15 years agotests: add new timestamp unit test
Wim Taymans [Wed, 13 May 2009 14:48:38 +0000 (16:48 +0200)]
tests: add new timestamp unit test

15 years agodefs: add new symbol
Wim Taymans [Wed, 13 May 2009 14:26:00 +0000 (16:26 +0200)]
defs: add new symbol

15 years agoadapter: add method to keep track of timestamps
Wim Taymans [Wed, 13 May 2009 14:09:20 +0000 (16:09 +0200)]
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()

15 years agoadapter: small cleanups
Wim Taymans [Wed, 13 May 2009 14:20:26 +0000 (16:20 +0200)]
adapter: small cleanups

15 years agodebugutils: show more pad-details
Stefan Kost [Wed, 13 May 2009 08:03:27 +0000 (11:03 +0300)]
debugutils: show more pad-details

Show pad activation mode and pad-flags inside the pad. Write down some ideas
about how we could improve the caps layout.

15 years agodebugutils: layout improvement
Stefan Kost [Tue, 12 May 2009 21:29:57 +0000 (00:29 +0300)]
debugutils: layout improvement

dot does not take the head/tail labels into account. For unfixed caps they get
quite large. Double the padding to make it sort of readable in more cases. Also
make normal font bigger and caps-label font smaller to increase our luck.

15 years agochecks: check for enum types not class_ref'ed in gst_init() in 'make check'
Tim-Philipp Müller [Tue, 12 May 2009 20:00:15 +0000 (21:00 +0100)]
checks: check for enum types not class_ref'ed in gst_init() in 'make check'

15 years agoInitialise some more types in gst_init(), esp. the new enum types
Tim-Philipp Müller [Tue, 12 May 2009 19:58:32 +0000 (20:58 +0100)]
Initialise some more types in gst_init(), esp. the new enum types

Possibly fixes GObject class creation/unref race conditions when
creating the last-message string in fakesink for events with
structures that have fields with these enum types.

15 years agosystemclock: remove duplicate _get_type() function for GstClockType
Tim-Philipp Müller [Tue, 12 May 2009 19:56:06 +0000 (20:56 +0100)]
systemclock: remove duplicate _get_type() function for GstClockType

Remove the static gst_clock_type_get_type() function in the
systemclock code in favour of the public one in gstenumtypes.c.

15 years agoghostpad: remove deprecated API
Stefan Kost [Wed, 22 Apr 2009 07:53:37 +0000 (10:53 +0300)]
ghostpad: remove deprecated API

_internal_link_function() is deprecated and _iterate_internal_links_function()
is already provided.

15 years agoparse-launch: allow specifying GstElement properties via gst_parse_bin_from_description
Stefan Kost [Tue, 21 Apr 2009 08:33:43 +0000 (11:33 +0300)]
parse-launch: allow specifying GstElement properties via gst_parse_bin_from_description

If deserializing a property fails, check if the value type is a string and if so
attempt to create a bin from the string value. This allows to e.g. specify
audio-sink/video-sink for playbin on gst-launch commandline.

15 years agodocs: add some docs about buffer lists
Wim Taymans [Tue, 12 May 2009 15:29:15 +0000 (17:29 +0200)]
docs: add some docs about buffer lists

15 years agobufferlist: make objects opaque
Wim Taymans [Tue, 12 May 2009 14:18:48 +0000 (16:18 +0200)]
bufferlist: make objects opaque

15 years agobufferlist: fix a comment
Wim Taymans [Tue, 12 May 2009 13:33:25 +0000 (15:33 +0200)]
bufferlist: fix a comment

15 years agobufferlist: hook up the pad functions
Jonas Holmberg [Tue, 12 May 2009 11:10:55 +0000 (13:10 +0200)]
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

15 years agobufferlist: add docs/build/debug/unittest
Jonas Holmberg [Tue, 12 May 2009 10:08:56 +0000 (12:08 +0200)]
bufferlist: add docs/build/debug/unittest

See #572285

15 years agobufferlist: add bufferlist code
Jonas Holmberg [Tue, 12 May 2009 09:51:37 +0000 (11:51 +0200)]
bufferlist: add bufferlist code

Buffer lists are a means to manage disjoint buffers as one buffer. It's also
possible to put many of those buffers into a list.

The idea is that when support is added to various elements, we will be able to
more efficiently slice and dice buffers, reduce the amount of memcpy and also
reduce data passing overhead.

The implementation is kept simple on purpose, reusing all of the memory
management features we have for miniobjects and buffers.

Access to the bufferlist object is done with an iterator, which allows for
efficient iteration and modification of the list.

See #572285

15 years agogstbuffer: copy new buffer flags when copying metadata.
Edward Hervey [Mon, 11 May 2009 05:49:34 +0000 (07:49 +0200)]
gstbuffer: copy new buffer flags when copying metadata.

15 years agoadapter: optimize taking the headbuffer
Wim Taymans [Mon, 27 Apr 2009 08:13:01 +0000 (10:13 +0200)]
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.