Stefan Kost
4faa75ab35
registry: don't free node-date and deref again. Fixes #580579
...
When writing a cache chunk fails, we were freeing the node and jump to a final
cleanup which dereferenced a null pointer. Leve freeing the node to the cleanup
code in fail_free_list.
2009-05-22 23:10:00 +03:00
Stefan Kost
c2da78a953
docs: fix gtk-doc warnings
...
Move MT safety to main description (it does not belong to Return: or Since:
statement). Add a few missing return docs. Downgrade a normal comment froma doc
comment. Fix a doc header to only contain symbol name.
2009-05-22 12:53:11 +03:00
Jan Schmidt
c05e2382cb
docs: Fix up some documentation warnings.
...
Since: tags should always be the last thing in a doc block, apparently.
Add some Returns: descriptions to some recent functions.
2009-05-22 09:33:02 +01:00
Wim Taymans
f7c5767559
docs: update docs for stream_time->running_time
...
Change some instances where we wrongly refer to stream time where it should have
been running time.
2009-05-21 17:32:00 +02:00
Hannes Bistry
b47f425069
loadsave: fix requestpad handling and serialisation order.
...
Support request pads when loading. Reverse pad serialisation order to
preserve it when recreating the pipeline.
2009-05-20 10:58:59 +03:00
Tim-Philipp Müller
71c7ae6c07
docs: mention that GST_FORMAT_{PERCENT|BUFFERS} are not implemented
2009-05-18 01:00:36 +01:00
Sebastian Dröge
44ea1ac6b4
gstclock: Fix ABI breakage on 32 bit architectures
...
The padding of GstClock is a GstClockTime and not a
gpointer, so adding a pointer requires the padding
size to be changed depending on the pointer size.
Use an union instead.
Fixes bug #582878 .
2009-05-17 10:46:39 +02:00
Thiago Santos
f2890f46a5
[gstvalue] adds safety parenthesis to macros missing them.
2009-05-15 15:26:18 -03:00
Thiago Santos
69a1a60a87
[gstutils] Adds more safety to GST_WRITE_* and GST_READ_ macros.
...
Adds safety ( ) to parameters in _GST_PUT and _GST_GET macros.
Fixes #582708 .
2009-05-15 15:26:17 -03:00
Wim Taymans
bb8f296d45
clock: use seqlocks to parallellize readers
2009-05-15 16:14:52 +02:00
Edward Hervey
4f951e2614
Makefile.am: update for added/moved/removed files that weren't dist-ed.
2009-05-15 11:00:53 +02:00
Sebastian Dröge
bebfde7502
element: Set the originating pad as message source in gst_element_found_tags_for_pad ()
...
Fixes bug #582588 .
2009-05-14 12:25:20 +02:00
Wim Taymans
ae08561ae6
element: add gst_element_lost_state_full()
...
Add a gst_element_lost_state_full() with an extra argument to control
distribution of a new base_time. We will need this for flushing step
operations.
API: GstElement::gst_element_lost_state_full()
2009-05-14 11:36:28 +02:00
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
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
Edward Hervey
a69841761b
gsttaglist: Remove unused variable.
...
We don't need to allocate a variable if it's the return of a function call
and we only check it once.
2009-04-04 14:37:13 +02:00
Edward Hervey
759fe3452a
gststructure: Only use methods used in g_* checks if glib checks are disabled
2009-04-04 14:35:34 +02:00
Sebastian Dröge
e7ccf786c3
gst: Use G_DEFINE_TYPE and friends or at least g_once_init_* in the _get_type() functions
2009-04-04 10:20:36 +02:00
Sebastian Dröge
42febffe0d
gst: Use G_DEFINE_TYPE and don't call g_thread_init() from class_init
...
class_init is too late for calling g_thread_init() as g_thread_init()
needs to be called before any GObject function.
2009-04-04 10:18:42 +02:00
Mark Nauwelaerts
66295d508b
Use g_slice_copy instead of g_slice_dup.
...
A (buggy) glib g_slice_dup macro may cause compiler warnings on e.g. x86_64.
2009-04-03 13:47:35 +02:00
Edward Hervey
4028fa7149
gststructure: Remove dead assignment.
...
'type' is never used until line 1847 where it's overwritten.
2009-04-03 12:57:24 +02:00
Edward Hervey
f68573dc42
gstbin: Remove unused variable.
...
The return value of gst_element_change_state isn't used after that call.
2009-04-03 12:57:24 +02:00
Edward Hervey
f096c7d4e0
pipeline: remove redundant assignment.
...
If that block is entered, then start_time becomes GST_CLOCK_TIME_NONE.
Since start_time is invalid, the code will enter the block at line 434 and
new_base_time will be set there.
2009-04-03 12:57:24 +02:00
Edward Hervey
9557542722
gstregistrybinary: remove variable only used for a check.
...
that variable isn't used anywhere else within that block.
2009-04-03 12:57:24 +02:00
Edward Hervey
971755842d
Remove unused increments as detect by LLVM's CLang static analyzer.
2009-04-03 12:56:57 +02:00
Edward Hervey
00cbbc87c7
Remove unused variables detected by LLVM's Clang static analyzer.
2009-04-03 12:56:48 +02:00
Tim-Philipp Müller
01166ec0cd
docs: improve API reference for gst_caps_get_structure()
2009-04-03 11:20:32 +01:00
Thomas Vander Stichele
8995a45593
docs: explain ref ownership for handle_message implementations
2009-04-02 13:32:58 +02:00