Tim-Philipp Müller
4d2adb0249
pad, task: improve debug logging
2012-03-08 16:30:49 +00:00
Tim-Philipp Müller
c683e39429
pads, collectpads2: get rid of superfluous brackets around static rec mutex calls
...
Makes it possible to define those calls to something for tracing.
2012-03-08 16:27:48 +00:00
Tim-Philipp Müller
3e8d6d6064
value: remove gst_value_register_{subtract,union,intersect}_func() API
...
There isn't really any need to provide public API for that. It's not
used anywhere in practice, and we aim to provide an API that works
for GstCaps, not some kind of generic set manipulation API based on
GValue. Making this private also makes it easier to optimise this
later. We can always put it back if someone actually needs it.
2012-03-08 11:21:37 +00:00
Wim Taymans
7b8263de93
pad: return ANY for a pad without template
...
Because gst_pad_get_pad_template_caps() returns ANY when there is no template,
the query caps function should also return ANY when there is no template (and no
pad current caps) instead of EMPTY.
2012-03-08 10:34:42 +01:00
Wim Taymans
4232b47685
pad: small cleanup
2012-03-08 10:34:41 +01:00
Wim Taymans
185b3c6a0d
memory: add comment
2012-03-08 10:34:41 +01:00
Sebastian Dröge
6b4091a30d
Merge branch 'master' into 0.11
...
Conflicts:
libs/gst/base/gstbaseparse.c
libs/gst/base/gstbasetransform.c
plugins/elements/gsttee.c
2012-03-08 10:19:52 +01:00
Sebastian Dröge
c8cde669b7
gst: Fix 'comparison of unsigned enum expression >= 0 is always true' compiler warning
2012-03-06 12:16:19 +01:00
Wim Taymans
0d9f22d212
gst: include gstmeta.h
2012-03-02 17:04:05 +01:00
Wim Taymans
b3c8264a14
bufferpool: add more debug info
2012-03-02 17:03:49 +01:00
Wim Taymans
5cd35d6386
meta: add boolean to signal a region copy
...
Add a boolean to the metadata copy transform that signals if a only a
region is copied.
2012-03-02 12:45:23 +01:00
Wim Taymans
36b6204811
meta: transform docs
...
Use gst- prefix for metadata transform types.
2012-03-02 11:57:52 +01:00
Sebastian Dröge
cfe71423f0
gst: Remove gstmarshal.[ch] completely and use the generic marshaller
...
Fixes bug #671130 .
2012-03-02 11:05:48 +01:00
Sebastian Dröge
441402f9d5
gst: Don't install gstmarshal.h
...
The generic, FFI based marshaller should be used instead of these
and we definitely shouldn't export the marshallers in our public API.
2012-03-02 10:51:42 +01:00
Wim Taymans
391b4309f9
meta: improve debugging
...
Add category for metadata debug
2012-03-01 17:41:57 +01:00
Wim Taymans
fe0d89f73b
pad: improve debugging
2012-03-01 17:41:57 +01:00
Wim Taymans
faae1d9ff2
meta: add tag for memory metadata
2012-03-01 17:41:57 +01:00
Wim Taymans
b1dfe92f5c
query: add method to remove allocation_meta
...
Also g_return_if_fail for out-of-bounds access instead of silently failing.
2012-03-01 17:41:57 +01:00
Sebastian Dröge
99a8cd1048
Merge branch 'master' into 0.11
...
Conflicts:
libs/gst/base/gstcollectpads2.c
libs/gst/check/gstconsistencychecker.c
2012-03-01 14:43:01 +01:00
Mark Nauwelaerts
70b5fc7ff0
pad: fix some debug message typos
2012-03-01 10:49:45 +01:00
Wim Taymans
e80296cf46
meta: split registration of API and implementation
...
Split out the registration of the metadata API and its implementation. Make a
GType for each metadata API. This allows us to store extra information with the
API type such as the tags.
Change the buffer API so that we can get the metadata using the API GType.
Change the query API so that we use the metadata API GType in the allocation
query instead of a string.
Update netaddress and unit tests
2012-02-29 17:37:09 +01:00
Wim Taymans
fc01e757cf
minobject: small .h indent fix
2012-02-29 17:37:09 +01:00
Tim-Philipp Müller
ebe525be4c
structure: print a g_warning() if someone tries to construct 0.10-style raw audio/video caps
2012-02-29 12:41:44 +00:00
Wim Taymans
f0105dd81f
meta: add return vale to transform
...
Add a boolean return value so that we can see when a transform fails.
2012-02-28 16:17:47 +01:00
Wim Taymans
6e0e782025
meta: add method to check for a tag
2012-02-28 12:52:00 +01:00
Wim Taymans
166cfadb71
meta: add support to tagging the metadata
...
Add support for adding tags to the metadata. with some standard keys, this
should make it possible to describe what the metadata refers to. We should be
able to use this information to decide if a transformation destroys the metadata
or not.
2012-02-28 11:34:48 +01:00
Edward Hervey
823807c5f0
Suppress deprecation warnings in selected files, for g_value_array_* mostly
2012-02-27 13:43:59 +01:00
Wim Taymans
b95ceeb09b
remove some useless includes in .h
2012-02-27 09:48:06 +01:00
Wim Taymans
eb84682e92
clock: make more stuff private
...
Expose methods to get and set the timeout because subclasses uses this.
2012-02-27 09:11:36 +01:00
Wim Taymans
8909205b85
systemclock: make more stuff private
2012-02-27 09:11:36 +01:00
Wim Taymans
10056f1833
bufferpool: make more stuff private
2012-02-27 09:11:36 +01:00
Wim Taymans
cd25c05b02
bus: make more fields private
2012-02-27 09:11:36 +01:00
Tim-Philipp Müller
1fbcc71dbd
Merge remote-tracking branch 'origin/master' into 0.11
...
Conflicts:
NEWS
RELEASE
configure.ac
docs/plugins/gstreamer-plugins.hierarchy
docs/plugins/inspect/plugin-coreelements.xml
libs/gst/base/gstcollectpads.c
libs/gst/base/gstcollectpads2.c
plugins/elements/gstfdsink.c
win32/common/config.h
win32/common/gstenumtypes.c
win32/common/gstversion.h
2012-02-27 00:08:39 +00:00
Tim-Philipp Müller
031514faeb
registry: fix lseek() return code handling
...
lseek() returns the offset if successful, and this is != 0 and
does not indicate an error. And if it does actually fail, don't
return FALSE (0) as an int, but -1. None of these things are
likely to have made a difference, ever. I don't think the offset
seek can ever actually happen, the current file position and the
current offset should always be increased in lock step, unless
there was an error in which case we'd just error out.
2012-02-24 23:49:54 +00:00
Tim-Philipp Müller
c25b8e153d
registry: don't forget to clean up registry temp file in another error case
...
Also clean up temp file if we get an error during write() rather
than just when doing fsync() or close().
2012-02-24 23:49:54 +00:00
Wim Taymans
ed29f33ddb
atomicqueue: fix race
...
After a writer has written to its reserved write location, it can only make the
location available for reading if all of the writers with lower locations have
finished.
2012-02-24 15:24:42 +01:00
Wim Taymans
61e8fa0dc5
atomicqueue: fix subtle race
...
Fix a race where the reader would see the updated the tail pointer before the
write could write the data into the queue. Fix this by having a separate reader
tail pointer that is only incremented after the writer wrote the data.
2012-02-24 12:51:24 +01:00
Wim Taymans
6b22a63f1b
meta: flesh out the metadata transform
...
Flesh out the transform method. Add a type and extra info to the transform
function so that implementation can transform the metadata.
Remove the copy function and replace with the more generic transform.
2012-02-24 10:28:56 +01:00
David Schleef
bc186f85ed
spelling fix
2012-02-23 08:48:40 -08:00
David Schleef
fb0b63d8fd
poll: fix spelling of writable
2012-02-23 08:48:40 -08:00
Wim Taymans
69d56a2927
memory: add user_data to GstMapInfo
...
Add extra pointers to GstMapInfo so that implementations can use these to store
extra info.
2012-02-23 15:32:33 +01:00
Wim Taymans
1a8a371bce
bufferpool: improve docs
2012-02-23 15:32:19 +01:00
Wim Taymans
7b0e4f27fb
memory: make _new_wrapped take user_data and notify
...
Make it possible to configure a GDestroyNotify and user_data for
gst_memory_new_wrapped() this allows for more flexible wrapping of foreign
memory blocks.
2012-02-22 02:10:21 +01:00
Wim Taymans
c105b467fa
pad: handle NULL callbacks
...
When we have a matching NULL callback, also consider the 'callback' marshalled,
this way blocking probes with a NULL callback actually work.
2012-02-21 16:37:11 +01:00
Wim Taymans
afba547722
segment: don't use duration in clipping
...
Don't use the duration in the segment for calculating clipping values.
The duration is expressed in stream time and clipping is done on unrelated
timestamp values.
This used to be interesting for elements that used the segment structure to
implement seeking because then they would use stream-time for the segment
start/stop values and the duration could be used as a fallback when the stop
position was not set. Now that the complete segment event is passed between
elements we cannot do this anymore because some elements might store the
duration and start/stop values with different time bases in the segment.
2012-02-20 14:39:26 +01:00
Wim Taymans
3eeb6e6c05
info: debug segment duration as well
2012-02-20 14:28:57 +01:00
Wim Taymans
d09073b755
memory: fix more docs
2012-02-18 01:04:18 +01:00
Edward Hervey
f730ab02a4
doc fixups
2012-02-17 15:53:58 -08:00
Edward Hervey
60be53fabf
gstvalue: Remove useless assignment
2012-02-17 15:11:38 -08:00
Edward Hervey
963267643e
gstvalue: Gracefully handle NULL Gvalue
...
Avoids unreferencing NULL pointer
2012-02-17 15:11:38 -08:00
Wim Taymans
386562f7e4
pad: make some errors critical
...
When we have no chain function or when we are operating the pad in the wrong
mode, emit a critical instead of posting an error message. This is certainly a
programming error and we cannot always post a message (like when the pad has no
parent)
2012-02-18 00:03:41 +01:00
Wim Taymans
7fc783f723
info: also debug position of segment
2012-02-18 00:03:13 +01:00
Wim Taymans
592ead764c
task: add more debug
2012-02-15 12:18:38 +01:00
Wim Taymans
c6a1bed1ad
memory: more work on refcount and writability
...
Rename _is_writable() with _is_exclusive because the writability does not depend
on the amount of references to the memory object anymore.
Add accessor macros for the memory flags.
Rename the GstBuffer _peek_memory() method to _get_memory() and return a
reference to the memory now that we can do this without affecting writability
of the memory object. Make it possible to also make this function merge the
buffer memory.
Add methods to replace memory in a buffer. Make some convience macros for the
buffer memory functions.
Fix unit tests.
2012-02-13 18:04:03 +01:00
Wim Taymans
c32456224e
meta: fix typos
2012-02-13 16:42:56 +01:00
Tim-Philipp Müller
7329843fe6
event: make _parse_nth_stream_config_header() and _parse_setup_data() return a boolean
...
As they can fail (only one of stream headers or setup data
is usually present).
2012-02-12 21:05:45 +00:00
Tim-Philipp Müller
4d937fafbb
event: rename gst_event_{set,parse}_stream_config_codec_data() to _setup_data()
...
More generic.
2012-02-12 20:51:39 +00:00
Wim Taymans
151d7faca3
clean up object init
...
Make an _init method where the parent mini-object and other fields are
initialized.
Check that the passed structure doesn't already have a parent.
Use the _new_custom () constructors
2012-02-10 15:02:23 +01:00
Wim Taymans
c9a3051b37
pad: silence probe debug a litte
2012-02-10 12:05:18 +01:00
Wim Taymans
34f770a900
gst: add some performance logging
...
Add some performance logging for caps copy and the slow default acceptcaps
implementation
2012-02-10 11:09:01 +01:00
Wim Taymans
3d4a1a98b5
docs: update and improve docs
2012-02-09 11:48:02 +01:00
Tim-Philipp Müller
552d726c3a
utils: remove gst_element_class_install_std_props()
...
It's only used in one place (rtmp), and there not very well.
2012-02-09 00:14:58 +00:00
Wim Taymans
7ab1d62c24
GST_FLOW_WRONG_STATE -> GST_FLOW_FLUSHING
2012-02-08 16:18:04 +01:00
Wim Taymans
92de0b6143
Merge branch 'master' into 0.11
2012-02-08 14:45:25 +01:00
Wim Taymans
bcf3daebd4
pad: error when activation mode is wrong
...
Post an error when we try to push on a pad activated in pull mode and pull on a
pad in push mode.
2012-02-08 12:57:11 +01:00
Wim Taymans
7cb4828e93
clock: remove method declaration too
2012-02-08 09:30:02 +01:00
Stefan Sauer
110e7c2d3c
clock: remove unimplemented stats property while we can
2012-02-07 13:41:20 +01:00
Wim Taymans
a46f0862cd
gst: improve debugging
2012-02-06 09:46:47 +01:00
Havard Graff
609e618e70
registry: fix compilation with --disable-registry
...
__registry_reuse_plugin_scanner is only defined when
GST_DISABLE_REGISTRY is not defined.
gstregistry.c: In function 'gst_registry_scan_plugin_file':
gstregistry.c:1131:8: error: '__registry_reuse_plugin_scanner' undeclared (first use in this function)
https://bugzilla.gnome.org/show_bug.cgi?id=667284
2012-02-04 15:52:21 +00:00
Vincent Penquerc'h
ec7a7c318a
bin: reset the EOS detection machinery after sending an EOS message
...
This will allow detecting further EOS, for instance after looping
a stream without changing states.
https://bugzilla.gnome.org/show_bug.cgi?id=668289
2012-02-03 11:23:28 +00:00
Wim Taymans
da793d7255
trace: print caps in dump
2012-02-02 16:59:12 +01:00
Wim Taymans
18ddee3b45
memory: add debug and trace for GstMemory
2012-02-02 15:57:48 +01:00
Wim Taymans
5d6999f804
trace: don't check random pointers for objects
...
Only see if the traced pointer is a GObject when it was registered with the
special offset of -2.
2012-02-02 15:55:44 +01:00
Wim Taymans
e60b67f907
Update debug categories
...
Remove some categories marked for deletion.
Add a category for GstMemory.
2012-02-02 15:54:28 +01:00
Wim Taymans
f5886a17f5
remove TRACE_NAME from headers
2012-02-02 15:52:19 +01:00
Wim Taymans
d8c12ceb2b
memory: add some performce debug info
...
Add some PERFORMANCE debug lines where we copy and do other suboptimal things.
2012-02-02 12:07:28 +01:00
Wim Taymans
d54fbe677f
pad: add flag to proxy allocation query
...
Add a flag to force the default query handler to forward the allocation query
instead of discarding it.
Reorder the pad flags a bit.
2012-02-02 12:05:37 +01:00
Tim-Philipp Müller
83002ac63e
typefind: pass extensions as comma-separated list in a simple string
...
Fix annoying gst_type_find_register() function signature. A simple
string with comma-separated extensions works just as well and saves
lines of code, casts, relocations and ultimately kittens.
2012-02-02 01:32:07 +00:00
Wim Taymans
76a60c4c42
element: don't crash on missing template
...
Some request pads don't have a padtemplate (mostly those from encodebin). Avoid
crashing in this case.
2012-01-31 16:27:55 +01:00
Wim Taymans
39c5f0b28a
don't do logic in g_assert...
2012-01-31 12:10:21 +01:00
Stefan Sauer
4deaf9b8be
controller: rename control-bindings
...
gst_control_binding_xxx -> gst_xxx_control_binding for consistency.
2012-01-30 21:18:57 +01:00
João Paulo Pizani Flor
3af9544f95
Fixes the lack of an include directive in gst/gstpreset.h
...
It blocked the build of external libraries depending on gstreamer-core (namely, gstreamermm).
Complete bug report at https://bugzilla.gnome.org/show_bug.cgi?id=669036
2012-01-30 17:22:59 +00:00
Stefan Sauer
c4bee19a25
controlsource: sink the floating ref
...
control sources can be used on several control bindings.
2012-01-30 18:18:28 +01:00
Wim Taymans
c35a41bb54
buffer; remove IN_CAPS buffer flag
...
The IN_CAPS buffer flag is deprecated and should be replaced with the HEADER
flag.
2012-01-30 17:15:21 +01:00
Wim Taymans
0bd5a78701
query: pass allocator in query
...
Place the allocator object in the ALLOCATION query instead of the name. This
allows us to exchange allocators that are not in the global pool of allocators.
Update elements for the new api
2012-01-30 16:13:31 +01:00
Wim Taymans
16d9a9efbe
memory: add memory type
...
Add memory type when registering memory allocators. Add getter for the memory
type.
2012-01-30 16:13:31 +01:00
Wim Taymans
f8c6cd196e
memory: add boxed GType for the allocator
2012-01-30 13:28:34 +01:00
Wim Taymans
af2fc026fc
memory: make the allocator refcounted
...
Add refcounting to the GstAllocator object.
Remove const from functions because the allocator is refcounted now.
Rename the vmethods for consistency
Expose the constructor for GstAllocator and add a destroy notify for the
user_data. This should make it possible to create allocators that are not
registered and shared globally along with the possibility to destroy them
properly.
Update defs with new symbols.
2012-01-30 13:20:36 +01:00
Philippe Normand
bd9d196700
core: don't ship gsttrace.h private header
...
Include it explicitely in gst.c and no longer include it in gst.h.
That header was made private in 1969b94267
.
2012-01-30 10:15:33 +01:00
Tim-Philipp Müller
51f6f5addf
event: require a valid duration for the GAP event
2012-01-28 18:50:23 +00:00
Tim-Philipp Müller
e115c28ae4
gst: ref new enum type in gst_init()
2012-01-28 18:49:44 +00:00
Tim-Philipp Müller
783a9d61b9
docs: add some (out) annotations for stream config parser functions
2012-01-28 18:10:30 +00:00
Tim-Philipp Müller
068d9ecf5a
event: add constructor and parse function for new GAP event
...
(Whatever you do, don't mention the filler event.)
2012-01-28 18:09:01 +00:00
Tim-Philipp Müller
0b5734557e
docs: GST_EVENT_STREAM_CONFIG is implemented now
2012-01-28 18:09:00 +00:00
Olivier Crête
e234a10c63
Use macros to register boxed types thread safely
2012-01-28 16:42:38 +00:00
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