Wim Taymans
cf4fbc005c
query: allow _make_writable on query handlers
...
Pass a GstQuery ** to the query handlers so that they can make the query
writable before using a setter on it.
Port code to new API.
2011-05-10 18:36:33 +02:00
Wim Taymans
7f24a48387
event: _qos_full -> _qos
2011-05-09 18:48:55 +02:00
Wim Taymans
c07b57fc05
segment: remove _full version
...
Rename the _full versions of the functions to the normal function names.
2011-05-09 17:51:07 +02:00
Wim Taymans
02e5feb2bf
pad: avoid using the old GST_PAD_CAPS
...
Don't use GST_PAD_CAPS but instead use the new gst_pad_get_current_caps()
method.
Avoid setting caps on buffers.
2011-05-06 19:04:54 +02:00
Sebastian Dröge
07f59f5404
basesrc: Use the reconfigure flag on the pad instead of the event
2011-05-05 15:20:02 +02:00
Sebastian Dröge
0179530bf1
basesrc: Only renegotiate once after receiving a renegotiate event
...
Also make this threadsafe.
2011-05-05 15:04:16 +02:00
Thiago Santos
93904ef3ad
basesrc: Handle the new renegotiate event
...
Makes basesrc handle the new renegotiate event by using a
renegotiate flag.
2011-05-05 15:03:54 +02:00
Wim Taymans
c4751ec8c1
Revert "context: use context on buffers instead of caps"
...
This reverts commit 9ef1346b1f
.
Way to much for one commit and I'm not sure we want to get rid of the pad caps
just like that. It's nice to have the buffer and its type in onw nice bundle
without having to drag the complete context with it.
2011-05-05 13:17:08 +02:00
Wim Taymans
9ef1346b1f
context: use context on buffers instead of caps
...
Put the srcpad context on buffers instead of caps. This allows us to associate
all the relevant info contained in events with a buffer.
2011-05-04 18:59:47 +02:00
Sebastian Dröge
1cff66d587
base{sink,src}: Don't try to fixate ANY caps
2011-04-19 11:45:36 +02:00
Sebastian Dröge
9b90d3d9c0
base: Update docs to say class_init instead of base_init
...
And remove a useless base_init in basesrc
2011-04-16 15:59:40 +02:00
Wim Taymans
6be4dbdb5a
Merge branch 'master' into 0.11
...
Conflicts:
android/base.mk
android/controller.mk
android/dataprotocol.mk
android/elements.mk
android/gst-inspect.mk
android/gst-launch.mk
android/gst-plugin-scanner.mk
android/gst.mk
android/indexers.mk
android/net.mk
win32/common/libgstbase.def
2011-04-11 10:26:54 +02:00
Havard Graff
3d833e42b6
basesrc: Make src query MT-safe
...
It is possible that the element might be going down while the event arrives
2011-04-08 14:58:41 +02:00
Sebastian Dröge
237e54d4fe
base: Unref events if the parent element disappeared
...
And also unref events if the basetransform subclass has no
event handler and the event is not forwarded at all.
2011-04-08 14:57:05 +02:00
Havard Graff
0daedb7409
base: Make upstream events MT-safe
2011-04-08 14:57:00 +02:00
Wim Taymans
5077630a99
Merge branch 'master' into 0.11
2011-04-07 16:13:56 +02:00
Sebastian Dröge
7945821f92
basesrc: Handle tag and custom downstream events the same
...
Especially drop tag events when flushing to not send them over
and over again.
Should've been in the last commit already but I forgot to call
git rebase --continue...
2011-04-07 10:48:04 +02:00
Sebastian Dröge
c7c3e46b08
bla
2011-04-07 10:40:16 +02:00
Sebastian Dröge
1d9cd86af6
basesrc: Send syncronized custom downstream/both events downstream from the streaming thread
...
Instead of just silently dropping them. The same was done for tag events
before already.
Fixes bug #635718 .
2011-04-07 10:29:41 +02:00
Wim Taymans
a12ede3fb1
Merge branch 'master' into 0.11-fdo
...
Conflicts:
gst/gst.c
libs/gst/base/gstcollectpads.c
2011-03-28 20:11:20 +02:00
Wim Taymans
38ffe30745
memory: more work on implementing buffer memory
2011-03-28 20:08:46 +02:00
Wim Taymans
d82c8bd2af
memory: port code to new buffer data API
2011-03-28 20:08:45 +02:00
Arun Raghavan
bae67f116c
basesrc: Return FALSE if we don't handle an event
...
basesrc's default event handler returns TRUE regardless of whether the
event is handled or not. This fixes the handler to conform with the
expected behaviour (which is to only return TRUE when the event has
actually benn handled). gst_bin_do_latency_func() depended on this
(incorrect) behaviour, and is now modified as well.
(Remaining 1-liner change in gstbasesrc.c is to keep gst-indent happy)
2011-03-28 21:48:23 +05:30
Stefan Kost
02eda0e3d9
docs: cleanup and xref fixes
...
Deal with the hints from gtk-doc and fix the xrefs. Apply a work-around for ()
precedence over @. Move "MT Safe" text to doc body in many places. Trim eol
whitespaces.
2011-03-24 18:32:20 +02:00
Edward Hervey
d979eb3e9e
basesrc: Keep downstream caps order when fixating
...
This allows use to use the first intersecting format prefered by downstream.
https://bugzilla.gnome.org/show_bug.cgi?id=617045
2011-03-24 12:30:42 -03:00
Wim Taymans
1218511185
libs: cleanups for 0.11
...
Remove deprecated stuff, fix padding, rearrange methods.
2011-02-22 19:09:48 +01:00
Wim Taymans
238b9a57cc
Merge branch 'master' into 0.11
...
Conflicts:
configure.ac
gst/gstelement.c
gst/gstelement.h
gst/gstpad.c
gst/gstutils.c
libs/gst/base/Makefile.am
libs/gst/check/Makefile.am
libs/gst/controller/Makefile.am
libs/gst/dataprotocol/Makefile.am
libs/gst/net/Makefile.am
win32/common/libgstreamer.def
2011-02-22 14:11:59 +01:00
Wim Taymans
5c479aa3a4
basesrc: make sure we wait and release the live lock
...
Make sure we release the live lock and wait in all cases when we need to wait
for the playing or flushing state change.
Fixes #635785
2011-01-10 13:30:05 +01:00
Tim-Philipp Müller
655451db54
basesrc, basesink: add some FIXMEs for the type of the blocksize property
2011-01-02 16:59:18 +00:00
Wim Taymans
e444ffecf7
basesrc: fix deadlock
...
Only go into LIVE_WAIT when the are not live_running and only stop waiting when
live_running is TRUE. If we don't loop, we could deadlock when called from
outside of basesrc, such as baseaudiosrc.
Fixes #635785
2010-12-29 11:48:18 +01:00
Edward Hervey
5372e81c9a
basesrc: Use an atomic integer instead of a lock for checking tags presence
...
https://bugzilla.gnome.org/show_bug.cgi?id=636455
2010-12-17 10:59:25 +01:00
Tim-Philipp Müller
686b16756d
docs: libgstbase: more gobject introspection annotations
...
Many of these are superfluous and were added for clarity.
2010-12-07 18:37:04 +00:00
Wim Taymans
b2ab72b916
pad: remove get_caps_reffed variants
...
Make the _get_caps functions behave like the _get_caps_reffed variants and
remove the _reffed variants. This means that _get_caps doesn't return a writable
caps anymore and an explicit _make_writable() is needed before modifying the
caps.
2010-12-07 18:14:38 +01:00
Wim Taymans
428a6477d8
basesrc: tag as a SOURCE element
...
Tag all elements deriving from the basesrc with the IS_SOURCE flag.
2010-10-11 11:16:27 +02:00
Sebastian Dröge
2dfb0d2772
base: Stop using GST_FLOW_IS_FATAL()
...
And document the special handling of WRONG_STATE.
2010-08-27 16:59:09 +02:00
Sebastian Dröge
27bebf7456
basesrc: Make sure the buffer metadata is writable before changing it
2010-08-06 18:44:33 +02:00
Stefan Kost
2237af4b6b
debug: logging improvements
...
Use the event serialisation. Log formats name instead of number.
2010-08-05 10:31:50 +03:00
Stefan Kost
71b494639b
basesrc: log seek event details
2010-08-05 10:31:50 +03:00
Stefan Kost
a82b607885
basesrc: avoid some caps manipulation
...
After the intersect we have writable caps. Copy the template caps so that also
there we have writable caps.
2010-08-05 09:40:02 +03:00
Sebastian Dröge
55986b9a10
basesrc: Return values in stream time for the POSITION query
...
Fixes bug #623622 .
2010-07-16 17:26:54 +02:00
Sebastian Dröge
e6e29192bc
Remove some dead assignments
2010-06-13 17:08:48 +02:00
Stefan Kost
a1c2071300
basesrc: reflow to truncate caps just once
...
We get writable caps from the intersection (unless it failed). As we truncate
those anyway, we don't need to manualy copy the first structure.
2010-05-06 17:04:53 +03:00
Wim Taymans
d00e97b7ea
basesrc: improve debugging
2010-05-04 11:45:02 +02:00
Stefan Kost
2d49414eef
queries: add more logging
...
Log human readable formats and log query result.
2010-04-30 10:03:38 +03:00
Jonas Holmberg
a120f9f4e6
basesrc: fix gst_base_src_new_seamless_segment()
...
Keep track of pending newsegment in gst_base_src_new_seamless_segment()
to avoid pushing newsegment update before newsegment.
2010-04-06 17:41:34 +02:00
Wim Taymans
ba34494ce3
basesrc: catch, parse and store QoS event values
...
Catch, parse and store the QoS values from QoS events for later use.
2010-03-18 13:41:35 +01:00
Edward Hervey
bc9e129990
basesrc: Don't use expensive cast checks in get_range.
...
_get_range() is a pad function set by ourselves, therefore we're certain that
the parent is a GstBaseSrc.
Speeds up _get_range by 38%, and the total call by 30%. (valgrind instruction
calls measurements).
Fixes #610246
2010-02-17 12:36:57 +01:00
Sebastian Dröge
fae502056f
basesrc: Make locking of the segment a bit more strict and update documentation
...
Updating the segment values must only be done while holding the
STREAM_LOCK and OBJECT_LOCK. This means, reading can be done as
long as one of them is held, not both, which removes some lock-unlock
blocks from performance critical code paths.
Also document, that gst_base_src_set_format() *must* be called in
states <= READY and add an assertion for this. Changing the format
later will completely mess up the segment information.
2010-02-12 14:58:42 +01:00
Sebastian Dröge
5998e902a3
basesrc: Protect segment values from concurrent access from different threads
...
This could happen easily in the query functions or when the size is set
on appsrc from some non-streaming thread.
2010-02-12 11:02:08 +01:00
Jan Schmidt
f490508490
basesrc: Shut down the pad task when the initial seek fails.
...
Set the pad flushing and stop the pad task when the initial seek fails
during activation. Avoids racy calls into the _create() function when
BaseSrc::stop() has already run.
Fixes : #603059
Also, fix some misspelled comments.
2009-12-04 12:41:58 +00:00