Mark Nauwelaerts
bfa4bb7150
baseparse: simplify and improve frame state handling
...
Use a frame flag to signal to subclass it should reset any retained
state w.r.t. frame parsing since the frame being passed is 'new',
i.e. not related to previously passed and processed data.
2012-02-15 17:11:54 +01:00
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
Tim-Philipp Müller
f7f19d9589
configure: remove --disable-net option and always build libgstnet
...
It should work everywhere now, and -base and -good depend on
the GstNetMeta API.
2012-01-18 01:22:52 +00:00
Tim-Philipp Müller
4d27e79429
configure: remove some socket cruft
2012-01-18 01:22:52 +00:00
Tim-Philipp Müller
80f2eb6108
net: port to use gio's networking API
...
Some warts still, but it's a start.
2012-01-18 01:22:43 +00:00
Sebastian Dröge
318a3da008
net: Add GIO to the gi-scanner packages
2012-01-17 16:50:13 +01:00
Sebastian Dröge
0a4ec4c8a1
netaddressmeta: Use GSocketAddress instead of our own wrapper type
2012-01-17 15:02:01 +01:00
Mark Nauwelaerts
ea2f87d34e
adapter: ensure automagic _unmap in some more cases
2012-01-13 14:21:27 +01:00
Vincent Penquerc'h
12757e604a
adapter: automatically unmap on clearing
...
When _clear gets called between _map and _unmap, buffers
will be unreffed. If the adapter was mapped, memory leaks
may occur.
While calling _clear between _map and _unmap does not seem
like such a great idea, this is possible in the audio
encoder base class, as _clear may be called in _finish_frame.
Since the audio encoder relies on flushing to keep track of
timestamps, delaying flushing till after handle_frame seems
dangerous.
So, we unmap on clear, as the next unmap will do nothing.
This makes _clear safe to call between _map and _unmap,
while avoiding leaking the mapped buffer.
https://bugzilla.gnome.org/show_bug.cgi?id=664133
2012-01-13 14:21:27 +01:00
Mark Nauwelaerts
247842eaa9
basesrc: prevent unlikely caps leak
2012-01-13 14:21:27 +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
Antoine Tremblay
df6de8fe0c
baseparse: clear adapter in reset so baseparse is reusable
...
GstBaseParse was not clearing its adapter on reset causing
problems when a pipeline went for example from PLAYING to NULL
state and then back to PLAYING again. The data from the last
stream would be used in the parser.
https://bugzilla.gnome.org/show_bug.cgi?id=667444
2012-01-12 19:53:11 +00:00
Sebastian Dröge
148bf27ce3
Merge branch 'master' into 0.11
2012-01-10 13:00:07 +01:00
Matej Knopp
9092fb87f0
Fix printf format build warnings
2012-01-09 13:15:34 +00:00
Havard Graff
bea0ed2fc1
basesink: don't compensate for render-delay twice
...
https://bugzilla.gnome.org/show_bug.cgi?id=667298
2012-01-05 18:04:22 +00:00
Wim Taymans
ad659abe8e
check: add macro to check for memory refcount
2012-01-05 13:09:29 +01:00
Wim Taymans
bc1974e962
GST_FLOW_UNEXPECTED -> GST_FLOW_EOS
2012-01-03 15:25:31 +01:00
Wim Taymans
9540014d2e
baseparse: turn assert into a real error
...
Post a real error instead of just asserting.
2012-01-02 15:42:46 +01:00
Wim Taymans
63d95063a7
basesrc: handle latency event
2012-01-02 15:42:46 +01: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
Stefan Sauer
3ebd639d34
interpolationcontrolsource: fix cubic interpolation for arrays
2012-01-01 18:54:23 +01:00
Stefan Sauer
e87d563cac
lfocontrolsource: cleanups and fix triangle calculations
2012-01-01 18:43:23 +01:00
Stefan Sauer
9a7e45596e
lfocontrolsource: make chainable
...
Now the properties of this controlsource are in turn controlable. Add an example
to show the usage.
2012-01-01 16:08:01 +01:00
Stefan Sauer
757822a906
controller: add logging and fix array functions
2012-01-01 16:08:01 +01:00
Tim-Philipp Müller
c61b2ade7b
index: rename GstAssocFlags to GstIndexAssociationFlags
...
Just in case we resurrect this later.
2011-12-30 18:32:59 +00:00
Tim-Philipp Müller
3f11fc0514
base: disable unused index API and make functions static
...
It's simply private helper API for now, until someone
fixes up GstBaseParse not to need it any more.
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
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
Stefan Sauer
855212cd2f
triggercontrolsource: fix control reaches end of non-void function
...
Return NAN and check the value further up.
Fixes #666890
2011-12-27 13:48:36 +01:00
Tim-Philipp Müller
63caa628c4
controller: quick-fix compiler warning breaking the build
...
This is likely not the proper fix.
https://bugzilla.gnome.org/show_bug.cgi?id=666890
2011-12-27 11:40:40 +00:00
Tim-Philipp Müller
e65ac5b419
controller: fix compiler warning in interpolation control source
...
gstinterpolationcontrolsource.c:54: warning: type qualifiers ignored
on function return type
https://bugzilla.gnome.org/show_bug.cgi?id=666890
2011-12-27 11:24:48 +00:00
Tim-Philipp Müller
9a3e4ce5cb
libs: remove gdp dataprotocol library
...
Made private and moved to gdp plugin in -base for
the time being, until we figure out what we do with
gdp and 0.11.
2011-12-25 23:41:50 +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
b193d03c8a
collectpads2: fix up compilation after merge
2011-12-25 12:13:57 +00: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
Tim-Philipp Müller
ff59f3a553
controller: fix GType name of interpolation mode enum
2011-12-22 11:08:42 +00:00
Sebastian Dröge
2f93cee988
basetransform: If the filtered peer caps are already empty error out early
2011-12-20 14:37:09 +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
Stefan Sauer
9c3c0fb251
controlsource: clean up lfo control source
...
Remove parent_class and use var from G_DEFINE_TYPE macro. Remove unused dispose
implementation.
2011-12-19 22:52:29 +01:00
Mark Nauwelaerts
28e9d735bb
collectpads2: add convenience clipping function
...
... which also converts to running time; useful for typical muxer.
2011-12-19 17:45:25 +01:00
Mark Nauwelaerts
78565da18b
basetransform: do not delay sparse stream newsegment updates
2011-12-19 17:39:11 +01:00
Mark Nauwelaerts
b3886b7935
basetransform: suggestion compatible with upstream is not much of a suggestion
...
... in that upstream is already complying with that suggestion.
Fixes #666174 .
2011-12-19 12:34:51 +01:00
Mark Nauwelaerts
eb79c0a835
collectpads2: delay collecting buffer if a pad newly set waiting
...
... as commented; make code correspond to it (again).
2011-12-15 16:51:49 +01:00
Stefan Sauer
26e8e336cc
controller: user the parent_class vars from G_DEFINE_TYPE
2011-12-15 16:19:41 +01:00
Matej Knopp
f4040d3f6b
baseparse: Clear queued frames with other queues
2011-12-12 13:37:25 +01:00
Wim Taymans
768e28e1c4
basesrc: say we handle RECONFIGURE event
...
We handle the RECONFIGURE event so return TRUE from the event handler.
2011-12-10 11:08:22 +01:00
Wim Taymans
e32fa21071
basesrc: stop when negotiation fails
2011-12-09 10:01:16 +01:00
Sebastian Dröge
a6bb6d0fc3
basetransform: Fix code path to come up with possible caps if incompatible caps are provided to buffer_alloc()
...
Previous code could almost never work and this should be slightly
better.
2011-12-08 18:11:43 +01:00
Sebastian Dröge
57573d8705
basetransform: Fall back to upstream provided caps if suggested caps are not supported by the sinkpad
2011-12-08 18:11:43 +01:00