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.
Edward Hervey [Tue, 1 Dec 2009 18:27:47 +0000 (19:27 +0100)]
basesrc/basesink: Register debug funcptr only once.
Makes basesrc/basesink initialization 3-4 times faster and avoids
contention on the global funcptr lock
Edward Hervey [Tue, 1 Dec 2009 16:54:56 +0000 (17:54 +0100)]
gstghostpad: Register debug funcptr only once.
This makes ghostpad/proxypad creation 5 times faster and avoids contention
over the global funcptr lock.
I also moved the two class init down in the code to avoid having to forward
declare all the various functions.
Edward Hervey [Tue, 1 Dec 2009 16:54:14 +0000 (17:54 +0100)]
gstpad: Only register debug funcptr once.
This makes pad initialization 2 times faster and without any contention
over the debug funcptr global lock.
Edward Hervey [Tue, 1 Dec 2009 16:53:03 +0000 (17:53 +0100)]
gstinfo: API: Add GST_DEBUG_REGISTER_FUNCPTR method.
This is a variant of GST_DEBUG_FUNCPTR which does not return anything.
Tim-Philipp Müller [Tue, 1 Dec 2009 15:05:34 +0000 (15:05 +0000)]
Automatic update of common submodule
From 87bf428 to 47cb23a
Sebastian Dröge [Tue, 1 Dec 2009 13:08:29 +0000 (14:08 +0100)]
configure: Use new AG_GST_PLATFORM macro
Sebastian Dröge [Tue, 1 Dec 2009 13:10:59 +0000 (14:10 +0100)]
Automatic update of common submodule
From da4c75c to 87bf428
Wim Taymans [Sat, 28 Nov 2009 21:29:29 +0000 (22:29 +0100)]
basesink: clip stepping boundaries
Rounding errors with the floating point rate could make it so that we
don't end up exactly at the required stepping duration.
Use the segment clipping boundaries, which are not subject to rate
adjustements, instead to detect when we reached the stepping duration.
Add some debug info related to going to the PAUSED state.
Wim Taymans [Sat, 28 Nov 2009 16:02:17 +0000 (17:02 +0100)]
docs: fix another typo
Wim Taymans [Sat, 28 Nov 2009 14:40:30 +0000 (15:40 +0100)]
docs: fix typo
Edward Hervey [Fri, 27 Nov 2009 17:54:33 +0000 (18:54 +0100)]
Automatic update of common submodule
From 53a2485 to da4c75c
Thiago Santos [Fri, 27 Nov 2009 16:42:36 +0000 (13:42 -0300)]
gstevent: fix docs
Fix flush stops docs, those are serialized, not out of bounds.
Probably a copy and paste mistake.
Stefan Kost [Fri, 27 Nov 2009 14:39:37 +0000 (16:39 +0200)]
docs: fix broken xrefs
Stefan Kost [Fri, 27 Nov 2009 14:39:37 +0000 (16:39 +0200)]
docs: fix broken xrefs
Stefan Kost [Fri, 27 Nov 2009 14:39:01 +0000 (16:39 +0200)]
docs: add missing section to libs-docs
Stefan Kost [Fri, 27 Nov 2009 12:18:02 +0000 (14:18 +0200)]
docs: make links work (needs recent gtk-doc)
Stefan Kost [Fri, 27 Nov 2009 12:17:35 +0000 (14:17 +0200)]
docs: add missing parameter docs
Stefan Kost [Fri, 27 Nov 2009 12:16:54 +0000 (14:16 +0200)]
docs: enable docs for GstObjectClass to fix links
Stefan Kost [Fri, 27 Nov 2009 12:15:08 +0000 (14:15 +0200)]
gstobject: add FIXME-0.11 comments
Stefan Kost [Wed, 25 Nov 2009 16:25:01 +0000 (18:25 +0200)]
docs: better way to link class methods
Stefan Kost [Wed, 25 Nov 2009 16:24:16 +0000 (18:24 +0200)]
docs: use '*' instead of xxx to avoid creating a broekn xref
Stefan Kost [Wed, 25 Nov 2009 15:37:33 +0000 (17:37 +0200)]
docs: fix more bogus xrefs