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