platform/upstream/gstreamer.git
12 years agotests: fix bus leak in GstBin test_state_change_skip test
Tim-Philipp Müller [Wed, 27 Jun 2012 19:52:52 +0000 (20:52 +0100)]
tests: fix bus leak in GstBin test_state_change_skip test

Still not valgrind clean though.

12 years agoparse: escape \ with a \ as well, so that we don't lose the \ when unescaping
Christophe Fergeau [Wed, 27 Jun 2012 18:59:29 +0000 (19:59 +0100)]
parse: escape \ with a \ as well, so that we don't lose the \ when unescaping

If we have a file called Foo\Bar.ogg, there is no way to pass
that filename properly to filesrc in gst_parse_launch(), since
gst_parse_unescape() will just unescape \x to x.

Not cherry-picking this into 0.10 since there are apparently
apps that work around this problem and which would break if
we fixed it there too.

https://bugzilla.gnome.org/show_bug.cgi?id=673319

12 years agoelementfactory: annotate some of the type defines for g-i
Tim-Philipp Müller [Wed, 27 Jun 2012 15:37:54 +0000 (16:37 +0100)]
elementfactory: annotate some of the type defines for g-i

Type is not picked up yet though, and we still need
to annotate values for the 'simple' defines.

https://bugzilla.gnome.org/show_bug.cgi?id=677925

12 years agoclock: annotate GST_CLOCK_TIME_NONE with its value for g-i
Tim-Philipp Müller [Wed, 27 Jun 2012 13:48:55 +0000 (14:48 +0100)]
clock: annotate GST_CLOCK_TIME_NONE with its value for g-i

The value now gets picked up, but it still thinks the type
is a 'gint'.

https://bugzilla.gnome.org/show_bug.cgi?id=678928

12 years agotests: add some datetime serialisation/deserialisation tests
Tim-Philipp Müller [Wed, 27 Jun 2012 12:19:23 +0000 (13:19 +0100)]
tests: add some datetime serialisation/deserialisation tests

https://bugzilla.gnome.org/show_bug.cgi?id=678031

12 years agodatetime: fix compare function
Tim-Philipp Müller [Wed, 27 Jun 2012 12:16:07 +0000 (13:16 +0100)]
datetime: fix compare function

Take into account that not all fields might be valid (though they
are valid in the GDateTime structure). But we should just return
unordered if the set fields don't match. Also, don't check
microseconds when comparing datetimes, since we don't serialise
those by default if they're available. This ensures date times are
still regarded as equal after serialising+deserialising.

12 years agodatetime: add serialisation to and deserialisation from ISO 8601 strings
Oleksij Rempel [Mon, 18 Jun 2012 06:06:49 +0000 (08:06 +0200)]
datetime: add serialisation to and deserialisation from ISO 8601 strings

Some tag parsers and writers use same datetime format based on ISO 8601.
We can reduce some code by creating some general functions for it.

API: gst_date_time_to_iso8601_string()
API: gst_date_time_new_from_iso8601_string()

https://bugzilla.gnome.org/show_bug.cgi?id=678031

12 years agoconfigure: add --disable-tools and --disable-benchmarks options
Lionel Landwerlin [Thu, 7 Jun 2012 10:30:48 +0000 (11:30 +0100)]
configure: add --disable-tools and --disable-benchmarks options

Add option to avoid build binaries. When building for platforms like
android, you might want to not link any "final" binary, mostly because
it requires special link flags or other parts of code that aren't
in the C library.

https://bugzilla.gnome.org/show_bug.cgi?id=677621

12 years agotoc: put toc directly into event/message/query structure
Tim-Philipp Müller [Tue, 26 Jun 2012 19:41:18 +0000 (20:41 +0100)]
toc: put toc directly into event/message/query structure

Now that TOCs are refcounted and have a GType, we can just
stuff a ref of the TOC directly into the various toc
event/message/query structures and get rid of lots of
cracktastic GstStructure <-> GstToc serialisation and
deserialisation code. We lose some TOC sanity checking
in the process, but that should really be done when
it's being created anyway.

12 years agoRevert "bus: skip gst_bus_create_watch as GSource is not introspectable"
Tim-Philipp Müller [Tue, 26 Jun 2012 17:22:33 +0000 (18:22 +0100)]
Revert "bus: skip gst_bus_create_watch as GSource is not introspectable"

This reverts commit 930e36a89bc5c2a0f2e4ab7a73bfa630c1e0336a.

This shouldn't have been pushed, since GSource is now handled
(https://bugzilla.gnome.org/show_bug.cgi?id=657725)

12 years agobus: skip gst_bus_create_watch as GSource is not introspectable
Johan Dahlin [Mon, 29 Aug 2011 16:57:03 +0000 (13:57 -0300)]
bus: skip gst_bus_create_watch as GSource is not introspectable

https://bugzilla.gnome.org/show_bug.cgi?id=657640

12 years agodocs: some more additions to the porting-to-0.11 guide
Tim-Philipp Müller [Tue, 26 Jun 2012 16:35:22 +0000 (17:35 +0100)]
docs: some more additions to the porting-to-0.11 guide

12 years agotools: minor clean-up
Tim-Philipp Müller [Tue, 26 Jun 2012 16:27:31 +0000 (17:27 +0100)]
tools: minor clean-up

Get rid of superfluous argument.

12 years agotools: remove useless g_set_prgname() wrapper
Tim-Philipp Müller [Tue, 26 Jun 2012 16:04:01 +0000 (17:04 +0100)]
tools: remove useless g_set_prgname() wrapper

12 years agotools: point people to right binary when a crash happens
Tim-Philipp Müller [Tue, 26 Jun 2012 15:55:30 +0000 (16:55 +0100)]
tools: point people to right binary when a crash happens

"gst-launch" is the 0.10 wrapper script, using that with
gdb is not going to yield great results.

12 years agoconfigure: bump GLib requirement to now-released stable version
Tim-Philipp Müller [Tue, 26 Jun 2012 15:42:36 +0000 (16:42 +0100)]
configure: bump GLib requirement to now-released stable version

12 years agoinputselector: remove some dead code for old GLib versions
Tim-Philipp Müller [Tue, 26 Jun 2012 15:42:10 +0000 (16:42 +0100)]
inputselector: remove some dead code for old GLib versions

12 years agotoc: add more entry types
Tim-Philipp Müller [Mon, 25 Jun 2012 22:17:32 +0000 (23:17 +0100)]
toc: add more entry types

Make entry types less abstract.

https://bugzilla.gnome.org/show_bug.cgi?id=678742

12 years agoa couple of notes for the 0.11 porting guide
Jan Schmidt [Sun, 17 Jun 2012 02:48:04 +0000 (12:48 +1000)]
a couple of notes for the 0.11 porting guide

12 years agominiobject: add steal_qdata
Wim Taymans [Tue, 26 Jun 2012 07:51:10 +0000 (09:51 +0200)]
miniobject: add steal_qdata

Rework the qdata code a little

12 years agotocsetter: clean up and update API for refcounted TOCs
Tim-Philipp Müller [Mon, 25 Jun 2012 18:52:44 +0000 (19:52 +0100)]
tocsetter: clean up and update API for refcounted TOCs

Let's keep it simple for now:

gst_toc_setter_reset_toc() -> gst_toc_setter_reset()
gst_toc_setter_get_toc_copy() -> removed
gst_toc_setter_get_toc() -> returns a ref now
gst_toc_setter_get_toc_entry_copy() -> removed,
    use TOC functions instead
gst_toc_setter_get_toc_entry() -> removed,
    use TOC functions instead
gst_toc_setter_add_toc_entry() -> removed,
    to avoid problems with (refcount-dependent)
    writability of TOC; use TOC functions instead

12 years agomemory: improve docs
Wim Taymans [Mon, 25 Jun 2012 07:32:41 +0000 (09:32 +0200)]
memory: improve docs

Mention that custom allocator functions can pass whatever they want to the
user_data.

12 years agotagsetter: use G_DEFINE_INTERFACE_* macro
Alexander Saprykin [Fri, 6 Apr 2012 14:00:33 +0000 (18:00 +0400)]
tagsetter: use G_DEFINE_INTERFACE_* macro

https://bugzilla.gnome.org/show_bug.cgi?id=673641

12 years agotocsetter: use G_DEFINE_INTERFACE_* macro
Alexander Saprykin [Fri, 6 Apr 2012 13:59:35 +0000 (17:59 +0400)]
tocsetter: use G_DEFINE_INTERFACE_* macro

https://bugzilla.gnome.org/show_bug.cgi?id=673641

12 years agodocs: update design docs for TOC API changes too
Tim-Philipp Müller [Sun, 24 Jun 2012 23:10:53 +0000 (00:10 +0100)]
docs: update design docs for TOC API changes too

12 years agotocsetter, gst-launch, tests: update for GstToc API changes
Tim-Philipp Müller [Sun, 24 Jun 2012 19:10:34 +0000 (20:10 +0100)]
tocsetter, gst-launch, tests: update for GstToc API changes

12 years agotoc: make GstToc and GstTocEntry mini objects
Tim-Philipp Müller [Sun, 24 Jun 2012 19:08:33 +0000 (20:08 +0100)]
toc: make GstToc and GstTocEntry mini objects

Because we can, and in order to make them refcounted.

12 years agotaglist: fix confusing log message
Tim-Philipp Müller [Sat, 23 Jun 2012 20:42:58 +0000 (21:42 +0100)]
taglist: fix confusing log message

12 years agovalue: fix int64 - int64 range intersection on big endian systems
Tim-Philipp Müller [Sat, 23 Jun 2012 20:35:33 +0000 (21:35 +0100)]
value: fix int64 - int64 range intersection on big endian systems

Works better if we use the v_int64 field of the GValue instead of v_int.

12 years agominiobjects: pass copy, dispose and free function to gst_mini_object_init()
Tim-Philipp Müller [Sat, 23 Jun 2012 18:56:12 +0000 (19:56 +0100)]
miniobjects: pass copy, dispose and free function to gst_mini_object_init()

So mini objects don't have to poke into the GstMiniObject part
of the structure. Saves lines of code, and seems slightly cleaner.
We don't have proper OO hierarchies or methods here after all.

12 years agotaglist: remove some outdated FIXMEs and comments
Tim-Philipp Müller [Sat, 23 Jun 2012 16:05:05 +0000 (17:05 +0100)]
taglist: remove some outdated FIXMEs and comments

12 years agosample: some more g-i annotations
Tim-Philipp Müller [Sat, 23 Jun 2012 16:04:53 +0000 (17:04 +0100)]
sample: some more g-i annotations

12 years agosample: add compare function for GstSample
Tim-Philipp Müller [Sat, 23 Jun 2012 15:59:10 +0000 (16:59 +0100)]
sample: add compare function for GstSample

Should make gst_tag_list_is_equal() work properly with image tags.

https://bugzilla.gnome.org/show_bug.cgi?id=672637

12 years agovalue: fix buffer compare function
Tim-Philipp Müller [Sat, 23 Jun 2012 15:30:03 +0000 (16:30 +0100)]
value: fix buffer compare function

12 years agotests: add unit test for gst_element_make_from_uri()
Tim-Philipp Müller [Sat, 23 Jun 2012 13:41:50 +0000 (14:41 +0100)]
tests: add unit test for gst_element_make_from_uri()

https://bugzilla.gnome.org/show_bug.cgi?id=645467

12 years agoparse: update for gst_element_make_from_uri() change
Tim-Philipp Müller [Sat, 23 Jun 2012 13:41:17 +0000 (14:41 +0100)]
parse: update for gst_element_make_from_uri() change

12 years agouri: add error argument to gst_element_make_from_uri()
Tim-Philipp Müller [Sat, 23 Jun 2012 13:40:17 +0000 (14:40 +0100)]
uri: add error argument to gst_element_make_from_uri()

So callers can differentiate between there not being a
handler for the protocol, and them not accepting the URI
for some reason.

https://bugzilla.gnome.org/show_bug.cgi?id=645467

12 years agomemory: annotate GstMapInfo data as array for g-i
Tim-Philipp Müller [Sat, 23 Jun 2012 11:37:16 +0000 (12:37 +0100)]
memory: annotate GstMapInfo data as array for g-i

12 years agotools: remove pointless get_state() in gst-launch
Tim-Philipp Müller [Wed, 20 Jun 2012 11:53:04 +0000 (12:53 +0100)]
tools: remove pointless get_state() in gst-launch

State changes to NULL state are always sync.

12 years agoinputselector: avoid notify-tags holding lock
Thiago Santos [Thu, 21 Jun 2012 04:28:43 +0000 (01:28 -0300)]
inputselector: avoid notify-tags holding lock

unlock before issuing this notification to prevent
deadlocks when other elements reacts to new tags.

Fixes #678220

12 years agogst-uninstalled: add gst-p-bad gst-libs to the path
Thiago Santos [Mon, 18 Jun 2012 19:54:29 +0000 (16:54 -0300)]
gst-uninstalled: add gst-p-bad gst-libs to the path

Makes videoparsers and camerabins from bad usable from an uninstalled
environment at osx

12 years agoinfo: add destroy notify to gst_debug_add_log_function()
Wim Taymans [Wed, 20 Jun 2012 11:28:08 +0000 (13:28 +0200)]
info: add destroy notify to gst_debug_add_log_function()

12 years agopad: improve introspection annotation
Wim Taymans [Wed, 20 Jun 2012 11:27:33 +0000 (13:27 +0200)]
pad: improve introspection annotation

12 years agobus: add GDestroyNotify to set_sync_handler()
Wim Taymans [Wed, 20 Jun 2012 10:29:35 +0000 (12:29 +0200)]
bus: add GDestroyNotify to set_sync_handler()

12 years agodefs: update
Wim Taymans [Wed, 20 Jun 2012 10:06:11 +0000 (12:06 +0200)]
defs: update

12 years agotask: add separate methods to add enter/leave callback
Wim Taymans [Wed, 20 Jun 2012 09:59:09 +0000 (11:59 +0200)]
task: add separate methods to add enter/leave callback

Remove the structure of callbacks and replace with separate methods to register
each callback. This is much more binding friendly.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=677898

12 years agotask: add GDestroyNotify to _new
Wim Taymans [Wed, 20 Jun 2012 08:31:49 +0000 (10:31 +0200)]
task: add GDestroyNotify to _new

Add a GDestroyNotify to the user_data we pass to gst_task_new()
Change gst_pad_start_task() to also take the notify

12 years agoclock: remove _full version
Wim Taymans [Wed, 20 Jun 2012 07:58:14 +0000 (09:58 +0200)]
clock: remove _full version

Rename gst_clock_id_wait_async_full() to gst_clock_id_wait_async()
and remove the old gst_clock_id_wait_async() version.

12 years agonettimepacket: make boxed
Wim Taymans [Wed, 20 Jun 2012 07:22:40 +0000 (09:22 +0200)]
nettimepacket: make boxed

12 years agonet: fix some argument names in documentation
Evan Nemerson [Wed, 20 Jun 2012 02:55:30 +0000 (19:55 -0700)]
net: fix some argument names in documentation

12 years agocontroller: assorted minor introspection fixes
Evan Nemerson [Wed, 20 Jun 2012 02:55:02 +0000 (19:55 -0700)]
controller: assorted minor introspection fixes

12 years agocheck: add some missing documentation, including annotations
Evan Nemerson [Wed, 20 Jun 2012 02:53:54 +0000 (19:53 -0700)]
check: add some missing documentation, including annotations

12 years agobase: add some missing introspection annotations
Evan Nemerson [Wed, 20 Jun 2012 01:41:04 +0000 (18:41 -0700)]
base: add some missing introspection annotations

12 years agotask pool: set scope of gst_task_pool_push callback to async
Evan Nemerson [Wed, 20 Jun 2012 00:37:59 +0000 (17:37 -0700)]
task pool: set scope of gst_task_pool_push callback to async

12 years agointrospection: add missing return value annotations
Evan Nemerson [Wed, 20 Jun 2012 00:33:45 +0000 (17:33 -0700)]
introspection: add missing return value annotations

12 years agointrospection: rename some "data" arguments to "user_data"
Evan Nemerson [Tue, 19 Jun 2012 23:09:10 +0000 (16:09 -0700)]
introspection: rename some "data" arguments to "user_data"

GObject Introspection will automatically treat "user_data" arguments
as closure data.

12 years agotoc: add some missing element-type annotations
Evan Nemerson [Tue, 19 Jun 2012 23:08:46 +0000 (16:08 -0700)]
toc: add some missing element-type annotations

12 years agobuffer pool: put GstBufferPoolAcquireParams typedef before struct
Evan Nemerson [Tue, 19 Jun 2012 23:06:49 +0000 (16:06 -0700)]
buffer pool: put GstBufferPoolAcquireParams typedef before struct

Works around https://bugzilla.gnome.org/show_bug.cgi?id=581525

12 years agobasesink: preroll and sync on gap events
Wim Taymans [Tue, 19 Jun 2012 14:14:46 +0000 (16:14 +0200)]
basesink: preroll and sync on gap events

12 years agobasesink: reorganize the code a little
Wim Taymans [Tue, 19 Jun 2012 14:08:00 +0000 (16:08 +0200)]
basesink: reorganize the code a little

Move the code to get the sync times together.

12 years agomemory: Fix docs typo
Sebastian Dröge [Tue, 19 Jun 2012 13:30:37 +0000 (14:30 +0100)]
memory: Fix docs typo

12 years agoclock: assert about timestamp overflows
Wim Taymans [Tue, 19 Jun 2012 12:05:21 +0000 (14:05 +0200)]
clock: assert about timestamp overflows

Assert when converting to timeval and timespec about overflows. This can happen
on platforms with 32bits long.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=678181

12 years agodefs: remove gst_pad_set_caps
Wim Taymans [Tue, 19 Jun 2012 08:13:15 +0000 (10:13 +0200)]
defs: remove gst_pad_set_caps

12 years agoinputselector: Only proxy the allocation query for the active pad and send reconfigur...
Sebastian Dröge [Tue, 19 Jun 2012 09:32:10 +0000 (10:32 +0100)]
inputselector: Only proxy the allocation query for the active pad and send reconfigure events to the old/new pad when switching pads

12 years agopad: move gst_pad_set_caps() to compat
Wim Taymans [Mon, 18 Jun 2012 14:14:19 +0000 (16:14 +0200)]
pad: move gst_pad_set_caps() to compat

We want code to explicitly send a caps event instead.

12 years agoutils: fix some docs
Wim Taymans [Mon, 18 Jun 2012 14:13:22 +0000 (16:13 +0200)]
utils: fix some docs

12 years agodocs: small doc fix
Wim Taymans [Mon, 18 Jun 2012 13:52:05 +0000 (15:52 +0200)]
docs: small doc fix

12 years agoclock: fix compiler warning
Sebastian Rasmussen [Mon, 18 Jun 2012 13:28:20 +0000 (15:28 +0200)]
clock: fix compiler warning

Cast to the right value, it might indeed overflow but we want the compiler to
ignore that.

12 years agominiobject: hide qdata array layout
Wim Taymans [Mon, 18 Jun 2012 13:22:26 +0000 (15:22 +0200)]
miniobject: hide qdata array layout

12 years agodocs: clarify qdata wrt to metadata
Wim Taymans [Mon, 18 Jun 2012 13:21:31 +0000 (15:21 +0200)]
docs: clarify qdata wrt to metadata

12 years agodefs: update for new api
Wim Taymans [Mon, 18 Jun 2012 13:21:12 +0000 (15:21 +0200)]
defs: update for new api

12 years agointrospection: assorted introspection and documentation fixes in base
Evan Nemerson [Fri, 15 Jun 2012 23:56:46 +0000 (16:56 -0700)]
introspection: assorted introspection and documentation fixes in base

12 years agoadapter: add missing element-type annotations
Evan Nemerson [Sat, 16 Jun 2012 01:35:05 +0000 (18:35 -0700)]
adapter: add missing element-type annotations

12 years agoatomic queue: register as boxed type
Evan Nemerson [Fri, 15 Jun 2012 23:14:49 +0000 (16:14 -0700)]
atomic queue: register as boxed type

12 years agointrospection: assorted introspection and documentation fixes
Evan Nemerson [Fri, 15 Jun 2012 23:43:30 +0000 (16:43 -0700)]
introspection: assorted introspection and documentation fixes

These changes are to clean up syntax issues such as missing colons,
missing spaces, etc., and minor issues such as argument names in
headers not matching the implementation and/or documentation.

12 years agotoc setter: change GstTocSetterIFace to GstTocSetterInterface
Evan Nemerson [Fri, 15 Jun 2012 21:50:48 +0000 (14:50 -0700)]
toc setter: change GstTocSetterIFace to GstTocSetterInterface

Without this GObject Introspection does not recognize the connection
to GstTocSetter.

12 years agobufferpool: update docs a little
Wim Taymans [Mon, 18 Jun 2012 10:15:57 +0000 (12:15 +0200)]
bufferpool: update docs a little

12 years agobasesink: wait_eos() -> wait()
Wim Taymans [Mon, 18 Jun 2012 09:36:25 +0000 (11:36 +0200)]
basesink: wait_eos() -> wait()

Rename gst_base_sink_wait_eos() to gst_base_sink_wait() to avoid confusion and
introspection problems with the ::wait_eos vmethod. Also this method can be used
to wait for other things than EOS. Update the docs a little.

12 years agobufferpool:check caps argument
Wim Taymans [Mon, 18 Jun 2012 08:13:38 +0000 (10:13 +0200)]
bufferpool:check caps argument

Caps should be NULL or fixed when configured in a bufferpool

12 years agocaps: NULL is not a valid caps anymore
Wim Taymans [Fri, 15 Jun 2012 15:01:37 +0000 (17:01 +0200)]
caps: NULL is not a valid caps anymore

12 years agodocs: review the buffering docs
Wim Taymans [Fri, 15 Jun 2012 13:48:42 +0000 (15:48 +0200)]
docs: review the buffering docs

12 years agoqueue2: fix percent scaling
Wim Taymans [Fri, 15 Jun 2012 13:36:41 +0000 (15:36 +0200)]
queue2: fix percent scaling

Use _scale functions to scale the percent values.
Correctly scale the percent values in the buffering ranges.

12 years agobasesrc: avoid flush when starting
Wim Taymans [Fri, 15 Jun 2012 12:54:48 +0000 (14:54 +0200)]
basesrc: avoid flush when starting

When we are doing the initial seek in startup, avoid doing a flush
(and unlock) because we know that the task is not started yet.

12 years agodefs: update
Wim Taymans [Fri, 15 Jun 2012 10:58:10 +0000 (12:58 +0200)]
defs: update

12 years agodocs: improve API docs
Wim Taymans [Fri, 15 Jun 2012 10:55:20 +0000 (12:55 +0200)]
docs: improve API docs

12 years agoalllocator: no need to store structure size inside the structure
Tim-Philipp Müller [Thu, 14 Jun 2012 23:00:12 +0000 (00:00 +0100)]
alllocator: no need to store structure size inside the structure

12 years agoquery: no need to store the size of the structure inside the structure
Tim-Philipp Müller [Thu, 14 Jun 2012 22:54:22 +0000 (23:54 +0100)]
query: no need to store the size of the structure inside the structure

12 years agoevent: no need to store the size of the structure inside the structure
Tim-Philipp Müller [Thu, 14 Jun 2012 22:52:41 +0000 (23:52 +0100)]
event: no need to store the size of the structure inside the structure

12 years agobufferlist: no need to store the size of the structure inside the structure
Tim-Philipp Müller [Thu, 14 Jun 2012 22:49:10 +0000 (23:49 +0100)]
bufferlist: no need to store the size of the structure inside the structure

12 years agocaps: no need to store the size of the caps structure inside the structure
Tim-Philipp Müller [Thu, 14 Jun 2012 22:45:14 +0000 (23:45 +0100)]
caps: no need to store the size of the caps structure inside the structure

12 years agomessage: no need to store size of the message structure inside the structure
Tim-Philipp Müller [Thu, 14 Jun 2012 22:41:57 +0000 (23:41 +0100)]
message: no need to store size of the message structure inside the structure

12 years agosample: no need to store the size of the sample structure inside the structure
Tim-Philipp Müller [Thu, 14 Jun 2012 22:38:54 +0000 (23:38 +0100)]
sample: no need to store the size of the sample structure inside the structure

12 years agotaglist: no need to store the size of the tag list structure inside the structure
Tim-Philipp Müller [Thu, 14 Jun 2012 22:36:29 +0000 (23:36 +0100)]
taglist: no need to store the size of the tag list structure inside the structure

12 years agominiobject: expand docs a little
Wim Taymans [Fri, 15 Jun 2012 09:24:46 +0000 (11:24 +0200)]
miniobject: expand docs a little

Add blurb about qdata and weak refs.

12 years agominiobject: add qdata
Wim Taymans [Fri, 15 Jun 2012 08:44:24 +0000 (10:44 +0200)]
miniobject: add qdata

Keep track of qdata for miniobjects. Reuse the weak ref array for this because
we can.

12 years agominiobject: fix error in the weak ref handling
Wim Taymans [Fri, 15 Jun 2012 08:56:13 +0000 (10:56 +0200)]
miniobject: fix error in the weak ref handling

When 2 weak refs are added, the array is not resized big enough.
Simplify the weak ref handling code.
Free memory when we remove all weak refs.
Allow installing the same weak ref multiple times, like in gobject.

12 years agominiobject: remove the size field
Wim Taymans [Thu, 14 Jun 2012 15:11:11 +0000 (17:11 +0200)]
miniobject: remove the size field

The size field is used by subclasses to store the total allocated size of the
memory for this miniobject. Because miniobject doesn't really do anything with
this field we can move it to the subclasses.

12 years agomemory: make GstMemory a miniobject
Wim Taymans [Thu, 14 Jun 2012 14:30:12 +0000 (16:30 +0200)]
memory: make GstMemory a miniobject

12 years agotrace: always print miniobject refcount
Wim Taymans [Thu, 14 Jun 2012 14:27:26 +0000 (16:27 +0200)]
trace: always print miniobject refcount

12 years agomemory: fix copy function
Wim Taymans [Thu, 14 Jun 2012 13:40:43 +0000 (15:40 +0200)]
memory: fix copy function

Make the copy function map to ref because we can't safely copy the user_data.