Wim Taymans
2609c7b452
baseparse: don't leak event
...
In the unlikely case where the subclass set the event function to NULL, don't
leak the event.
2012-02-15 13:15:55 +01:00
Wim Taymans
b6b239ceaa
baseparse: make activation code more like other
...
Make the pad activation code look more like other activation code.
Only start the sinkpad task when we decide to activate in pull mode, when we
later add srcpad pullmode this will be needed.
2012-02-15 12:19:13 +01:00
Wim Taymans
49a7832499
baseparse: add some more debug
2012-02-15 11:11:11 +01:00
Mark Nauwelaerts
d148569cd4
baseparse: track consumed input size
...
... as used by subsequent input data rate estimation (and seeking).
2012-02-15 11:00:36 +01:00
Wim Taymans
63ba55865c
baseparse: chain up to parent for defaults
...
Chain up to the parent instead of using the FALSE return value from the event
function (because it's otherwise impossible to return an error).
2012-02-15 10:13:37 +01:00
Mark Nauwelaerts
36cc9efa80
baseparse: Revert "baseparse: really provide upstream ts to subclass"
...
This reverts commit 2363490ef5
.
2012-02-14 20:17:37 +01:00
Mark Nauwelaerts
a40b993bc3
baseparse: remove dead code and superfluous loop level
2012-02-14 19:33:50 +01:00
Mark Nauwelaerts
193e1cf16e
baseparse: modify reverse playback handling
...
... so as to allow the push-mode case to provide data to subclass
on a buffer by buffer basis (as in regular forward case), rather
than all buffers of a fragment chucked together.
Also refactor buffer handling some more, and add some debug.
2012-02-14 19:33:46 +01:00
Mark Nauwelaerts
2363490ef5
baseparse: really provide upstream ts to subclass
2012-02-14 19:33:33 +01:00
Wim Taymans
ebf502d1c6
Merge branch 'master' into 0.11
2012-02-14 10:35:06 +01:00
Mark Nauwelaerts
b761f5479a
baseparse: modify API to a _finish_frame based approach
...
... which aligns it with other baseclass in the wild, and should give
converter parsers a bit cleaner freedom.
2012-02-13 18:41:00 +01:00
Mark Nauwelaerts
c8ea9994aa
baseparse: fix reverse playback
...
... especially for all-keyframe (audio) cases.
2012-02-13 18:14:02 +01:00
Wim Taymans
5fbdd763bb
Merge branch 'master' into 0.11
2012-02-10 15:03:03 +01:00
Mark Nauwelaerts
954dd59fdd
baseparse: bitrate mechanics should not deal with duration update
...
... since that is already handled by _update_duration, or should not be done
altogether if the duration is determined by non-estimated means.
Fixes #669502 .
2012-02-10 14:47:00 +01:00
Wim Taymans
b30b397c46
basesink: implement faster ACCEPT_CAPS query
2012-02-10 11:24:28 +01:00
Wim Taymans
7ab1d62c24
GST_FLOW_WRONG_STATE -> GST_FLOW_FLUSHING
2012-02-08 16:18:04 +01:00
Mark Nauwelaerts
a306518cee
baseparse: clean up a few minor extraneous tokens
2012-02-08 15:38:28 +01:00
Mark Nauwelaerts
2aaa475a4f
baseparse: remove closing segment handling
2012-02-08 15:38:07 +01:00
Wim Taymans
d6dfb07692
basetransform: improve prepare_output_buffer
...
Clean up the prepare_output_buffer function.
Reuse the input buffer when it is writable and when doing an
in-place but non-passthrough transform.
Move the copy-metadata function call to the prepare_output_buffer default
function. If subclasses implement a custom prepare_output_buffer, they must also
copy the metadata themselves.
Remove a useless memory copy because prepare_output_buffer already did that.
2012-02-02 13:10:27 +01:00
Wim Taymans
3075b3c529
basetransform: simplify code
...
We already checked passthrough a few lines above.
2012-02-02 12:30:14 +01:00
Wim Taymans
18118218b1
basesrc: fix race in startup
...
Mark renegotiate before starting the pushing thread.
Do also check if we are starting in the get_range function.
2012-01-31 17:41:13 +01:00
Stefan Sauer
5e4c13fc97
controller: constructures for control sources return GstControlSource
...
Don't return the specific types. In most cases there is no specific api there
anyway.
2012-01-31 12:29:52 +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
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
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
Olivier Crête
e234a10c63
Use macros to register boxed types thread safely
2012-01-28 16:42:38 +00:00
Olivier Crête
8f8335a7f4
check: Update gst_check_element_push_buffer to 0.11 style caps
...
Pass the desired caps explicitely
2012-01-28 16:42:38 +00: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
Sebastian Dröge
9945b2cd88
collectpads2: Move private fields from the public structs to private structs
...
Fixes bug #668764 .
2012-01-27 15:03:46 +01:00
Stefan Sauer
7e77b105e0
controller: no fancy utf8 chars in the gi annotations
2012-01-27 13:07:27 +01:00
Wim Taymans
21455d35b1
tests: fix some more leaks
2012-01-27 12:52:01 +01:00
Stefan Sauer
fc886e03b6
controller: add gi annotations
2012-01-27 12:23:16 +01:00
Wim Taymans
ae12e4f645
basetransform: avoid caps leak
2012-01-27 11:41:33 +01:00
Sebastian Dröge
34b01da26c
collectpads2: Drop the stream-start and stream-config events by default
2012-01-27 10:46:02 +01:00
Sebastian Dröge
0d4081fbbb
basesrc: Send the stream-start event as first event ever
2012-01-27 10:41:07 +01:00
Wim Taymans
e122bae3ad
basetransform: fix typo
2012-01-26 19:28:46 +01:00
Sebastian Dröge
b6d11d844e
collectpads: Remove old collectpads
...
Still have to rename collectpads2 to collectpads before the 1.0 release.
2012-01-26 10:48:56 +01:00
Sebastian Dröge
de576f8163
collectpads2: Don't forward CAPS event automatically
2012-01-26 10:45:45 +01:00
Sebastian Dröge
6b9280b18c
collectpads2: Fix handling of the event function and document it
...
The event function is supposed to forward/drop the event in any case
now and takes ownership of the event.
2012-01-26 10:45:45 +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
Sebastian Dröge
35ea12eeea
Merge branch 'master' into 0.11
2012-01-25 11:43:13 +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
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
13d91d1f6c
Use recent GLib API unconditionally now that we depend on the latest GLib
2012-01-22 01:25:22 +00:00
Vincent Penquerc'h
28d5e81503
libcheck: make the definition of fail not fail with non GCC compilers
2012-01-20 18:06:04 +00:00
Wim Taymans
c6ac51e729
basesrc: handle NULL from getcaps
...
If the getcaps functions returns NULL, return FALSE from the CAPS query.
2012-01-19 15:17:58 +01:00
Wim Taymans
acf0d50bf1
basesink: handle lists correctly
2012-01-19 15:17:33 +01:00
Wim Taymans
252327f87a
Update for new gthread API
2012-01-19 09:27:04 +01:00
Sebastian Dröge
b56bef1418
basetransform: Always call ::propose_allocation vfunc
...
And only forward the allocation query if we're working in
passthrough mode if no ::propose_allocation is implemented.
In place buffer transformations will change the buffer
content and require explicit handling of all metas.
2012-01-18 12:07:46 +01:00