Tim-Philipp Müller
2f8ac67726
queue: use statically allocated GQueue
2011-11-03 23:08:52 +00:00
Tim-Philipp Müller
cc279e6bdd
queue2: use statically allocated GQueue
2011-11-03 22:41:13 +00:00
Wim Taymans
d169fa8728
fix request pad
...
Make all request pads take _%u in the template.
Fix up unit tests.
2011-11-03 17:49:45 +01:00
Wim Taymans
88e12228cf
bufferlist: clean up API
...
gst_buffer_list_len() -> gst_buffer_list_length()
gst_buffer_list_sized_new() -> gst_buffer_list_new_sized()
2011-11-02 08:59:43 +01:00
Tim-Philipp Müller
4f004eff38
pad: rename GstActivateMode to GstPadActivateMode
...
These might be useful:
sed -i -e 's/GstActivateMode/GstPadActivateMode/g' `git grep GstActivateMode | sed -e 's/:.*//' | sort -u`
sed -i -e 's/GST_ACTIVATE_/GST_PAD_ACTIVATE_/g' `git grep GST_ACTIVATE_ | sed -e 's/:.*//' | sort -u`
2011-11-01 00:25:02 +00:00
René Stadler
fdd115d8c3
capsfilter: fix caps leak
...
gst_event_new_caps does not steal a reference to the caps.
2011-10-12 14:34:24 +02:00
Edward Hervey
a21008ff2e
capsfilter: Don't leak caps
2011-10-11 13:53:39 +02:00
Wim Taymans
ea012d3dd7
pad: GST_FLOW_UNEXPECTED -> GST_FLOW_EOS
2011-10-10 11:33:51 +02:00
Tim-Philipp Müller
434e7042d8
base: make GstDataQueue private API for multiqueue
...
There's no code that uses it other than multiqueue, so make it private
to multiqueue for now. That way we can also do optimisations that
require API/ABI breaks. If anyone ever wants to use it, we can still
make it public again.
2011-10-07 13:54:37 +01:00
Nicolas Dufresne
f0219b327d
basesink: make it easy to override the pad query
...
Add a vmethod to handle the pad query.
Install a default handler for the pad query.
Use the new query function in filesink
2011-09-08 14:46:59 +02:00
Sebastian Dröge
43538e2e75
Merge branch 'master' into 0.11
...
Conflicts:
docs/design/draft-buffer2.txt
docs/design/part-TODO.txt
docs/design/part-block.txt
docs/design/part-bufferlist.txt
docs/design/part-caps.txt
docs/design/part-element-transform.txt
docs/design/part-events.txt
docs/design/part-negotiation.txt
gst/gstcaps.c
gst/gstevent.h
gst/gstghostpad.c
gst/gstinterface.c
gst/gstpad.c
gst/gstpad.h
gst/gstutils.c
libs/gst/base/gstbasesink.c
libs/gst/base/gstbasesrc.c
libs/gst/base/gstbasetransform.c
libs/gst/base/gsttypefindhelper.c
plugins/elements/gstcapsfilter.c
plugins/elements/gsttee.c
tests/check/generic/sinks.c
tools/gst-launch.1.in
2011-09-08 14:28:23 +02:00
Piotr Fusik
14f5518f3d
docs, gst: typo fixes
...
https://bugzilla.gnome.org/show_bug.cgi?id=658449
2011-09-07 18:03:17 +01:00
Wim Taymans
5cf8e68944
Merge branch 'master' into 0.11
...
Conflicts:
gst/gstmessage.c
gst/gstquery.c
gst/gstregistrychunks.c
gst/gstsegment.c
libs/gst/base/gstbasetransform.c
libs/gst/base/gstbasetransform.h
libs/gst/base/gsttypefindhelper.c
plugins/elements/gsttypefindelement.c
2011-08-26 14:37:54 +02:00
Josep Torra
0b31cb5d73
fileindex: explicitly cast to the enum types
...
Fixes warning #188 : enumerated type mixed with another type reported by ICC.
2011-08-26 14:11:15 +02:00
Josep Torra
d7d2be07af
typefinder: use GST_TYPE_FIND_NONE instead of 0
...
Fixes warning #188 : enumerated type mixed with another type reported by ICC.
2011-08-26 14:11:15 +02:00
Wim Taymans
31b70ea701
Merge branch 'master' into 0.11
...
Conflicts:
libs/gst/base/gstbasetransform.c
libs/gst/base/gstbasetransform.h
2011-08-26 11:09:07 +02:00
Sjoerd Simons
341d7a4c0d
capsfilter: don't assume _get_caps still has to be
...
_set_caps only gets called when the buffer is actually pushed, so there
is a reasonably big window between when the initial caps are retrieved
and when the caps are set on our src pad. So we can't assume the not
having negotiated caps on our src pad means _get_caps still has to be
called.
Instead simply always suggest the new caps on buffer_alloc.
2011-08-26 10:23:18 +02:00
Wim Taymans
e01b5c0f46
Merge branch 'master' into 0.11
2011-08-15 14:43:14 +02:00
Tim-Philipp Müller
a7644b3b1c
queue2: fix deadlock in error path
...
Don't lock the same lock twice. Spotted by Josep Torre Valles.
2011-08-12 19:44:35 +01:00
Josep Torra
178bdccb76
Fix and clarify debug statements
...
Fixes build on MacOSX
Signed-off-by: Edward Hervey <edward.hervey@collabora.co.uk>
2011-08-10 11:01:58 +02:00
Tim-Philipp Müller
99742dc57e
plugins: update for query API changes
2011-07-28 11:24:19 +01:00
Wim Taymans
32841d258d
basesink: make it easy to override the pad query
...
Add a vmethod to handle the pad query.
Install a default handler for the pad query.
Add a vmethod to setup the allocation properties.
Use the new query function in filesink
2011-07-26 12:21:38 +02:00
Wim Taymans
2ff17fb622
basetransform: fix sink event handling
...
Implement the sink event handling like the src event handler. Make the default
implementation parse and forward the event. This makes it possible to actually
return an error value from the event handler.
2011-07-22 21:17:42 +02:00
Wim Taymans
85d2355125
basetrans: Remove ref in passthrough
...
Remove the requirement to have to return a ref to the input buffer when in
passthrough mode. This saves a few ref/unref cycles and fixes another 0.11
FIXME.
2011-07-21 17:42:08 +02:00
Wim Taymans
e4ee356449
basetrans: remove useless variables from prepare_output_buffer
...
Remove the caps and size from the prepare_output_buffer function. with
bufferpools and capsnego done differently, we don't need this in most cases and
if we do, we can simply use the transform_size function and get the caps from
the srcpad.
2011-07-21 13:56:11 +02:00
Wim Taymans
1b286af5d6
queue: fix unit test
...
Set the right position member in the segment event.
Add some debug to queue.
2011-07-05 16:20:03 +02:00
Mark Nauwelaerts
7a0e401133
inputselector: avoid iterating over a single NULL pad
2011-06-28 19:01:57 +02:00
Koop Mast
73983b3ec1
tee: use & instead of && for masking bits
...
See #653137
2011-06-22 17:12:34 +02:00
Wim Taymans
b322a401c7
uri: remove some _full variants
2011-06-22 16:38:04 +02:00
Wim Taymans
54fd50bfe1
buffer: add index to _take_memory()
...
Add an index to gst_buffer_take_memory() so that we can also insert memory at a
certain offset. This is mostly interesting to prepend a header memory block to
the buffer.
2011-06-13 16:31:53 +02:00
Wim Taymans
b27ee30a35
buffer: make new _buffer_allocate method
...
Make a new method to allocate a buffer + memory that takes the allocator and the
alignment as parameters. Provide a macro for the old method but prefer to use
the new method to encourage plugins to negotiate the allocator properly.
2011-06-10 13:49:23 +02:00
Wim Taymans
c35e0de65e
basesrc: add fill vmethod to basesrc
...
Add a new fill virtual method to basesrc. The purpose of this method is to fill
a provided buffer with data.
Add a default implementation of the create method that allocates a buffer and
calls the fill method on it. This would allow the base class to implement
bufferpool and allocator negotiation on behalf of the subclasses.
Fix the blocksize property.
Make filesrc use the new fill method.
2011-06-10 13:04:23 +02:00
Wim Taymans
4d6e4ea9e6
Merge branch 'master' into 0.11
...
Conflicts:
libs/gst/base/gstbasesrc.c
2011-06-09 12:01:02 +02:00
Wim Taymans
d8212d941c
pad: forward events by default
...
Always forward all events in the default handler. Previously it used to not
forward caps events by default. It makes more sense to forward the caps events,
if the element is interested in the caps, it will implement an event handler to
retrieve the caps and then it can decide to forward or not. If the element has
no event handler, it probably just doesn't care about caps and it probably is
also not going to modify the data in a way that needs a caps change.
2011-06-09 11:49:20 +02:00
Mark Nauwelaerts
de514c63d1
filesrc/fdsrc: indicate dynamic size handling to basesrc
2011-06-08 20:16:28 +02:00
Wim Taymans
72d0a830ff
filesrc: remove MMAP code
...
Remove the mmap code, it was disabled and probably needs a complete rewrite
anyway if this is to be ported to 0.11.
2011-06-07 17:03:09 +02:00
Wim Taymans
fa6615dd70
outputselector: fix refcounting of events
...
_pad_event_forward() takes ownership of the caps.
2011-06-07 10:51:23 +02:00
Wim Taymans
acc5e6be2f
plugins: use the caps event
...
Use the caps event and avoid using the setcaps function. Use some of the new pad
forward functions to implement desired behaviour.
2011-06-07 10:04:52 +02:00
Wim Taymans
a767bf2bf9
caps: use the caps event
...
Use the caps event instead of gst_pad_set_caps() and the setcaps function
2011-06-07 09:43:20 +02:00
Tim-Philipp Müller
5a8273e527
Merge branch 'master' into 0.11
2011-06-05 15:48:51 +01:00
Tim-Philipp Müller
a4092cd5c4
Remove everything libxml2- and loadsave-related
2011-06-04 15:22:06 +01:00
David Schleef
f3eac7de22
Work around changes in g_atomic API
...
See #651514 for details. It's apparently impossible to write code
that avoids both type punning warnings with old g_atomic headers and
assertions in the new. Thus, macros and a version check.
2011-06-04 00:36:26 -07:00
Edward Hervey
cbac716f98
outputselector: Remove dead assignment
2011-05-31 13:43:47 +02:00
Wim Taymans
a96002bb28
tee: deactivate the pad after removing it
...
When releasing the request pad, first remove it from the element and then
deactivate it. If we do it the other way around, a gst_pad_push on the element
might return wrong-state before we had a chance to detect the removed pad in the
chain function.
2011-05-27 17:28:34 +02:00
Wim Taymans
7e6d579301
scheduling: port to new scheduling query
2011-05-24 17:39:56 +02:00
Sebastian Dröge
70e276e920
outputselector: Forward sticky events to newly created srcpads
2011-05-24 16:18:38 +02:00
Sebastian Dröge
67e23c26fc
tee: Forward sticky events to newly created srcpads
2011-05-24 16:18:31 +02:00
Sebastian Dröge
97f8397ccf
inputselector: Always send a SEGMENT event when the active pad changes
2011-05-20 12:19:10 +02:00
Sebastian Dröge
bc0855f213
inputselector: Fix copy&paste mistake in the srcpad event function
2011-05-20 12:19:10 +02:00
Sebastian Dröge
67cd7fd0a2
inputselector: Send upstream events to all sinkpads, not only the selected one
...
This makes sure that SEEK events are sent to all upstream elements, which is
required if different streams are completely distinct pipeline parts. Also this
allows QoS to be done on deselected streams, flushes to be handled correctly,
etc.
2011-05-20 12:00:11 +02:00
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
Wim Taymans
7a62d32a07
Merge branch 'master' into 0.11-fdo
...
Conflicts:
docs/plugins/gstreamer-plugins.hierarchy
gst/gstelement.c
2011-03-30 19:58:52 +02:00
Wim Taymans
ebb14d95b2
buffer: more API tweaks
...
_trim -> _resize
_create_sub -> copy_region
2011-03-30 16:47:55 +02:00
Sebastian Dröge
8db570f48c
multiqueue: Make assignment of queue IDs and pad names threadsafe
...
Also add a test for naming pads by the caller and return NULL
when requesting an already existing pad.
2011-03-30 10:52:36 +02:00
Andreas Frisch
5368406a57
multiqueue: Set the single queue ID to the ID of the requested pad if one was given by the caller
2011-03-30 10:18:54 +02:00
Fraxinas
86bbc85ab1
multiqueue: Fix arbitrary sink + source pad naming
...
Use the string provided by the caller for the sinkpad name
if possible. Note that all sanity checking for this name
is already done in GstElement.
Fixes Bug #645931
2011-03-29 11:31:03 +02:00
Sebastian Dröge
b6caaf4ead
funnel: Add some more documentation about the behaviour of funnel
2011-03-29 11:20:06 +02:00
Sebastian Dröge
a7b451cc13
funnel: Send a newsegment event after flush-stop
2011-03-29 11:20:06 +02:00
Sebastian Dröge
acb8203e62
funnel: Some random cleanup
2011-03-29 11:20:06 +02:00
Sebastian Dröge
9c9f619f6b
funnel: Use a GstPad subclass for the sinkpads instead of using the pad's element private data
2011-03-29 11:20:06 +02:00
Sebastian Dröge
565efa30ea
funnel: Integrate into the build system and rename the types
2011-03-29 11:20:05 +02:00
Sebastian Dröge
e5a857e78a
funnel: Import funnel element from farsight2
2011-03-29 11:20:05 +02:00
Wim Taymans
6da19ffeb2
buffer: more buffer updates
2011-03-29 11:07:36 +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
Stefan Kost
84eafff61b
docs: fix some gtk-doc warnings
...
Document the queue leaky enums.
2011-03-24 18:32:21 +02:00
Stefan Kost
1177a968cc
queue2: set max value for to the matching one for the datatype
...
The property is guint64, so use G_MAXUINT64 instead of G_MAXUINT.
2011-03-24 18:32:20 +02:00
Sebastian Dröge
489b94444e
multiqueue: Don't leak objects when flushing after dequeueing and before pushing the object
2011-03-22 11:04:20 +01:00
Sebastian Dröge
65fbc9398a
multiqueue: Really remove unused variable
2011-03-21 17:54:10 +01:00
Sebastian Dröge
383cac91b1
multiqueue: Increment unique item counter with atomic operations
...
Before it was only protected by the stream lock but every pad
has its own stream lock, making the protection rather useless.
2011-03-21 17:52:59 +01:00
Sebastian Dröge
9e36a51bac
multiqueue: Unblock all waiting pads when shutting down
2011-03-21 17:17:22 +01:00
Sebastian Dröge
5b48fd5b24
multiqueue: Remove unused variable
2011-03-21 16:34:19 +01:00
Sebastian Dröge
14eb517849
multiqueue: Exit loop function if the pad is flushing
...
Fixes possible deadlocks when flushing an unlinked pad that waits
for other pads to advance.
2011-03-21 16:29:40 +01:00
Jason D. Clinton
a789096c04
build: fix build with -Werror with GCC 4.6.0
...
This touches three areas of code, removes unused variables and discards
return values from two functions with (void).
https://bugzilla.gnome.org/show_bug.cgi?id=645267
2011-03-21 09:29:19 +01:00
Sebastian Dröge
69e81448c1
inputselector: Stop waiting for a pad switch when the pad is flushing
2011-03-19 08:57:06 +01:00
Sebastian Dröge
d41fe48ce3
inputselector: Move locking and signalling macros from the header to the source file
2011-03-19 08:57:06 +01:00
Sebastian Dröge
c8ecd6e9eb
inputselector: Hold the selector lock while reading properties of the active pad
2011-03-17 14:21:17 +01:00
Sebastian Dröge
5e60a80268
inputselector: Make sure that EOS is always sent downstream for the active pad
...
It can happen that the currently active pad got the EOS event
before it was activated and the previously active pad got the
EOS event after it was deactivated. In that case we have to
send the EOS event from an inactive pad downstream.
2011-03-17 14:10:49 +01:00
Sebastian Dröge
f19bb850ac
inputselector: Return GST_FLOW_OK until the selected pad pushed something downstream
...
This makes sure that during switches at no point in time all pads
have returned not-linked, which can happen when playing an audio-only
file with playbin2 and switching between the streams for example.
Fixes bug #644935 .
2011-03-17 12:06:39 +01:00
Wim Taymans
230c3455ac
Merge branch 'master' into 0.11
...
Conflicts:
gst/gstregistry.h
2011-03-02 11:08:34 +01:00
Tim-Philipp Müller
1f59906ec1
filesrc, filesink: fix URI creation regression for non-absolute locations
...
Passing e.g. location=foo would lead to warnings because g_filename_to_uri()
wants an absolute file path and returns NULL otherwise. Use brand-new
gst_filename_to_uri() instead, which will try harder to create a proper
URI for us.
Also add unit test.
2011-02-24 15:36:53 +00:00
Wim Taymans
70be8d8d95
improve type registration
2011-02-23 10:35:36 +01:00
Wim Taymans
6c18c9508d
miniobject: more boxed type fixing
...
More miniobject fixing, leaks horribly somewhere..
2011-02-23 10:35:09 +01:00
Tim-Philipp Müller
5ab1ee11ad
fakesink: print new MEDIA4 flag as well
2011-02-21 12:44:05 +00:00
David Schleef
7caf301d3f
fakesink: print buffer flags
2011-02-17 19:14:19 -08:00
Sebastian Dröge
c4be9526eb
filesink: Fix escaping of URIs
...
Especially don't escape / as path separators
2011-02-15 22:57:28 +01:00
Andoni Morales Alastruey
df9f72e78c
filesrc: Fix escaping of file uris
...
Fixes bug #642393 .
2011-02-15 22:57:28 +01:00
Mark Nauwelaerts
8bf4c1e1a8
queue2: don't read beyond the end of file upstream in pull mode
...
... which could lead to a premature eos being reported downstream,
rather than a successful partial read which would result when
performed directly on e.g. basesrc.
2011-02-15 14:51:20 +01:00
Mark Nauwelaerts
e14c133587
queue2: properly identity dequeued event as such
...
... which avoids terminating with ERROR rather than UNEXPECTED.
2011-02-02 15:37:38 +01:00
Olivier Crête
2cfc7adcb1
valve: Only set discont on the first buffer after drops
...
Reset the discont member after setting discont on the first buffer after
dropping.
2011-01-28 15:38:17 -05:00
Tim-Philipp Müller
5c778e25a5
identity: print unset buffer timestamps or durations as 'none'
...
Like fakesink and fakesrc do.
2011-01-28 19:59:47 +00:00
Stefan Kost
c5a57190ee
typefind: don't take object lock for reading the found caps
...
Once we switch to normal mode, we're not typefinding anymore and thus the caps
will not change. Therefore can avoid the object lock in the data-flow path.
The locking was added in order to fix bug #608877 .
2011-01-28 11:17:48 +02:00
Tim-Philipp Müller
af0642b6e8
docs: flesh out typefindelement docs some more
...
Mention that have-type signal may be emitted from streaming
thread or application thread, and fix a typo.
2011-01-25 18:48:40 +00:00
Stefan Kost
eed2a350cb
typefind: code and comment cleanups
...
Make code two places of the code the pushes the buffer store more similar. More
comments and debug logging.
2011-01-25 16:25:43 +02:00
Stefan Kost
740e4999b3
typefind: canonicalize signal name
2011-01-25 16:17:14 +02:00
Stefan Kost
c91c3d41fe
docs: mention have-type signal in the docs.
2011-01-25 16:17:14 +02:00
Mart Raudsepp
b387daa6ff
docs: Fix GstQueue2:ring-buffer-max-size property Since tag (0.10.31, not 0.10.30)
2011-01-24 14:38:36 +00:00
Stefan Kost
6090f22161
valve: fixe the property link and the sice docs
2011-01-11 15:14:04 +02:00
Thiago Santos
f552659504
outputselector: Improve get and set caps functions
...
Improve sink pad getcaps and setcaps by handling the case where
no src pads exist yet
2011-01-10 14:52:05 -03:00
Tim-Philipp Müller
cc1fc8eca8
indexers: fix two small leaks
...
element factory plugin_names are interned strings these days.
2011-01-07 02:20:45 +00:00