Commit graph

9419 commits

Author SHA1 Message Date
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
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
50bcf96ffe basesrc: don't ignore pad_start return value 2009-05-11 23:06:39 +02:00
Wim Taymans
3ff09d9b51 design: more STREAM_STATUS updates
Pass the thread object in a GValue, which would allow the application to figure
out the type of the object instead of us having to explicitly code it in a
message field.
2009-05-11 23:04:48 +02:00
Wim Taymans
39aa1e0e31 design: update stream-status document some more 2009-05-11 23:04:38 +02:00
Wim Taymans
0b5f070eae design: add first version of stream-status
Add the first version of the STREAM_STATUS message design docs.
This message will be used to give applications more control over the
streaming threads.
2009-05-11 23:04:15 +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
Wim Taymans
103b2a41bf fakesink: avoid typecheck 2009-05-11 22:35:08 +02:00
Wim Taymans
53d3663139 -launch: connect to deep-notify with right name
Connect to the right signal name with - instead of _.
2009-05-11 22:33:14 +02:00
Jan Schmidt
bd07633cc2 info: Support new printf extensions in glibc 2.10
The printf extension mechanism changed in glibc 2.10, and the older
register_printf_function is deprecated. Detect and use the new
mechanism where available.
2009-05-11 21:30:14 +01:00
Jan Schmidt
a3297ad3ed docs: Fix a typo in the release script 2009-05-11 21:30:13 +01:00