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
605639a2bf
adapter: optimize taking the headbuffer
...
When a are requested to take a buffer from the adapter that is exactly the
headbuffer, don't make a subbuffer of it but return that head buffer.
Add a unit-test for this new optimisation.
2009-05-12 10:25:40 +02:00
Arnout Vandecappelle
ef9ad30fde
typefind: don't leak the force-caps property
...
Fixes #581321
2009-05-12 10:21:26 +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
Sebastian Dröge
8e766e2d61
Add new functions to the win32 exports
2009-05-12 09:02:45 +02:00
Marc-Andre Lureau
4aa8888997
Run libtoolize before aclocal
...
This unbreaks the build in some cases. Fixes bug #582021
2009-05-12 09:02:45 +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
d20e695a00
filesrc: Improve debugging a bit on invalid URIs
2009-05-12 09:02:45 +02:00
Sebastian Dröge
99341f710c
docs: Add new functions to the docs
2009-05-12 09:02:44 +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
45a515054c
po: update .po files for new strings from container-format tag
2009-05-12 01:48:36 +01:00
Tim-Philipp Müller
222c560730
docs: small update to release docs
2009-05-12 01:30:13 +01:00
Tim-Philipp Müller
dfca0a20b0
configure: rename CVS -> git in a couple of places
2009-05-12 01:13:02 +01:00
Tim-Philipp Müller
8f8384e719
configure: bump the GLib requirement to GLib >= 2.16
...
as per the New Regime (see wiki).
2009-05-12 00:47:46 +01: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
2cd86a4956
tests: set the latency-time to something low
2009-05-12 00:27:46 +02:00
Wim Taymans
e9bcae7377
tests: improve the example
2009-05-12 00:27:42 +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
4cc2e05629
tests: add example of custom taskpools
...
Add an example to demonstrate the use of a custom taskpool and how to configure
it on the task. Currently the taskpool does not do much yet but it'll create
some custom threads later on.
2009-05-12 00:27:31 +02:00
Wim Taymans
09368ff155
taskpool: fix a comment
2009-05-12 00:27:22 +02:00
Wim Taymans
1cf54ede9d
tests: cleanup some code
2009-05-12 00:27:17 +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
88d158f6f3
defs: add new task methods
2009-05-12 00:27:04 +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
8ada09abac
defs: update .defs file with taskpool methods
2009-05-12 00:26:40 +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
b6f55607d6
examples: set bus handler before state change
...
We need to set the bus handler before starting the pipeline or we might just
miss the message we are looking for.
2009-05-12 00:09:40 +02:00
Wim Taymans
5eccc07856
tests: add example app for stream-status
...
Add an example application that adjusts the thread priority of a task using the
stream-status messages.
2009-05-12 00:09:30 +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
2aaf72d259
tests: add a unit-test for the stream-status
...
Add a unit test for the STREAM_STATUS messages.
2009-05-12 00:07:06 +02:00
Wim Taymans
b59045aab9
GstTask: improve documentation
...
Improve the documentation for the callbacks.
2009-05-12 00:05:12 +02:00
Wim Taymans
2efaf65c4c
tests: fix unit-tests for new stream-status
...
Fix the unit-tests so that they don't fail on the new stream-status messages
that are emited now.
2009-05-12 00:00:54 +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
657c689b7f
defs: add new symbol to defs file
2009-05-11 23:23:20 +02:00