Commit graph

5716 commits

Author SHA1 Message Date
Sebastian Dröge
e22f5d8a68 bin: Only post EOS messages after reaching the PLAYING state
Fixes bug #647756.
2011-05-05 12:30:05 +02:00
Sebastian Dröge
c6e9ce64ae pad: Remove unnecessary FIXME
Resetting the result is not necessary when resyncing because
pads that previously got the event will be skipped and we
need to consider the results of the previous pushes.
2011-05-05 12:30:05 +02:00
Sebastian Dröge
5a6ef6408f element: If activating one pad failed error out early instead of trying to activate the next pads
If one pad fails to activate the complete activation process will fail
anyway and trying to activate the other pads only wastes time.
2011-05-05 12:30:05 +02:00
Sebastian Dröge
5c84883f2e bin: If activating one pad failed error out early instead of trying to activate the next pads
If one pad fails to activate the complete activation process will fail
anyway and trying to activate the other pads only wastes time.
2011-05-05 12:30:05 +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
Wim Taymans
9136abf623 pad: use the context to store sticky events
Store the sticky events in the context of a source pad.
2011-05-04 15:53:21 +02:00
Wim Taymans
0fee137dbc context: add helper object to manage events
Add a helper object to manage the events that define the context of a buffer and
a stream.
2011-05-04 15:20:10 +02:00
Wim Taymans
6cfd9d57e2 event: add new CAPS event
Add a new CAPS event that will be used to negotiate downstream elements. It'll
also stick on pad so that we can remove the GstCaps field on pads and the
GstCaps field on buffers.
2011-05-04 11:03:05 +02:00
Wim Taymans
bc9cffda90 pad: more sticky events work
Copy the sticky events from the srcpad to the sinkpad when linking pads. Set the
STICKY_PENDING flag to make sure that the sticky events are dispatched before
pushing the next buffer to the element.
2011-05-03 18:58:18 +02:00
Thiago Santos
a750aac2dd miniobject: Fix dup_mini_object function to handle NULL gvalues
g_value_dup_object handles gvalues that contain NULL pointers,
gst_value_dup_mini_object should do the same.

https://bugzilla.gnome.org/show_bug.cgi?id=649195
2011-05-03 08:15:51 -03:00
Stefan Kost
58fc672362 docs: fix copy'n'paste doc header mistake 2011-05-03 13:03:21 +03:00
Stefan Kost
c45ff2b12a docs: add two trivial doc blobs 2011-05-03 13:03:21 +03:00
Stefan Kost
319eef8aa9 docs: improve the syntax for the capsintersectmode docs 2011-05-03 13:03:20 +03:00
Stefan Kost
41754faaaf docs: fixup broken xref 2011-05-03 13:03:20 +03:00
Stefan Kost
a482babf55 docs: fix gtk-doc syntax 2011-05-03 13:03:20 +03:00
Stefan Kost
81c32bc56e docs: we don't need to document private members in opaque structs 2011-05-03 13:03:20 +03:00
Philippe Normand
4e36f93924 core: store presets, registry and plugins in XDG directories.
Presets and plugins moved to $XDG_DATA_HOME/gstreamer-0.11/
root directory. Registry moved to $XDG_CACHE_HOME/gstreamer-0.11/.

Fixes bug #518597.
2011-05-03 09:43:22 +02:00
Sebastian Dröge
5fe9bcd989 Merge branch 'master' into 0.11
Conflicts:
	configure.ac
	gst/gstbus.c
2011-05-03 09:42:58 +02:00
Wim Taymans
2243adffa1 event: add sticky flags to events
Add the sticky flag to events and a sticky index.
Keep sticky events in an array on each pad.
Remove GST_EVENT_SRC(), it is causing refcycles with sticky events, was not used
and is not very interesting anyway.
2011-05-02 18:34:18 +02:00
Wim Taymans
9d80fbac23 query: improve allocation parameters query
Use the same parameters as those used for the bufferpool. Make sure we can pass
a minimum and maximum amount of buffers needed.
2011-05-02 11:09:52 +02:00
Tim-Philipp Müller
1ebff8a510 pluginfeature: include plugin.h in header where we use a GstPlugin pointer
Should fix issue with gstreamermm build where <gst/gstindex.h> is included
directly instead of gst/gst.h.
2011-04-29 23:44:55 +01: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
ed1862269a query: init the ALLOCATION query correctly
Don't add the 'pool' property instead of adding it with a NULL array.
2011-04-29 12:11:56 +02:00
Wim Taymans
ccfaa53fb2 query: fix parsing of the ALLOCATION query
Add methods for parsing the caps and the need_pool boolean.
2011-04-29 10:50:17 +02:00
Wim Taymans
6ea2e71c48 query: fix typo in method name and improve docs
Fixed typo in method name and add/improve the docs.
2011-04-28 16:20:22 +02:00
Wim Taymans
06f6935107 bufferpool: add query to request pool and configuration
Add a query to request allocation parameters and optionally a bufferpool as
well. This should allow elements to discover downstream capabilities and also
use the downstream allocators.
2011-04-28 15:31:48 +02:00
Wim Taymans
7c8405fa28 bus: fix timeout handling 2011-04-27 18:10:55 +02:00
Wim Taymans
442193f3f3 bufferpool: fix some docs 2011-04-27 17:56:12 +02:00
Wim Taymans
a61e0e5bde event: improve argument names of segments 2011-04-27 17:55:20 +02:00
Tim-Philipp Müller
06ca275916 Revert lockfree GstBus for the release
Drop in old GstBus code for the release to play it safe, since
regressions that are apparently hard to track down and reproduce
have been reported (on windows/OSX mostly) against the lockfree
version, and more time is needed to fix them.

This reverts commit 03391a8970.
This reverts commit 43cdbc17e6.
This reverts commit 80eb160e0f.
This reverts commit c41b0ade28.
This reverts commit 874d60e589.
This reverts commit 79370d4b17.
This reverts commit 2cb3e52351.
This reverts commit bd1c400114.
This reverts commit 4bf8f1524f.
This reverts commit 14d7db1b52.

https://bugzilla.gnome.org/show_bug.cgi?id=647493
2011-04-26 16:14:00 +01:00
Josep Torra
5ccda2f8f4 Small cosmetic cleanups
Make sure the return values from g_return_* are of the right type.
2011-04-25 11:10:47 +02:00
Wim Taymans
070cdaab7c Merge branch 'master' into 0.11 2011-04-25 10:30:41 +02:00
David Schleef
36fc7179cb minor inline documentation fix 2011-04-24 18:31:12 -07:00
Tim-Philipp Müller
f9625dbe55 registry: when removing a cached-but-no-longer-existing plugin, only remove features that belong to it
When a plugin file no longer exists, e.g. because it's been removed or
renamed, don't remove all features in the registry based on the *name*
of the plugin they belong to, but only remove those who actually belong
to that particular plugin (object/pointer).

This fixes issues of plugin features disappearing when a plugin .so file
is renamed.

https://bugzilla.gnome.org/show_bug.cgi?id=604094
2011-04-24 11:27:56 +01:00
Tim-Philipp Müller
4926ce31c7 pluginfeature: store pointer to plugin in addition to the plugin name
So we can reliably remove plugin features for a specific plugin later.

https://bugzilla.gnome.org/show_bug.cgi?id=604094
2011-04-24 11:27:19 +01:00
Tim-Philipp Müller
d3d5b98c2f registry: use TRACE log level to log files that don't look like plugins
Cuts down the noise in uninstalled setups.
2011-04-24 11:05:58 +01:00
Mark Nauwelaerts
03391a8970 bus: also allow popping a message without timeout if no poll available
... which happens in particular flushing a bus, possibly as part
of a state change, e.g. when having a pipeline in a pipeline
and then changing state back to NULL. The interior pipeline
will/might then flush the bus, which is a child bus from the
parent which does not have a poll anymore these days.

https://bugzilla.gnome.org/show_bug.cgi?id=648297
2011-04-21 12:29:34 +01:00
Wim Taymans
d939bea074 element: remove unused variable 2011-04-20 19:03:49 +02:00
Wim Taymans
9ccd6b1134 element: don't touch base_time or clock in state change
Don't touch the base_time or the clock when setting an element to the READY or
NULL state. It is the parent that will manage this for us.
2011-04-20 19:03:16 +02:00
Sebastian Dröge
4db7fc58d2 bufferlist: Implement gst_buffer_list_foreach() 2011-04-19 20:52:05 +02:00
Wim Taymans
8e76da20b6 Merge branch 'master' into 0.11 2011-04-19 19:30:28 +02:00
Wim Taymans
b8c1e81328 buffer: add method to compare buffer data
Add method to compare the data in a buffer.
2011-04-19 18:57:43 +02:00
Wim Taymans
24bb414035 Merge branch 'master' into 0.11
Conflicts:
	configure.ac
2011-04-19 16:21:15 +02:00
Havard Graff
547d451772 pad: unlock before freeing the cache to avoid deadlock
https://bugzilla.gnome.org/show_bug.cgi?id=648199
2011-04-19 15:15:34 +01:00
Tim-Philipp Müller
60bbb9c24f docs: add note/warning to gst_index_get_writer_id() docs about the OBJECT_LOCK
https://bugzilla.gnome.org/show_bug.cgi?id=646811
2011-04-19 13:23:19 +01:00
Tim-Philipp Müller
f4b178af3b query: const-ify formats arguments to gst_query_set_formatsv() 2011-04-19 11:48:05 +01:00
Sebastian Dröge
0f3f816f3f utils: Remove GST_BOILERPLATE and friends 2011-04-19 11:45:32 +02:00
Sebastian Dröge
6e41a3cf2f pad: Make the size parameter of gst_pad_alloc_buffer() unsigned
Internally guints were used everywhere already.
2011-04-18 10:47:26 +02:00
Sebastian Dröge
9b2a8b8480 pad: Don't allow fixating ANY caps and remove FIXME 2011-04-18 10:41:18 +02:00