Commit graph

4508 commits

Author SHA1 Message Date
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
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
Wim Taymans 81cadeecd2 GstBin: set PENDING_STATE correctly
Set the pending state correctly when we are going to perform an async
state_continue on the bin.
Fixes #580121
2009-04-24 19:36:22 +02:00
Stefan Kost 581ccbb581 gstdebug: compete stubs. Fixes #579177.
Avoid defines when including gstinfo.h ourself and complete stubs. Sync stub
returns with the defines.
2009-04-17 15:01:46 +03:00
Yaakov Selkowitz eacfe25cf9 gst_init: relocatability is unnecessary on Cygwin
See #555978.
2009-04-17 11:39:59 +01:00
Brian Cameron e6a3fd9bbb gstinfo: don't assume G_HAVE_ISO_VARARGS implies ISO C99
Makes headers C++ clean, esp. with the Sun compilers.
Fixes #567692.
2009-04-17 10:11:21 +01:00
Tim-Philipp Müller b31896b2af GstPlugin: fix compilation if both HAVE_WIN32 and HAVE_SIGACTION are defined
Move _gst_plugin_fault_handler_is_setup into the ifdef block where it's
used. Fixes #578201.
2009-04-17 09:17:40 +01:00
Jan Schmidt d50044dc2f docs: remove errant gtk-doc comment marker triggering a warning 2009-04-16 00:48:12 +01:00
Jan Schmidt 4c6c9c2d5b paramspecs: revert gst_param_spec_is_mutable() for release
Revert the gst_param_spec_is_mutable API for this release so we can
discuss it a bit further first.
2009-04-16 00:48:11 +01:00
Stefan Kost 659102e04a gstdebug: show enabled/disabled in configure and fix build for disabled
When its disabled, we poison some symbols to force a build error if they are
used. Dunno how useful this acually is, but we need to disable the poisoning
when we include this ourself. Also don't define some of the dummies, as they
are getting replaced with defines and that creates code that does not compile.
2009-04-15 23:35:35 +03:00
Sebastian Dröge c09069c889 Use g_once_init_*() instead of GOnce for the enum types 2009-04-15 19:58:34 +02:00
Sebastian Dröge 484c3272c4 staticpadtemplate: Update docs of gst_static_pad_template_get_caps ()
gst_static_pad_template_get_caps () actually returns a reference to the
caps and it's cleaner to unref them after usage. The core will, however,
always hold a reference to the caps so this didn't result in a memory
leak.
2009-04-15 13:06:13 +02:00
Stefan Kost dafde2ed66 docs: use real <note> tags as they look nice in new gtk-doc 2009-04-14 22:33:25 +03:00
David Schleef 8dd2b4b591 Fix locking in gst_param_spec_is_mutable 2009-04-14 12:21:39 -07:00
Wim Taymans 5ca6853eb1 docs: add simple doc blurb 2009-04-14 19:12:52 +02:00
Wim Taymans 004f981edb paramspecs: add note about racyness
Add a note about potential racyness in _is_mutable().
2009-04-14 19:11:44 +02:00
LRN 7e0bdbf208 info: use mutex to do console colors on windows
Use a static mutex to keep the console colors and context together when
debugging with colors on Windows.
Fixes #517231.
2009-04-14 10:32:07 +02:00
Tim-Philipp Müller 25826ffe40 docs: add Since: tags to gtk-doc chunks for new param spec API
And, for our release manager, the in-commit-message keywords
for the previous commit:
API: GST_PARAM_MUTABLE_READY
API: GST_PARAM_MUTABLE_PAUSED
API: GST_PARAM_MUTABLE_PLAYING
API: gst_param_spec_is_mutable
2009-04-13 14:27:49 +01:00
David Schleef 1ecf114c0e Add param spec flags for when a property can be changed
Adds GST_PARAM_MUTABLE* flags to indicate in which states a
property can be changed and take effect.  Fixes #571559
2009-04-12 18:45:24 -07:00
Wim Taymans 1b4b1a5b1f bin: always mark pending_async_done
When we get an ASYNC_DONE message when a state change was busy, set the
pending_async_done flag so that after the state change completes, the bin can
check if all async elements are finished. Don't only do this for the bin itself
but for all elements.

This fixes some bins in bins that simulate async state changes by posting ASYNC
messages (such as sdpparse in uridecodebin/playbin2).
2009-04-09 11:51:43 +02:00
Wim Taymans b4e9c87fcc info: fix compilation, %08x needs an unsigned int
%08x needs an unsigned int, so give it that.
2009-04-09 11:42:48 +02:00
Tim-Philipp Müller 116c8be6bf API: add FIXME and DUMPMEM log levels and convenience macros
Two new log levels to dump FIXMEs into the log and to log data
in form of a hex dump (#578114).

API: GST_CAT_FIXME_OBJECT
API: GST_CAT_MEMDUMP_OBJECT
API: GST_CAT_FIXME
API: GST_CAT_MEMDUMP
API: GST_FIXME_OBJECT
API: GST_MEMDUMP_OBJECT
API: GST_FIXME
API: GST_MEMDUMP
2009-04-08 21:32:05 +01:00
Stefan Kost 7d0b4f10c6 docs: xref more 2009-04-08 18:13:42 +03:00
Stefan Kost c9917a1a84 tests: remove the hacks to workaround the pad-leak 2009-04-08 17:49:18 +03:00
Stefan Kost 8892f3f4c9 padtemplate: enable code to fix the leak, now that the deps have been released
Good and ffmpeg are actually multiple releases beyond, so that this is now safe
to do.
2009-04-08 15:24:58 +03:00