Wim Taymans [Tue, 19 May 2009 22:44:11 +0000 (00:44 +0200)]
docs: add new symbol to docs
Wim Taymans [Tue, 19 May 2009 22:37:53 +0000 (00:37 +0200)]
adapter: add _masked_scan_uint32
Add a reasonably optimized new gst_adapter_masked_scan_uint32() function
to scan the adapter for a pattern after applying a mask.
Add some unit tests.
API: GstAdapter::gst_adapter_masked_scan_uint32()
Fixes #583187
Wim Taymans [Tue, 19 May 2009 20:13:04 +0000 (22:13 +0200)]
adapter: more optimisations
Remove duplicate copy code (_peek_into and _copy) and make a unified
optimized copy function.
Tim-Philipp Müller [Tue, 19 May 2009 16:12:41 +0000 (17:12 +0100)]
configure: pass -Wno-portability to automake to suppress warnings
GNU make is required, no point pretending otherwise.
Tim-Philipp Müller [Mon, 18 May 2009 00:00:36 +0000 (01:00 +0100)]
docs: mention that GST_FORMAT_{PERCENT|BUFFERS} are not implemented
Sebastian Dröge [Sun, 17 May 2009 08:46:39 +0000 (10:46 +0200)]
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.
Thiago Santos [Fri, 15 May 2009 18:24:40 +0000 (15:24 -0300)]
[gstvalue] adds safety parenthesis to macros missing them.
Thiago Santos [Fri, 15 May 2009 17:42:48 +0000 (14:42 -0300)]
[gstutils] Adds more safety to GST_WRITE_* and GST_READ_ macros.
Adds safety ( ) to parameters in _GST_PUT and _GST_GET macros.
Fixes #582708.
Wim Taymans [Thu, 19 Mar 2009 10:37:12 +0000 (11:37 +0100)]
clock: use seqlocks to parallellize readers
Wim Taymans [Thu, 16 Apr 2009 13:53:29 +0000 (15:53 +0200)]
stress: add a clock stresstest
Add a stresstest for gst_clock_get_time().
Edward Hervey [Fri, 15 May 2009 09:00:53 +0000 (11:00 +0200)]
Makefile.am: update for added/moved/removed files that weren't dist-ed.
Jan Schmidt [Tue, 12 May 2009 10:29:21 +0000 (11:29 +0100)]
docs: Release script modifications
Sebastian Dröge [Thu, 14 May 2009 20:11:57 +0000 (22:11 +0200)]
controller: Use ordered GSequence instead of GList
This makes lookups and insertions O(log n) instead of
always O(n) for insertions and O(n) in worst case for
lookups.
Fixes bug #582564.
Wim Taymans [Thu, 14 May 2009 10:30:23 +0000 (12:30 +0200)]
docs: rename and delete some design docs
Sebastian Dröge [Thu, 14 May 2009 10:30:04 +0000 (12:30 +0200)]
gst-launch: Print the path string for message sources
This reduces confusion if the message source is a pad
and only "src" is printed as source.
Sebastian Dröge [Thu, 14 May 2009 10:25:20 +0000 (12:25 +0200)]
element: Set the originating pad as message source in gst_element_found_tags_for_pad ()
Fixes bug #582588.
Wim Taymans [Thu, 14 May 2009 09:36:28 +0000 (11:36 +0200)]
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()
Wim Taymans [Wed, 13 May 2009 21:52:02 +0000 (23:52 +0200)]
adapter: don't use realloc, it does a memcpy
Don't use realloc to grow the scratch area because we don't want the memcpy the
old useless data into the new area before we write our new stuff in it.
Wim Taymans [Wed, 13 May 2009 21:38:08 +0000 (23:38 +0200)]
docs: update trickmode document
Wim Taymans [Wed, 13 May 2009 20:51:18 +0000 (22:51 +0200)]
adapter: use g_realloc for resizing the buffer
Use g_realloc for resizing the internal buffer instead of a
less fancy _free/_malloc pair.
Wim Taymans [Wed, 13 May 2009 19:35:23 +0000 (21:35 +0200)]
adapter: move new member to private struct
Move the new members to a private struct because we don't have enough padding
anymore on 32-bits platforms.
Wim Taymans [Wed, 13 May 2009 16:50:23 +0000 (18:50 +0200)]
adapter: update some docs
Wim Taymans [Wed, 13 May 2009 15:09:32 +0000 (17:09 +0200)]
tests: add another test for adapter timestamps
Wim Taymans [Wed, 13 May 2009 14:48:38 +0000 (16:48 +0200)]
tests: add new timestamp unit test
Wim Taymans [Wed, 13 May 2009 14:26:00 +0000 (16:26 +0200)]
defs: add new symbol
Wim Taymans [Wed, 13 May 2009 14:09:20 +0000 (16:09 +0200)]
adapter: add method to keep track of timestamps
Keep track of the timestamp and offset associated with the current head of the
adapter.
API: GstAdapter::gst_adapter_prev_timestamp()
Wim Taymans [Wed, 13 May 2009 14:20:26 +0000 (16:20 +0200)]
adapter: small cleanups
Stefan Kost [Wed, 13 May 2009 08:03:27 +0000 (11:03 +0300)]
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.
Stefan Kost [Tue, 12 May 2009 21:29:57 +0000 (00:29 +0300)]
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.
Tim-Philipp Müller [Tue, 12 May 2009 20:00:15 +0000 (21:00 +0100)]
checks: check for enum types not class_ref'ed in gst_init() in 'make check'
Tim-Philipp Müller [Tue, 12 May 2009 19:58:32 +0000 (20:58 +0100)]
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.
Tim-Philipp Müller [Tue, 12 May 2009 19:56:06 +0000 (20:56 +0100)]
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.
Stefan Kost [Wed, 22 Apr 2009 07:53:37 +0000 (10:53 +0300)]
ghostpad: remove deprecated API
_internal_link_function() is deprecated and _iterate_internal_links_function()
is already provided.
Stefan Kost [Tue, 21 Apr 2009 08:33:43 +0000 (11:33 +0300)]
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.
Wim Taymans [Tue, 12 May 2009 15:29:15 +0000 (17:29 +0200)]
docs: add some docs about buffer lists
Wim Taymans [Tue, 12 May 2009 14:18:48 +0000 (16:18 +0200)]
bufferlist: make objects opaque
Wim Taymans [Tue, 12 May 2009 13:33:25 +0000 (15:33 +0200)]
bufferlist: fix a comment
Jonas Holmberg [Tue, 12 May 2009 11:10:55 +0000 (13:10 +0200)]
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
Jonas Holmberg [Tue, 12 May 2009 10:08:56 +0000 (12:08 +0200)]
bufferlist: add docs/build/debug/unittest
See #572285
Jonas Holmberg [Tue, 12 May 2009 09:51:37 +0000 (11:51 +0200)]
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
Edward Hervey [Mon, 11 May 2009 05:49:34 +0000 (07:49 +0200)]
gstbuffer: copy new buffer flags when copying metadata.
Wim Taymans [Mon, 27 Apr 2009 08:13:01 +0000 (10:13 +0200)]
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.
Arnout Vandecappelle [Tue, 5 May 2009 15:41:24 +0000 (17:41 +0200)]
typefind: don't leak the force-caps property
Fixes #581321
Wim Taymans [Tue, 28 Apr 2009 17:20:31 +0000 (19:20 +0200)]
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.
Sebastian Dröge [Sun, 10 May 2009 15:28:36 +0000 (17:28 +0200)]
Add new functions to the win32 exports
Marc-Andre Lureau [Sun, 10 May 2009 09:17:27 +0000 (11:17 +0200)]
Run libtoolize before aclocal
This unbreaks the build in some cases. Fixes bug #582021
José Alburquerque [Thu, 7 May 2009 14:37:37 +0000 (16:37 +0200)]
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.
Sebastian Dröge [Thu, 7 May 2009 14:01:57 +0000 (16:01 +0200)]
filesrc: Improve debugging a bit on invalid URIs
Sebastian Dröge [Thu, 7 May 2009 08:36:50 +0000 (10:36 +0200)]
docs: Add new functions to the docs
Sebastian Dröge [Thu, 7 May 2009 07:31:01 +0000 (09:31 +0200)]
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.
Sebastian Dröge [Thu, 7 May 2009 07:28:15 +0000 (09:28 +0200)]
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.
Tim-Philipp Müller [Tue, 12 May 2009 00:48:36 +0000 (01:48 +0100)]
po: update .po files for new strings from container-format tag
Tim-Philipp Müller [Tue, 12 May 2009 00:30:13 +0000 (01:30 +0100)]
docs: small update to release docs
Tim-Philipp Müller [Tue, 12 May 2009 00:13:02 +0000 (01:13 +0100)]
configure: rename CVS -> git in a couple of places
Tim-Philipp Müller [Mon, 11 May 2009 23:47:46 +0000 (00:47 +0100)]
configure: bump the GLib requirement to GLib >= 2.16
as per the New Regime (see wiki).
Tim-Philipp Müller [Mon, 11 May 2009 23:09:58 +0000 (00:09 +0100)]
xmlregistry: remove the old xml registry
No point in keeping it around really. Fixes #577926.
Tim-Philipp Müller [Thu, 7 May 2009 15:08:43 +0000 (16:08 +0100)]
tags: add a tag for the container format
API: add GST_TAG_CONTAINER_FORMAT
Tim-Philipp Müller [Fri, 8 May 2009 15:28:03 +0000 (16:28 +0100)]
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).
Wim Taymans [Mon, 11 May 2009 22:34:44 +0000 (00:34 +0200)]
GstTask: fix compilation
Wim Taymans [Fri, 24 Apr 2009 17:32:33 +0000 (19:32 +0200)]
tests: set the latency-time to something low
Wim Taymans [Fri, 24 Apr 2009 11:55:13 +0000 (13:55 +0200)]
tests: improve the example
Wim Taymans [Fri, 24 Apr 2009 10:35:08 +0000 (12:35 +0200)]
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
Wim Taymans [Thu, 23 Apr 2009 17:42:47 +0000 (19:42 +0200)]
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.
Wim Taymans [Thu, 23 Apr 2009 17:41:36 +0000 (19:41 +0200)]
taskpool: fix a comment
Wim Taymans [Thu, 23 Apr 2009 17:41:01 +0000 (19:41 +0200)]
tests: cleanup some code
Wim Taymans [Thu, 23 Apr 2009 15:48:08 +0000 (17:48 +0200)]
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.
Wim Taymans [Thu, 23 Apr 2009 15:24:58 +0000 (17:24 +0200)]
defs: add new task methods
Wim Taymans [Thu, 23 Apr 2009 15:19:11 +0000 (17:19 +0200)]
GstTask: add methods for configuring the pool
Add getter and setter for configuring the GstTaskPool to use for a GstTask.
Wim Taymans [Thu, 23 Apr 2009 15:05:21 +0000 (17:05 +0200)]
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.
Wim Taymans [Thu, 23 Apr 2009 14:53:34 +0000 (16:53 +0200)]
defs: update .defs file with taskpool methods
Wim Taymans [Thu, 23 Apr 2009 14:53:14 +0000 (16:53 +0200)]
task: fix deadlock due to typo
Wim Taymans [Mon, 11 May 2009 22:25:11 +0000 (00:25 +0200)]
GstTask: use GstTaskPool for managing threads
Use the new GstTaskPool to handle streaming threads.
Wim Taymans [Thu, 23 Apr 2009 14:00:56 +0000 (16:00 +0200)]
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.
Wim Taymans [Thu, 23 Apr 2009 13:44:13 +0000 (15:44 +0200)]
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.
Wim Taymans [Wed, 22 Apr 2009 10:04:36 +0000 (12:04 +0200)]
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.
Wim Taymans [Wed, 22 Apr 2009 08:16:26 +0000 (10:16 +0200)]
tests: add example app for stream-status
Add an example application that adjusts the thread priority of a task using the
stream-status messages.
Wim Taymans [Tue, 21 Apr 2009 17:15:48 +0000 (19:15 +0200)]
Task: add method to set the priority
Add a method to configure a priority for the threads used by GstTask.
Wim Taymans [Tue, 21 Apr 2009 14:30:34 +0000 (16:30 +0200)]
tests: add a unit-test for the stream-status
Add a unit test for the STREAM_STATUS messages.
Wim Taymans [Mon, 11 May 2009 22:05:12 +0000 (00:05 +0200)]
GstTask: improve documentation
Improve the documentation for the callbacks.
Wim Taymans [Tue, 21 Apr 2009 13:25:12 +0000 (15:25 +0200)]
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.
Wim Taymans [Tue, 21 Apr 2009 12:46:29 +0000 (14:46 +0200)]
GstPad: install thread callbacks of the task
Install thread status callbacks on the task object of a pad and post
STREAM_STATUS messages.
Wim Taymans [Wed, 22 Apr 2009 08:14:46 +0000 (10:14 +0200)]
message: clarify some docs
Wim Taymans [Tue, 21 Apr 2009 12:42:05 +0000 (14:42 +0200)]
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.
Wim Taymans [Tue, 21 Apr 2009 11:42:01 +0000 (13:42 +0200)]
GstMessage: Add STREAM_STATUS message methods
Add methods to handle the stream_status message types.
Wim Taymans [Tue, 21 Apr 2009 11:05:17 +0000 (13:05 +0200)]
quark: add "object" quark
Add the object quark that will be used for the STREAM_STATUS messages.
Wim Taymans [Mon, 11 May 2009 21:44:42 +0000 (23:44 +0200)]
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.
Wim Taymans [Mon, 20 Apr 2009 15:07:50 +0000 (17:07 +0200)]
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.
Wim Taymans [Mon, 20 Apr 2009 15:19:21 +0000 (17:19 +0200)]
GstTask: hook up enter/leave/notify callbacks
Hoop up the notify/enter/leave callbacks.
Wim Taymans [Mon, 11 May 2009 21:23:20 +0000 (23:23 +0200)]
defs: add new symbol to defs file
Wim Taymans [Mon, 11 May 2009 21:19:53 +0000 (23:19 +0200)]
GstTask: allow setting callbacks
Allow setting thread callbacks that will allow us to control the threads used by
the task.
Wim Taymans [Thu, 23 Apr 2009 17:40:11 +0000 (19:40 +0200)]
basesrc: don't ignore pad_start return value
Wim Taymans [Tue, 21 Apr 2009 11:34:18 +0000 (13:34 +0200)]
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.
Wim Taymans [Tue, 21 Apr 2009 07:45:08 +0000 (09:45 +0200)]
design: update stream-status document some more
Wim Taymans [Mon, 20 Apr 2009 13:55:09 +0000 (15:55 +0200)]
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.
Wim Taymans [Tue, 21 Apr 2009 15:53:07 +0000 (17:53 +0200)]
GstTask: add some more docs
Wim Taymans [Tue, 21 Apr 2009 15:14:34 +0000 (17:14 +0200)]
GstPad: use new task function
Use the new task_set_state function and actually return its result to
the caller.
Wim Taymans [Mon, 11 May 2009 20:59:35 +0000 (22:59 +0200)]
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()
Wim Taymans [Tue, 21 Apr 2009 11:37:22 +0000 (13:37 +0200)]
Message: small indentation change.
Wim Taymans [Sat, 2 May 2009 12:43:11 +0000 (14:43 +0200)]
Avoid unneeded type checks
Wim Taymans [Sat, 2 May 2009 12:39:48 +0000 (14:39 +0200)]
registry: avoid calling _get_name() too much
Avoid calling gst_plugin_get_name() too many times but instead cache
the value.