Matej Knopp
a362b844f8
gstelement: Start over if subclass removed the next pad too
...
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=677818
2012-06-11 10:43:34 +02:00
Wim Taymans
6758e5f00d
element: fix pad cleanup in dispose
...
In the dispose handler we first need to release all the request pads and then
remove the remaining pads. This is because it is possible that releasing the
request pad might also cleanly remove some of the other dynamic pads, like
what rtpsession does.
https://bugzilla.gnome.org/show_bug.cgi?id=677436
2012-06-06 15:33:57 +02:00
Stefan Sauer
37f7fc165d
docs: improve the seeking docs more.
...
Also mention it on _element_seek{,_simple} and be more precise why it happens.
2012-05-21 15:17:08 +02:00
Stefan Sauer
dca0c19d3e
docs: fix a typo and clarify event handling a bit more
...
Tell about async_done messages for some events and review the _event_new_seek
docs.
2012-05-21 14:34:33 +02:00
Sebastian Dröge
91e13d4970
Merge remote-tracking branch 'origin/0.10'
2012-04-09 16:04:22 +02:00
Sebastian Dröge
1484a211f1
element: Fail if a pad for a non-request template is requested
2012-04-09 16:01:02 +02:00
Tim-Philipp Müller
4f1df6d094
element: use quarks when storing standard metadata in structures
2012-04-09 13:40:35 +01:00
Tim-Philipp Müller
bca1ae8fb0
element: add gst_element_class_{set,add}_static_metadata()
...
Add gst_element_class_{add,set}_metadata() variants for static strings,
so we can avoid unnecessary g_strdup()s.
API: gst_element_class_add_static_metadata()
API: gst_element_class_set_static_metadata()
2012-04-09 12:49:38 +01:00
Wim Taymans
9aa9751938
review some docs
2012-03-28 18:12:23 +02:00
Sebastian Dröge
cfe71423f0
gst: Remove gstmarshal.[ch] completely and use the generic marshaller
...
Fixes bug #671130 .
2012-03-02 11:05:48 +01:00
Wim Taymans
76a60c4c42
element: don't crash on missing template
...
Some request pads don't have a padtemplate (mostly those from encodebin). Avoid
crashing in this case.
2012-01-31 16:27:55 +01:00
David Schleef
9048b4dc2a
element: call ->release_pad() to clean up pad
...
https://bugzilla.gnome.org/show_bug.cgi?id=636011
https://bugzilla.gnome.org/show_bug.cgi?id=402562
2012-01-26 15:44:10 +00:00
Wim Taymans
252327f87a
Update for new gthread API
2012-01-19 09:27:04 +01: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
Tim-Philipp Müller
a1daf846f3
Merge remote-tracking branch 'origin/master' into 0.11
...
Conflicts:
gst/gstobject.h
libs/gst/check/gstcheck.h
libs/gst/controller/gstcontroller.c
plugins/elements/gstidentity.c
tools/gst-xmlinspect.c
2011-12-04 15:38:09 +00:00
Tim-Philipp Müller
2666450864
Suppress deprecation warnings in selected files, for g_static_rec_mutex_* mostly
...
GStaticRecMutex is part of our API/ABI, not much we can do here in 0.10.
2011-12-04 14:38:26 +00:00
Tim-Philipp Müller
5889260d5a
Work around deprecated thread API in glib master
...
Add private replacements for deprecated functions such as
g_mutex_new(), g_mutex_free(), g_cond_new() etc., mostly
to avoid the deprecation warnings. We can't change most of
these in 0.10 because they're part of our API and ABI.
2011-12-04 13:35:38 +00:00
Wim Taymans
1754ee91ad
element: add indexable flag
...
Remove the is_indexable method check and use an element flag to check if the
element can use an index.
2011-11-28 18:13:27 +01:00
Wim Taymans
40616aeb63
element: use flags for require/provide clock
...
Remove the _require/_provide_clock() methods and use element flags to mark
elements instead of looking at the implementation of the vmethod.
2011-11-28 17:22:44 +01:00
Wim Taymans
d65773b5fa
element: clean up element flags
...
Clean up the element flags
2011-11-28 16:54:55 +01:00
Vincent Penquerc'h
c0ba7985bd
gstelement: add gst_element_class_add_pad_template_from_static
...
This function helps ensure the pad template is unreffed
without having to complicate the calling code.
https://bugzilla.gnome.org/show_bug.cgi?id=662664
2011-11-28 13:09:07 +00:00
Stefan Sauer
52e3861e91
warnings: avoid set-but-unused warnings with load-save disabled
2011-11-27 20:39:42 +01:00
Wim Taymans
54e1174060
GstPadFlags: rename flags GST_PAD_* -> GST_PAD_FLAG_*
2011-11-16 12:36:51 +01:00
Wim Taymans
fe3af1d67b
pad: keep the parent alive when requested
...
Add a new pad flag NEED_PARENT that ensures that the parent of a pad is
reffed and not NULL when the event, query and internal links functions
are called.
When a pad is added to an element automatically make sure the NEED_PARENT flag
is enabled.
2011-11-16 12:08:22 +01:00
Wim Taymans
b5c3e254b1
pad: remove getcaps and use caps query
...
Remove the getcaps function on the pad and use the CAPS query for
the same effect.
Add PROXY_CAPS to the pad flags. This instructs the default caps event and query
handlers to pass on the CAPS related queries and events. This simplifies a lot
of elements that passtrough caps negotiation.
Make two utility functions to proxy caps queries and aggregate the result. Needs
to use the pad forward function instead later.
Make the _query_peer_ utility functions use the gst_pad_peer_query() function to
make sure the probes are emited properly.
2011-11-15 11:20:48 +01:00
Wim Taymans
13754e87fc
element: add a default set_clock implementation
...
Add a default set_clock implementation and avoid doing work in the vmethod
trampoline. This requires subclasses to chain up.
2011-11-10 12:09:57 +01:00
Wim Taymans
2227d80f93
element: don't do anything in the vmethod trampoline
...
Avoid doing stuff in the vmethod trampoline, just let the default
implementation of the method take care of things.
2011-11-10 12:08:51 +01:00
Wim Taymans
996d3dd5e4
element: fix some docs
2011-11-10 12:08:15 +01:00
Wim Taymans
6cc7254166
remove query types
...
It was not really useful
2011-11-09 11:47:10 +01:00
Wim Taymans
e4725d9df2
structure: cleanup API
...
gst_structure_empty_new() -> gst_structure_new_empty()
gst_structure_id_empty_new() -> gst_structure_new_id_empty()
gst_structure_id_new() -> gst_structure_new_id()
2011-11-02 08:59:44 +01:00
Tim-Philipp Müller
534e077c18
elementfactory: don't export private _gst_elementclass_factory quark
2011-10-08 20:46:55 +01: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
Stefan Sauer
83eb2d42fa
docs: escape % in docblob
2011-09-07 14:08:35 +02:00
Wim Taymans
8170c34c94
Merge branch 'master' into 0.11
...
Conflicts:
gst/gstbuffer.h
gst/gstcaps.c
gst/gstcaps.h
gst/gstevent.c
2011-08-22 12:33:35 +02:00
Stefan Kost
cce32ba0a2
docs: more clarification for element docs
...
Don't suggest deprecated method in the desction docs and try to be more helpful
in other places by suggesting related functions.
2011-08-20 14:07:55 +02:00
Stefan Kost
a3611c139a
docs: small clarification in the gst_element_get_request_pad docs
...
Make it more obvious that one should pass the template name.
2011-08-20 09:57:14 +02:00
Tim-Philipp Müller
388548222d
element: don't use G_CONST_RETURN
...
It's been deprecated in newer GLib versions
2011-07-28 12:11:36 +01:00
Wim Taymans
3cb8b33935
message: move the new_base_time flag to async_done
...
Move the flag to indicate that a new_base_time should be distributed to the
pipeline, from the async_start to the async_done message. This would allow us to
decide when to reset the pipeline time based on other reasons than the
FLUSH_START event.
The main goal eventually is to make the FLUSH events not reset time at all but
reset the time based on the first buffer or segment that prerolls the pipeline
again.
2011-06-08 13:45:19 +02:00
Wim Taymans
0de2f64e12
element: small cleanups
2011-06-02 15:37:41 +02:00
Wim Taymans
9555a7f8d0
element: inline the recursice state lock
2011-06-02 14:09:46 +02:00
Edward Hervey
ceb86a586e
gst: Remove obvious dead assignments
2011-05-31 18:30:30 +02:00
Wim Taymans
0d546490f6
remove some more deprecated methods
2011-05-24 18:39:41 +02:00
Wim Taymans
e8080ab874
element: add method to get metadata
...
Add a method to get the metadata from a klass.
2011-05-20 12:45:06 +02:00
Sebastian Dröge
5f406248eb
element: Consider GstPadTemplate as immutable
...
Don't copy the templates when creating subclasses but only increase
their refcount.
2011-05-17 13:13:51 +02:00
Sebastian Dröge
be00534878
padtemplate: Create pad templates with floating refs
...
And take ownership of the floating ref in gst_element_add_pad_template()
2011-05-17 13:13:51 +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
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
3872b816d2
element: Add GstElement::state_changed vfunc
...
API: GstElement::state_changed
This is always called when the state of an element has changed and
before the corresponding state-changed message is posted on the bus.
2011-05-14 11:39:35 +02:00
Sebastian Dröge
2f947f3993
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-14 11:39:33 +02:00