Wim Taymans [Fri, 27 Mar 2009 15:15:55 +0000 (16:15 +0100)]
clock: wakeup the async thread a bit more
Also wake up the async thread when it is doing an async wait for an entry.
Wim Taymans [Fri, 27 Mar 2009 15:15:10 +0000 (16:15 +0100)]
element: Fix a little debug message
Stefan Kost [Thu, 26 Mar 2009 11:07:56 +0000 (13:07 +0200)]
binaryregistry: check for not reading beyond the data area. Fixes #576842
Check all reads against the end of the data region. Roll back registration of
partial reads.
Stefan Kost [Wed, 25 Mar 2009 09:03:22 +0000 (11:03 +0200)]
docs: add a page about building gstreamer and apps
Thiago Santos [Thu, 26 Mar 2009 16:08:01 +0000 (13:08 -0300)]
Adds flag for eos on shutdown in gst-launch. Fixes #575814.
Wim Taymans [Thu, 26 Mar 2009 21:05:31 +0000 (22:05 +0100)]
clock: make UNSCHEDULED checks threadsafe
Move the checks for using an unscheduled entry from the unsafe GstClock to the
SystemClock object so that we can perform the correct locking.
fix a leak and potential deadlock then the async thread fails to start.
Sprinkle some G_LIKELY around because we can.
Wim Taymans [Thu, 26 Mar 2009 20:40:20 +0000 (21:40 +0100)]
clock: remove pending async wakeup sooner
Remove a pending async wakeup before we check if the next entry is UNSCHEDULED
because we might leave the control socket busy.
Peter Kjellerstedt [Thu, 26 Mar 2009 18:33:41 +0000 (19:33 +0100)]
gstpoll: Corrected a documentation typo.
Wim Taymans [Thu, 26 Mar 2009 18:13:55 +0000 (19:13 +0100)]
clock: add some more comments.
Wim Taymans [Thu, 26 Mar 2009 17:46:35 +0000 (18:46 +0100)]
clock: rework the wakeup of entries.
Keep a counter for the amount of outstanding wakeups that we produce and only
perform a write/read to the control socket when 1 or 0 respectively.
don't poll when waiting for the entries to be unblocked and clear their wakeup
counts, just act on the signal when the wakeup count is 0.
unscheduled entries will clear their wakeup count themselves.
Keep track of when we wakeup the async thread because the list of entries has
changed.
don't try to see if the list changed because we can't really know when one entry
is added multiple times.
Only wake up the async thread when we add an async entry to the head of the list
and the old entry was BUSY.
Jan Schmidt [Wed, 25 Mar 2009 17:31:16 +0000 (17:31 +0000)]
gstpoll: Fix up documentation strings.
Note the changed behaviour of gst_poll_wait for timer GstPoll's, and
fix a couple of spelling errors.
Wim Taymans [Thu, 26 Mar 2009 14:55:02 +0000 (15:55 +0100)]
clock: fix 2 wakeup races.
when an entry being waited on in the async thread is unscheduled, clear the
wakeup queue so we can continue waiting on other entries.
When an entry being waited on in the async thread is unlocked because an earlier
entry was added to the list, set the entry to OK again. This makes sure that
only the entries being waited on have the BUSY flag set and wake up the timer
poll when they are unscheduled.
Tim-Philipp Müller [Thu, 26 Mar 2009 14:44:04 +0000 (14:44 +0000)]
registry: ignore .git directory when recursively scanning plugin paths for plugins
Saves some cycles/pandas for those of us who run uninstalled setups.
Tim-Philipp Müller [Thu, 26 Mar 2009 14:16:55 +0000 (14:16 +0000)]
registry: do fsync() before close() and rename()
This helps prevent filesystem/data inconsistencies in certain
circumstances on certain filesystems (like ext4, xfs, ubifs).
Also see bug #562976.
Tim-Philipp Müller [Thu, 26 Mar 2009 01:09:03 +0000 (01:09 +0000)]
API: add gst_tag_list_get_buffer{_index}
Convenience API, mostly for image tags, so people don't have to
figure out the whole GValue/GstValue thing just for this.
Jan Schmidt [Wed, 25 Mar 2009 23:03:38 +0000 (23:03 +0000)]
systemclock: Clean up the tests a bit.
Add some cleanups to the system clock tests, to free all the memory and
unschedule/unref all clock IDs we allocate.
Use a mutex in one test to avoid potential threading problems on multicore
machines.
Jan Schmidt [Wed, 25 Mar 2009 21:37:38 +0000 (21:37 +0000)]
systemclock: Add a test for sync/async clockid interactions
This test randomly hangs if there are problems with the reliability of
unscheduling sync and async clockID's on the system clock.
Sebastian Dröge [Thu, 26 Mar 2009 10:17:01 +0000 (11:17 +0100)]
segment: Use g_slice_dup() now
Sebastian Dröge [Thu, 26 Mar 2009 10:08:27 +0000 (11:08 +0100)]
Remove some compatibility stuff for GLib < 2.14
Tim-Philipp Müller [Wed, 25 Mar 2009 00:50:07 +0000 (00:50 +0000)]
API: add GST_TAG_SUBTITLE_CODEC
Yes, 'codec' isn't exactly the best word, but let's be consistent with AUDIO_CODEC
and VIDEO_CODEC (which may be 'raw' formats as well after all). Prerequisite for
bug #576552.
Tim-Philipp Müller [Tue, 24 Mar 2009 21:39:21 +0000 (21:39 +0000)]
docs: gst-launch man page fix
The command line option is --gst-debug-disable, not --gst-disable-debug.
Fixes #576556. Spotted by Bogdan Harjoc.
Wim Taymans [Tue, 24 Mar 2009 18:33:56 +0000 (19:33 +0100)]
gstutils: improve property set and convert code
Use string deserialisation instead of custom parsing code to allow for all
supported ways of specifying property values.
fixes #576582.
Stefan Kost [Mon, 23 Mar 2009 13:18:21 +0000 (15:18 +0200)]
build: define stubs when disabling gst-debug subsystem. Fixes #575922
Running configure with e.g. --disable-dst-debug was compiling out the debug
system (ABI break). Now stubs are added and only if one does e.g.
make CFLAGS="-DGST_REMOVE_DISABLED" the symbols are ommitted.
Tim-Philipp Müller [Mon, 23 Mar 2009 12:34:34 +0000 (12:34 +0000)]
basesink: fix once-per-second 'emergency rendering' for case where all buffers but the very first are late
Due to a typo basesink didn't do any emergency rendering of late buffers
if the only buffer ever rendered was the first one with timestamp 0. This
means that in cases where the decoder is very very slow, we'd never see
any buffers but the very first one rendered. Fixes #576381.
Jan Schmidt [Sat, 21 Mar 2009 02:34:04 +0000 (02:34 +0000)]
docs: tweak the release procedure script
LRN [Fri, 20 Mar 2009 13:12:55 +0000 (14:12 +0100)]
win32: fix seeking in files >4GB
Use 64-bit functions on windows to implement seeking in files bigger
than 4GB.
Fixes #575988
Stefan Kost [Fri, 20 Mar 2009 09:26:30 +0000 (11:26 +0200)]
controller: Fix generation of control-change arrays.
When generating arrays of control changes timestamp variable was used instead
the local ts variable that we increment when stepping through the array.
Pointed out by Martin Pokorny.
Tim-Philipp Müller [Fri, 20 Mar 2009 00:42:51 +0000 (00:42 +0000)]
debugging: make GST_PTR_FORMAT work for queries as well
Tim-Philipp Müller [Fri, 20 Mar 2009 00:39:41 +0000 (00:39 +0000)]
API: add GST_QUERY_CAST
because we can, and for consistency.
Tim-Philipp Müller [Thu, 19 Mar 2009 21:27:48 +0000 (21:27 +0000)]
gstcheck: fix for check versions > 0.9.6
A new argument allowed_exit_value was added in SVN recently (#574213).
Wim Taymans [Thu, 19 Mar 2009 16:19:49 +0000 (17:19 +0100)]
gstpad: fix gst_pad_can_link
We were converting the GstPadLinkReturn to a gboolean, which is not what we want
to do.
Tim-Philipp Müller [Thu, 19 Mar 2009 10:44:13 +0000 (10:44 +0000)]
gst-uninstalled: add gst-rtsp-server bits and break up overly long lines
Add some of the bits needed for an uninstalled gst-rtsp-server (so gdb works
on the examples etc.). Python bits are still missing, and we might need an
-uninstalled.pc file as well in the future. Break up very long lines to make
them easier to read and maintain. Also remove gst-plugins paths from the
old days.
Wim Taymans [Thu, 19 Mar 2009 10:46:11 +0000 (11:46 +0100)]
docs: interesting idea for fast rw locks
--
Wim Taymans [Thu, 19 Mar 2009 10:11:43 +0000 (11:11 +0100)]
defs: add new symbol to windows .def file
Add the new windows cmd.exe coloring method to the .def file.
Stefan Kost [Wed, 18 Mar 2009 14:38:51 +0000 (16:38 +0200)]
docs: more info about when state changes can be async and when not.
Damien Lespiau [Wed, 18 Mar 2009 18:07:00 +0000 (19:07 +0100)]
info: more indentation fixes
Fixes #517231.
Wim Taymans [Wed, 18 Mar 2009 18:06:23 +0000 (19:06 +0100)]
info: indentation fix
Wim Taymans [Wed, 18 Mar 2009 17:57:16 +0000 (18:57 +0100)]
info: simply some more
Wim Taymans [Wed, 18 Mar 2009 17:45:41 +0000 (18:45 +0100)]
info: refactor debug colors for win32 and other
Refactor the debug line code to use as much code as possible for the win32 and
other color codings.
Update docs with new symbol.
Wim Taymans [Wed, 18 Mar 2009 16:30:12 +0000 (17:30 +0100)]
windows: initial commit for terminal colors
Zeeshan Ali (Khattak) [Wed, 18 Mar 2009 16:01:16 +0000 (17:01 +0100)]
gstpad: fix gst_pad_can_link()
Move the gst_pad_can_link() implementation from gstutils to gstpad and use
gst_pad_link_prepare() to make it work correctly and also check the caps.
Make the broken implementation in gstutils static.
Small cleanups in the _get_fixed_caps() function.
Fixes #575682.
David Adam [Tue, 17 Mar 2009 20:41:44 +0000 (20:41 +0000)]
config.h needs to be included first, either directly or via gst_private.h
Fixes build with -Werror caused by '_FILE_OFFSET_BITS redefined' warning on
OpenSolaris where _FILE_OFFSET_BITS may be defined both in our config.h
and via stdio.h (#575695).
Tim-Philipp Müller [Tue, 17 Mar 2009 19:02:26 +0000 (19:02 +0000)]
faq: remove outdated bits from indenting section
Stefan Kost [Tue, 17 Mar 2009 10:05:33 +0000 (12:05 +0200)]
bin: forward segment-start like segment-done if parent is also a bin, fixes #575598.
Bin collects segment-start messages and segent-done messages. it posts a
segment-done message to its parent, once it has received a segment-done for
each segment-start. Imho it should also send a segment-start if it receives the
first segment start and if parent is !=NULL. This is needed for bins in bins,
so that also higher order bins can group segment-starts and segment-dones.
Right now higher order bins will post a segment-done for each segment-done
received.
Edward Hervey [Mon, 16 Mar 2009 19:12:45 +0000 (20:12 +0100)]
faq: fix typo in git command
Stefan Kost [Sun, 15 Mar 2009 21:40:36 +0000 (23:40 +0200)]
systemclock: these warnings are serious, give more detail in the message
Stefan Kost [Sun, 15 Mar 2009 21:37:29 +0000 (23:37 +0200)]
collectpads: add debug logging to make it easier to trace it
Wim Taymans [Fri, 13 Mar 2009 09:56:54 +0000 (10:56 +0100)]
Fix indentation of .h files
--
Stefan Kost [Thu, 12 Mar 2009 10:20:25 +0000 (12:20 +0200)]
taglists: apply fix for replace all also to gst_tag_list_add_valist_values. Fixes #574241
Wim Taymans [Thu, 12 Mar 2009 09:48:21 +0000 (10:48 +0100)]
docs: Improve some docs
Rename some function variables and add some Return: to make the docs more happy.
Stefan Kost [Wed, 11 Mar 2009 22:41:24 +0000 (00:41 +0200)]
docs: fix linking to constant and functions
Stefan Kost [Wed, 11 Mar 2009 13:20:36 +0000 (15:20 +0200)]
dump2dot: ellipsize caps fields, better placement of unnegotiated caps
Long caps fields like enums are ellipsised. If caps are not negotiated, use
head- and taillabel to place them closer to the pads. Use smarter way to indent.
Laszlo Pandy [Wed, 11 Mar 2009 08:27:16 +0000 (10:27 +0200)]
dump2dot: make caps in DOT debug graphs more readable. Fixes 574484
Use a monospace font for edge labels and indent.
Sebastian Dröge [Wed, 11 Mar 2009 13:11:30 +0000 (14:11 +0100)]
padtemplate: Allow %u as conversion modifier additional to %d and %s
Edward Hervey [Wed, 11 Mar 2009 10:23:05 +0000 (11:23 +0100)]
gstbasesrc: unsigned long is "%lu", not "%ul". Fixes build on macosx
Stefan Kost [Tue, 10 Mar 2009 19:08:34 +0000 (21:08 +0200)]
logging: some additional logging for tracing caps negotiation.
Demote one log that can come quite often. Remove one fixme that is done. Apply
gst-indent changes.
Stefan Kost [Tue, 10 Mar 2009 19:03:44 +0000 (21:03 +0200)]
comment: add a fixme-0.11
Stefan Kost [Tue, 10 Mar 2009 19:01:21 +0000 (21:01 +0200)]
formatting: tabs to spaces
Jan Schmidt [Mon, 9 Mar 2009 23:11:24 +0000 (23:11 +0000)]
Automatic update of common submodule
From 7032163 to f8b3d91
Tim-Philipp Müller [Mon, 9 Mar 2009 20:07:12 +0000 (20:07 +0000)]
gstreamer.spec: fix stray @GLIB2_REQ@ that didn't get expanded properly
Wim Taymans [Mon, 9 Mar 2009 15:09:38 +0000 (16:09 +0100)]
docs: reword stuff about custom mainloops
Fixes #574229.
Stefan Kost [Mon, 9 Mar 2009 14:01:20 +0000 (16:01 +0200)]
dump2dot: don't use GST_TIME_FORMAT when building filenames. fixes #574623
Wim Taymans [Mon, 9 Mar 2009 10:39:34 +0000 (11:39 +0100)]
pad: call new callbacks set in the block callback
Keep track of when a new callback is installed in the callback and call the new
callback in that case.
Add unit test for checking pad blocking.
Fixes #573823.
Tim-Philipp Müller [Sun, 8 Mar 2009 17:22:43 +0000 (17:22 +0000)]
win32: update enumtypes and config.h
Tim-Philipp Müller [Sun, 8 Mar 2009 17:15:33 +0000 (17:15 +0000)]
docs: improve docs for gst_tag_list_get_date*()
Mention that the date value needs to be freed and how to free it.
Sebastian Dröge [Sun, 8 Mar 2009 11:02:15 +0000 (12:02 +0100)]
Automatic update of common submodule
From ffa738d to 7032163
Sebastian Dröge [Sun, 8 Mar 2009 10:17:50 +0000 (11:17 +0100)]
Automatic update of common submodule
From 3f13e4e to ffa738d
Stefan Kost [Sat, 7 Mar 2009 22:27:26 +0000 (00:27 +0200)]
dump2dot: improve caps logging
Factor out code to describe caps. Improve formating (no \n in caps fields).
Check peer caps too and show both if they differ.
Sebastian Dröge [Sat, 7 Mar 2009 10:43:31 +0000 (11:43 +0100)]
Automatic update of common submodule
From 3c7456b to 3f13e4e
Sebastian Dröge [Sat, 7 Mar 2009 09:43:32 +0000 (10:43 +0100)]
Automatic update of common submodule
From 57c83f2 to 3c7456b
Stefan Kost [Fri, 6 Mar 2009 20:10:10 +0000 (22:10 +0200)]
collectpads: revert accidential commit from the queue (me should start using branches)
Stefan Kost [Fri, 6 Mar 2009 19:59:20 +0000 (21:59 +0200)]
apidocs: markup example as highlightable example and copy same for structure
structures can be printed like we can do for caps. Mark the example so that
gtk-doc can pretty print and xref it.
Stefan Kost [Wed, 4 Mar 2009 19:21:56 +0000 (21:21 +0200)]
collectpads: reliably go to eos. Fixes #574160
Update collectpads status when removing pads.
Alessandro Decina [Fri, 6 Mar 2009 11:08:42 +0000 (12:08 +0100)]
identity: ignore the return value of gst_pad_event_default when sending out the newsegment event in single-segment mode.
This makes identity single-segment=true ! oggmux work again after a change in
oggmux (commit
b0e3d449 in -base).
Andy Wingo [Thu, 5 Mar 2009 16:42:22 +0000 (17:42 +0100)]
basesink: propagate UPSTREAM events in pull mode too
* libs/gst/base/gstbasesink.c (gst_base_sink_send_event): Propagate
upstream events in pull mode too.
Antoine Tremblay [Thu, 5 Mar 2009 10:29:48 +0000 (11:29 +0100)]
GstPad: relax failure to deactivate unlinked pads
When de/activating a pad in pull mode the pad needs to de/activate the
peer pad it is connected to, failure to be able to do this in activation mode
is an error.
However if there is no peerpad, we can still deactivate the pad correctly and
assume the application will deactivate the unlinked peer pad eventually.
Fixes #574163.
LRN [Thu, 5 Mar 2009 10:02:59 +0000 (11:02 +0100)]
GstPoll: set the return value on windows
Make sure that the return value of the functions _read/_write_control()
return the actual result instead of always FALSE on windows.
Fixes #574211.
Tim-Philipp Müller [Wed, 4 Mar 2009 10:46:15 +0000 (10:46 +0000)]
pwg: update for CVS-to-git migration
Fixes #573946.
Edward Hervey [Wed, 4 Mar 2009 08:20:43 +0000 (09:20 +0100)]
GstAdapter: Discard empty buffers in _push(). Fixes #574024
Tim-Philipp Müller [Tue, 3 Mar 2009 20:01:43 +0000 (20:01 +0000)]
Update .gitignore
Tim-Philipp Müller [Tue, 3 Mar 2009 19:58:53 +0000 (19:58 +0000)]
gst-uninstalled: add bits for uninstalled checkouts of gst-openmax and totem
Sebastian Dröge [Mon, 2 Mar 2009 15:17:45 +0000 (16:17 +0100)]
API: Add gst_util_array_binary_search() for binary searchs on a sorted array
This will be mostly useful in all elements that have some kind of internal
seek/index table. Currently almost all of them (or even all of them)
are using a linear search although the used array is already sorted,
wasting some CPU time without good reason.
Fixes bug #573623.
David Schleef [Sat, 28 Feb 2009 19:15:29 +0000 (11:15 -0800)]
Bump glib requirement to 2.14
Also remove code conditional on < 2.14.
Olivier Crête [Sat, 28 Feb 2009 18:34:08 +0000 (13:34 -0500)]
Remove win32/common/config.h.in from MANIFEST, it no longer exists
Edward Hervey [Fri, 27 Feb 2009 12:35:35 +0000 (13:35 +0100)]
capsfilter: Properly reset the capsfilter when setting caps ANY.
Wim Taymans [Fri, 27 Feb 2009 11:34:29 +0000 (12:34 +0100)]
design: update the framestep draft
Update the docs a little.
Add property to allow incremental stepping so that we can reduce excessive
queueing.
Stefan Kost [Thu, 26 Feb 2009 13:40:26 +0000 (15:40 +0200)]
basesink: move left over handling of the error case to the activate_failed label.
If was left as dead code.
Jan Schmidt [Wed, 25 Feb 2009 19:59:57 +0000 (19:59 +0000)]
build: Update shave init statement for changes in common. Bump common.
Stefan Kost [Wed, 25 Feb 2009 08:51:57 +0000 (10:51 +0200)]
binary registry: Don't attempt to parse empty caps
Sebastian Dröge [Wed, 25 Feb 2009 13:19:08 +0000 (14:19 +0100)]
registry: Set typefind factory caps to NULL instead of empty caps if they originally were NULL
Jan Schmidt [Wed, 25 Feb 2009 11:31:38 +0000 (11:31 +0000)]
Automatic update of common submodule
From 9cf8c9b to a6ce5c6
Sebastian Dröge [Tue, 24 Feb 2009 14:10:15 +0000 (15:10 +0100)]
registrybinary: Check if typefind factory caps are NULL before copying them
Wim Taymans [Tue, 24 Feb 2009 10:40:14 +0000 (11:40 +0100)]
Remove undeclared symbols from docs
Remove some undeclared symbols from the docs.
David Schleef [Mon, 23 Feb 2009 21:01:11 +0000 (13:01 -0800)]
Change how win32/common/config.h is updated
Generate win32/common/config.h-new directly from config.h.in,
using shell variables in configure and some hard-coded information.
Change top-level makefile so that 'make win32-update' copies the
generated file to win32/common/config.h, which we keep in source
control. It's kept in source control so that the git tree is
buildable from VS.
David Flynn [Mon, 23 Feb 2009 18:52:14 +0000 (10:52 -0800)]
Add srcdir to includes for out-of-source builds
When you use gstreamer uninstalled and build outside
the source tree, the includes need to be specified for
both the source tree and the build tree.
Signed-off-by: David Schleef <ds@schleef.org>
Wim Taymans [Mon, 23 Feb 2009 16:36:23 +0000 (17:36 +0100)]
Error out more specifically on empty caps
When we get empty caps from the getcaps function in the default negotiate
function, post a more descriptive error.
Andy Wingo [Mon, 23 Feb 2009 14:24:00 +0000 (15:24 +0100)]
fix uri handler iteration in gst-inspect
* tools/gst-inspect.c (print_all_uri_handlers): Whoops, fix iteration.
I'm stupid.
LRN [Mon, 23 Feb 2009 11:33:13 +0000 (12:33 +0100)]
Fix signed when compiling with MSys/MinGW
fix signed issues when compiling with MSys/MinGW.
Fixes #572591.
Wim Taymans [Mon, 23 Feb 2009 09:53:17 +0000 (10:53 +0100)]
Don't forward LATENCY event when not ready
When we are not ready to handle a latency query (we are not yet prerolled) we
also don't try to forward the latency event because that might cause unexpected
errors when upstream is not yet linked.
Edward Hervey [Sun, 22 Feb 2009 21:09:39 +0000 (22:09 +0100)]
Remove core file from previous commit