Wim Taymans [Wed, 20 Jun 2012 09:59:09 +0000 (11:59 +0200)]
task: add separate methods to add enter/leave callback
Remove the structure of callbacks and replace with separate methods to register
each callback. This is much more binding friendly.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=677898
Wim Taymans [Wed, 20 Jun 2012 08:31:49 +0000 (10:31 +0200)]
task: add GDestroyNotify to _new
Add a GDestroyNotify to the user_data we pass to gst_task_new()
Change gst_pad_start_task() to also take the notify
Wim Taymans [Wed, 20 Jun 2012 07:58:14 +0000 (09:58 +0200)]
clock: remove _full version
Rename gst_clock_id_wait_async_full() to gst_clock_id_wait_async()
and remove the old gst_clock_id_wait_async() version.
Wim Taymans [Wed, 20 Jun 2012 07:22:40 +0000 (09:22 +0200)]
nettimepacket: make boxed
Evan Nemerson [Wed, 20 Jun 2012 02:55:30 +0000 (19:55 -0700)]
net: fix some argument names in documentation
Evan Nemerson [Wed, 20 Jun 2012 02:55:02 +0000 (19:55 -0700)]
controller: assorted minor introspection fixes
Evan Nemerson [Wed, 20 Jun 2012 02:53:54 +0000 (19:53 -0700)]
check: add some missing documentation, including annotations
Evan Nemerson [Wed, 20 Jun 2012 01:41:04 +0000 (18:41 -0700)]
base: add some missing introspection annotations
Evan Nemerson [Wed, 20 Jun 2012 00:37:59 +0000 (17:37 -0700)]
task pool: set scope of gst_task_pool_push callback to async
Evan Nemerson [Wed, 20 Jun 2012 00:33:45 +0000 (17:33 -0700)]
introspection: add missing return value annotations
Evan Nemerson [Tue, 19 Jun 2012 23:09:10 +0000 (16:09 -0700)]
introspection: rename some "data" arguments to "user_data"
GObject Introspection will automatically treat "user_data" arguments
as closure data.
Evan Nemerson [Tue, 19 Jun 2012 23:08:46 +0000 (16:08 -0700)]
toc: add some missing element-type annotations
Evan Nemerson [Tue, 19 Jun 2012 23:06:49 +0000 (16:06 -0700)]
buffer pool: put GstBufferPoolAcquireParams typedef before struct
Works around https://bugzilla.gnome.org/show_bug.cgi?id=581525
Wim Taymans [Tue, 19 Jun 2012 14:14:46 +0000 (16:14 +0200)]
basesink: preroll and sync on gap events
Wim Taymans [Tue, 19 Jun 2012 14:08:00 +0000 (16:08 +0200)]
basesink: reorganize the code a little
Move the code to get the sync times together.
Sebastian Dröge [Tue, 19 Jun 2012 13:30:37 +0000 (14:30 +0100)]
memory: Fix docs typo
Wim Taymans [Tue, 19 Jun 2012 12:05:21 +0000 (14:05 +0200)]
clock: assert about timestamp overflows
Assert when converting to timeval and timespec about overflows. This can happen
on platforms with 32bits long.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=678181
Wim Taymans [Tue, 19 Jun 2012 08:13:15 +0000 (10:13 +0200)]
defs: remove gst_pad_set_caps
Sebastian Dröge [Tue, 19 Jun 2012 09:32:10 +0000 (10:32 +0100)]
inputselector: Only proxy the allocation query for the active pad and send reconfigure events to the old/new pad when switching pads
Wim Taymans [Mon, 18 Jun 2012 14:14:19 +0000 (16:14 +0200)]
pad: move gst_pad_set_caps() to compat
We want code to explicitly send a caps event instead.
Wim Taymans [Mon, 18 Jun 2012 14:13:22 +0000 (16:13 +0200)]
utils: fix some docs
Wim Taymans [Mon, 18 Jun 2012 13:52:05 +0000 (15:52 +0200)]
docs: small doc fix
Sebastian Rasmussen [Mon, 18 Jun 2012 13:28:20 +0000 (15:28 +0200)]
clock: fix compiler warning
Cast to the right value, it might indeed overflow but we want the compiler to
ignore that.
Wim Taymans [Mon, 18 Jun 2012 13:22:26 +0000 (15:22 +0200)]
miniobject: hide qdata array layout
Wim Taymans [Mon, 18 Jun 2012 13:21:31 +0000 (15:21 +0200)]
docs: clarify qdata wrt to metadata
Wim Taymans [Mon, 18 Jun 2012 13:21:12 +0000 (15:21 +0200)]
defs: update for new api
Evan Nemerson [Fri, 15 Jun 2012 23:56:46 +0000 (16:56 -0700)]
introspection: assorted introspection and documentation fixes in base
Evan Nemerson [Sat, 16 Jun 2012 01:35:05 +0000 (18:35 -0700)]
adapter: add missing element-type annotations
Evan Nemerson [Fri, 15 Jun 2012 23:14:49 +0000 (16:14 -0700)]
atomic queue: register as boxed type
Evan Nemerson [Fri, 15 Jun 2012 23:43:30 +0000 (16:43 -0700)]
introspection: assorted introspection and documentation fixes
These changes are to clean up syntax issues such as missing colons,
missing spaces, etc., and minor issues such as argument names in
headers not matching the implementation and/or documentation.
Evan Nemerson [Fri, 15 Jun 2012 21:50:48 +0000 (14:50 -0700)]
toc setter: change GstTocSetterIFace to GstTocSetterInterface
Without this GObject Introspection does not recognize the connection
to GstTocSetter.
Wim Taymans [Mon, 18 Jun 2012 10:15:57 +0000 (12:15 +0200)]
bufferpool: update docs a little
Wim Taymans [Mon, 18 Jun 2012 09:36:25 +0000 (11:36 +0200)]
basesink: wait_eos() -> wait()
Rename gst_base_sink_wait_eos() to gst_base_sink_wait() to avoid confusion and
introspection problems with the ::wait_eos vmethod. Also this method can be used
to wait for other things than EOS. Update the docs a little.
Wim Taymans [Mon, 18 Jun 2012 08:13:38 +0000 (10:13 +0200)]
bufferpool:check caps argument
Caps should be NULL or fixed when configured in a bufferpool
Wim Taymans [Fri, 15 Jun 2012 15:01:37 +0000 (17:01 +0200)]
caps: NULL is not a valid caps anymore
Wim Taymans [Fri, 15 Jun 2012 13:48:42 +0000 (15:48 +0200)]
docs: review the buffering docs
Wim Taymans [Fri, 15 Jun 2012 13:36:41 +0000 (15:36 +0200)]
queue2: fix percent scaling
Use _scale functions to scale the percent values.
Correctly scale the percent values in the buffering ranges.
Wim Taymans [Fri, 15 Jun 2012 12:54:48 +0000 (14:54 +0200)]
basesrc: avoid flush when starting
When we are doing the initial seek in startup, avoid doing a flush
(and unlock) because we know that the task is not started yet.
Wim Taymans [Fri, 15 Jun 2012 10:58:10 +0000 (12:58 +0200)]
defs: update
Wim Taymans [Fri, 15 Jun 2012 10:55:20 +0000 (12:55 +0200)]
docs: improve API docs
Tim-Philipp Müller [Thu, 14 Jun 2012 23:00:12 +0000 (00:00 +0100)]
alllocator: no need to store structure size inside the structure
Tim-Philipp Müller [Thu, 14 Jun 2012 22:54:22 +0000 (23:54 +0100)]
query: no need to store the size of the structure inside the structure
Tim-Philipp Müller [Thu, 14 Jun 2012 22:52:41 +0000 (23:52 +0100)]
event: no need to store the size of the structure inside the structure
Tim-Philipp Müller [Thu, 14 Jun 2012 22:49:10 +0000 (23:49 +0100)]
bufferlist: no need to store the size of the structure inside the structure
Tim-Philipp Müller [Thu, 14 Jun 2012 22:45:14 +0000 (23:45 +0100)]
caps: no need to store the size of the caps structure inside the structure
Tim-Philipp Müller [Thu, 14 Jun 2012 22:41:57 +0000 (23:41 +0100)]
message: no need to store size of the message structure inside the structure
Tim-Philipp Müller [Thu, 14 Jun 2012 22:38:54 +0000 (23:38 +0100)]
sample: no need to store the size of the sample structure inside the structure
Tim-Philipp Müller [Thu, 14 Jun 2012 22:36:29 +0000 (23:36 +0100)]
taglist: no need to store the size of the tag list structure inside the structure
Wim Taymans [Fri, 15 Jun 2012 09:24:46 +0000 (11:24 +0200)]
miniobject: expand docs a little
Add blurb about qdata and weak refs.
Wim Taymans [Fri, 15 Jun 2012 08:44:24 +0000 (10:44 +0200)]
miniobject: add qdata
Keep track of qdata for miniobjects. Reuse the weak ref array for this because
we can.
Wim Taymans [Fri, 15 Jun 2012 08:56:13 +0000 (10:56 +0200)]
miniobject: fix error in the weak ref handling
When 2 weak refs are added, the array is not resized big enough.
Simplify the weak ref handling code.
Free memory when we remove all weak refs.
Allow installing the same weak ref multiple times, like in gobject.
Wim Taymans [Thu, 14 Jun 2012 15:11:11 +0000 (17:11 +0200)]
miniobject: remove the size field
The size field is used by subclasses to store the total allocated size of the
memory for this miniobject. Because miniobject doesn't really do anything with
this field we can move it to the subclasses.
Wim Taymans [Thu, 14 Jun 2012 14:30:12 +0000 (16:30 +0200)]
memory: make GstMemory a miniobject
Wim Taymans [Thu, 14 Jun 2012 14:27:26 +0000 (16:27 +0200)]
trace: always print miniobject refcount
Wim Taymans [Thu, 14 Jun 2012 13:40:43 +0000 (15:40 +0200)]
memory: fix copy function
Make the copy function map to ref because we can't safely copy the user_data.
Wim Taymans [Thu, 14 Jun 2012 13:33:50 +0000 (15:33 +0200)]
memory: make GstAllocator a miniobject
David Svensson Fors [Tue, 12 Jun 2012 11:26:35 +0000 (13:26 +0200)]
gstfunnel: avoid access of freed pad
Save the value of the pad's got_eos in gst_funnel_release_pad,
before calling gst_element_remove_pad. This is because
gst_element_remove_pad may free the pad.
https://bugzilla.gnome.org/show_bug.cgi?id=678017
Vincent Penquerc'h [Thu, 14 Jun 2012 13:05:15 +0000 (14:05 +0100)]
element: fix pad transfer annotation from none to full
since the pad will be unreffed.
Wim Taymans [Wed, 13 Jun 2012 08:52:48 +0000 (10:52 +0200)]
message: add the running-time to the async-done message
Add the running-time of the buffer that caused the async operation to complete
to the async-done message.
Update bin to handle the new async-done message.
Wim Taymans [Wed, 13 Jun 2012 08:51:04 +0000 (10:51 +0200)]
pipeline: use reset_time message to reset the start time
Use the new RESET_TIME message to reset the start-time of the pipeline to the
requested time.
Make basesink request a new running-time when the flush-stop message tells it to
insteasd of waiting for preroll.
Wim Taymans [Wed, 13 Jun 2012 08:16:27 +0000 (10:16 +0200)]
message: add a new message to reset time
Add a new message to reset the pipeline running_time. Currently reseting the
pipeline can only be requested in the async_done message which means that the
pipeline needs to be prerolled. It is better to move this to a separate message.
Wim Taymans [Tue, 12 Jun 2012 15:11:51 +0000 (17:11 +0200)]
bin: always recurse into bins when doing state changes
Never skip the state change of a bin because it needs to update the base time of
its children when needed.
Tim-Philipp Müller [Tue, 12 Jun 2012 23:30:48 +0000 (00:30 +0100)]
docs: update for new datetime api
Tim-Philipp Müller [Tue, 12 Jun 2012 23:28:00 +0000 (00:28 +0100)]
win32: update .def file for latest API
Tim-Philipp Müller [Tue, 12 Jun 2012 23:25:24 +0000 (00:25 +0100)]
docs: add new datetime API
Tim-Philipp Müller [Tue, 12 Jun 2012 23:21:32 +0000 (00:21 +0100)]
tests: add some basic unit tests for partial date time fields
Tim-Philipp Müller [Tue, 12 Jun 2012 22:52:02 +0000 (23:52 +0100)]
datetime: clean-ups and new API adjustments
Remove constructors we don't want:
gst_date_time_new_ymd_h() because we don't want to
support hour-only for now;
gst_date_time_new_ymd_hm() because we don't want to
add constructors with time info where the caller doesn't
have to think about what timezone the time is in.
Lots of compulsive clean-up. Docs fixes. Replace
has_minute() and has_hour() with has_time().
Oleksij Rempel [Tue, 12 Jun 2012 20:35:42 +0000 (22:35 +0200)]
datetime: allow GstDateTime where not all fields are set
In order to deserialise and re-serialise dates and date times
from tags properly, we need to be able to express partial
dates (e.g. YYYY or YYYY-MM) and date times.
We only support partial date times where all the more
significant fields above the first unset field are set
(e.g. YYYY-00-DD is not supported).
Calling _get_foo() when foo is not set is not allowed
any more, callers need to check which fields are set
first.
https://bugzilla.gnome.org/show_bug.cgi?id=677757
Tim-Philipp Müller [Tue, 12 Jun 2012 21:45:09 +0000 (22:45 +0100)]
message: fix up minor inconsistency in structure name of state-changed message
Evan Nemerson [Tue, 12 Jun 2012 18:42:30 +0000 (11:42 -0700)]
introspection: add some missing annotations
Wim Taymans [Tue, 12 Jun 2012 12:24:27 +0000 (14:24 +0200)]
basesrc: handle flush events on the element as well
Handle flush-start and flush-stop sent on the element as well and send them
downstream. Make sure to send a segment event after the flush stop.
Stefan Sauer [Tue, 12 Jun 2012 09:05:05 +0000 (11:05 +0200)]
childproxy: add a few more comments
Stefan Sauer [Mon, 11 Jun 2012 18:34:00 +0000 (20:34 +0200)]
childproxy: fix signal handler signatures in class
When adding the name parameter, we forgot to add it here too.
Stefan Sauer [Mon, 11 Jun 2012 08:59:49 +0000 (10:59 +0200)]
childproxy: use GstChildProxy instead of GObject on the public api
Fix usage and also cleanup gst_object api use on gobjects.
Wim Taymans [Mon, 11 Jun 2012 13:49:10 +0000 (15:49 +0200)]
element: remove unused UNPARENTING flag
Wim Taymans [Mon, 11 Jun 2012 13:41:58 +0000 (15:41 +0200)]
bin: reorganize _remove_func to avoid races
Make the gst_bin_remove_func more like the add_func. Check if the element we try
to remove from the bin has the bin as the parent and set the parent flag to NULL
immediately, this allows us to avoid concurrent remove operations without using
the UNPARENTING element flag. After we unparented the element from the bin, we
update the bin state and remove the element from the list. Finally we unlink
all the pads.
This avoids a race condition where the element could still claim to have the
bin as the parent while the bin didn't have a pointer to the element anymore.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=647759
Matej Knopp [Sun, 10 Jun 2012 16:48:00 +0000 (12:48 -0400)]
typefindelement: Only send caps when pad is being activated
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=677819
Matej Knopp [Sun, 10 Jun 2012 16:41:12 +0000 (12:41 -0400)]
gstelement: Start over if subclass removed the next pad too
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=677818
Tim-Philipp Müller [Sat, 9 Jun 2012 17:05:14 +0000 (18:05 +0100)]
datetime: remove fallback code for old GLibs
Tim-Philipp Müller [Sat, 9 Jun 2012 16:13:04 +0000 (17:13 +0100)]
scripts: add create-uninstalled-setup script
Little script that sets up things in ~/gst and clones
the main modules and prints some instructions.
From http://gstreamer.freedesktop.org/wiki/UninstalledSetup
Sebastian Dröge [Fri, 8 Jun 2012 13:45:38 +0000 (15:45 +0200)]
elements: Use gst_pad_set_caps() and don't ignore its return value
Sebastian Dröge [Fri, 8 Jun 2012 13:41:17 +0000 (15:41 +0200)]
basesrc: Don't ignore the return value of gst_pad_set_caps() and call it after the vfunc
Sebastian Dröge [Fri, 8 Jun 2012 13:36:40 +0000 (15:36 +0200)]
basesink: Use gst_pad_set_caps() instead of the manual event fiddling
Sebastian Dröge [Fri, 8 Jun 2012 13:32:37 +0000 (15:32 +0200)]
basetransform: Don't return the return value of gst_pad_set_caps()
e.g. it returns FALSE if incompatible caps are set on the pad.
Edward Hervey [Wed, 6 Jun 2012 17:02:00 +0000 (19:02 +0200)]
gstutils: Faster read macros
On platforms that can do unaligned read/write, we can read/write much faster
by just casting.
https://bugzilla.gnome.org/show_bug.cgi?id=599546
Edward Hervey [Thu, 7 Jun 2012 10:49:10 +0000 (12:49 +0200)]
check: Add a test for GST_READ_* macros
Edward Hervey [Fri, 8 Jun 2012 12:49:51 +0000 (14:49 +0200)]
Update common submodule
Wim Taymans [Thu, 7 Jun 2012 15:58:02 +0000 (17:58 +0200)]
basetransform: fix reconfigure
Use the pad methods to set and check the reconfigure flags
Clear the reconfigure flag before we negotiate so that we don't miss any
reconfigure events while negotiating
Sebastian Dröge [Thu, 7 Jun 2012 13:56:44 +0000 (15:56 +0200)]
Back to development
Sebastian Dröge [Thu, 7 Jun 2012 13:56:17 +0000 (15:56 +0200)]
Release 0.11.92
Sebastian Dröge [Thu, 7 Jun 2012 13:53:49 +0000 (15:53 +0200)]
Update .po files
Wim Taymans [Thu, 7 Jun 2012 13:28:39 +0000 (15:28 +0200)]
basesrc: release the object lock sooner
Release the object lock before we get the time of the clock because that code
might take other locks.
Fix potential clock refcount error because we released the object lock but
didn't ref the clock.
Wim Taymans [Thu, 7 Jun 2012 08:34:46 +0000 (10:34 +0200)]
basesrc: remove 0.11 fixme
We always require elements to have an unlock_stop vmethod.
Edward Hervey [Wed, 6 Jun 2012 16:11:13 +0000 (18:11 +0200)]
registry: We name the registry after the target cpu
And not the host cpu
Conflicts:
gst/gstregistry.c
Edward Hervey [Wed, 6 Jun 2012 16:18:18 +0000 (18:18 +0200)]
Automatic update of common submodule
From 1fab359 to 03a0e57
Wim Taymans [Wed, 6 Jun 2012 13:45:11 +0000 (15:45 +0200)]
tests: fix unit test after event change
Someone forgot to run make check before pushing...
Sreerenj Balachandran [Wed, 6 Jun 2012 08:06:32 +0000 (11:06 +0300)]
gstadapter: Align the comment description with public api instead of internal one.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=677536
Wim Taymans [Wed, 6 Jun 2012 13:29:49 +0000 (15:29 +0200)]
element: fix pad cleanup in dispose
In the dispose handler we first need to release all the request pads and then
remove the remaining pads. This is because it is possible that releasing the
request pad might also cleanly remove some of the other dynamic pads, like
what rtpsession does.
https://bugzilla.gnome.org/show_bug.cgi?id=677436
Sebastian Dröge [Wed, 6 Jun 2012 12:14:31 +0000 (14:14 +0200)]
event: Don't make the TOC event a multi-sticky event
Elements are supposed to merge upstream events.
Havard Graff [Tue, 13 Oct 2009 15:24:34 +0000 (17:24 +0200)]
Make sure that unlinked pads do not cause a return false on latency events.
Context: Latency configuration should not be
messed up because of not-linked pads. In general,
one return FALSE on latency distribution causes
the "overall" pipeline latency configuration to
fail. This shows up as noise in logs (warning).
Conflicts:
gst/gstpad.c