Sebastian Dröge
9c4ce4ae16
inputselector: Port to the new segment API
...
The switch action signal with the stop and start running times
is not necessary anymore. Closing of segments is not necessary
and adjusting the start running time of a segment can later be
done with new GstPad API.
2011-05-19 12:17:30 +02:00
Sebastian Dröge
a46c9c2a62
event: Make SEGMENT event parsing API more consistent with the others
2011-05-18 16:56:43 +02:00
Sebastian Dröge
3d2127f865
Revert "query: allow _make_writable on query handlers"
...
This reverts commit cf4fbc005c
.
This change did not improve the situation for bindings because
queries are usually created, then directly passed to a function
and not stored elsewhere, and the writability problem with
miniobjects usually happens with buffers or caps instead.
2011-05-17 11:21:41 +02:00
Wim Taymans
cf4c955615
capsfilter: allow NULL filters and fix refcounting
2011-05-16 18:29:29 +02:00
Wim Taymans
f6178ee53e
inputselector: handle more formats
...
Use the segment format instead of a hardcoded _TIME.
2011-05-16 17:09:06 +02:00
Sebastian Dröge
b935a814d9
Merge branch 'master' into 0.11
...
Conflicts:
configure.ac
docs/gst/gstreamer-sections.txt
gst/gstbin.c
gst/gstelement.c
gst/gstelement.h
gst/gstghostpad.c
gst/gstminiobject.c
gst/gstminiobject.h
libs/gst/base/gstbasesrc.c
libs/gst/base/gstbasetransform.c
plugins/elements/gstinputselector.c
tests/check/gst/gstminiobject.c
2011-05-16 16:53:04 +02:00
Sebastian Dröge
43e165c93c
elements: Update for negotiation related API changes
...
The filter caps are only forwarded and returned instead
of ANY caps in the core elements because they don't do
anything caps specific.
2011-05-16 15:33:11 +02:00
Mark Nauwelaerts
fe1dcbe6fa
queue2: adjust input data rate estimation
...
... being aware of possible initial higher burst rate.
2011-05-16 12:20:51 +02:00
Wim Taymans
bdbc069348
Rework GstSegment handling
...
Improve GstSegment, rename some fields. The idea is to have the GstSegment
structure represent the timing structure of the buffers as they are generated by
the source or demuxer element.
gst_segment_set_seek() -> gst_segment_do_seek()
Rename the NEWSEGMENT event to SEGMENT.
Make parsing of the SEGMENT event into a GstSegment structure.
Pass a GstSegment structure when making a new SEGMENT event. This allows us to
pass the timing info directly to the next element. No accumulation is needed in
the receiving element, all the info is inside the element.
Remove gst_segment_set_newsegment(): This function as used to accumulate
segments received from upstream, which is now not needed anymore because the
segment event contains the complete timing information.
2011-05-16 11:37:52 +02:00
Tim-Philipp Müller
76ccd2a1e9
docs: fix up some Since markers and update for new multiqueue args
2011-05-14 14:05:52 +01:00
Sebastian Dröge
5229a26a76
inputselector: Add sync mode that syncs inactive pads to the running time of the active pad
...
Fixes bug #645017 .
2011-05-14 11:39:35 +02:00
Sebastian Dröge
9f83109706
multiqueue: Add mode to synchronize deactivated/not-linked streams by the running time
...
Fixes bug #645107 , #600648 .
2011-05-14 11:39:35 +02:00
Sebastian Dröge
07c5caac50
capsfilter: Fix deadlock, gst_pad_get_current_caps() already takes the pad's object lock
2011-05-11 15:19:39 +02:00
Mark Nauwelaerts
24888ecc70
multiqueue: ensure thread safety when adding a pad
...
This seems to be a regression, and was causing crashes.
https://bugzilla.gnome.org/show_bug.cgi?id=649878
2011-05-10 18:07:01 +01:00
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
84a1f4ba7f
element: use request_new_pad_full as the default
...
Add GstCaps to request_new_pad so that request_new_pad_full can be removed.
Fix elements.
2011-05-10 16:41:36 +02:00
Wim Taymans
108dff2210
message: hide the message structure field
...
Make a private structure to hold the GstStructure bits of the message.
Add some more useful macros like we have for events.
2011-05-10 13:34:10 +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
d63829fc9a
segment: remove abs_rate from segment structure
...
Remove the abs_rate field from the segment structure, we can trivially compute
it when needed.
2011-05-09 16:39:13 +02:00
Wim Taymans
ba6b915651
base: avoid using buffer caps
...
Comment all code using buffer caps.
Rework capsfilter code a little.
Fix some unit tests
2011-05-08 12:46:17 +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
Wim Taymans
8ca3f9e71a
typefind: don't unset caps
2011-05-06 17:39:08 +02:00
Wim Taymans
cac9e8fee2
outputselector: handle NULL pads in some cases
2011-05-06 17:39:08 +02:00
Sebastian Dröge
caa16f2fa9
elements: Update everything for the new GstIterator API
2011-05-05 15:36:04 +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
Sebastian Dröge
65eafd9340
Merge branch 'master' into 0.11
...
Conflicts:
docs/gst/gstreamer-sections.txt
gst/gstelementfactory.c
gst/gstminiobject.c
2011-05-05 12:27:51 +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
Stefan Kost
801d89e26f
docs: don't duplicate info that we take from element-details
2011-05-03 13:03:20 +03:00
Wim Taymans
6ab7e6c15d
Remove pad_alloc, this can now be done better
...
Remove pad_alloc and all references. This can now be done more efficiently and
more flexible with the ALLOCATION query and the bufferpool objects. There is no
reverse negotiation yet but that will be done with an event later.
2011-04-29 13:26:19 +02:00
Wim Taymans
7e2a79fa1d
queue2: fix mixing of return values
2011-04-25 10:56:06 +02:00
Sebastian Dröge
5020738a6d
elements: Use G_DEFINE_TYPE instead of GST_BOILERPLATE
2011-04-19 11:45:36 +02:00
Sebastian Dröge
f51a23a83c
Merge branch 'master' into 0.11
2011-04-16 08:59:58 +02:00
Sebastian Dröge
8839c513f7
queue2: Add missing ) to the ring-buffer-max-size property description
2011-04-15 13:59:02 +02:00
Sebastian Dröge
ea36e12bbc
multiqueue: Don't leak the sinkpad name
2011-04-14 09:07:48 +02:00
Ole André Vadla Ravnås
037efe8738
elements: Fix pad callbacks so they handle when parent goes away
...
1) We need to lock and get a strong ref to the parent, if still there.
2) If it has gone away, we need to handle that gracefully.
This is necessary in order to safely modify a running pipeline. Has been
observed when a streaming thread is doing a buffer_alloc() while an
application thread sends an event on a pad further downstream, and from
within a pad probe (holding STREAM_LOCK) carries out the pipeline plumbing
while the streaming thread has its buffer_alloc() in progress.
2011-04-13 17:41:17 +02:00
Janne Grunau
b2e6870edc
queue2: prevent calculation with GST_CLOCK_TIME_NONE in update_time_level()
2011-04-13 17:35:39 +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
Alessandro Decina
3f1ef2255a
android: make it ready for androgenizer
...
Remove the android/ top dir
Fixe the Makefile.am to be androgenized
To build gstreamer for android we are now using androgenizer which generates the needed Android.mk files.
Androgenizer can be found here: http://git.collabora.co.uk/?p=user/derek/androgenizer.git
2011-04-11 01:08:07 +02:00
Havard Graff
d092e3b9ff
queue[2]: Make src query MT-safe
...
It is possible that the element might be going down while the event arrives
2011-04-08 14:58:51 +02:00
Sebastian Dröge
1dac816e9c
queue[2]: Unref events if the parent element disappeared
2011-04-08 14:57:18 +02:00
Havard Graff
d5485786a4
queue[2]: Make upstream events MT-safe
2011-04-08 14:57:05 +02:00
Stian Selnes
339df347a0
gstqueue, gstqueue2: check if parent of pad is NULL in _getcaps
...
Parent of the pad (the queue) may be set to NULL while there is
a buffer alloc going on.
2011-04-08 14:51:06 +02:00
Sebastian Dröge
ba6054b862
inputselector: Fix getcaps and event function from last commit
...
Return ANY caps if the parent disappeared, i.e. the template caps
and don't leak events if the parent disappeared.
2011-04-08 14:50:10 +02:00
Havard Graff
297407438a
inputselector: Protect against pad-parent disappearing
2011-04-08 14:48:16 +02:00
Sebastian Dröge
6d97652903
multiqueue: Add another check for the flushing flag after taking the lock
...
This prevents another potential deadlock when flushing the pad
at exactly the right time.
2011-04-08 09:15:56 +02:00
Tim-Philipp Müller
12249e99c2
queue2: fix buffer leak on eos when using the ring buffer
2011-04-07 20:50:04 +01:00
Idar Tollefsen
46a786cee6
queue2: Fixes memory leak on out_flushing error in gst_queue2_create_read.
...
https://bugzilla.gnome.org/show_bug.cgi?id=646972
2011-04-07 20:50:04 +01:00
Tim-Philipp Müller
419d117851
queue2: fix minor memory leak
2011-04-07 20:50:04 +01:00
Tim-Philipp Müller
01d016e720
funnel: minor element description fix
2011-04-07 20:50:04 +01:00
Wim Taymans
e8123bed46
funnel: fix for API change
2011-03-30 20:05:26 +02:00