Stefan Kost
39d21970b0
debugutils: show more pad-details
...
Show pad activation mode and pad-flags inside the pad. Write down some ideas
about how we could improve the caps layout.
2009-05-13 11:03:27 +03:00
Stefan Kost
82635ea2a7
debugutils: layout improvement
...
dot does not take the head/tail labels into account. For unfixed caps they get
quite large. Double the padding to make it sort of readable in more cases. Also
make normal font bigger and caps-label font smaller to increase our luck.
2009-05-13 00:32:17 +03:00
Tim-Philipp Müller
fb007e5d50
Initialise some more types in gst_init(), esp. the new enum types
...
Possibly fixes GObject class creation/unref race conditions when
creating the last-message string in fakesink for events with
structures that have fields with these enum types.
2009-05-12 20:58:32 +01:00
Tim-Philipp Müller
7f0b2f3d3b
systemclock: remove duplicate _get_type() function for GstClockType
...
Remove the static gst_clock_type_get_type() function in the
systemclock code in favour of the public one in gstenumtypes.c.
2009-05-12 20:57:09 +01:00
Stefan Kost
b71014259a
ghostpad: remove deprecated API
...
_internal_link_function() is deprecated and _iterate_internal_links_function()
is already provided.
2009-05-12 18:31:20 +03:00
Stefan Kost
5ce13775b8
parse-launch: allow specifying GstElement properties via gst_parse_bin_from_description
...
If deserializing a property fails, check if the value type is a string and if so
attempt to create a bin from the string value. This allows to e.g. specify
audio-sink/video-sink for playbin on gst-launch commandline.
2009-05-12 18:31:19 +03:00
Wim Taymans
2dcbe1a4d3
bufferlist: make objects opaque
2009-05-12 16:18:48 +02:00
Wim Taymans
19dc33935e
bufferlist: fix a comment
2009-05-12 15:33:25 +02:00
Jonas Holmberg
22a48fb08c
bufferlist: hook up the pad functions
...
Reuse buffer code for bufferlists. Not sure if this measurably impacts performance
for the simple buffer case, if it does after doing some benchmarks, we can
decouple it later.
Fixes #572285
2009-05-12 15:18:53 +02:00
Jonas Holmberg
d99cf4db1b
bufferlist: add docs/build/debug/unittest
...
See #572285
2009-05-12 15:18:52 +02:00
Jonas Holmberg
27fb4ce76c
bufferlist: add bufferlist code
...
Buffer lists are a means to manage disjoint buffers as one buffer. It's also
possible to put many of those buffers into a list.
The idea is that when support is added to various elements, we will be able to
more efficiently slice and dice buffers, reduce the amount of memcpy and also
reduce data passing overhead.
The implementation is kept simple on purpose, reusing all of the memory
management features we have for miniobjects and buffers.
Access to the bufferlist object is done with an iterator, which allows for
efficient iteration and modification of the list.
See #572285
2009-05-12 15:18:52 +02:00
Edward Hervey
6c1dce01d1
gstbuffer: copy new buffer flags when copying metadata.
2009-05-12 11:22:11 +02:00
Wim Taymans
8c26c22f2c
element: fix posting of async-start messages
...
When an element lost its state but was busy doing a state change, still post the
async-start message with the base_time reset flag or else we might end up with
an old base_time.
this can happen when a sink is goin async to paused and then a flushing seek is
performed. This would cause the base_time to remain unmodified because the
async-start message was not sent.
2009-05-12 10:20:53 +02:00
José Alburquerque
7ff2f9233f
API: Add gst_plugin_register_static_full()
...
This is mainly useful for bindings that need to provide
some additional user data to the registration function.
Fixes bug #545787 .
2009-05-12 09:02:45 +02:00
Sebastian Dröge
ad8a35ff3e
tags: API: Add functions to add single tags to GstTagList or GstTagSetter
...
The new functions are gst_tag_setter_add_tag_value()
and gst_tag_list_add_value()). This fixes bug #581198 .
2009-05-12 09:02:44 +02:00
Sebastian Dröge
c003165b76
GstURIHandler: Use get_type_full() vmethod if specified instead of get_type()
...
This fixes bug #581281 and makes it easier for bindings to
implement GstURIHandlers. get_protocols_full() was already used
like this.
2009-05-12 09:02:44 +02:00
Tim-Philipp Müller
01b93c1ef2
xmlregistry: remove the old xml registry
...
No point in keeping it around really. Fixes #577926 .
2009-05-12 00:09:58 +01:00
Tim-Philipp Müller
0b285bfa40
tags: add a tag for the container format
...
API: add GST_TAG_CONTAINER_FORMAT
2009-05-11 23:44:19 +01:00
Tim-Philipp Müller
06d79151c1
bin: fix debug message
...
Make the debug message show what's actually happening (the message
replaced here is not necessarily of the same type as the one that
replaces it).
2009-05-11 23:41:52 +01:00
Wim Taymans
b962f41ca1
GstTask: fix compilation
2009-05-12 00:34:44 +02:00
Wim Taymans
d2c5ea9a40
TaskPool: remove _set_func()
...
Remove the static function set on the TaskPool before _prepare() is called and
allow for assigning a function to a Task when we _push().
Update the examples
2009-05-12 00:27:38 +02:00
Wim Taymans
09368ff155
taskpool: fix a comment
2009-05-12 00:27:22 +02:00
Wim Taymans
4b604f7da6
Pad: post STREAM_STATUS_TYPE_CREATE
...
Post a stream-status message indicating that a new task was created so that the
application has a chance to change the properties of the task.
Fix unit test to take into account the new ref of the message.
2009-05-12 00:27:10 +02:00
Wim Taymans
02250179d9
GstTask: add methods for configuring the pool
...
Add getter and setter for configuring the GstTaskPool to use for a GstTask.
2009-05-12 00:26:58 +02:00
Wim Taymans
a8d2516fa6
Task: remember pool
...
Remember the pool we currently have our task running so that we can use it to
join the task later on.
Fix a leak of the taskpool.
2009-05-12 00:26:48 +02:00
Wim Taymans
8e2bd06c31
task: fix deadlock due to typo
2009-05-12 00:25:41 +02:00
Wim Taymans
5fdd5e0a1e
GstTask: use GstTaskPool for managing threads
...
Use the new GstTaskPool to handle streaming threads.
2009-05-12 00:25:11 +02:00
Wim Taymans
4d326be6cf
taskpool: fix docs, make push/join generic
...
Fix some more docs.
Make _push() return a generic id (this can be something else than a GThread in
some cases) and make _join() use that generic id.
2009-05-12 00:22:25 +02:00
Wim Taymans
aadac11ae3
taskpool: add new object to manage threads
...
Add a new object GstTaskPool to manage the streaming threads.
This will allow us to create and use custom configured threads.
2009-05-12 00:22:19 +02:00
Wim Taymans
2d8a22c1da
Task: add method to set the priority
...
Add a method to configure a priority for the threads used by GstTask.
2009-05-12 00:08:35 +02:00
Wim Taymans
b59045aab9
GstTask: improve documentation
...
Improve the documentation for the callbacks.
2009-05-12 00:05:12 +02:00
Wim Taymans
540560a758
GstPad: install thread callbacks of the task
...
Install thread status callbacks on the task object of a pad and post
STREAM_STATUS messages.
2009-05-12 00:00:44 +02:00
Wim Taymans
d4a9ece0b1
message: clarify some docs
2009-05-11 23:53:52 +02:00
Wim Taymans
35eeb4864c
Task: call leave_thread before signaling
...
Call the leave_thread callback before we signal the thread performing the _join
so that we can be sure that the listener still has valid info in the callback.
2009-05-11 23:49:19 +02:00
Wim Taymans
e72efeccd1
GstMessage: Add STREAM_STATUS message methods
...
Add methods to handle the stream_status message types.
2009-05-11 23:47:22 +02:00
Wim Taymans
81c0840ab0
quark: add "object" quark
...
Add the object quark that will be used for the STREAM_STATUS messages.
2009-05-11 23:47:06 +02:00
Wim Taymans
d52114d449
Task: remove create/join methods
...
Prepare for using the GstTaskPool object. We don't need the create and join
callbacks anymore, they will be handled by the pool.
2009-05-11 23:44:42 +02:00
Wim Taymans
a830dcd9c2
GstTask: add private data, fix parent_class
...
Use the parent class that the glib macro gave us
Actually add the private data to the task.
2009-05-11 23:30:02 +02:00
Wim Taymans
d68a20906a
GstTask: hook up enter/leave/notify callbacks
...
Hoop up the notify/enter/leave callbacks.
2009-05-11 23:24:32 +02:00
Wim Taymans
9d8d9e0805
GstTask: allow setting callbacks
...
Allow setting thread callbacks that will allow us to control the threads used by
the task.
2009-05-11 23:19:53 +02:00
Wim Taymans
c3a4f5a976
GstTask: add some more docs
2009-05-11 23:04:02 +02:00
Wim Taymans
10f5429887
GstPad: use new task function
...
Use the new task_set_state function and actually return its result to
the caller.
2009-05-11 23:00:45 +02:00
Wim Taymans
c31c3f215f
GstTask: unify task state functions
...
Add new gst_task_set_state() to change the state of the task instead of
duplicating the code in each function.
API: GstTask::gst_task_set_state()
2009-05-11 22:59:35 +02:00
Wim Taymans
fb3d528d1a
Message: small indentation change.
2009-05-11 22:40:11 +02:00
Wim Taymans
761b0e39c1
Avoid unneeded type checks
2009-05-11 22:35:09 +02:00
Wim Taymans
ceb74fe2cf
registry: avoid calling _get_name() too much
...
Avoid calling gst_plugin_get_name() too many times but instead cache
the value.
2009-05-11 22:35:09 +02:00
Wim Taymans
84c5db2635
Use new _ref_sink when we can
2009-05-11 22:35:09 +02:00
Wim Taymans
54401df78c
gstobject: add gst_object_ref_sink
...
Add the gst_object_ref_sink() method to match the glib one.
API: GstObject::gst_object_ref_sink()
2009-05-11 22:35:08 +02:00
Wim Taymans
20d2734a25
gstobject: avoid type checks
2009-05-11 22:35:08 +02:00
Wim Taymans
13515a7535
gstbuffer: avoid typechecks in finalize
...
Avoid useless typechecking in the finalize of buffers and subbuffers.
2009-05-11 22:35:08 +02:00