Sebastian Dröge
705d17c8a8
segment: Add padding to the public struct
2012-01-27 18:47:13 +01:00
Tim-Philipp Müller
f1f11098fe
gst: don't ref GType for private enum for which there's no GType any more
2012-01-27 17:45:39 +00:00
Tim-Philipp Müller
75e17f0002
event: add construct and parse API for the new STREAM CONFIG event
...
codec data and stream headers don't belong into caps, since they
are not negotiated. We signal them using the STREAM CONFIG event
instead.
2012-01-27 17:42:07 +00:00
Wim Taymans
1969b94267
trace: remove from public headers
2012-01-27 18:27:16 +01:00
Andoni Morales Alastruey
ded0ea049e
caps: fix documenation typo
2012-01-27 18:14:50 +01:00
Wim Taymans
321ee10bd6
trace: rework alloc tracing
...
Remove trace, we use debug log for that
Make alloc trace simpler, removing some methods.
Activate alloc trace with a GST_TRACE=3 environment variable.
Dump leaked objects atexit.
Provide an offset in the object where the GType can be found so that more
verbose info can be given for objects.
Remove -T option from gst-launch because tracing is now triggered with the
environment variable.
2012-01-27 17:54:43 +01:00
Wim Taymans
166f6e1cc5
trace: make alloc trace work for miniobject again
2012-01-27 15:33:48 +01:00
Sebastian Dröge
753a1125dd
Merge branch 'master' into 0.11
...
Conflicts:
libs/gst/base/gstcollectpads2.c
libs/gst/base/gstcollectpads2.h
2012-01-27 15:09:35 +01:00
Wim Taymans
21455d35b1
tests: fix some more leaks
2012-01-27 12:52:01 +01:00
Vincent Penquerc'h
68a091303f
gstplugin: add a few consts to read only data
2012-01-27 11:32:12 +00:00
Wim Taymans
2ed36d91a6
memory: avoid memory leak
...
Unref the old memory in make_mapped.
Add some debug info
2012-01-27 11:41:33 +01:00
Sebastian Dröge
ad28f9fb68
event: Mark the new GAP event as non-sticky
2012-01-27 10:56:52 +01:00
Sebastian Dröge
f5545e3323
event rebase
2012-01-27 10:42:09 +01:00
Sebastian Dröge
9318934cf0
event: Add constructor and docs for the new STREAM_START event
2012-01-27 10:30:43 +01:00
Wim Taymans
2a8c98fe23
pad: add user data to chain functions
2012-01-26 19:28:46 +01:00
Vincent Penquerc'h
9152c01fcf
taglist: restore date/time type to GstDateTime
...
The change to GDateTime was apparently accidental, and
breaks plugins trying to feed a GstDateTime to the taglist APi.
2012-01-26 18:23:46 +00:00
Peteris Krisjanis
42a6e487c8
gst: gst_parse_launch now returns a floating reference
2012-01-26 18:55:30 +01:00
Edward Hervey
479b7ff5f1
gststructure: Set "transfer none" to return values that shouldn't be freed
2012-01-26 18:54:50 +01:00
David Schleef
9048b4dc2a
element: call ->release_pad() to clean up pad
...
https://bugzilla.gnome.org/show_bug.cgi?id=636011
https://bugzilla.gnome.org/show_bug.cgi?id=402562
2012-01-26 15:44:10 +00:00
Wim Taymans
2d4edcf83f
event: add some more events
...
Add some more new events that we want to implement later.
2012-01-26 16:32:46 +01:00
Andoni Morales Alastruey
ade5b3b917
gstmemory: add missing parameter
2012-01-26 15:17:04 +01:00
Sebastian Dröge
a7b96d0503
caps: Fix compiler warning
2012-01-26 14:57:14 +01:00
Sebastian Dröge
28f5b86637
caps: Use correct size for caps allocation
2012-01-26 14:55:30 +01:00
Sebastian Dröge
b4066a6c95
caps: Make GstCaps public struct more opaque by moving the private pointer into the implementation
2012-01-26 14:45:30 +01:00
Sebastian Dröge
5d1d7d95b2
caps: Store a pointer to GstCaps in GstStaticCaps
...
...instead of using hackish subclass of GstCaps, which also
had some thread-safety problems.
2012-01-26 14:37:02 +01:00
Wim Taymans
dc4d96d54c
event: remove the sticky event index
...
We don't use the sticky event index anymore, ordering of the events are how they
were sent initially.
Add some more padding between the event numbers so that we can insert new events
later.
2012-01-26 13:24:44 +01:00
Tim-Philipp Müller
78ccf77fa3
bufferpool: use GstValueArray instead of GValueArray for storing options in the config
...
Since GValueArray is deprecated. It's all only internal anywhere here,
but if we use GstValueArray the option strings get serialized nicely
in the debug logs at least.
2012-01-26 10:44:11 +00:00
Wim Taymans
3844f80266
pad: add probe id to the info
2012-01-26 11:04:01 +01:00
Jason DeRose
b8f5d7a39f
gst_pad_template_new() now returns a floating reference
2012-01-25 18:51:44 +01:00
Peteris Krisjanis
a8e9ed82d9
gst_pipeline_new now returns a floating reference.
2012-01-25 18:51:42 +01:00
Peteris Krisjanis
f09b23ee07
gst: gst_parse_bin_from_description returns a new reference
2012-01-25 16:46:40 +01:00
Tim-Philipp Müller
1d3d1a6e03
query: use GArray for internal arrays instead of the now-deprecated GValueArray
2012-01-25 15:15:57 +00:00
Peteris Krisjanis
02f721f7ea
gst: Changed introspection transfer flag to (transfer floating)
...
for gst_pad_new, gst_ghost_pad_new and gst_bin_new constuctors. Fixes
segfaults due of transfer full and floating ref problem.
2012-01-25 15:05:21 +01:00
Wim Taymans
9c9848e952
memory: add flags to the mapinfo
2012-01-25 11:54:23 +01:00
Wim Taymans
203dd6fbe1
memory: make guint8 * for easy usage
2012-01-25 11:54:23 +01:00
Wim Taymans
93074b899c
memory: add method to create mapped memory
...
Add a method to create a GstMemory with the desired mapping. Makes a copy of the
memory if it is currently in use.
2012-01-25 11:54:23 +01:00
Wim Taymans
a521252845
Add new GstMapInfo
...
Use a structure to hold info about the mapping. The application then keeps track
of this state and we can use it to unmap the memory again later.
2012-01-25 11:54:23 +01:00
Edward Hervey
ea7c1225c1
controlbindings: name is not a const
...
It gets modified during the life of the object. Fixes build.
2012-01-25 11:50:49 +01:00
Stefan Sauer
660d9c071a
controller: cleanup the control-binding construction
...
This is now bindings firendly as _new is just a classic c convenience and all
the work is done in a constructor. As a side effect _new never fails.
Fix the tests.
2012-01-24 21:57:44 +01:00
Vincent Penquerc'h
fc1fab8a15
gstvalue: handle NULL dest in bitmask/bitmask intersection
2012-01-24 14:40:33 +00:00
Vincent Penquerc'h
39533f4364
gstvalue: add stepped ranges
...
int and int64 ranges can now have an optional step (defaulting to 1).
Members of the range are those values within the min and max bounds
which are a multiple of this step.
https://bugzilla.gnome.org/show_bug.cgi?id=665294
2012-01-24 12:11:44 +00:00
Vincent Penquerc'h
7319b52a2e
gstutils: add a 64 bit version of GCD calculation
...
https://bugzilla.gnome.org/show_bug.cgi?id=665294
2012-01-24 12:11:44 +00:00
Vincent Penquerc'h
b6abb9794c
gstvalue: enforce identical basic types in lists, arrays
...
https://bugzilla.gnome.org/show_bug.cgi?id=322587
2012-01-24 12:11:44 +00:00
Stefan Sauer
4453c2cebe
object: register all properties in one go
2012-01-23 11:03:43 +01:00
Stefan Sauer
b23977cb93
controller: allow different controlbindings
...
Make controlbinding an abstract baseclass. Move implementation to control-
binding-direct and add a control-binding-argb. Add an example.
2012-01-23 11:03:43 +01:00
Tim-Philipp Müller
2c8c44976f
Replace deprecated GStaticMutex with GMutex
...
https://bugzilla.gnome.org/show_bug.cgi?id=662207
2012-01-22 22:44:59 +00:00
Tim-Philipp Müller
1654b7f1d7
Use GLib's type for GError instead of our own
...
We introduced our own when GLib didn't want to add a GType
for GError. But now that there is one, we can use GLib's
unconditionally and remove our version.
2012-01-22 15:16:14 +00:00
Tim-Philipp Müller
13d91d1f6c
Use recent GLib API unconditionally now that we depend on the latest GLib
2012-01-22 01:25:22 +00:00
Tim-Philipp Müller
612abd89dd
trace: don't use deprecated GStaticMutex API in (still) public header
2012-01-22 00:42:34 +00:00
Stefan Sauer
dd9f0481ea
controller: improve control binding handling
...
Change _set_control_binding to _add_control_binding and take ownership. Add a
_remove_control_binding function.
2012-01-20 14:42:31 +01:00
Stefan Sauer
c227d51fa9
controller: remove convenience api for control sources
...
This is needed to support multiple kinds of control-bindings.
2012-01-20 11:31:23 +01:00
Wim Taymans
a1d7bd02e4
memory improvements
...
Make the memory object simply manage the data pointer and the maxsize and move
the offset and size handling to common functionality.
Use the READONLY flag to set a readonly lock.
Remove the data and size fields from the unmap method. We need an explicit
resize operation instead of using the unmap function.
Make internal helper lock and unlock functions.
Update unit test and users of the old API.
2012-01-19 12:51:41 +01:00
Tim-Philipp Müller
e349e57154
docs: fix typo in bus docs
2012-01-19 11:43:53 +00:00
Wim Taymans
252327f87a
Update for new gthread API
2012-01-19 09:27:04 +01:00
Sebastian Dröge
0d2adf5a18
pad: Don't forward the allocation query by default
...
This has to be handled explicitely by elements to
make sure that they support all the metas passed
in the allocation query.
Metas have to supported explicitely, otherwise the
query will fail. All elements in a chain need to
support a specific meta to allow its usage.
2012-01-18 11:39:29 +01:00
Tim-Philipp Müller
10d901291e
gst: suppress some more deprecated thread api until we fix it up
...
Which should be soon, since we already depend on an unstable glib for -base.
2012-01-18 01:31:56 +00:00
Wim Taymans
c96d5a330c
memory: make writability check into a method
...
Use a method to check for writability instead of a macro so that we can change
the implementation more easily.
2012-01-16 15:57:35 +01:00
Wim Taymans
0ca5115722
buffer: improve docs
2012-01-16 12:24:20 +01:00
Tim-Philipp Müller
66d19b65fb
Merge remote-tracking branch 'origin/master' into 0.11
...
Conflicts:
tools/gst-inspect.c
2012-01-13 00:22:03 +00:00
Tim-Philipp Müller
c721d53773
Remove GST_TYPE_DATE, our own GDate type
...
Which we had to add because GLib didn't have it
back in the day. Port everything to plain old
G_TYPE_DATE, which is also a boxed type. Ideally
we'd just use GDateTime for everything, but it
doesn't support not setting some of the fields
unfortuntely (which would be very useful for
tag handling in general, if we could express
2012-01 for example).
https://bugzilla.gnome.org/show_bug.cgi?id=666351
2012-01-12 20:50:53 +00:00
Vincent Penquerc'h
98c99630ad
gststructure: clarify _get docs about the returned reference
...
https://bugzilla.gnome.org/show_bug.cgi?id=667689
2012-01-11 12:23:25 +00:00
Sebastian Dröge
148bf27ce3
Merge branch 'master' into 0.11
2012-01-10 13:00:07 +01:00
Christian Fredrik Kalager Schaller
2fb5f4a9ef
Also add headerfile
2012-01-09 15:59:42 +00:00
Christian Fredrik Kalager Schaller
9fd4970089
Fix dotfile API to be exported since macros can't be GI bound
2012-01-09 15:59:42 +00:00
Matej Knopp
9092fb87f0
Fix printf format build warnings
2012-01-09 13:15:34 +00:00
Edward Hervey
77506a82b0
gstvalue: Allow NULL dest when subtracting bitmask
...
Happens when checking for subsets of caps
2012-01-06 15:01:24 +01:00
Wim Taymans
ad9450e1c0
buffer: ensure writable memory in memset
2012-01-06 13:32:55 +01:00
Wim Taymans
80f4716a61
memory: check semantics of nested mappings
...
Count how many mappings are currently active and also with what access pattern.
Update the design doc with restrictions on the access patterns for nested
mappings.
Check if nested mappings obey the access mode restrictions of the design doc.
Add various unit tests to check the desired behaviour.
2012-01-06 13:10:18 +01:00
Wim Taymans
220b324d24
docs: improve memory docs
2012-01-06 10:39:46 +01:00
Wim Taymans
960c580ae2
memory: handle -1 size in unmap
...
handle -1 in unmap correctly when the offset is modified.
2012-01-06 07:02:36 +01:00
Wim Taymans
e4a58ec71e
memory: improve semantics of unmap
...
Make an unmap call with a different data pointer than the map call update the
offset field. This allows for both offset and size adjustements in the unmap
call.
2012-01-06 06:43:08 +01:00
Wim Taymans
d483ff2db5
memory: add more checks
...
Add check for mapping and resizing
2012-01-05 18:15:20 +01:00
Wim Taymans
6e0024e76e
memory: take offset into account
...
Take the offset into account whem mapping and unmapping the buffer.
2012-01-05 17:28:28 +01:00
Wim Taymans
8658b2fd68
tests: add unit test for GstMemory
...
Add a GstMemory unit test
Add some more asserts in GstMemory to catch invalid cases.
2012-01-05 13:11:05 +01:00
Sebastian Dröge
33f53d46ab
structure: Add "bitmask" as alias for (GstBitmask) when (de-)serializing values
2012-01-05 10:24:14 +01:00
Sebastian Dröge
4294b88e35
value: Add 64-bit bitmask type
2012-01-05 10:24:14 +01:00
Tim-Philipp Müller
1aec7a3d72
gst: include locale.h before any other i18n headers
...
This is also how we do it in -base.
https://bugzilla.gnome.org/show_bug.cgi?id=667290
2012-01-05 00:32:42 +00:00
Idar Tollefsen
c8c961ac81
gstconfig.h: adds and uses SunPro visibility attribute for proper function exports
...
Define GST_EXPORT for SunPro.
https://bugzilla.gnome.org/show_bug.cgi?id=667289
2012-01-05 00:08:19 +00:00
Idar Tollefsen
f0e121c197
poll: include correct poll.h based on autoconf test
...
https://bugzilla.gnome.org/show_bug.cgi?id=667286
2012-01-04 23:47:46 +00:00
Wim Taymans
f9e7dad47a
buffer: only reserve 6 extra flags
...
Only reserve 6 extra flags instead of 10 so that more media specific flags
are available.
2012-01-04 10:04:11 +01:00
Wim Taymans
bc1974e962
GST_FLOW_UNEXPECTED -> GST_FLOW_EOS
2012-01-03 15:25:31 +01:00
Wim Taymans
e0c610f635
compat: restore UNEXPECTED
2012-01-03 15:05:47 +01:00
Wim Taymans
6ac2371910
docs: fix some docs
2012-01-03 15:03:38 +01:00
Wim Taymans
9c312fce48
taglist: avoid exposing the lists in tags
2012-01-03 14:43:05 +01:00
Wim Taymans
713696d0c0
taglist: add missing functions
...
Add missing and essential functions now that we can't directly use GstStructure
methods on the taglist anymore.
2012-01-03 13:42:12 +01:00
Wim Taymans
07952da04d
value: add macro to check if a gvalue holds a sample
2012-01-03 10:42:31 +01:00
Tim-Philipp Müller
8ff3102116
registry: get rid of gst_default_registry_*() convenience macros
...
They're not really worth it: hardly save any typing, and aren't
great for bindings or gobject-introspection.
2012-01-02 02:32:49 +00:00
Tim-Philipp Müller
ed80a5cd4b
registry: rename gst_registry_get_default() to gst_registry_get()
...
It's not really a default if there is only one that can't be changed.
Should we return a ref like e.g. g_volume_monitor_get() does?
2012-01-02 02:22:51 +00:00
Tim-Philipp Müller
2836cbee94
Merge remote-tracking branch 'origin/master' into 0.11
...
Conflicts:
gst/gsttaglist.c
plugins/elements/gstoutputselector.c
2012-01-02 02:21:40 +00:00
Tim-Philipp Müller
cb23beda4f
tags: add GST_TAG_LANGUAGE_NAME
...
API: GST_TAG_LANGUAGE_NAME
2012-01-02 00:17:17 +00:00
Stefan Sauer
62a0d9dc39
controller: support control mapping for enums
...
Add a mapping for enum types (supporting sparse enums). Add a test.
2012-01-01 20:55:20 +01:00
Stefan Sauer
9dea3e37b1
controller: add more debug logging
2012-01-01 16:08:01 +01:00
Stefan Sauer
545c6c19a3
controller: remove obsolete FIXME comment
2011-12-31 15:26:26 +01:00
Stefan Sauer
fcef8d8046
control-sources: turn into GstObjects
...
This is a preparation for chaining them.
2011-12-31 09:57:49 +01:00
Tim-Philipp Müller
7f1103544d
registry: remove padding and signal vfuncs
...
And fix signal GTypes and marshaller. No one will ever
need to subclass our registry, so just remove the padding
and the signal vfuncs.
2011-12-30 19:37:31 +00:00
Tim-Philipp Müller
3e1c2f7f05
element: add LARGE padding to class structure
...
Four slots for expansion is not a lot.
2011-12-30 18:32:58 +00:00
Tim-Philipp Müller
be04f3945c
index: remove GstIndex and GstIndexFactory for now
...
There are many good use cases for GstIndex and we want
to add it back again in some form, but possibly not with
the current API, which is very powerful (maybe too powerful),
but also a bit confusing. At the very least we'd need to
make the API bindings-friendly.
2011-12-30 18:32:57 +00:00
Stefan Sauer
7d6e165007
gst: unref the two cotnroller types in _deinit()
2011-12-30 17:57:41 +01:00
Tim-Philipp Müller
8f7df5abac
math-compat: move static variable for NAN into #ifndef NAN block
...
And use G_GNUC_UNUSED instead of __attribute_used__
2011-12-30 12:59:46 +00:00
Stefan Sauer
eba636cc83
controller: use NAN instead of FP_NAN (which is the class)
...
Also add a fallback define to math-compat.h.
Fixes #666887
2011-12-30 13:33:48 +01:00
Edward Hervey
e136cc334f
Merge remote-tracking branch 'origin/master' into 0.11
2011-12-29 16:49:39 +01:00
Wim Taymans
aca4fabfad
gst: deinit meta flags too
2011-12-28 14:51:50 +01:00
Edward Hervey
a51c408161
gst: Initialize new GstMetaFlags in init_post()
2011-12-28 12:25:59 +01:00
Edward Hervey
2f82c74e68
gstquery: Small doc fixups
2011-12-28 12:02:55 +01:00
Matej Knopp
efdd0a2a82
win32: fix exported variables for VS 2010
...
https://bugzilla.gnome.org/show_bug.cgi?id=666219
2011-12-27 23:26:07 +00:00
Tim-Philipp Müller
95bd31443b
registry: move private bits into private struct
2011-12-26 18:41:13 +00:00
Tim-Philipp Müller
ee7f9f4228
value: micro-optimisation: avoid some unnecessary g_value_unset()
...
We know there's nothing to do here and can save us the function
calls and GValueTable lookups.
2011-12-26 11:27:07 +00:00
Stefan Sauer
39d6b7462f
controller: move GValue handling from control-sources to -binding
...
ControlSources are now gdouble based. A control source is mapped to a
particullar GObject property using a ControlBinding.
2011-12-25 20:48:14 +01:00
Stefan Sauer
a80401b22c
controller: move GstControlledProperty into a separate class
...
Add a GstControlBinding class. This is a preparation for making the
controlsources generate double valued control curves and do the gparamspec
mapping in the control binding. Now the API in GstObject is again mostly
for convenience.
2011-12-25 18:50:45 +01:00
Tim-Philipp Müller
f6a4af20b2
Merge remote-tracking branch 'origin/master' into 0.11
...
Conflicts:
libs/gst/base/gstbasetransform.c
libs/gst/controller/gstinterpolationcontrolsource.c
libs/gst/controller/gstlfocontrolsource.c
plugins/elements/gstfilesrc.c
Dit not merge controller or basetransform changes.
2011-12-25 11:58:12 +00:00
Wim Taymans
5125437606
bufferpool: cleanup metadata in reset_buffer
...
Use the reset_buffer vmethod to remove the unpooled metadata from the buffer.
2011-12-23 15:37:45 +01:00
Wim Taymans
8b202df55d
bufferpool: handle metadata in the pool
...
Mark all metadata on the allocated buffers with a POOLED flag. When a buffer
returns to the pool, remove all metadata that did not have the POOLED flag. This
makes sure that we never leave unknown metadata to the buffers in the pool.
2011-12-22 16:02:05 +01:00
Wim Taymans
87ada5664a
buffer: add foreach function for the metadata
2011-12-22 16:02:05 +01:00
Wim Taymans
974c708041
bufferlist: small doc fix
2011-12-22 16:02:05 +01:00
Wim Taymans
4bc7ff8e3e
meta: add metadata flags
...
Add metadata flags so that we can set extra properties of the metadata
2011-12-22 16:02:05 +01:00
Mark Nauwelaerts
f2d76b7e7b
pipeline: only have a top-level pipeline do pipeline management
...
Fixes #665390 .
2011-12-22 12:31:36 +01:00
Wim Taymans
0a8dd0a4e7
caps: rename variable for consistency
...
Rename the variable for GST_CAPS_NONE to _gst_caps_none for consistency and to
hie the fact that NONE caps are also accidentally empty caps.
2011-12-21 11:10:04 +01:00
Wim Taymans
8ff059ba59
caps: add ANY and EMPTY singletons
...
Add a singleton for ANY and EMPTY caps and make the GST_CAPS_ANY and
GST_CAPS_NONE point to them. This makes the API more consistent now
that the macro does not magically create a ref. It also solves some leaks in
places where the macro was used to register a padtemplate.
2011-12-20 13:24:06 +01:00
Wim Taymans
04e0912094
remove const in gst_type_find_register()
...
Remove the const from the GstCaps in gst_type_find_register() because the
function takes a ref to the caps.
2011-12-20 13:24:06 +01:00
Stefan Sauer
a630743d43
controller: remove unused parent_class varriable from controlsource
2011-12-20 11:38:19 +01:00
Stefan Sauer
503b739b23
controller: cleanup interpolation modes
...
Remove deprecated/unimplemented modes. Turn interpolation mode into a gobject
property. Update docs and examples.
2011-12-19 23:36:26 +01:00
Stefan Sauer
2c7a8b924a
controlsources: refactor interpolation control source
...
Move most of the code to a GstTimedValueControlSource. Split out the trigger
'interpolation mode' to a new control source class. Move tests and examples to
new api. Update docs.
Fixes #610338
2011-12-19 22:52:30 +01:00
Wim Taymans
079a86b78b
memory: make subclasses add other flags
...
Add GST_MAP_FLAG_LAST so that implementations can add additional flags when
mapping memory.
2011-12-19 17:00:18 +01:00
Tim-Philipp Müller
33a566bcc5
pad: allow NULL as filter caps argument with query_caps()
...
https://bugzilla.gnome.org/show_bug.cgi?id=666154
2011-12-14 12:13:36 +00:00
Tim-Philipp Müller
a81abdeee5
elementfactory: use new 'transfer floating' annotation for gst_element_factory_make()
...
Requires gobject-introspection 1.31.1 (older versions will
error out with that).
https://bugzilla.gnome.org/show_bug.cgi?id=664099
2011-12-12 12:11:40 +00:00
Tim-Philipp Müller
d83d9d35ee
Merge remote-tracking branch 'origin/master' into 0.11
2011-12-12 12:00:16 +00:00
Sebastian Dröge
36f999ab64
glib-compat: Add license boilerplate for LGPL
2011-12-12 11:55:52 +01:00
Wim Taymans
651e433427
pad: don't forward on NULL pads
...
The iterator can return NULL in some cases, avoid pushing on those
NULL pads.
2011-12-10 11:07:02 +01:00
Stefan Sauer
f2b5b79eeb
preset: allow applications to specify an extra preset dir
...
An extra application preset dir help to organize presets created for special
purposes. Fixes #660760
API: gst_preset_set_app_dir(), gst_preset_get_app_dir()
2011-12-09 16:15:27 +01:00
Tim-Philipp Müller
c33b50e00f
indexfactory: fix memory leak
...
Introduced by commit bd302bb6
pluginfeature: avoid duplicating feature->name
https://bugzilla.gnome.org/show_bug.cgi?id=459466
https://bugzilla.gnome.org/show_bug.cgi?id=665703
2011-12-06 23:54:59 +00:00
Wim Taymans
629a8d03ce
pad: put new event probe type next to other event types
2011-12-06 18:18:26 +01:00
Matej Knopp
8e6b5f79bd
Add GST_PAD_PROBE_TYPE_HANDLE_FLUSH
2011-12-06 18:18:26 +01:00
Stefan Sauer
eb1259b983
controller: fix gpointer vs. gpointer* mess up
2011-12-06 14:40:35 +01:00
Wim Taymans
c0e3974aa7
pad: remove GST_FLOW_RESEND
...
It is unused and undefined.
2011-12-06 14:24:15 +01:00
Stefan Sauer
4aafc381b2
controller: use _OBJECT logging variants more
2011-12-06 08:48:57 +01:00
Stefan Sauer
4b29d4f29a
controller: remove GstValueArray
...
Instead pass the values as arguments. This simplifies that code and helps
bindings.
2011-12-06 08:35:57 +01:00
Stefan Sauer
4783251b2e
controller: remove gst_object_get_value_arrays
...
One can easilly loop over the controlled properties manually. This is step 1 in
removing GstValueArray.
2011-12-06 08:35:10 +01:00
Matej Knopp
0e935321af
correct return value in gst_push_sticky
2011-12-05 17:11:07 +01:00
Wim Taymans
c2efd026db
make some macros into inline functions
2011-12-05 11:07:24 +01:00
Wim Taymans
be0e58a637
make some more macros as inline functions
...
Make some macros as inline functions for added type checking.
USe new gst_caps_take() in typefind
2011-12-05 10:24:34 +01:00
Tim-Philipp Müller
a1daf846f3
Merge remote-tracking branch 'origin/master' into 0.11
...
Conflicts:
gst/gstobject.h
libs/gst/check/gstcheck.h
libs/gst/controller/gstcontroller.c
plugins/elements/gstidentity.c
tools/gst-xmlinspect.c
2011-12-04 15:38:09 +00:00
Tim-Philipp Müller
2666450864
Suppress deprecation warnings in selected files, for g_static_rec_mutex_* mostly
...
GStaticRecMutex is part of our API/ABI, not much we can do here in 0.10.
2011-12-04 14:38:26 +00:00
Tim-Philipp Müller
5889260d5a
Work around deprecated thread API in glib master
...
Add private replacements for deprecated functions such as
g_mutex_new(), g_mutex_free(), g_cond_new() etc., mostly
to avoid the deprecation warnings. We can't change most of
these in 0.10 because they're part of our API and ABI.
2011-12-04 13:35:38 +00:00
Edward Hervey
b5792eea46
gstquery: Fix unitialized variable
2011-12-04 11:42:39 +01:00
Edward Hervey
bf19148acb
gstsegment: Initialize with proper type
2011-12-04 11:32:57 +01:00
Tim-Philipp Müller
fef18639db
g_thread_init() is deprecated in glib master
...
It's not needed any longer.
2011-12-03 17:40:53 +00:00
Tim-Philipp Müller
ff96aeee84
tagsetter: update for thread API deprecations in glib master
2011-12-03 16:02:36 +00:00
Tim-Philipp Müller
4b18f0a5c3
taglist: update for thread API deprecations in glib master
2011-12-03 15:36:58 +00:00
Tim-Philipp Müller
ad0a465f93
taglist: remove gst_tag_list_get_{char,uchar}
...
Those are unused and should never be used anywhere anyway
really.
2011-12-03 15:18:21 +00:00
Tim-Philipp Müller
ca179625f8
g_thread_create() is deprecated in GLib master, use g_thread_try_new() instead
2011-12-03 13:58:51 +00:00
Tim-Philipp Müller
18291a6b40
Merge remote-tracking branch 'origin/master' into 0.11
...
Conflicts:
gst/gstbus.c
gst/gstevent.c
libs/gst/base/gstbasetransform.c
2011-12-01 23:35:26 +00:00
Wim Taymans
f95e77afc6
taglist: make some tags of type GstSample
...
Make the image and attachment tags of type GstSample so that we can include
extra caps and info along with the buffer data.
2011-12-01 18:50:32 +01:00
Wim Taymans
5477399881
sample: remove const
...
The writability of the structure is ensured by the refcount of the parent
miniobject and we're fine if the parent is writable.
2011-12-01 18:49:34 +01:00
Wim Taymans
facf937276
sample: add new sample miniobject
...
Add a new simple miniobject that is a combination of a GstBuffer, GstCaps,
GstSegment and other arbitrary info organized in a GstStructure. This object can
be used to exchange samples between an element and the application or for
storing album art in tags etc.
2011-12-01 16:37:46 +01:00
Stefan Sauer
e34d796e41
bus: use GST_MESSAGE_SOURCE_NAME() which also takes care of src=NULL.
2011-12-01 16:25:07 +01:00
Wim Taymans
dc23684b12
buffer: add copy flag for meta
...
Add a flag to control if the meta should be copied or not instead of always
copying.
2011-12-01 15:34:06 +01:00
Tim-Philipp Müller
4b57054ae2
info: move FIXME log level after WARNING
...
So it's now ERROR < WARNING < FIXME < INFO and *:5 becomes *:6.
2011-11-30 12:46:10 +00:00
Tim-Philipp Müller
c9bd4e4e96
event: warn and fail instead of creating newsegment events in GST_FORMAT_UNDEFINED
2011-11-30 00:24:32 +00:00
Wim Taymans
09514f251e
bin: keep the element flags up-to-date
...
Keep the require/provide_clock flags up to date.
2011-11-29 15:53:01 +01:00
Wim Taymans
1754ee91ad
element: add indexable flag
...
Remove the is_indexable method check and use an element flag to check if the
element can use an index.
2011-11-28 18:13:27 +01:00
Wim Taymans
40616aeb63
element: use flags for require/provide clock
...
Remove the _require/_provide_clock() methods and use element flags to mark
elements instead of looking at the implementation of the vmethod.
2011-11-28 17:22:44 +01:00
Wim Taymans
d65773b5fa
element: clean up element flags
...
Clean up the element flags
2011-11-28 16:54:55 +01:00
Wim Taymans
06b08e9877
event: add sticky custom quark
2011-11-28 15:35:21 +01:00
Wim Taymans
5a4957eef6
caps: _CAPS_FLAGS_ -> CAPS_FLAG_
2011-11-28 14:24:16 +01:00
Vincent Penquerc'h
c0ba7985bd
gstelement: add gst_element_class_add_pad_template_from_static
...
This function helps ensure the pad template is unreffed
without having to complicate the calling code.
https://bugzilla.gnome.org/show_bug.cgi?id=662664
2011-11-28 13:09:07 +00:00
Wim Taymans
da74724fd5
pad: Handle sticky event errors
...
Use GstFlowReturn to internally pass events between pads.
When we sticky events cause an error, translate this error into a GstFlowReturn.
Caps events will, for example, generate a NOT_NEGOTIATED return when the event
function returns an error.
This allows us then to refuse sending buffers if one of the sticky events is
refused and generate a correct error return value.
2011-11-28 14:07:24 +01:00
Edward Hervey
4839131502
gstmeta: Some more docs
2011-11-28 11:15:27 +01:00
Wim Taymans
9cbb135954
event: add custom downstream sticky event
2011-11-28 10:55:28 +01:00
Matej Knopp
62dce62e00
caps: fix compilation warning
...
GST_STATIC_CAPS is missing initializer for GstMiniObject's n_weak_refs and
weak_refs resulting in compilation warning (llvm-gcc -Wall)
https://bugzilla.gnome.org/show_bug.cgi?id=664927
2011-11-27 22:34:54 +00:00
Stefan Sauer
52e3861e91
warnings: avoid set-but-unused warnings with load-save disabled
2011-11-27 20:39:42 +01:00
Tim-Philipp Müller
7eb796d447
uri: fix wrong G_GNUC_MALLOC
...
_get_protocols() points to const memory in 0.10
despite the non-const return value.
2011-11-26 19:45:48 +00:00
Tim-Philipp Müller
2d7f9cfe92
Merge remote-tracking branch 'origin/master' into 0.11
...
Conflicts:
gst/gstbuffer.h
gst/gstbufferlist.h
gst/gstcaps.h
gst/gstdatetime.h
gst/gstelementfactory.h
gst/gstevent.h
gst/gstghostpad.h
gst/gstindexfactory.h
gst/gstiterator.h
gst/gstmessage.h
gst/gstminiobject.h
gst/gstpipeline.h
gst/gstquery.h
gst/gstsegment.h
gst/gststructure.h
gst/gsttaglist.h
gst/gsturi.h
gst/gstvalue.h
libs/gst/base/gstbitreader.h
libs/gst/base/gstbytereader.h
libs/gst/base/gstbytewriter.h
Note: can't use G_GNUC_MALLOC with GstCaps return
values in 0.11 because of the EMPTY+ANY singletons.
2011-11-26 19:44:23 +00:00
Tim-Philipp Müller
c8380cb0d2
gst: sprinkle some G_GNUC_MALLOC
...
Maybe gcc can do something clever with that, or at least
warn us if we don't save the return value somewhere.
2011-11-26 18:57:44 +00:00
Tim-Philipp Müller
33078aaeb7
buffer: add gst_buffer_{set,get}_qdata()
...
Allows people/us to attach arbitrary metadata to buffers.
https://bugzilla.gnome.org/show_bug.cgi?id=664720
API: gst_buffer_set_qdata()
API: get_buffer_get_qdata()
2011-11-25 17:42:07 +00:00
Wim Taymans
933e8b230c
pad: fix blocking probe emission
...
If we are dealing with a blocking probe, only then check if one the
blocking flags of the hook matches.
Add some more debug.
Make the pad unit test less racy.
2011-11-25 07:11:24 +01:00
Wim Taymans
fef887639c
utils: fix debug of query result
2011-11-25 05:54:09 +01:00
René Stadler
4865607011
query: fix typo in doc
...
Causes a warning from the introspection scanner.
2011-11-24 22:53:09 +01:00
Sebastian Dröge
0280a3c29f
pad: Remove g_warning() if pad accepted caps that are not a subset of the pad caps
...
This check is correct but unfortunately it's impossible to implement
in a threadsafe way because the caps could have changed in the meantime.
Fixes bug #659606 .
2011-11-24 11:15:29 +01:00
Wim Taymans
407f45dc7f
event: add STICKY_MULTY events
...
Add a new event flag for sticky events so that multiple events of that type can
be stored on a pad at the same time. Change the _get_sticky_event() function to
loop over the multiple events of a type.
Change the foreach function to make it possible to removed and modify the sticky
events on a pad.
Use an variable size array now to store the events. This could later be
optimized some more.
2011-11-23 18:05:00 +01:00
Wim Taymans
b7e4eeb0b0
bus: handle NULL message src in debug
2011-11-23 18:05:00 +01:00
Wim Taymans
03cdd32b33
bufferlist: avoid reading past the array
...
When the foreach function told us to remove the buffer from the list, decrease
the length of the array or else we might read past the last item in the array.
2011-11-23 18:05:00 +01:00
Wim Taymans
31b79556b8
pad: take peerpad correctly
...
Don't take the peerpad too early, it might change because of the
probes.
2011-11-23 08:17:36 +01:00
Wim Taymans
dd65aae9a1
pad: rework sticky events
...
Rewrite sticky events, trying to make it a bit more simple.
When sticky events are pushed on a srcpad, store them in the sticky event
array and mark the event with received = FALSE.
When the sticky event is successfully sent to the peer pad, make
received = TRUE.
Keep a PENDING_EVENTS pad flag that is set when one of the events is in
the received = FALSE state for some reason.
when activating a sinkpad, mark all events received = FALSE on the peer
srcpad.
When pushing a buffer, check the PENDING_EVENTS flag and if it is set, push all
events to the peer pad first.
2011-11-22 18:40:49 +01:00
Wim Taymans
165af7c903
gst: add new flags
2011-11-22 18:40:49 +01:00
Wim Taymans
9c8d323d07
padd return value from _mini_object_replace()
2011-11-22 12:45:41 +01:00
Matej Knopp
6ea74a0572
Fix printf format compiler warnings on OSX/64bit
...
https://bugzilla.gnome.org/show_bug.cgi?id=664491
2011-11-22 00:51:06 +00:00
Wim Taymans
d890017021
pad: fix locking order error
2011-11-21 17:43:51 +01:00
Wim Taymans
fda5685a15
ghostpad: fix print format
2011-11-21 17:43:04 +01:00
Wim Taymans
6e0a724394
pad: Add destroy notify to pad functions
...
Add _full variants of the pad function setters that take a destroy notify.
Make some macros that make the old method name pass NULL to this new
function.
2011-11-21 15:47:01 +01:00
Wim Taymans
2f1ed65339
pad: Merge pad mode activation functions
...
Add the pad mode to the activate function so that we can reuse the same function
for all activation modes. This makes the core logic smaller and allows for some
elements to make their activation code easier. It would allow us to add more
scheduling modes later without having to add more activate functions.
2011-11-21 13:29:05 +01:00
Wim Taymans
9e3aa102d7
docs: update design doc
...
also fix default alignment value (0 == no-alignment)
2011-11-18 18:08:21 +01:00
Wim Taymans
770159fb1c
query: improve scheduling query
...
Turns some boolean arguments in the scheduling query to flags, which are easier
to extend and makes the code easier to read.
Make extra methods for configuring and querying the supported scheduling modes.
This should make it easier to add new modes later.
2011-11-18 17:27:16 +01:00
Wim Taymans
016d404ccf
query: move flags closer to buffering query
2011-11-18 14:08:45 +01:00
Wim Taymans
39a5e26ea9
pad: add parent to activate functions
2011-11-18 13:54:29 +01:00
Wim Taymans
12d5f03453
pad: fix scheduling mode enums
...
GstPadActivateMode -> GstPadMode
GST_PAD_ACTIVATE_* -> GST_PAD_MODE_*
2011-11-18 12:39:55 +01:00
Wim Taymans
612b1fbb14
pad: add parent to other functions
...
Add parent to chain, chain_list, getrange and event functions.
2011-11-17 12:40:45 +01:00
Wim Taymans
361a7ae44d
add parent to internal links
2011-11-16 17:49:46 +01:00
Wim Taymans
09a8294d36
pad: add parent to the query function
2011-11-16 17:22:56 +01:00
Wim Taymans
54e1174060
GstPadFlags: rename flags GST_PAD_* -> GST_PAD_FLAG_*
2011-11-16 12:36:51 +01:00
Wim Taymans
fe3af1d67b
pad: keep the parent alive when requested
...
Add a new pad flag NEED_PARENT that ensures that the parent of a pad is
reffed and not NULL when the event, query and internal links functions
are called.
When a pad is added to an element automatically make sure the NEED_PARENT flag
is enabled.
2011-11-16 12:08:22 +01:00
Wim Taymans
a641b0ce39
don't require parent element to proxy
2011-11-16 10:31:40 +01:00
Wim Taymans
f746174c10
pad: move query convenience functions together
...
Move the caps convenience functions to the other query functions.
2011-11-15 18:16:24 +01:00
Wim Taymans
e85198bc32
_query_peer_*() -> _peer_query_*()
2011-11-15 17:50:34 +01:00
Wim Taymans
2358938dbd
_accept_caps() -> _query_accept_caps()
2011-11-15 17:40:19 +01:00
Wim Taymans
c55962c2d3
_peer_get_caps() -> peer_query_caps()
2011-11-15 17:11:46 +01:00
Wim Taymans
d805f0f034
pad: _get_caps() -> _query_caps()
2011-11-15 16:46:37 +01:00
Wim Taymans
28b14092d2
utils: fix docs
2011-11-15 16:16:53 +01:00
Wim Taymans
0796586fce
utils: fix the proxy functions
...
fix the proxy functions for query_accept_caps and query_caps to use the pad
forward helper functions which correctly forwards on the internally linked pads.
2011-11-15 16:13:59 +01:00
Wim Taymans
9b98ef4fed
pad: improve some flag macros
2011-11-15 16:13:28 +01:00
Wim Taymans
9f00a24b5e
pad: fix debug line
2011-11-15 16:13:15 +01:00
Wim Taymans
b5c3e254b1
pad: remove getcaps and use caps query
...
Remove the getcaps function on the pad and use the CAPS query for
the same effect.
Add PROXY_CAPS to the pad flags. This instructs the default caps event and query
handlers to pass on the CAPS related queries and events. This simplifies a lot
of elements that passtrough caps negotiation.
Make two utility functions to proxy caps queries and aggregate the result. Needs
to use the pad forward function instead later.
Make the _query_peer_ utility functions use the gst_pad_peer_query() function to
make sure the probes are emited properly.
2011-11-15 11:20:48 +01:00
Wim Taymans
d162d97e1f
query: add caps query
2011-11-14 11:26:17 +01:00
Tim-Philipp Müller
32e7c5d1ef
query: remove GST_QUERY_LAST
2011-11-14 09:57:32 +00:00
Wim Taymans
d1a8695470
fix docs
2011-11-14 10:27:01 +01:00
Stefan Sauer
faf31366ab
controller: remove functions to add/remove controlled properties
...
Make that implizit with attaching/detaching controlsources. This is a lot easier
and has less invalid state (controlled property without control source).
2011-11-14 10:02:55 +01:00
Tim-Philipp Müller
de3e83759e
uri: clean up header files
...
Tabs to spaces.
2011-11-13 23:14:15 +00:00
Tim-Philipp Müller
df20630d78
urihandler: fix return type of get_protocols()
2011-11-13 23:07:58 +00:00
Tim-Philipp Müller
7652df7352
urihandler: fix return type of _get_uri_type()
...
Return a GstURIType and not a plain guint.
2011-11-13 20:56:02 +00:00
Tim-Philipp Müller
682704750c
urihandler: pass GError argument to gst_uri_handler_set_uri()
...
Also let gst_uri_handler_set_uri check already if the protocol
is supported, so that not every uri handler has to do that
itself.
2011-11-13 18:04:55 +00:00
Tim-Philipp Müller
35df64357f
urihandler: make _get_uri() return a copy
...
For thread-safety.
2011-11-13 15:51:44 +00:00
Tim-Philipp Müller
34e3e26467
urihandler: remove "new-uri" signal
...
No one but filesrc used that API. Should probably be replaced by
requiring an "uri" property instead, and then objects can do a
notify on that. Also removed interface structure padding, it's
not needed.
2011-11-13 15:37:40 +00:00
Tim-Philipp Müller
bb18ca7fa4
Merge remote-tracking branch 'origin/master' into 0.11
...
Conflicts:
tools/gst-inspect.c
2011-11-13 13:23:09 +00:00
Tim-Philipp Müller
4d6795dcd1
gst, controller: replace g_list_prepend + reverse with GQueue
2011-11-12 14:57:48 +00:00
Tim-Philipp Müller
ae5e44bfb3
docs: fix typo in buffer docs
2011-11-12 14:04:10 +00:00
René Stadler
4d58535d7c
query: do not return a ref from parse_accept_caps
...
Makes this exactly like gst_event_parse_caps. This is what current code
expects, so it fixes some leaks.
2011-11-12 01:53:13 +01:00
Wim Taymans
4a7c3b929a
.h: fix header files
...
Ensure correct indentation and :retab.
Make sure all structures have padding
Fix up some old ABI additions.
2011-11-11 17:30:03 +01:00
Stefan Sauer
870a5b0e12
docs: fix invalid xml
2011-11-11 17:08:19 +02:00
Wim Taymans
5be6ad56a5
buffer: avoid < -1 sizes
2011-11-11 10:00:35 +01:00
Tim-Philipp Müller
541d79d886
buffer, memory: make size arguments where -1 is allowed signed
2011-11-11 01:47:30 +00:00
Stefan Sauer
a1599f5f7e
controller: merge controller into gstobject
...
This make the controller even more lightweight (no extra object, no extra lock,
less indirections). For object that don't use the controller the only 'overhead'
is a 3 unused fields in the gst_object structure.
2011-11-10 22:47:07 +02:00
Vincent Penquerc'h
86a45f236e
gstbuffer: remove incorrect assertion
...
Offset and sizes have no bearing on each other here.
2011-11-10 14:17:33 +00:00
Edward Hervey
7a285354d2
gst: More introspection annotations
2011-11-10 13:54:03 +01:00
Edward Hervey
abab1b1d01
gstmemory: Register a GBoxed GType
...
Allows using it from g-i
2011-11-10 13:54:02 +01:00
Edward Hervey
deb8e74cad
introspection: Add --warn-all to introspection scanner
...
... and let's get fixing all those docs !
2011-11-10 13:54:02 +01:00
Wim Taymans
13754e87fc
element: add a default set_clock implementation
...
Add a default set_clock implementation and avoid doing work in the vmethod
trampoline. This requires subclasses to chain up.
2011-11-10 12:09:57 +01:00
Wim Taymans
2227d80f93
element: don't do anything in the vmethod trampoline
...
Avoid doing stuff in the vmethod trampoline, just let the default
implementation of the method take care of things.
2011-11-10 12:08:51 +01:00
Wim Taymans
996d3dd5e4
element: fix some docs
2011-11-10 12:08:15 +01:00
Wim Taymans
37318a8cd2
pad: remove GstPadFixateCapsFunction
...
The fixate caps function was not used externally and we have vmethods in the
base classes where it is needed.
Update some docs.
simplify some fixate functions in the base classes. Also pass the untruncated
caps to the vmethod.
2011-11-10 10:58:42 +01:00
Wim Taymans
b133bea426
pad: don't store events on flushing pads
...
check the flushing state of the pad before storing the event.
2011-11-09 17:43:49 +01:00
Wim Taymans
b7966c0c7d
pad: make an ACCEPT_CAPS query
...
Replace the acceptcaps function with a query.
2011-11-09 17:36:00 +01:00
Wim Taymans
756f6eb3f2
pad: refuse events in flushing
...
when we are flushing, don't store the event on the pad but simply return FALSE.
Don't deactivate the srcpad, we need it to be active in order to push the
caps. Downstream can change the scheduling mode of an active pad.
2011-11-09 17:25:30 +01:00
Wim Taymans
6ed869c9f4
element: remove more query_types
2011-11-09 17:23:37 +01:00
Wim Taymans
a22c2716cd
Merge branch 'master' into 0.11
2011-11-09 12:03:28 +01:00
Wim Taymans
6cc7254166
remove query types
...
It was not really useful
2011-11-09 11:47:10 +01:00
Vincent Penquerc'h
d9e5c529ba
gstvalue: consider lists and ranges equal if they hold the same set
...
This fixes caps operations when different elements advertise some
of their caps' properties differently (eg, for audio channels, either
a range from 1 to 2, or a list of 1 and 2).
https://bugzilla.gnome.org/show_bug.cgi?id=663643
2011-11-09 11:24:55 +01:00
Wim Taymans
ac9e5533b5
pad: add more queries
...
Add more query functions to prepare for doing more with queries
2011-11-09 11:22:36 +01:00
Wim Taymans
642a4697fe
pad: install query probes
...
Fire query probes according to updated design doc.
2011-11-08 17:32:11 +01:00
Wim Taymans
4660beaba8
pad: remove lock/unlock_full versions of stream-lock
2011-11-08 15:51:48 +01:00
Wim Taymans
1013c6c79b
pad: add defines for query probes
2011-11-08 15:48:34 +01:00
Wim Taymans
79aeef49b8
buffer: update docs
2011-11-08 13:13:55 +01:00
Wim Taymans
9c0d8ca718
Merge branch 'master' into 0.11
...
Conflicts:
gst/gstelement.h
gst/gstghostpad.c
gst/gstminiobject.c
2011-11-08 12:54:15 +01:00
Wim Taymans
ce09010267
pad: add pull mode probes
...
Allow probes to inspect the offset and size from a probe in pull mode and allow
the probe to modify the buffer.
Update design doc a little.
2011-11-08 12:47:33 +01:00
Wim Taymans
ba3028aeeb
pad: Add GstPadProbeInfo
...
Make a new GstPadProbeInfo structure and pass this in the probe callback. This
allows us to add more things later and also allow the callback to replace or
modify the passed object.
2011-11-08 11:04:19 +01:00
Stefan Sauer
1713aaa4c5
event: log creation of qos events at LOG level instead at INFO
2011-11-08 09:15:30 +01:00
Stefan Sauer
93941a2517
buffer: improve parameter docs
2011-11-08 09:15:30 +01:00
Tim-Philipp Müller
16dcd5e958
docs: fix Since: markers for API added after 0.10.35
2011-11-08 00:32:36 +00:00
Wim Taymans
c9a4037805
Merge branch 'master' into 0.11
...
Conflicts:
gst/gstvalue.c
2011-11-07 17:17:39 +01:00
Wim Taymans
24e596a1fb
pad: rework pad probes
...
Make a separate cookie to detect chancges in the list of probes and keeping
track of what hooks have been invoked yet.
Remove the requirement to have probes on srcpads in push mode and sinkpads in
pull mode.
Add some more debug.
Keep track of what callbacks got executed. If no callback is called and we are a
blocking pad, let the item pass. This allows you to block pads on selected
items only.
Explicitly have an UPSTREAM and DOWNSTREAM PadProbeType. This allows you to only
block the pad on upstream or downstream items.
Add convenience macros to only block on downstream/upstream items.
2011-11-07 17:15:17 +01:00
Vincent Penquerc'h
9121a30f9a
gstcaps: remove unneeded use of gint64
...
https://bugzilla.gnome.org/show_bug.cgi?id=662777
2011-11-07 15:17:35 +00:00
Vincent Penquerc'h
b37d06aed8
gstvalue: quicker version of intersection when we do not need the result
...
https://bugzilla.gnome.org/show_bug.cgi?id=662777
2011-11-07 15:17:19 +00:00
Vincent Penquerc'h
d9901a6288
gststructure: simplify return statement in gst_structure_can_intersect
...
https://bugzilla.gnome.org/show_bug.cgi?id=662777
2011-11-07 15:17:14 +00:00
Vincent Penquerc'h
afc80c10d1
gststructure: early out when we know a value cannot be a subset
...
If two values can be ordered, but are unequal, they are
necessarily distinct, thus one cannot be a subset of the other.
https://bugzilla.gnome.org/show_bug.cgi?id=662777
2011-11-07 15:17:04 +00:00
Vincent Penquerc'h
29c97fe780
gstvalue: quicker test for substraction emptiness
...
When we do not care about the actual resulting set,
but only whether it is empty of not, we can skip a fair bit
of GValue juggling.
Add a function that does so, since we cannot just pass NULL
to the existing API as it may be part of the API contract.
https://bugzilla.gnome.org/show_bug.cgi?id=662777
2011-11-07 15:16:52 +00:00
Vincent Penquerc'h
7090257a83
gststructure: rejig test ordering for speed
...
https://bugzilla.gnome.org/show_bug.cgi?id=662777
2011-11-07 15:16:26 +00:00
Wim Taymans
4fa22944e9
caps: fix compilation
2011-11-07 10:40:23 +01:00
Wim Taymans
b7fac4d093
Merge branch 'master' into 0.11
...
Conflicts:
libs/gst/base/gstbasetransform.c
2011-11-07 10:01:27 +01:00
Tim-Philipp Müller
ee3032a6c9
Revert "controller: fix g_return statement"
...
This reverts commit 593d2b297b
.
gst_controller_set_disabled () returns a void.
2011-11-06 00:07:10 +00:00
Stefan Sauer
618be218e8
controller: the object needs a ref to the controller for the convenience api
...
Add a hack to ensure the object will have a ref to the controller once we
create it. Fixes the audio example (that uses the controller api directly).
2011-11-05 11:02:42 +01:00
Stefan Sauer
593d2b297b
controller: fix g_return statement
2011-11-05 11:02:42 +01:00
Stefan Sauer
95c6fde6ac
controller: logging tweaks
...
Don't log in _new before we have the log category. Use _OBJECT variants.
2011-11-05 11:02:42 +01:00
Tim-Philipp Müller
be70cebc31
gst: fix some compiler warnings
...
gstobject.c: In function 'gst_object_has_active_automation':
gstobject.c:1076:3: error: 'return' with no value, in function returning non-void
gstcontroller.c: In function 'gst_controller_is_active':
gstcontroller.c:509:3: error: 'return' with no value, in function returning non-void
2011-11-05 01:27:54 +00:00
Stefan Sauer
efd4402ee0
controller: add api to check for active controllers (needed for e.g. volume)
2011-11-04 20:50:58 +01:00
Stefan Sauer
0f2d8ab5c2
controller: remove obsolete comments from api transition
2011-11-04 20:32:32 +01:00
Stefan Sauer
9a27b9c056
controller: move to core/gstobject
...
Move the controller to gstobject as a simple delegate. The controller and
controlsource are not classes in core. The controlsources stay separate as a lib
for now. This way we can avoid the qdata lookups.
Also remove controller_init(). There is no more need to link to controller for
elements.
Also sanitize the API. We now have functions to add properties like we had
methods to remove that. That avoids then ref count hacks we had in _new.
2011-11-04 20:11:51 +01:00
Wim Taymans
a38c8b759c
bin: fix the iterator copy
2011-11-04 19:17:06 +01:00
Wim Taymans
c2c9776027
Merge branch 'master' into 0.11
...
Conflicts:
gst/gstbin.c
2011-11-04 19:11:19 +01:00
Sjoerd Simons
57074fc025
caps: Add gst_caps_is_strictly_equal
2011-11-04 17:49:55 +00:00
Wim Taymans
b6fbeb8fed
pad: make probes work on all pads
...
fixes #644907
2011-11-04 18:19:14 +01:00
Peteris Krisjanis
795e836ce3
introspection: add Value annotations for GST_SECOND, GST_MSECOND, GST_USECOND, GST_NSECOND constants
...
gobject-introspection won't parse them properly otherwise.
Still need to force the right type though (either GstClockTime or
guint64), but Type: xyz has no effect for me here, so someone with
a newer g-i needs to test this.
Some other defines are also missing, e.g. GST_CLOCK_TIME_NONE.
2011-11-04 00:19:56 +00:00
Tim-Philipp Müller
d2c713a9b5
bin: use statically allocated GQueue
...
Because we can.
2011-11-03 22:58:50 +00:00
Wim Taymans
2cb971589d
task: don't use lock/unlock_full
2011-11-03 14:14:54 +01:00
Wim Taymans
a1d82bec39
Merge branch 'master' into 0.11
...
Conflicts:
gst/gstghostpad.c
2011-11-03 11:30:52 +01:00
Wim Taymans
e91b1ee412
pad: small cleanup
2011-11-03 11:15:11 +01:00
Nicolas Dufresne
391568efde
ghostpad: Don't cache internal proxy pad target
...
The internal proxy pad target is simply a cache of the internal proxy pad
peer. This patch uses the well implement GstPad peer handling to obtain the
target. This fixes issues with target not being set in both direction when
two ghostpads are linked together (empty bin).
https://bugzilla.gnome.org/show_bug.cgi?id=658517
2011-11-03 09:27:00 +01:00
Wim Taymans
6c627481b3
utils: remove _found_tags_ API
...
remove gst_element_found_tags() and gst_element_found_tags_for_pad(), they are
nothing more than a wrapper around gst_pad_push_event()
2011-11-02 12:06:47 +01:00
Wim Taymans
289d2d62ba
buffer: improve docs
2011-11-02 08:59:44 +01:00
Wim Taymans
7f6495d713
event: make GstSegment argument const
2011-11-02 08:59:44 +01:00
Wim Taymans
d9dc9f9d52
task: api cleanup
...
gst_task_create() -> gst_task_new()
2011-11-02 08:59:44 +01:00
Wim Taymans
e4725d9df2
structure: cleanup API
...
gst_structure_empty_new() -> gst_structure_new_empty()
gst_structure_id_empty_new() -> gst_structure_new_id_empty()
gst_structure_id_new() -> gst_structure_new_id()
2011-11-02 08:59:44 +01:00
Wim Taymans
89fd4ded72
meta: remove timing metadata
...
This is now on buffers by default
2011-11-02 08:59:43 +01:00
Wim Taymans
88e12228cf
bufferlist: clean up API
...
gst_buffer_list_len() -> gst_buffer_list_length()
gst_buffer_list_sized_new() -> gst_buffer_list_new_sized()
2011-11-02 08:59:43 +01:00
Tim-Philipp Müller
4f004eff38
pad: rename GstActivateMode to GstPadActivateMode
...
These might be useful:
sed -i -e 's/GstActivateMode/GstPadActivateMode/g' `git grep GstActivateMode | sed -e 's/:.*//' | sort -u`
sed -i -e 's/GST_ACTIVATE_/GST_PAD_ACTIVATE_/g' `git grep GST_ACTIVATE_ | sed -e 's/:.*//' | sort -u`
2011-11-01 00:25:02 +00:00
Tim-Philipp Müller
bffc9207b5
pad: rename GstProbeType and GstProbeReturn to GstPadProbe{Type,Return}
...
Better now than later in the cycle. These might come in handy:
sed -i -e 's/GstProbeReturn/GstPadProbeReturn/g' `git grep GstProbeReturn | sed -e 's/:.*//' | sort -u`
sed -i -e 's/GST_PROBE_/GST_PAD_PROBE_/g' `git grep GST_PROBE_ | sed -e 's/:.*//' | sort -u`
sed -i -e 's/GstProbeType/GstPadProbeType/g' `git grep GstProbeType | sed -e 's/:.*//' | sort -u`
2011-11-01 00:15:17 +00:00
Tim-Philipp Müller
f19b7d1125
taglist: remove gst_tag_list_get_*long*()
...
No one uses this or should ever need to use it, since
the size is architecture-specific anyway. If normal
integers don't do, one should use 64-bit integers.
2011-10-31 23:32:17 +00:00
Tim-Philipp Müller
221c9423d3
filter: remove gst_filter_run() and deprecated filter func
...
If someone wants to resurrect this, please use a less
generic name space for it.
2011-10-31 14:16:05 +00:00
Tim-Philipp Müller
cfff518cee
Merge remote-tracking branch 'origin/master' into 0.11
...
Conflicts:
gst/gstpluginfeature.c
2011-10-31 14:03:15 +00:00
Tim-Philipp Müller
4e7944b0b9
taglist: rename _new() to _new_empty() and new_full*() to new*()
2011-10-30 22:24:25 +00:00
Tim-Philipp Müller
d9f95e8920
filter: deprecate gst_filter_run()
...
It's not really used outside of core at all, and has
serious namespace issues. If anyone feels the need to
revive this one, please use a less generic name space.
API: deprecate gst_filter_run()
API: deprecate GstFilterFunc
2011-10-30 21:55:05 +00:00
Tim-Philipp Müller
8008837986
registry: don't use soon-to-be-deprecated gst_filter_run()
...
Lines-of-code savings are negligible anyway.
2011-10-30 21:47:39 +00:00
Tim-Philipp Müller
19b4c9c793
pluginfeature: deprecate gst_plugin_feature_type_name_filter()
...
It's only used internally anyway and the helper struct
has namespace issues.
API: deprecated gst_plugin_feature_type_name_filter()
API: deprecated GstTypeNameData
2011-10-30 21:47:26 +00:00
Tim-Philipp Müller
dc7ec44486
taglist: make opaque
...
Hide the fact that it's just a GstStructure from the API. We
may want to change this in future (e.g. to add refcounting).
Also, it caused problems for bindings (though that's mostly
the way we typedefed it to GstStructure).
2011-10-30 10:14:15 +00:00
Tim-Philipp Müller
3a4f580bb2
Merge remote-tracking branch 'origin/master' into 0.11
2011-10-30 10:00:28 +00:00
Tim-Philipp Müller
606c53fc94
taglist: add to_string and new_from_string functions
...
We want to make GstTagList opaque and not have people use
GstStructure API on it.
API: gst_tag_list_to_string()
API: gst_tag_list_new_from_string()
2011-10-30 09:58:16 +00:00
Tim-Philipp Müller
002446820e
Merge remote-tracking branch 'origin/master' into 0.11
2011-10-30 09:31:39 +00:00
Tim-Philipp Müller
911c078c2b
taglist: avoid pointless tag name -> quark lookups
...
We never get a tag name quark from a caller, it's always a
string, from which we'll try to look up our tag info in the
hash table, so change the hash table key from quark to string.
Avoids a bunch of pointless string => quark lookup in the
global quark table. We need to do an extra string => quark
conversion now when we copy a taglist, but in that case we're
in a slow path anyway.
2011-10-30 09:26:52 +00:00
Tim-Philipp Müller
cdade325ae
taglist: add gst_tag_list_is_equal()
...
API: gst_tag_list_is_equal()
2011-10-30 01:44:00 +01:00
Tim-Philipp Müller
bc1a37e64f
structure: identical structures are definitely equal
2011-10-29 23:52:22 +01:00
Tim-Philipp Müller
948980bf11
taglist: fix string for GST_TAG_ARTIST_SORTNAME
...
For historical reasons it was mapped to a musicbrainz prefix,
but it's not really musicbrainz-specific at all.
2011-10-29 20:06:54 +01:00
Tim-Philipp Müller
5842e3fc38
elementfactory: move private functions for registry to private header
2011-10-29 19:59:05 +01:00
Wim Taymans
66e4966aee
buffer: fix docs some more
2011-10-28 16:45:23 +02:00
Wim Taymans
a70934e4ef
segment: remove GST_SEEK_TYPE_CUR
2011-10-28 16:23:49 +02:00
Wim Taymans
8b6431a4de
buffer: improve docs
2011-10-28 16:23:49 +02:00
Wim Taymans
0941cc9fb8
compat: add timestamp compat defines
2011-10-28 12:26:27 +02:00
Wim Taymans
80fc568747
buffer: add pts/dts to buffers
2011-10-28 12:15:44 +02:00
Wim Taymans
d9c8ab67a0
caps: add empty_simple variants
2011-10-27 17:09:04 +02:00
Johan Boulé
3406549cf6
caps: use G_GNUC_NULL_TERMINATED for gst_caps_new_simple() and gst_caps_new_full()
...
If you get warnings, use gst_caps_new_empty().
https://bugzilla.gnome.org/show_bug.cgi?id=343346
2011-10-27 14:56:24 +01:00
Wim Taymans
852851edab
Merge branch 'master' into 0.11
...
Conflicts:
libs/gst/base/gstbasetransform.c
2011-10-27 15:27:19 +02:00
Tim-Philipp Müller
c00c8903ca
structure: use G_GNUC_NULL_TERMINATED for gst_structure_new()
...
If you get a warning, use gst_structure_empty_new().
https://bugzilla.gnome.org/show_bug.cgi?id=343346
2011-10-27 13:25:08 +01:00
Stefan Sauer
b7ae6c46a3
event: clarify docs for step event
2011-10-26 12:24:29 +02:00
Tim-Philipp Müller
dd9f244f03
registry: add support for GST_REGISTRY_REUSE_PLUGIN_SCANNER=no
...
This will make sure we spawn a new plugin scanner helper for each plugin
to be introspected, which helps with making sure we don't load too many
shared objects (libs, plugins) at the same time on systems where there
is a hard limit like on Android.
A better version might re-use the scanner for up to N times, though
it's not clear whether that would actually improve things dramatically.
https://bugzilla.gnome.org/show_bug.cgi?id=662091
2011-10-26 11:20:16 +01:00
Thiago Santos
27ce89812a
caps: No need to require writable caps for _append/_merge second caps
...
The second caps ownership is transfered, no need to require it to
be writable from the caller function. Instead, _append and _merge
make it writable on their own.
Discovered because of an assertion on encoding-profile.c in
_get_input_caps using _merge but not passing writable caps.
2011-10-21 10:23:04 -03:00
Stefan Sauer
b6d34084f2
interfaces: clean up the use of iface and class/klass
2011-10-21 14:20:40 +02:00
Stefan Sauer
ea030c9452
docs: spelling and formatting fixes
2011-10-21 11:21:17 +02:00
Edward Hervey
df6044f7eb
Merging origin/master
...
Conflicts:
gst/gstbin.c
gst/gstbus.c
gst/gstdebugutils.c
gst/gstpad.c
libs/gst/base/gstbaseparse.c
libs/gst/base/gstbasesrc.c
2011-10-21 10:52:46 +02:00
Stefan Sauer
ad438461a6
pad: not only describe conditions in the docs, also check them in the code
...
When blocking pads, check if the pad is in the rigt direction. Log some info
for the developer and return FALSE, instead of just locking up.
2011-10-20 09:51:11 +02:00
René Stadler
5800757369
Revert gst_plugin_feature_get_name to const string return
...
Returning a newly allocated string makes no sense. It's unexpected for a
getter, and also this behaves differently in 0.10, so it would make future
merges harder.
Except for these two places here in core which were updated for the new
semantic, the return value is getting leaked all over the place.
2011-10-19 23:40:10 +02:00
Edward Hervey
7460061645
gstobject: Add (skip) annotation to gst_object_ref_sink
2011-10-19 12:12:36 +02:00
Edward Hervey
88095c406e
gstiterator: Add skip annotation for creating GstIterator
...
Not really useful for bindings
2011-10-19 11:59:29 +02:00
Johan Dahlin
2f069b106e
introspection: Skip gst_poll apis
...
https://bugzilla.gnome.org/show_bug.cgi?id=657640
2011-10-19 10:24:17 +02:00
Johan Dahlin
9200776841
introspection: Skip GType and GValue transform apis
...
These do not make sense to expose to language bindings
https://bugzilla.gnome.org/show_bug.cgi?id=657640
2011-10-19 10:24:11 +02:00
Johan Dahlin
6cd0287bdb
introspection: Skip gst_init_get_option_group
...
It uses GOptionGroup which is not wrappable
https://bugzilla.gnome.org/show_bug.cgi?id=657640
2011-10-19 10:23:57 +02:00
Johan Dahlin
df7d090ecc
introspection: Add missing annotations
...
https://bugzilla.gnome.org/show_bug.cgi?id=657640
2011-10-19 10:23:53 +02:00
Johan Dahlin
d0e94754f0
introspection: Rename gst_bus_add_watch_full to gst_bus_add_watch
...
https://bugzilla.gnome.org/show_bug.cgi?id=657640
2011-10-19 10:23:45 +02:00
Johan Dahlin
61d5670b27
Sync documentation arguments
...
The introspection scanner warns if the header and the source
uses mismatching parameter names.
https://bugzilla.gnome.org/show_bug.cgi?id=657640
2011-10-19 10:20:31 +02:00
Johan Dahlin
22acd34c42
Add gst_structure_get_type
...
https://bugzilla.gnome.org/show_bug.cgi?id=657640
2011-10-19 10:20:31 +02:00
Thiago Santos
3ab02d8fdc
message: protect against null message sources
...
Message sources can be null, check if it is before trying to
access its name.
2011-10-18 19:29:13 -03:00
Stefan Sauer
2e6b434730
logging: more logging and prefer human readable details over memory locations
2011-10-18 15:24:21 +02:00
Stefan Sauer
a98208770b
debugutils: improve display of ghost- and proxypads
...
Handle virtual links between ghost and proxypads when iterating pads instead of
when linking. Besides using less code this provides a more accurate picture.
2011-10-18 15:24:21 +02:00
René Stadler
5239679c09
pad: fix buffer/event leak when pad is flushing
...
Apparently this got lost while refactoring probes.
2011-10-17 21:40:46 +02:00
René Stadler
221836f452
caps: fix race condition and memory leak in gst_static_caps_get
...
This was leaking the PtrArray from caps->priv, as set up by the other call to
gst_caps_init. Also, the thread safety issue presented in the comment above was
not taken care of anymore. We now zero the refcount again when publishing the
structure.
Fixes #661629 .
2011-10-17 13:59:49 +02:00
Edward Hervey
631bf1f3af
gstregistry: Don't leak feature name
2011-10-17 09:51:15 +02:00
Tim-Philipp Müller
d42923b014
bus: give watch source a name
...
Give our GSource a meaningful name. Source names can be
used for debugging and profiling, for example with
systemtap or gdb.
2011-10-16 21:14:03 +01:00
Edward Hervey
d829425fb9
gstbuffer: Add transfer annotations for gst_buffer_join()
2011-10-16 21:13:56 +01:00
Wim Taymans
8e4f006c57
fix more parent_class
2011-10-16 14:45:03 +02:00
Wim Taymans
40bb69827c
Merge branch 'master' into 0.11
...
Conflicts:
gst/gstevent.h
2011-10-16 14:20:33 +02:00
Wim Taymans
2f09c5a9c5
padtemplate: clean up parent_class
2011-10-16 14:19:36 +02:00
Wim Taymans
65a7c66053
pad: clean up parent_class handling
2011-10-16 14:19:36 +02:00
Edward Hervey
ca2ba294d7
gstbuffer: Add transfer annotations for gst_buffer_join()
2011-10-14 09:35:09 +02:00
Stefan Sauer
72d4bbd8db
bus: fix typo in the docs
2011-10-13 17:33:06 +02:00
Stefan Sauer
32b90e667d
debugutils: show if an element is state-locked
2011-10-13 16:49:01 +02:00
Stefan Sauer
735068218e
logging: use _OBJECT variants more
2011-10-13 16:49:01 +02:00
Sebastian Dröge
e8d3870214
buffer: Use an inline function instead of a macro for gst_buffer_replace()
...
This gives us type checks by the compiler and more useful compiler errors.
2011-10-13 10:19:34 +02:00
Sebastian Dröge
ef32fd0d15
event: Use an inline function instead of a macro for gst_event_replace()
...
This gives us type checks by the compiler and more useful compiler errors.
2011-10-13 10:18:51 +02:00
Thiago Santos
a171e684ac
ghostpad: Do not unref the internal pad twice
...
g_value_unset should already unref the internal proxypad, no
need to do it again
2011-10-12 18:14:46 -03:00
René Stadler
eab6465ba8
event: add transfer type for gst_event_new_caps argument
...
These annotations are useful to humans as well...
2011-10-12 14:37:31 +02:00
René Stadler
724d52300e
event: fix gst_event_new_segment transfer type
2011-10-12 13:31:48 +02:00
Edward Hervey
917bfc5df7
gst: More 'transfer' annotations
2011-10-11 13:51:37 +02:00
Tim-Philipp Müller
56e27b0546
utils: catch invalid instance sizes in gst_type_register_static_full()
...
Add guards to catch overly large instance sizes.
https://bugzilla.gnome.org/show_bug.cgi?id=660955
2011-10-10 19:41:33 +01:00
Tim-Philipp Müller
01c11ebf08
utils: remove gst_type_register_static_full()
...
It was only really used by GST_BOILERPLATE, and that is no more.
https://bugzilla.gnome.org/show_bug.cgi?id=660955
2011-10-10 19:30:34 +01:00
Edward Hervey
009bc19528
ghostpad: If we don't control a pad/template, return proper caps
...
If there's a filter, we can return that in _get_caps()
2011-10-10 17:04:39 +02:00
Edward Hervey
86656b44af
gstpad: Specify transfer full for gst_pad_get_caps()
...
It increments the reference count of the returned caps.
2011-10-10 16:55:19 +02:00
Edward Hervey
42fcb1175b
gstpad: Add debug to know what events are transferred between pads
2011-10-10 16:55:19 +02:00
Edward Hervey
2ba6017363
gstpad: Unset EOS event on FLUSH_STOP
2011-10-10 16:54:40 +02:00
Edward Hervey
a930f67697
gstpad: Don't ignore downstream FlowReturn with IDLE probes
...
If pushgin downstream returned a non-ok value (like GST_FLOW_WRONG_STATE),
we don't want to end up returning a different value (GST_FLOW_OK in this
case) if IDLE probes are present.
2011-10-10 16:53:32 +02:00
Wim Taymans
f44b54ebc9
compat: add compat define for UNEXPECTED
2011-10-10 11:36:23 +02:00
Wim Taymans
ea012d3dd7
pad: GST_FLOW_UNEXPECTED -> GST_FLOW_EOS
2011-10-10 11:33:51 +02:00
Tim-Philipp Müller
534e077c18
elementfactory: don't export private _gst_elementclass_factory quark
2011-10-08 20:46:55 +01:00
Tim-Philipp Müller
ac40ab45b3
info: make _gst_debug_init() private for now
...
This was a FIXME for 0.11. I guess a case could be made to keep it around
separately for apps or libraries that only want to use GStreamer's debugging
system, but it seems more likely they'd just copy the two source files into
their own tree if the case. Also, things like types wouldn't be initialised
without gst_init(). We can still make it public again if anyone needs it,
but then we should make it a proper function and not hide it behind
underscores.
2011-10-08 20:15:46 +01:00
Tim-Philipp Müller
21ec07eab0
Merge remote-tracking branch 'origin/master' into symbol-exports
2011-10-08 19:54:06 +01:00
Tim-Philipp Müller
01d87250a8
gstparse: prefix generated parser functions so they don't get exported
...
Don't export those 35-something random _gst_parse_yy* symbols. These were
never in any header files and also blacklisted from our .def files, in
case anyone wonders.
2011-10-08 14:34:04 +01:00
Tim-Philipp Müller
5df82c88c9
info: rename __gst_debug_* to _gst_debug_* and fix symbol export regexp
...
Only export GStreamer symbols with one leading underscore, not two
or more leading underscores.
Requires a rebuild of the entire stack, sorry.
2011-10-08 14:27:12 +01:00
Wim Taymans
e10666a9d0
Merge branch 'master' into 0.11
2011-10-08 14:25:02 +02:00
Wim Taymans
c57c1e9b59
info: port to 0.11
2011-10-08 09:41:54 +02:00
Wim Taymans
ee1f861ec1
Merge branch 'master' into 0.11
...
Conflicts:
gst/gstpad.c
2011-10-08 09:28:02 +02:00
Thiago Santos
52613b4d14
pipeline: Use pipeline category for one more log message
...
Makes debugging easier.
2011-10-07 13:36:38 -03:00
Robert Swain
138bb17bf9
GST_PTR_FORMAT: Add GstBuffer ptr format and use in GST_SCHEDULING
...
GstBuffer pointers can now be printed using GST_PTR_FORMAT. This is used
in the very useful GST_SCHEDULING debug logs in gstpad.c and allows for
easier and more information tracking of buffer progress through a
pipeline with just debug logging.
2011-10-07 16:38:52 +02:00
Edward Hervey
045fcd8b0a
gstbufferpool: Use glib compat macros for atomic pointers
2011-10-05 11:20:37 +02:00
Wim Taymans
90a4f75650
buffer: improve docs
2011-10-04 18:55:09 +02:00
Wim Taymans
544aa9773a
Merge branch 'master' into 0.11
2011-10-04 17:39:17 +02:00
Edward Hervey
314a24c4ac
gstevent: specify (transfer) for gst_event_new_segment
2011-10-04 15:56:28 +02:00
Wim Taymans
4f8bb4085f
Merge branch 'master' into 0.11
...
Conflicts:
libs/gst/base/gstbaseparse.c
2011-10-03 10:06:17 +02:00
Edward Hervey
a7f8e4a230
gstquery: Make debugging message more informative
...
For all the newcomers out there who still don't know the values of
GstQueryType enum by heart...
... and old-timers who've got better things to do :)
2011-10-03 09:31:59 +02:00
Tim-Philipp Müller
eeed491170
gst.h: include header for atomic queue
2011-09-30 14:52:01 +01:00
Wim Taymans
eda44fbc22
memory: fix memory alignment
...
Fix compilation when POSIX_MEMALIGN is not set.
Debug the configured alignment.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=660300
2011-09-28 18:47:02 +02:00
Wim Taymans
422d1245c1
pad: improve debug
2011-09-28 18:44:12 +02:00
Wim Taymans
8a1f401dfd
docs: fix docs
2011-09-26 20:47:35 +02:00
Wim Taymans
52cb649834
Merge branch 'master' into 0.11
2011-09-26 19:25:22 +02:00
Wim Taymans
dc8b6a555d
segment: improve API docs a little
2011-09-26 19:24:19 +02:00
Raimo Järvi
6637d983d3
gst: Fix compiler warnings on 64 bit mingw-w64
...
Fixes bug #660083 .
2011-09-26 12:17:30 +02:00
Edward Hervey
10e7159cf8
Merge branch 'master' into 0.11
...
Conflicts:
gst/gstcaps.c
gst/gstpad.c
libs/gst/base/gstbasesink.c
libs/gst/base/gstbasesink.h
libs/gst/base/gstbasetransform.c
2011-09-23 13:09:25 +02:00
Stas Sergeev
b090a376d4
pad: Set caps on pad before checking if the pad is linked
...
This allows the setcaps handler and notify::caps to link
the pad downstream and doesn't require hacks to always
provide a peer to the pad, like in decodebin2.
2011-09-19 14:08:16 +02:00
Fabrizio (Misto) Milo
7be3899653
caps: use g_value_take_string() and gst_value_get_caps() instead of accessing internal fields
2011-09-19 09:50:11 +02:00
Tim-Philipp Müller
b15ae28ad2
pad: add more debug logging for other chain function code path as well
2011-09-16 13:38:41 +01:00
Tim-Philipp Müller
a08402bdfd
pad: fix up printf format in debug message
...
Which I messed up.
2011-09-16 13:13:30 +01:00
Vincent Penquerc'h
91c217c714
pad: make some debug traces more useful
...
https://bugzilla.gnome.org/show_bug.cgi?id=659139
2011-09-16 12:07:21 +01:00
Tim-Philipp Müller
98ee2979d1
caps: move log messages for caps creation/freeing into TRACE category
...
Reduce SPAM for GST_CAPS:5.
2011-09-10 18:24:49 +01:00
Sebastian Dröge
22ba786807
pad: Only do the subset check in gst_pad_accept_caps() if the pad claims to accept the caps
2011-09-09 12:56:20 +02:00
Sebastian Dröge
7476186217
Revert "Revert "pad: Check for subsets, not non-empty intersections to check if caps are compatible""
...
This reverts commit 2bfada5581
.
Conflicts:
gst/gstpad.c
For 0.11 we want to enforce that only subsets of the pad
caps are allowed. This breaks backward compatibility for
some elements, which is why we only print a warning in
0.10.
2011-09-08 14:32:26 +02:00
Sebastian Dröge
7a82ed41f8
Revert "pad: Use gst_pad_accept_caps() instead of manually checking when configuring a sinkpad"
...
This reverts commit d3cad28da9
.
It causes performance problems because acceptcaps() propagates downstream.
2011-09-08 14:29:00 +02:00
Sebastian Dröge
43538e2e75
Merge branch 'master' into 0.11
...
Conflicts:
docs/design/draft-buffer2.txt
docs/design/part-TODO.txt
docs/design/part-block.txt
docs/design/part-bufferlist.txt
docs/design/part-caps.txt
docs/design/part-element-transform.txt
docs/design/part-events.txt
docs/design/part-negotiation.txt
gst/gstcaps.c
gst/gstevent.h
gst/gstghostpad.c
gst/gstinterface.c
gst/gstpad.c
gst/gstpad.h
gst/gstutils.c
libs/gst/base/gstbasesink.c
libs/gst/base/gstbasesrc.c
libs/gst/base/gstbasetransform.c
libs/gst/base/gsttypefindhelper.c
plugins/elements/gstcapsfilter.c
plugins/elements/gsttee.c
tests/check/generic/sinks.c
tools/gst-launch.1.in
2011-09-08 14:28:23 +02:00
Sebastian Dröge
d3cad28da9
pad: Use gst_pad_accept_caps() instead of manually checking when configuring a sinkpad
2011-09-08 13:42:53 +02:00
Sebastian Dröge
79b5e89015
pad: Print a g_warning() if pad accept caps that are not a subset of its caps
...
In 0.11 only subsets are supported again as documented instead of also
allowing non-empty intersections.
2011-09-08 13:42:53 +02:00
Sebastian Dröge
2bfada5581
Revert "pad: Check for subsets, not non-empty intersections to check if caps are compatible"
...
This reverts commit 0c5d502073
.
See bug #658541 .
2011-09-08 13:42:52 +02:00
Piotr Fusik
14f5518f3d
docs, gst: typo fixes
...
https://bugzilla.gnome.org/show_bug.cgi?id=658449
2011-09-07 18:03:17 +01:00
Stefan Sauer
83eb2d42fa
docs: escape % in docblob
2011-09-07 14:08:35 +02:00
Stas Sergeev
fcadf09779
ghostpad: Use gst_pad_set_caps() instead of manually changing caps
...
gst_pad_set_caps() does essentially the same but additionally calls
the pad's setcaps function.
Fixes bug #658076 .
2011-09-07 13:38:47 +02:00
Sebastian Dröge
0c5d502073
pad: Check for subsets, not non-empty intersections to check if caps are compatible
...
Pads should only accept caps that are a subset of the pad caps, e.g.
they should accept only caps that have a non-empty intersection and
at least all fields of the pad caps.
Without this a pad that wants for example
"video/x-h264,stream-format=byte-stream"
will be happy to accept
"video/x-h264".
2011-09-06 12:35:41 +02:00
Wim Taymans
a952de69dd
miniobject: change to GST_DEFINE_MINI_OBJECT_TYPE
...
Append _TYPE to the macro for consistency with other similar macros.
2011-08-29 17:06:18 +02:00
Wim Taymans
f3b0d3cdbe
init: add _get_type() functions
...
Remove gst_mini_object_register() and add a GST_DEFINE_MINI_OBJECT macro to
define a _get_type() function for the boxed miniobject.
Remove a bunch of custom _get_type() functions and replace them with the
miniobject macro.
Rename some _init method to _priv_*_initialize() like the rest of them.
Inspired by patch from Johan Dahlin and see bug #657603
2011-08-29 15:34:30 +02:00
Wim Taymans
4145598972
gst: add some _priv prefixes to private methods
2011-08-29 13:27:26 +02:00
Wim Taymans
1e59b651ba
mini-object: use ref/unref directly in boxed copy/free
...
GLib will not call our copy/free with a NULL object
2011-08-29 12:38:54 +02:00
Wim Taymans
5cf8e68944
Merge branch 'master' into 0.11
...
Conflicts:
gst/gstmessage.c
gst/gstquery.c
gst/gstregistrychunks.c
gst/gstsegment.c
libs/gst/base/gstbasetransform.c
libs/gst/base/gstbasetransform.h
libs/gst/base/gsttypefindhelper.c
plugins/elements/gsttypefindelement.c
2011-08-26 14:37:54 +02:00
Wim Taymans
cc1686352d
buffer: improve flags
...
Rename DROP to DECODE_ONLY.
Add DROPPABLE flag to mark buffers that can be dropped to save bandwidth without
destroying the stream.
2011-08-26 14:17:23 +02:00
Josep Torra
185ab7f325
docs: add since 0.10.36 on the new _NONE enum values
2011-08-26 14:11:15 +02:00
Josep Torra
306e317ae9
typefind: add GST_TYPE_FIND_NONE and use it
...
Fixes warning #188 : enumerated type mixed with another type reported by ICC.
2011-08-26 14:11:15 +02:00
Josep Torra
1db007e5bb
parse: use GST_PARSE_FLAG_NONE instead of 0
...
Fixes warning #188 : enumerated type mixed with another type reported by ICC.
2011-08-26 14:11:14 +02:00
Josep Torra
b26c5b99f2
value: explicitly cast to the enum type
...
Fixes warning #188 : enumerated type mixed with another type reported by ICC.
2011-08-26 14:11:14 +02:00
Josep Torra
b57683d258
utils: minor changes related to enum types
...
Fixes warning #188 : enumerated type mixed with another type reported by ICC.
2011-08-26 14:11:14 +02:00
Josep Torra
c0749e7762
trace: add GST_ALLOC_TRACE_NONE for consistency and use it
...
Fixes warning #188 : enumerated type mixed with another type reported by ICC.
2011-08-26 14:11:14 +02:00
Josep Torra
97442ad1a3
task: explicitly cast to the enum type
...
Fixes warning #188 : enumerated type mixed with another type reported by ICC.
2011-08-26 14:11:14 +02:00
Josep Torra
95b96b57a2
tagsetter: use GST_TAG_MERGE_UNDEFINED instead of FALSE
...
Fixes warning #188 : enumerated type mixed with another type reported by ICC.
2011-08-26 14:11:14 +02:00
Josep Torra
c0b0b977d7
segment: use GST_SEEK_FLAG_NONE instead of 0
...
Fixes warning #188 : enumerated type mixed with another type reported by ICC.
2011-08-26 14:11:14 +02:00
Josep Torra
9f8fe424c7
registrychunks: explicitly cast to the enum types
...
Fixes warning #188 : enumerated type mixed with another type reported by ICC.
2011-08-26 14:11:14 +02:00
Josep Torra
ec157ebed9
query: minor changes related to enum types
...
Fixes warning #188 : enumerated type mixed with another type reported by ICC.
2011-08-26 14:11:13 +02:00
Josep Torra
480d415419
padtemplate: explicitly cast to the enum types
...
Fixes warning #188 : enumerated type mixed with another type reported by ICC.
2011-08-26 14:11:13 +02:00
Josep Torra
746813344d
pad: explicitly cast to the enum type
...
Fixes warning #188 : enumerated type mixed with another type reported by ICC.
2011-08-26 14:11:13 +02:00
Josep Torra
c27ce79ba1
message: explicitly cast to the right enum types
...
Fixes warning #188 : enumerated type mixed with another type reported by ICC.
2011-08-26 14:11:13 +02:00
Josep Torra
2a6ba0b29d
info: explicitly cast to the enum type
...
Fixes warning #188 : enumerated type mixed with another type reported by ICC.
2011-08-26 14:11:13 +02:00
Josep Torra
e5d00246cf
index: explicitly cast to the enum type
...
Fixes warning #188 : enumerated type mixed with another type reported by ICC.
2011-08-26 14:11:13 +02:00
Josep Torra
11e287529d
format: use GST_FORMAT_UNDEFINED and few casts to GstFormat
...
Fixes warning #188 : enumerated type mixed with another type reported by ICC.
2011-08-26 14:11:13 +02:00
Wim Taymans
4b3ffbc14d
buffer: rename _CLIP to _DROP flag
...
We can also use a flag to indicate that a frame should be decoded but not
displayed regardless of the the segment boundaries so we use the more generic
_DROP.
2011-08-26 13:40:44 +02:00
Wim Taymans
3d87984db3
uri: some doc fixes
2011-08-26 10:57:37 +02:00
Wim Taymans
0a3aede5a8
buffer: add clip flag
2011-08-25 18:04:28 +02:00
Wim Taymans
fa8f9b50ea
buffer: rework flags a little
...
Reorder buffer flags and add some new ones.
Remove the media specific flags, we can now easily do this with the FLAG_LAST
flag because we don't extend from GstBuffer anymore.
2011-08-25 16:21:18 +02:00
Wim Taymans
b5ef693e88
buffer: always copy all buffer flags when asked
...
Don't try to be smart and copy only a subset of buffer flag
2011-08-25 16:20:21 +02:00
Wim Taymans
7ee57702a8
buffer: pluralize the buffer flags
2011-08-25 14:09:37 +02:00
Wim Taymans
6f295dc239
Merge branch 'master' into 0.11
...
Conflicts:
gst/gstobject.c
2011-08-24 10:43:09 +02:00
Stefan Kost
febde0c19f
gstobject: also remove the cast as this is causing the trouble
2011-08-23 11:55:17 +02:00
Stefan Kost
df099959fd
gstobject: use the atomic macros to deal with the glib change in the impl.
2011-08-23 11:43:44 +02:00
Wim Taymans
655f1b9c57
object: make _replace like the miniobject version
2011-08-22 12:49:04 +02:00
Wim Taymans
8170c34c94
Merge branch 'master' into 0.11
...
Conflicts:
gst/gstbuffer.h
gst/gstcaps.c
gst/gstcaps.h
gst/gstevent.c
2011-08-22 12:33:35 +02:00
Wim Taymans
405a5d2a92
value: remove our FOURCC GType
...
Remove our custom fourcc GValue.
2011-08-22 12:19:19 +02:00
David Schleef
ec6e452f63
object: make gst_object_replace() atomic
2011-08-21 14:07:08 -07:00
Stefan Kost
cce32ba0a2
docs: more clarification for element docs
...
Don't suggest deprecated method in the desction docs and try to be more helpful
in other places by suggesting related functions.
2011-08-20 14:07:55 +02:00
Stefan Kost
a3611c139a
docs: small clarification in the gst_element_get_request_pad docs
...
Make it more obvious that one should pass the template name.
2011-08-20 09:57:14 +02:00
Wim Taymans
b1573e9865
structure: add method to fixate one field
2011-08-17 17:56:40 +02:00
Wim Taymans
e4db8d0f55
docs: improve some docs
2011-08-17 09:25:04 +02:00
Wim Taymans
aefa1c67f8
buffer: return processed number of bytes
...
Make _fill, _extract and _memset return the actual number of bytes that were
handled in case the buffer size is less than the specified size.
2011-08-16 18:29:29 +02:00
Tim-Philipp Müller
eb08ed6ed0
docs: fix typo in element factory documentation
2011-08-16 17:19:29 +01:00
Wim Taymans
8698a8c94e
buffer: rename PREROLL -> LIVE flag
...
Rename the GST_BUFFER_FLAG_PREROLL to GST_BUFFER_FLAG_LIVE and give the new flag
a meaning. The old PREROLL flag never had a clear meaning.
2011-08-16 17:32:20 +02:00
Tim-Philipp Müller
4985d2a954
caps: fix compiler warning reported by ICC
...
The MAX macro expands to code that checks if an unsigned integer is < 0.
Fixes warning #186 : pointless comparison of unsigned integer reported by ICC.
https://bugzilla.gnome.org/show_bug.cgi?id=656265
2011-08-15 21:15:29 +01:00
Josep Torra
c56881a026
buffer: explicitly cast to the enum type
...
Fixes warning #188 : enumerated type mixed with another type reported by ICC.
https://bugzilla.gnome.org/show_bug.cgi?id=656265
2011-08-15 21:15:22 +01:00
Josep Torra
2271b6dc9a
gststate: explicitly cast to the enum type
...
Fixes warning #188 : enumerated type mixed with another type reported by ICC.
https://bugzilla.gnome.org/show_bug.cgi?id=656265
2011-08-15 21:15:12 +01:00
Josep Torra
89239d85cc
event: explicitly cast to the right enum types
...
Fixes warning #188 : enumerated type mixed with another type reported by ICC.
https://bugzilla.gnome.org/show_bug.cgi?id=656265
2011-08-15 21:14:55 +01:00
Josep Torra
7b434c44bf
gsterror: explicitly cast to the right GstGError code enum types
...
Fixes warning #188 : enumerated type mixed with another type reported by ICC.
https://bugzilla.gnome.org/show_bug.cgi?id=656265
2011-08-15 21:14:22 +01:00
Josep Torra
b30b78c505
debugutils: use GST_STATE_VOID_PENDING for GstState instead of 0
...
Fixes a warning reported by ICC.
https://bugzilla.gnome.org/show_bug.cgi?id=656265
2011-08-15 21:13:47 +01:00
Josep Torra
d99d270a69
caps: define GST_CAPS_FLAGS_NONE for consistency with other enumerations
...
Use them to fix warnings when building with ICC.
API: GST_CAPS_FLAGS_NONE
https://bugzilla.gnome.org/show_bug.cgi?id=656265
2011-08-15 21:13:29 +01:00
Josep Torra
abda75bcf5
gst: use GstDebugLevel enum type to fix a warning building with ICC
...
https://bugzilla.gnome.org/show_bug.cgi?id=656265
2011-08-15 21:13:03 +01:00
Wim Taymans
d22192474a
pad: make fixate caps behave like other functions
...
Install a default fixate caps function on pads like all the other pad functions.
2011-08-15 16:45:33 +02:00
Wim Taymans
e01b5c0f46
Merge branch 'master' into 0.11
2011-08-15 14:43:14 +02:00
Wim Taymans
49fc4249e5
caps: add fixate function
...
Add a fixate function and use it in gstpad.c
2011-08-15 14:40:38 +02:00
Wim Taymans
bd20d2d199
structure: add function to fixate
...
Add a function to fixate a structure and use it for the default fixate function
in gstpad.c.
2011-08-15 14:32:17 +02:00
Wim Taymans
d12738b4fa
pad: fix default acceptcaps
...
Make the acceptcaps function behave like all the other functions with a default
implementation. Don't try to chain up to the default implementation when it was
set to NULL explicitly but return FALSE instead.
Fix some docs
2011-08-15 14:19:09 +02:00
Wim Taymans
cbccf7d5bf
pad: fix some macros
...
Remove a rather usless macro to check if a pad mode is active and
add GST_PAD_IS_ACTIVE().
2011-08-15 13:24:11 +02:00
Wim Taymans
1c16ff94fc
pad: remove gst_pad_get_negotiated_caps()
...
Remove gst_pad_get_negotiated_caps(), it does not realy do what it says,
gst_pad_get_current_caps() returns the currently negotiated caps on the pad
correctly.
2011-08-15 12:16:30 +02:00
Peteris Krisjanis
59bf122584
iterator: Fix gst_iterator_next() element annotation
2011-08-12 11:48:49 +02:00
Stefan Kost
d8c0bd45a7
debugutils: removed non-sense comment
2011-08-11 10:09:41 +02:00
Edward Hervey
bdc1710be5
Merge remote-tracking branch 'origin/master' into 0.11
...
Conflicts:
gst/gstdebugutils.c
gst/gstelementdetails.h
gst/gstregistrychunks.c
tools/gst-run.c
2011-08-10 17:07:54 +02:00
Stefan Kost
20618b4c28
registry: move utf-8 validation to registry saving time
...
Instead of checking for valid utf-8 element-details every time we create
elements (from plugin-init or registry), do it before we save the registry.
Fixes #656193 .
2011-08-10 13:45:49 +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
Edward Hervey
2d4ddc3a08
gstbuffer: Clarify doc
2011-08-08 11:51:26 +02:00
Shaun Hoopes
3029a222e8
debugutils: improve dot file flow layout
...
Iterate source- and sink-pads separately to ensure that the graph reflects the
upstream/downstream order. Fixes #643269
2011-08-06 18:26:39 +02:00
Wim Taymans
99d4880f31
pad: add method to mark reconfigure
2011-08-04 17:12:21 +02:00
Wim Taymans
aa97daaf0e
fix default alignment
...
A 0 alignment is the default.
2011-08-04 11:00:57 +02:00
Wim Taymans
7c9be852bc
bufferpool: add gst_buffer_pool_is_active()
2011-08-04 10:54:29 +02:00
Wim Taymans
9324824853
bufferpool: don't add the same option twice
...
Make sure that we only add an option to the array once.
2011-08-01 18:12:12 +02:00
Wim Taymans
60cb9cddd4
bufferpool: add method to check for an option
...
Add a method to check if an option is supported on the bufferpool.
2011-07-30 14:04:43 +02:00
Wim Taymans
733e94ada8
bufferpool: add options API to bufferpool
...
Make it possible to query the supported options of a bufferpool and enable
options. This is a bit more generic than the API to enable metadata. The purpose
is to make it possible to add new custom config options to the configuration of
the bufferpool when supported.
2011-07-29 17:10:09 +02:00
Tim-Philipp Müller
388548222d
element: don't use G_CONST_RETURN
...
It's been deprecated in newer GLib versions
2011-07-28 12:11:36 +01:00
Tim-Philipp Müller
ef8ca3549e
gst: fix awkward dest_format inout parameter in query utility functions
...
The idea was originally that if one passed &dest_fmt with
dest_fmt=GST_FORMAT_DEFAULT, then the code answering the query
could change dest_fmt to the actual default format used. However,
in more than half a decade of GStreamer 0.10 no piece of code in
GStreamer has ever used that feature, nor are there that many
users of this API that actually check whether the format returned
is the original format passed before using the values returned.
Also, it's just annoying-to-use API in its own right.
For all these reasons, make it so that the destination format is
passed directly and can't be changed by the element queried.
2011-07-28 11:23:15 +01:00
Wim Taymans
cf18fa9ce5
Merge branch 'master' into 0.11
2011-07-27 12:50:39 +02:00
Tim-Philipp Müller
317fba25a6
elementfactory: fix g-i annotation for _create() and _make() to allow NULL object names
2011-07-27 10:09:11 +01:00
Wim Taymans
5e330fa456
pad: improve the getcaps function
...
Refactor calling the GETCAPS function and checks.
Move the filter code in one place.
When using fixed pad caps, get the currently configured caps and then fallback
to the GETCAPS function. We used to simply ignore the GETCAPS function, which
resulted in transform elements returning the template caps instead of doing the
caps transform.
2011-07-26 18:48:20 +02:00
Wim Taymans
cea4b4c7d5
pad: only update caps when changed
...
Only call the event function with the caps event when the caps changed.
2011-07-26 16:10:42 +02:00
Wim Taymans
61481ac9e5
pad: add allocation query just because
2011-07-26 12:20:04 +02:00
Wim Taymans
d54f3f1385
poll: improve debugging
2011-07-25 15:21:21 +02:00
Wim Taymans
ee235a6b07
miniobject: avoid race in bufferpool release
...
Avoid playing with the refcount to decide when a buffer has been recycled by the
dispose function. The problem is that we then temporarily can have a buffer with
a refcount > 1 being acquired from the pool, which is not writable. Instead use
a simple boolean return value from the dispose function to inform the called
that the object was recycled or not.
2011-07-25 12:53:10 +02:00
Wim Taymans
43f61f5c40
bufferpool: start with raised control socket
...
In the inactive state, the control socket should be in the raised state, we will
release it when we start.
2011-07-25 12:16:13 +01:00
Wim Taymans
dd045fd0ed
bufferpool: add reset_buffer vmethod
...
Add a vmethod to reset a buffer to its original state. Add a default
implementation that resets the flags, timestamps and offsets.
Add some more docs.
2011-07-21 18:50:25 +02:00
Wim Taymans
92aa4fede9
Merge branch 'master' into 0.11
...
Conflicts:
libs/gst/base/gstbaseparse.c
libs/gst/base/gstbasesink.c
2011-07-21 16:49:13 +02:00
Raluca Elena Podiuc
43f5624334
docs: removed double negation in event/message seq num description
...
https://bugzilla.gnome.org/show_bug.cgi?id=654751
2011-07-16 23:53:03 +01:00
Wim Taymans
1dddb1f704
bufferpool: call release_buffer after alloc
...
After we allocated a new buffer, call the release_buffer vmethod to put the new
buffer in the pool instead of assuming that the pool uses the default
release_method implementation.
2011-07-15 13:27:13 +02:00
Wim Taymans
2f429009a3
bufferpool: add macro to check for flushing
2011-07-15 11:52:22 +02:00
Wim Taymans
cc16dd8498
buffer: improve debug message
2011-07-15 11:51:54 +02:00
Wim Taymans
1a3f48f427
buffer: fix resize function some more
...
Don't remove memory blocks from the buffer when we clip and resize, instead set
the memory offset and size to 0. This allows us to make the buffer larger again
later.
2011-07-12 14:07:57 +02:00
Wim Taymans
a19baf77e7
buffer: improve size handling
...
Also handle the case where multiple empty memory blocks are in the buffer.
Add unit test for this.
2011-07-12 13:40:35 +02:00
Wim Taymans
a5ee20db3f
buffer: fix _resize some more
...
Add more debug.
Alow resize to 0 bytes.
Do clipping correctly.
Add more unit tests. Also add a failing test: when we resize to 0 and then
try to resize back to the original size it fails because the memory was
removed.
2011-07-12 12:00:58 +02:00
Wim Taymans
8461249f22
buffer: fix negative offsets some more
...
Allow for negative offsets when doing memory copy and share.
Add fast path in the _get_sizes() function.
Fix resize for negative offset and expanding the buffer.
Add some unit tests.
2011-07-11 18:00:52 +02:00
Wim Taymans
6b3572feab
buffer: fix _resize better
2011-07-11 16:42:56 +02:00
Wim Taymans
abf6293639
buffer: add api to get the current memory offset
...
Also return the offset in a GstMemory block with the get_sizes() method. This
allows us to figure out how much prefix there is unused.
Change the resize function so that a negative offset can be given. This would
make it possible to resize the buffer so that the prefix becomes available.
Add gst_buffer_get_sizes() to return the offset and maxsize as well as the size.
Also change the buffer resize method so that we can specify a negative offset
to remove prefix bytes.
2011-07-11 16:24:16 +02:00
Mark Nauwelaerts
21e0d113cf
buffer: add some memory wrapped buffer allocation helpers
2011-07-11 14:43:19 +02:00
Wim Taymans
8cf3fa5c6d
miniobject: cleanup headers
2011-07-11 12:11:35 +02:00
Mark Nauwelaerts
b3bf6cdfd8
pad: avoid inadvertently dropping an event
...
... particularly a non-sticky serialized event that happens to pass
when an event update is pending.
2011-07-11 11:59:18 +02:00
Tim-Philipp Müller
75c81c2120
buffer: make idx argument to gst_buffer_take_memory() signed
...
Since -1 is acceptable, it should be signed.
2011-07-08 13:53:35 +01:00
Wim Taymans
b171259612
Merge branch 'master' into 0.11
...
Conflicts:
libs/gst/base/gstbasesrc.c
2011-07-07 11:13:19 +02:00
Wim Taymans
806cf03fbc
buffer: add memset function
2011-07-07 11:02:09 +02:00
Tim-Philipp Müller
a1f6e02149
buffer: fix guards for gst_buffer_take_memory()
...
Since idx = -1 makes it default to idx=len, len is also
a valid input idx.
2011-07-06 12:09:28 +01:00
Wim Taymans
3bb21e0203
gst: add class ref/unref
2011-07-05 16:38:06 +02:00
Tim-Philipp Müller
0a6ec83336
gst: make compiler warn about unstable API if GST_USE_UNSTABLE_API is not defined
...
And define it in our own build.
2011-07-05 09:46:43 +01:00
Tim-Philipp Müller
3dbcb73b11
Remove GstImplementsInterface
...
It was a bit too clever, and didn't really work as an API,
confusing people to no end. Better implement specific methods
whether an interface is usable/available/ready on the interface
itself, or even add GError arguments, rather than try to have
per-instance interfaces.
2011-06-26 22:59:26 +01:00
Emmanuel Pacaud
156583a69c
task: Check for PR_SET_NAME before using
...
Fixes : #653172 .
Signed-off-by: David Schleef <ds@schleef.org>
2011-06-25 13:52:28 -07:00
Wim Taymans
0aa1465bbc
query: add method to check for metadata
...
Add a method to check if a certain metadata is supported in the ALLOCATION
query.
2011-06-23 18:03:22 +02:00
Koop Mast
4fe5dd2b9d
segment: cast to right type
...
See #653137
2011-06-22 16:58:53 +02:00
Wim Taymans
b322a401c7
uri: remove some _full variants
2011-06-22 16:38:04 +02:00
Wim Taymans
6da2a33b7a
tags: Remove crazy tag messages
...
Don't mix messages and pads and tags.
Make the sink post tag messages when a tag event is received.
Since tags are sticky on pads now, they can be retrieved from there
when needed.
2011-06-22 16:16:56 +02:00
Wim Taymans
314a2b961a
caps: Hide implementation details
...
Make the Array of structures private. This should allow us to implement
the array more efficiently or with some preallocated structures when
we want to later.
Add a new method to clean up a static structure so that we can remove some code
that pokes into the private bits of the caps.
2011-06-22 12:28:14 +02:00
Wim Taymans
3884badea6
memory: rename GstMemoryAllocator -> GstAllocator
...
simplify the name of the allocator object.
2011-06-22 11:42:46 +02:00
Wim Taymans
36c111a844
bufferpool: return empty metadata array
...
Return a string array with NULL instead of NULL from the default get_metas
function.
2011-06-21 12:32:46 +02:00
Wim Taymans
872e7d52df
pad: use event function directly
...
We will never go in this code path for CAPS events so directly call the event
function.
2011-06-21 12:31:57 +02:00
Wim Taymans
de3b6e733f
pad: notify caps after we store the new caps
...
notify caps after we store the new caps so that the new caps are actually
visible for the app.
2011-06-21 10:29:51 +02:00
Wim Taymans
9177367984
ghostpad: improve debug
...
Log a debug line when there is no target pad and when this makes the default
implementation fail.
Take the internal pads directly when we can.
2011-06-20 16:53:03 +02:00
Wim Taymans
a22274d7a1
bufferpool: add function to set metadata api
...
Add a function to retrieve an array of supported metadata apis from the the
bufferpool.
Add functions to configure and query the configured metadata apis in a
bufferpool configuration.
2011-06-20 13:26:06 +02:00
Thiago Santos
00c891a823
gstbuffer: Minor fix to docs
...
Adds missing parameter to docs of gst_buffer_copy_region
2011-06-19 13:17:06 -03:00
Edward Hervey
a885082a16
gstpad: Remove unused variable do_event_actions
...
do_event_actions was always used as TRUE
2011-06-18 17:35:41 +02:00
Tim-Philipp Müller
9eee73dcc6
Revert "utils: remove some macros now in glib"
...
This reverts commit de29ae7b92
.
Re-adds GFLOAT_TO_LE, GFLOAT_TO_BE, GDOUBLE_TO_LE, and GDOUBLE_TO_BE.
Turns out these aren't in GLib yet afer all (since we didn't
actually open a bug to get them added..)
2011-06-16 10:55:15 +01: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
Wim Taymans
a59defb90f
pad: don't forward scheduling query
...
The scheduling query should not be forwarded, because elements need to implement
special code to handle different scheduling methods.
2011-06-13 16:30:22 +02:00
Wim Taymans
d837268a77
buffer: add more debug
2011-06-13 12:04:28 +02:00
Wim Taymans
9b9b758688
bufferpool: small indentation fix
2011-06-13 11:51:08 +02:00
Wim Taymans
468dbbbaaf
buffer: pass the allocator as const
2011-06-13 11:50:42 +02:00
Wim Taymans
a14623f925
query: add some more checks
...
Make sure that the alignment is valid.
When we have a 0 size (variable buffer size), we can't have a bufferpool.
2011-06-11 20:45:42 +02:00
Wim Taymans
bb2d7241fa
query: set all default values
...
Fill all query values with good defaults.
2011-06-11 19:54:47 +02:00
Wim Taymans
6ca5d44704
bufferpool: remove postfix parameter
...
Remove the postfix parameter, it's not used and can be done differently.
2011-06-11 18:52:42 +02:00
Wim Taymans
2b071ea395
bufferpool: use same alignment values as GstMemory
...
Use the same alignment values for the bufferpool as we use for the GstMemory
API.
2011-06-10 17:50:27 +02:00
Wim Taymans
2d6a59aa83
pad: add _check_reconfigure() method
...
Add a method to check and clear the RECONFIGURE flag on a pad.
2011-06-10 17:32:20 +02:00
Wim Taymans
eeb07b3f3d
buffer: add support for buffer in memory
...
Fix the code to support allocating the buffer and memory in one memory block.
Add an extra variable to store the memory of the buffer.
This code is disabled still because of complications.
2011-06-10 16:47:29 +02:00
Wim Taymans
3e5c5fb034
memory: expose default alignment
...
Export the gst_memory_alignment variable so that others can know the default
configured alignment of the system.
2011-06-10 16:46:12 +02:00
Wim Taymans
7c475cc60f
memory: fix is_span
...
Subtract the offset of the parent from is_span.
2011-06-10 16:19:46 +02:00
Wim Taymans
17ff81fc7d
memory: respect configured alignment
...
Move the alignment from GstBuffer to GstMemory.
make sure memory is at least aligned to the configured values.
2011-06-10 13:59:31 +02:00
Wim Taymans
b27ee30a35
buffer: make new _buffer_allocate method
...
Make a new method to allocate a buffer + memory that takes the allocator and the
alignment as parameters. Provide a macro for the old method but prefer to use
the new method to encourage plugins to negotiate the allocator properly.
2011-06-10 13:49:23 +02:00
Wim Taymans
2d28891528
Merge branch 'master' into 0.11
...
Conflicts:
gst/gstelementfactory.c
gst/gstelementfactory.h
gst/gstpad.h
gst/gstpluginfeature.c
gst/gstpluginfeature.h
2011-06-10 12:09:49 +02:00
Wim Taymans
bbfec45ecc
event: add reset_time boolean to flush_stop event
...
Add a boolean to the flush_stop event to make it possible to implement flushes
that don't reset_time.
Make basesink post async_done with the reset_time property from the flush stop
event.
Fix some unit tests
2011-06-10 11:55:08 +02:00
Javier Jardón
5d25e4a204
Use "const" instead G_CONST_RETURN
...
G_CONST_RETURN will be deprecated soon.
https://bugzilla.gnome.org/show_bug.cgi?id=652211
2011-06-09 17:54:27 +01:00
Wim Taymans
ab0ab2fbca
pad: use new event methods to replace events
...
Using the new event methods, we can atomically transfer the event from the
pending list to the active list.
2011-06-09 13:37:28 +02:00
Wim Taymans
1b21f2af8f
event: make macros for new miniobject methods
2011-06-09 13:36:52 +02:00
Wim Taymans
1b98eb34d7
miniobject: add new methods to manage miniobject pointers
...
Add a new method to steal the miniobject stored at a location.
Add a new method to store a miniobject in a location and taking ownership
of the miniobject.
2011-06-09 13:35:08 +02:00
Wim Taymans
9d2953288c
pad: fix header
2011-06-09 13:34:19 +02:00
Wim Taymans
98fdfa1815
pad: fix spurious include
2011-06-09 12:31:47 +02:00
Wim Taymans
d8212d941c
pad: forward events by default
...
Always forward all events in the default handler. Previously it used to not
forward caps events by default. It makes more sense to forward the caps events,
if the element is interested in the caps, it will implement an event handler to
retrieve the caps and then it can decide to forward or not. If the element has
no event handler, it probably just doesn't care about caps and it probably is
also not going to modify the data in a way that needs a caps change.
2011-06-09 11:49:20 +02:00
Wim Taymans
4a424c379f
buffer: fix typo in docs
2011-06-09 11:13:55 +02:00
Wim Taymans
b0a827cc6b
message: rename variable
...
Rename the new_base_time variable to reset_time, which looks better.
2011-06-08 17:25:43 +02:00
Wim Taymans
3798b5fe5b
segment: separate the seek and segment flags
...
Separate the seek flags and segment flags as separate enums because we might
want to have different flags for both.
2011-06-08 16:41:05 +02:00
Wim Taymans
3cb8b33935
message: move the new_base_time flag to async_done
...
Move the flag to indicate that a new_base_time should be distributed to the
pipeline, from the async_start to the async_done message. This would allow us to
decide when to reset the pipeline time based on other reasons than the
FLUSH_START event.
The main goal eventually is to make the FLUSH events not reset time at all but
reset the time based on the first buffer or segment that prerolls the pipeline
again.
2011-06-08 13:45:19 +02:00
Edward Hervey
d0b30f01b0
gstbuffer: Remove deprecated GST_BUFFER_* macros
...
data, size, mallocdata and free_func no longer exist.
2011-06-08 13:30:49 +02:00
Wim Taymans
14a0e31e69
pad: remove setcaps function
...
Remove the setcaps function, elements should use the caps event to be informed
of the format.
2011-06-08 12:58:29 +02:00
Wim Taymans
b84fff07ea
memory: Require implementation to implement _share
...
Require the memory implementations to implement a share operation. This allows
us to remove the fallback share implementation which uses a different allocator
implementation and complicates things too much.
Update design doc a bit.
2011-06-08 12:04:49 +02:00
Wim Taymans
f6dc8eba34
memory: cleanups and improve docs
...
Make the fallback copy use the same memory allocator as the original object.
Improve some docs.
Require an alloc function when registering an allocator.
Remove gst_memory_allocator_get_default() and merge the feature in
gst_memory_allocator_find()
Fix locks on the hashtable.
Remove defined but not-implemented gst_memory_span() method.
2011-06-08 11:03:50 +02:00
Wim Taymans
cfd3faef5a
memory: pass user_data to the alloc function
...
Pass the user data that was passed to _register to the alloc function of an
allocator.
2011-06-07 17:54:33 +02:00
Wim Taymans
70e799c8fc
memory: fix some typos
2011-06-07 17:34:17 +02:00
Wim Taymans
78ea732149
query: add methods to query allocators
...
Add API to add and query allocator implementations to/from the ALLOCATION query.
2011-06-07 16:35:07 +02:00
Wim Taymans
acb3ee9b2c
memory: use allocators to allocate memory
...
Rename the GstMemoryImpl to GstMemoryAllocator because that's really what it is.
Add an alloc vmethod to the allocator members.
Improve registration of allocators.
Add methods to get and set the default allocator
Always use an allocator to allocate memory, use the default allocator when NULL
is passed.
Add user_data to the allocator Info so that we can pass extra info to the
allocator new method.
2011-06-07 16:19:33 +02:00
Wim Taymans
b5976339e2
event: move some more defines on top
2011-06-07 13:38:35 +02:00
Wim Taymans
44b4312d96
fix some circular includes
...
typedef some structs before including other files to avoid circular dependencies
in the header files.
2011-06-07 13:25:26 +02:00
Wim Taymans
016e750a41
utils: remove proxy_setcaps
...
Remove proxy_setcaps, elements should use the caps event and forward caps
themselves.
2011-06-07 10:52:02 +02:00
Wim Taymans
b5351dadcd
pad: Improve pad event forward code
...
Return TRUE when the pad has no parent or when there are no internally linked
pads.
2011-06-07 10:49:34 +02:00
Wim Taymans
9058499eeb
pad: Rename and rework the dispatcher function
...
Rename gst_pad_dispatcher() to gst_pad_forward() and make it more useful by
iterating the internal links of a pad and handling resync properly.
Add a method gst_pad_event_forward() that unconditionally forwards an event to
all internally linked pads.
Update some pad code to use the new forward function.
2011-06-07 10:02:06 +02:00
Wim Taymans
a767bf2bf9
caps: use the caps event
...
Use the caps event instead of gst_pad_set_caps() and the setcaps function
2011-06-07 09:43:20 +02:00
Edward Hervey
ba8c8bb2c8
gst: Add enum/flags (de)registration in gst_(de)init
2011-06-06 11:21:23 +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
Tim-Philipp Müller
5a8273e527
Merge branch 'master' into 0.11
2011-06-05 15:48:51 +01:00
Tim-Philipp Müller
6d374e54b9
parse: add prototypes for unused functions to avoid compiler warning
...
The warning is never fatal, because we don't use -Werror for the
parser helper library build, but the warnings are annoying anyway.
2011-06-05 15:27:19 +01:00
Tim-Philipp Müller
bc69efa7cc
info: remove GST_XML debug category as well
2011-06-04 15:23:56 +01:00
Tim-Philipp Müller
a4092cd5c4
Remove everything libxml2- and loadsave-related
2011-06-04 15:22:06 +01:00
David Schleef
f3eac7de22
Work around changes in g_atomic API
...
See #651514 for details. It's apparently impossible to write code
that avoids both type punning warnings with old g_atomic headers and
assertions in the new. Thus, macros and a version check.
2011-06-04 00:36:26 -07:00
Edward Hervey
20d1ee87cb
gstpad: Small doc fixup
2011-06-03 18:10:24 +02:00
Wim Taymans
07aca4a698
pad: clean up probe flags
2011-06-03 17:24:45 +02:00
Wim Taymans
f851685f92
pad: check flushing in pullrange too
2011-06-03 16:46:26 +02:00
Wim Taymans
8dda6b462d
pad: cleanups
...
Use defines instead of hardcoded values for masks.
2011-06-03 13:56:04 +02:00
Wim Taymans
7b43f02ed3
structure: fix some more 0.11 fixmes
...
don't allow spaces in structure names and fix unit tests.
2011-06-03 13:25:54 +02:00
Wim Taymans
89121c18e5
bufferpool: make the default behaviour to wait
...
The most common case is to not specify any flags when doing the allocation. Make
the allocation from a pool with a maximum amount of buffers block by default for
this reason.
2011-06-03 12:40:56 +02:00
Wim Taymans
5426527b70
ghostpad: remove setcaps functions
...
Remove the setcaps functions, it is now handled with the caps event.
2011-06-02 19:23:47 +02:00
Wim Taymans
539cceab88
buffer: pass the right alignment
2011-06-02 18:28:54 +02:00
Wim Taymans
b05ee3ddb2
memmory: small cleanup
2011-06-02 18:28:17 +02:00
Wim Taymans
c8fc05743d
memory: fix alignment calculations
...
Fix the alignment calculation.
Improve documentation.
2011-06-02 18:13:33 +02:00
Wim Taymans
d2d23074af
pool: debug the config
2011-06-02 18:13:10 +02:00
Wim Taymans
de29ae7b92
utils: remove some macros now in glib
...
We depend on the right glib now
2011-06-02 15:38:43 +02:00
Wim Taymans
04323a0bb9
structure: fix a FIXME
2011-06-02 15:38:29 +02:00
Wim Taymans
589499c07e
utils: use g_printerr() as stated in the FIXME
2011-06-02 15:38:04 +02:00
Wim Taymans
0de2f64e12
element: small cleanups
2011-06-02 15:37:41 +02:00
Wim Taymans
9555a7f8d0
element: inline the recursice state lock
2011-06-02 14:09:46 +02:00
Wim Taymans
b5d35162ae
pad: inline the recursive stream lock
2011-06-02 13:46:26 +02:00
Wim Taymans
fde7d867bd
pad: remove unused fields and methods and signals
2011-06-02 13:35:52 +02:00
Wim Taymans
d863976e59
pad: use new gst_value_fixate instead
...
Use the new gst_value_fixate() function instead of our own version.
2011-06-02 13:23:53 +02:00
Wim Taymans
e2b6e88d5f
value: add function to fixate a value
...
Add a function to fixate a GValue. This is the same function as is in GstPad.
2011-06-02 13:21:55 +02:00
Wim Taymans
9553ea1c07
caps: remove some custom refcounting methods
...
Remove some custom made refcounting methods and use the miniobject ones instead.
2011-06-02 13:18:39 +02:00
Wim Taymans
2b9c34cd70
pad: optimize linking
...
Optimize linking by only releasing the pad locks when there are link functions
installed on the pads.
Add some G_LIKELY here and there.
Move error paths out of the main code flow.
2011-06-02 12:40:05 +02:00
Wim Taymans
50a8e0431c
pad: remove deprecated have-data signal
2011-06-02 12:39:34 +02:00
Wim Taymans
541258f0e9
pad: add idle probe for pull method too
2011-06-02 11:21:09 +02:00
Wim Taymans
e2eae110a9
pad: more cleanups
...
Use miniobject unref when we can
Reuse existing data type identifier instead of an extra boolean.
2011-06-02 11:01:31 +02:00
Wim Taymans
272b3263aa
Merge branch 'master' into 0.11
...
Conflicts:
plugins/elements/gstoutputselector.c
2011-06-01 19:47:10 +02:00