Sebastian Dröge [Wed, 20 Jan 2010 05:58:28 +0000 (06:58 +0100)]
build: Define G_THREADS_MANDATORY everywhere
We require threads to be supported in any case and defining this
will simplify the mutex, condition variable, etc. macros from gthread
to not always check if threads are really supported.
Fixes bug #607481.
Andoni Morales Alastruey [Fri, 8 Jan 2010 19:56:18 +0000 (20:56 +0100)]
pluginloader: disable external plugin loader on Windows until it is ported properly
See #597662.
Tim-Philipp Müller [Wed, 20 Jan 2010 01:09:55 +0000 (01:09 +0000)]
gst_private.h: make sure gst_private.h is included before glib.h
For the reason outlined at the beginning of gst_private.h (inline
functions in glib may need the g_log_domain variable). Also include
gst_private.h before using any G_OS_* defines, esp. in plugin loader.
Tim-Philipp Müller [Wed, 20 Jan 2010 01:33:38 +0000 (01:33 +0000)]
docs: minor gtk-doc markup fixes
Tim-Philipp Müller [Wed, 20 Jan 2010 00:53:01 +0000 (00:53 +0000)]
Automatic update of common submodule
From 14cec89 to 15d47a6
Wim Taymans [Tue, 19 Jan 2010 15:39:38 +0000 (16:39 +0100)]
docs: small docs updates
Thijs Vermeir [Tue, 19 Jan 2010 13:07:23 +0000 (14:07 +0100)]
gstpad: directly set the caps when pushing buffer with different caps.
This check is not necesarry as we are not negotiating anymore. And it can
be wrong if upstream can't produce this caps anymore, but downstream can
process them fine.
Sebastian Dröge [Mon, 18 Jan 2010 12:57:29 +0000 (13:57 +0100)]
miniobject: The GValue collection function can not assume that the destination is initialized
...and it will usually be either filled by zeroes or random values.
Fixes bug #607283.
Sebastian Dröge [Sat, 16 Jan 2010 20:52:06 +0000 (21:52 +0100)]
basetransform: Only use suggested caps in buffer allocation if a size was suggested too
Tim-Philipp Müller [Sat, 16 Jan 2010 19:41:29 +0000 (19:41 +0000)]
structure: remove superfluous guard against NULL
All callers of this static function already check for NULL-ness
themselves, so no need to do it again (and if we do it, we should
probably do so before dereferencing the pointer for the first time).
Tim-Philipp Müller [Thu, 17 Dec 2009 19:45:31 +0000 (19:45 +0000)]
structure: micro-optimise some getters
Avoid checking the GType of the value twice (once on our side and
once in g_value_get_*()) by by-passing g_value_get() and accessing
the GValue structure directly.
Wim Taymans [Fri, 15 Jan 2010 17:36:07 +0000 (18:36 +0100)]
message: update docs a little
Tim-Philipp Müller [Fri, 15 Jan 2010 00:46:23 +0000 (00:46 +0000)]
docs: minor release docs update
Sebastian Dröge [Thu, 14 Jan 2010 19:19:05 +0000 (20:19 +0100)]
basetransform: Handle buffers with NULL caps correctly
This means that the caps didn't change so don't try to handle
the NULL caps as the new caps.
Sebastian Dröge [Thu, 14 Jan 2010 09:44:16 +0000 (10:44 +0100)]
docs: Move field specific Since markers at the same line
Fixes gobject-introspection warnings about Since being defined multiple times.
Tim-Philipp Müller [Wed, 13 Jan 2010 10:17:03 +0000 (10:17 +0000)]
faq: remove revision history that no one updates or cares about anyway
Tim-Philipp Müller [Wed, 13 Jan 2010 09:32:59 +0000 (09:32 +0000)]
faq: fix link to gst-uninstalled on cgit
Fix link to gst-uninstalled now that it's been moved, and fix a typo
while we're at it. Also add a new section to 'Building GStreamer from
git' that points to the 'How do I develop against an uninstalled copy
of GStreamer' section.
Stefan Kost [Wed, 13 Jan 2010 08:32:46 +0000 (10:32 +0200)]
docs: we're in git since a while
Stefan Kost [Wed, 13 Jan 2010 08:31:26 +0000 (10:31 +0200)]
scripts: move gst-uninstalled from docs/faq to scripts
Don't include the long gst-uninstalled script in verbatim in the faq anymore
(there is a link to cgit). Dist the script under its new location.
Tim-Philipp Müller [Tue, 12 Jan 2010 21:34:03 +0000 (21:34 +0000)]
registry: avoid some more unnecessary malloc/frees
Tim-Philipp Müller [Tue, 12 Jan 2010 20:21:32 +0000 (20:21 +0000)]
registry: avoid some unnecessary strdup/free when reading the binary registry
Strings in the binary registry are NUL-terminated, so we can just use them
directly if we only need them temporarily, and avoid unnecessary mallocs
and frees.
Wim Taymans [Tue, 12 Jan 2010 16:38:32 +0000 (17:38 +0100)]
typefindelement: use new typefind function
Refactor a little.
Use the new typefind helper function that uses the extension to speed up
typefinding.
Wim Taymans [Tue, 12 Jan 2010 16:34:39 +0000 (17:34 +0100)]
typefind: add a new method that also uses the file extension
Add a method to perform get_range typefinding that also uses the
uri/location extension as an extra hint. It will first try to call the
typefind functions of the factories that handle the given extension. The result
is that in the common case, we only call one typefind function, which speeds up
the typefinding a lot.
Wim Taymans [Mon, 11 Jan 2010 13:58:11 +0000 (14:58 +0100)]
docs: update QoS documeent
Add some ideas about a new QoS message.
See also #322947
Håvard Graff [Mon, 11 Jan 2010 10:38:32 +0000 (11:38 +0100)]
tee: make release_pad threadsafe
Protect the ->removed field with the object lock as well. Take the DYN lock
earlier so that we can mark the pad removed and avoid a race in pad_alloc.
Fixes #606435
Wim Taymans [Fri, 11 Dec 2009 16:46:42 +0000 (17:46 +0100)]
bus: whitespace fixes
Stefan Kost [Sun, 10 Jan 2010 19:49:25 +0000 (21:49 +0200)]
utils: defer getting the classes until we actualy need them
This function has a lot of early returns. Give them soem more benefit.
Stefan Kost [Sun, 10 Jan 2010 19:40:24 +0000 (21:40 +0200)]
utils: avoid extra hop in gst_element_link
No need to call gst_element_link_pads_filtered with filter=NULL, which would
call gst_element_link_pads() in that way. Call it directly to save a call and
expensive gobject type checks.
Tim-Philipp Müller [Sun, 10 Jan 2010 17:39:55 +0000 (17:39 +0000)]
check: remove some cruft from header file
Remove some cruft from the gstcheck header file that's not needed
any longer now that we ship with our own copy of libcheck.
Stefan Kost [Thu, 7 Jan 2010 15:41:26 +0000 (17:41 +0200)]
pwg: remove empty midi section
Christian Schaller [Thu, 7 Jan 2010 13:48:24 +0000 (13:48 +0000)]
Merge branch 'master' of ssh://git.freedesktop.org/git/gstreamer/gstreamer
Christian Schaller [Thu, 7 Jan 2010 13:47:50 +0000 (13:47 +0000)]
Update spec file
Tim-Philipp Müller [Wed, 6 Jan 2010 20:08:48 +0000 (20:08 +0000)]
po: update for new translated strings
Tim-Philipp Müller [Wed, 6 Jan 2010 20:06:47 +0000 (20:06 +0000)]
docs: minor documentation fixes for recently-added tags
Mention the type of the tag in the gtk-doc blurb, so people know
which accessor API to use, and fix up the doc blurbs to match the
actual tag define.
Tim-Philipp Müller [Wed, 6 Jan 2010 20:04:15 +0000 (20:04 +0000)]
tags: fix up translated strings for some new tags
Fix up translated strings for some recently-added tags to match the
existing strings: we want short mnemonic-like strings here that start
with a lower case letter.
Tim-Philipp Müller [Wed, 6 Jan 2010 19:19:40 +0000 (19:19 +0000)]
registry: deprecate useless gst_registry_xml_{read|write}_cache()
The only reason these two functions are still around is that at some
point in the past they were in a public header, so we can't really
remove them now even though they should have been private all along
(and aren't really particularly useful). Since these are just empty
stubs now that do nothing but return FALSE and will be removed in
0.11 anyway, we may just as well deprecate them formally.
Tim-Philipp Müller [Wed, 6 Jan 2010 19:18:53 +0000 (19:18 +0000)]
docs: add Since markers to task pool docs and document task function
Tim-Philipp Müller [Wed, 6 Jan 2010 18:50:43 +0000 (18:50 +0000)]
configure: move SHAVE_INIT behind all checks
Move SHAVE_INIT behind all other checks, in particular AG_GST_CHECK_CHECKS.
This should fix problems with header checking and checking for localtime_r,
which causes compilation errors with clean checkouts where common/shave has
not been created yet when those checks are run. It seems like SHAVE_INIT
changes the environment so that checks depending on a compiler need shave
to exist at that point, which will fail if AC_OUTPUT hasn't created it yet.
Fixes #605930.
Tim-Philipp Müller [Tue, 5 Jan 2010 01:35:41 +0000 (01:35 +0000)]
check: patch internal check copy some more so that failures actually fail
Include unistd.h so that _POSIX_VERSION is actually defined when
it should be defined. Without that, stuff like fail_if(1) doesn't
actually fail, presumably because other parts of the code do include
unistd.h and then have _POSIX_VERSION defined.
Fixes #604565 even more.
Stefan Kost [Mon, 4 Jan 2010 22:09:10 +0000 (00:09 +0200)]
docs: add missing returns: tag
Mark Nauwelaerts [Wed, 30 Dec 2009 21:56:57 +0000 (22:56 +0100)]
multiqueue: set iterate_interal_links function on source pad
Wim Taymans [Sun, 27 Dec 2009 18:33:25 +0000 (19:33 +0100)]
buffer: remove unneeded casts
Wim Taymans [Wed, 2 Dec 2009 18:47:46 +0000 (19:47 +0100)]
buffer: remove subbuffer subclass
Move the parent buffer pointer into the GstBuffer struct so that we can
remove the subbuffer class and type. This is interesting because it allows us to
more naturally implement methods to get the real type and parent
of a subbuffer (See #545501).
It should also be slightly faster because there is no extra object hierarchy to
initialize and free.
Wim Taymans [Thu, 24 Dec 2009 18:25:52 +0000 (19:25 +0100)]
collectpads: don't keep buffers reffed longer than needed
Make sure we take ownership of the buffer early without increasing its refcount
when we go in the collect function. This reduces the amount of copies needed in
order to make the buffer writable in most cases.
Wim Taymans [Thu, 24 Dec 2009 16:22:46 +0000 (17:22 +0100)]
miniobject: avoid unneeded casts
Wim Taymans [Thu, 24 Dec 2009 15:53:15 +0000 (16:53 +0100)]
collectpads: avoid doing subbuffers when we can
In some cases we can avoid allocating a subbuffer and instead simply ref
the buffer. Callers should perform _make_metadata_writable() in all
cases now.
Wim Taymans [Thu, 24 Dec 2009 14:25:14 +0000 (15:25 +0100)]
collectpads: add ability to install clipping functions
Add a method to install a clipping function that is called when a buffer is
received. Users of collectpads can then perform clipping on the incomming
buffers.
Also retab the header file a little.
See #590265
Wim Taymans [Thu, 24 Dec 2009 14:13:49 +0000 (15:13 +0100)]
docs: add some more buffer2 ideas
Wim Taymans [Thu, 24 Dec 2009 13:40:54 +0000 (14:40 +0100)]
avoid some more type checks
Wim Taymans [Thu, 24 Dec 2009 13:22:52 +0000 (14:22 +0100)]
pipeline: avoid some type checks
Avoid type checks when we can
Don't need to peek the parent_class, the boilerplate does that for us.
Wim Taymans [Wed, 23 Dec 2009 20:39:20 +0000 (21:39 +0100)]
launch: also print leaked objects
Make the -T option also print the leaked objects
Wim Taymans [Wed, 23 Dec 2009 20:37:51 +0000 (21:37 +0100)]
trace: include type name in leaked objects
When we are dealing with a GObject, print the type name along with
the pointer for easier debugging.
Wim Taymans [Wed, 23 Dec 2009 20:20:14 +0000 (21:20 +0100)]
pad: Fix problem with destroy callback not being called
When we unblock a pad with the same user_data, the destroy callback is not
called. This leads to refcounting leaks that cannot be avoided. Instead always
call the destroy notify whenever we install a new pad block.
In particular, this fixes a nasty pad leak in decodebin2.
Also update the unit test to have more accurate comments and test the required
behaviour.
Wim Taymans [Tue, 22 Dec 2009 21:52:02 +0000 (22:52 +0100)]
tee: small cleanups, use some G_LIKELY
Olivier Crête [Tue, 22 Dec 2009 20:29:26 +0000 (15:29 -0500)]
tee: Don't crash if there is no source pad
Mark Nauwelaerts [Mon, 21 Dec 2009 18:11:45 +0000 (19:11 +0100)]
Automatic update of common submodule
From 47cb23a to 14cec89
Thiago Santos [Mon, 21 Dec 2009 14:58:12 +0000 (11:58 -0300)]
gsttaglist: Adds new tags
Adds the following new tags:
GST_TAG_SHOW_NAME
GST_TAG_SHOW_SORTNAME
GST_TAG_SHOW_EPISODE_NUMBER
GST_TAG_SHOW_SEASON_NUMBER
GST_TAG_LYRICS
GST_TAG_COMPOSER_SORTNAME
GST_TAG_GROUPING
Fixes #599759
Tim-Philipp Müller [Sat, 19 Dec 2009 14:27:05 +0000 (14:27 +0000)]
configure: always call our check checks for the SUBUNIT conditional
The SUBUNIT conditional needs to be set even if check is disabled. Also
remove a FIXME that is not needed any longer / after all.
Руслан Ижбулатов [Fri, 18 Dec 2009 21:28:35 +0000 (21:28 +0000)]
check: patch internal check copy so it works with our build system
Fixes #604565.
Руслан Ижбулатов [Fri, 18 Dec 2009 21:26:01 +0000 (21:26 +0000)]
check: update autotools and docs stuff for new check version
Tim-Philipp Müller [Thu, 17 Dec 2009 20:09:48 +0000 (20:09 +0000)]
check: update internal libcheck to 0.9.8
Mark Nauwelaerts [Tue, 15 Dec 2009 17:55:38 +0000 (18:55 +0100)]
filesrc: printf format fixes
Stefan Kost [Mon, 14 Dec 2009 14:22:16 +0000 (16:22 +0200)]
docs: link bus and tasks
Add a link from bus section docs to the task docs. Add a paragraph to task docs
to tell about messages and the bus.
Stefan Kost [Mon, 14 Dec 2009 13:11:42 +0000 (15:11 +0200)]
docs: add more docs around GstState and GstStateChange
Take reviewed docs from docs/design/part-state to have that more prominent
inside the api docs. Add a few sentences to link things better together.
Stefan Kost [Mon, 14 Dec 2009 13:11:14 +0000 (15:11 +0200)]
docs: review and fix spelling
Stefan Kost [Mon, 14 Dec 2009 09:05:41 +0000 (11:05 +0200)]
gstelementfactory: set object name earlier if applicable
Setting an object name is nice for proper debug logging. Ideally this would
still happens earlier (.e.g when pads are added to an element, its not yet set).
Stefan Kost [Mon, 14 Dec 2009 09:07:25 +0000 (11:07 +0200)]
gstobject: add fixme-0.11 comment
Stefan Kost [Tue, 8 Dec 2009 09:30:39 +0000 (11:30 +0200)]
comment: small comment correction
Wim Taymans [Fri, 11 Dec 2009 15:26:00 +0000 (16:26 +0100)]
bin: never skip a state change to PLAYING
Never skip the state change to playing, even if the element is already in the
right state. We need this because we also distribute the base_time while doing
the state change and skipping this step would leave some elements without a new
base_time.
Fixes #600313
Wim Taymans [Fri, 11 Dec 2009 15:19:18 +0000 (16:19 +0100)]
basesink: add some more debugging
Havard Graff [Tue, 8 Dec 2009 16:21:47 +0000 (17:21 +0100)]
tee: release pads in dispose
Make sure to release all request-pads in the dispose-method, in case of a
shutdown-race, where a pad-alloc is about to happen.
Fixes #604091
Wim Taymans [Wed, 9 Dec 2009 12:27:22 +0000 (13:27 +0100)]
element: use NULL instead of 0 for pointers
Sebastian Dröge [Wed, 9 Dec 2009 06:25:31 +0000 (07:25 +0100)]
tools: Move gst_tools_print_version() for the remaining tools
Ole André Vadla Ravnås [Thu, 3 Dec 2009 11:31:19 +0000 (12:31 +0100)]
tools: Move gst_tools_print_version call to avoid warning from new GLib.
g_setprgname is implicitly called by g_option_context_new() with a check
to see if it's been set already.
Fixes bug #604093.
Sebastian Dröge [Tue, 8 Dec 2009 15:40:57 +0000 (16:40 +0100)]
utils: Fix proxy_setcaps to only iterate pads of other direction
Wim Taymans [Tue, 8 Dec 2009 15:21:41 +0000 (16:21 +0100)]
utils: fix proxy_getcaps
Make it return the padtemplate caps on errors and no parent.
Only intersect pads of the oposite direction of the source pad.
Sebastian Dröge [Tue, 8 Dec 2009 15:14:28 +0000 (16:14 +0100)]
utils: Rename proxy iterator fold functions to have a more meaningful name
Sebastian Dröge [Tue, 8 Dec 2009 15:09:02 +0000 (16:09 +0100)]
utils: If one intersection gave empty caps don't continue iterating over the other pads
Sebastian Dröge [Tue, 8 Dec 2009 14:24:43 +0000 (15:24 +0100)]
basesink: Allow update NEWSEGMENT events after EOS
This allows demuxers to update the segment stop of an already
finished stream. This might be needed if some stream goes to
EOS before the duration of the longest stream is known to properly
set the segment stop of all streams to the same value in the end.
Wim Taymans [Mon, 7 Dec 2009 19:52:22 +0000 (20:52 +0100)]
Use plain casting instead of typechecking
Edward Hervey [Mon, 7 Dec 2009 08:45:00 +0000 (09:45 +0100)]
gstvalue: Use fast gst_value_list_{size|get_value} macro accessors
gst_value_list_size and gst_value_list_get_value will do a series of
extra checks due to being public methods.
When we use them from within gstvalue.c we can directly use them without
the extra checks.
Edward Hervey [Mon, 7 Dec 2009 08:44:06 +0000 (09:44 +0100)]
gsturi: Don't use g_signal_emit_by_name, use the signal ID directly
Edward Hervey [Wed, 18 Nov 2009 08:01:35 +0000 (09:01 +0100)]
tee: avoid expensive typechecks, and avoid getting ref to parent.
Speeds up tee processing 2 to 5 times.
Edward Hervey [Thu, 12 Nov 2009 08:07:03 +0000 (09:07 +0100)]
gstobject: Avoid double strdup when setting NULL names.
Instead of chaining up to gst_object_set_name (which does typechecking
and strdup's the name again), just use the already allocated new
name.
Peter van Hardenberg [Fri, 4 Dec 2009 20:16:32 +0000 (12:16 -0800)]
pwg: make the enum example (based on videotestsrc) actually match videotestsrc
Sebastian Dröge [Fri, 4 Dec 2009 15:28:27 +0000 (16:28 +0100)]
bin: Ignore state change failures from children that were removed from the bin already
Fixes bug #584441.
Sebastian Dröge [Fri, 4 Dec 2009 14:00:44 +0000 (15:00 +0100)]
registry: Use GMappedFile for reading the registry
Fixes bug #603787.
Javier Jardón [Thu, 3 Dec 2009 18:48:11 +0000 (19:48 +0100)]
registry: Substitute deprecated GLib symbol: g_mapped_file_free
Use g_mapped_file_unref if Glib >= 2.22 is available
Fixes bug #560442.
Jan Schmidt [Fri, 27 Nov 2009 19:16:15 +0000 (20:16 +0100)]
basesrc: Shut down the pad task when the initial seek fails.
Set the pad flushing and stop the pad task when the initial seek fails
during activation. Avoids racy calls into the _create() function when
BaseSrc::stop() has already run.
Fixes: #603059
Also, fix some misspelled comments.
Tim-Philipp Müller [Thu, 3 Dec 2009 20:55:37 +0000 (20:55 +0000)]
po: update .po files after string changes
(The queue2 strings could use some tidying up)
Tim-Philipp Müller [Thu, 3 Dec 2009 20:53:25 +0000 (20:53 +0000)]
filesink, filesrc: printf format fixes
gstfilesink.c:399: error: format ‘%d’ expects type ‘int’, but argument 8 has type ‘size_t’
gstfilesink.c:399: error: format ‘%d’ expects type ‘int’, but argument 9 has type ‘gsize’
gstfilesrc.c:588: error: format ‘%08llx’ expects type ‘long long unsigned int’, but argument 8 has type ‘off_t’
Stefan Kost [Thu, 3 Dec 2009 14:44:28 +0000 (16:44 +0200)]
tee: add special case for only one pad conected
It is not easy to setup a tee on the fly, thus apps need to add them always if
they might need them. This changes the code so, that if only one src-pad is
active, we push buffers directly. In the normal code path all buffers are pushed
with an extra ref, that forces followup inplace elements to copy the data.
Stefan Kost [Thu, 3 Dec 2009 14:11:59 +0000 (16:11 +0200)]
tee: only message once per received buffer
Avoids checking for each source pad. The messages would be almost identical
anyway.
Stefan Kost [Thu, 3 Dec 2009 13:27:21 +0000 (15:27 +0200)]
drafts: planning
Stefan Kost [Thu, 3 Dec 2009 14:05:03 +0000 (16:05 +0200)]
tee: remove unused offset member
Stefan Kost [Thu, 3 Dec 2009 14:02:35 +0000 (16:02 +0200)]
tee: only notify alloc-pad property if changed.
Wim Taymans [Wed, 2 Dec 2009 12:29:28 +0000 (13:29 +0100)]
event: fix docs for _copy()
David Schleef [Wed, 2 Dec 2009 06:37:51 +0000 (22:37 -0800)]
tools: Fix check for Windows
David Schleef [Wed, 2 Dec 2009 02:09:04 +0000 (18:09 -0800)]
Make gcc inline assembly conditional on gcc
Edward Hervey [Tue, 1 Dec 2009 18:29:25 +0000 (19:29 +0100)]
queue: Register debug funcptr only once.
Makes creating queue elements 3-4 times faster and avoids contention on the
global funcptr lock.