Stefan Kost [Wed, 22 Jul 2009 06:54:55 +0000 (09:54 +0300)]
basetransform: use new _caps_can_intersect()
Stefan Kost [Wed, 22 Jul 2009 06:38:10 +0000 (09:38 +0300)]
caps: add gst_caps_can_intersect()
Often we don't need the result of the intersection. Add a variant that only
tries to intersect. It can break out earlier and does less GValue copying.
API: gst_caps_can_intersect()
Stefan Kost [Wed, 22 Jul 2009 06:24:55 +0000 (09:24 +0300)]
basetransform: only check caps_is_fixed() if they changed
The previous code could call gst_caps_is_fixed() for the same caps many times.
Stefan Kost [Tue, 21 Jul 2009 10:31:13 +0000 (13:31 +0300)]
caps: split callback for structure intersect into two functions
We call this separately. there is no much benefit in reusing the callback.
Splitting is let us remove a branch also.
Stefan Kost [Tue, 21 Jul 2009 10:27:09 +0000 (13:27 +0300)]
logging: log if we copy caps to be able to track it
Stefan Kost [Tue, 21 Jul 2009 08:32:01 +0000 (11:32 +0300)]
caps: add comments about g_ptr_array size behaviour
Just explain the behaviour to avoid that someone else is wasting time trying to
improve this too.
Stefan Kost [Tue, 21 Jul 2009 08:14:20 +0000 (11:14 +0300)]
example: unref the clock id
Stefan Kost [Tue, 21 Jul 2009 07:56:53 +0000 (10:56 +0300)]
pad: use correct variable in test
Stefan Kost [Tue, 28 Jul 2009 13:13:37 +0000 (16:13 +0300)]
registry: add filename to debug message, like elsewhere
Stefan Kost [Tue, 21 Jul 2009 07:38:15 +0000 (10:38 +0300)]
bin: fix compiler warning about unused var when disabling debug logging
Mark Nauwelaerts [Thu, 6 Aug 2009 11:29:29 +0000 (13:29 +0200)]
queue: post error message when pausing task
If downstream returns error and upstream has already delivered
everything (including EOS) and will no longer be around to find
out that we paused (and why), post error message. Fixes #589991.
Mark Nauwelaerts [Tue, 28 Jul 2009 10:03:36 +0000 (12:03 +0200)]
queue: add unit test
Make a downstream element return an error after upstream has already
put all data into queue (including EOS). As such, upstream
will not be around to pick up the error, so it is up to queue to
act appropriately. See #589991.
Note there may be downstream fatal errors (e.g. negotiation) that do
not warrant an error message already having been posted.
Wim Taymans [Wed, 5 Aug 2009 16:02:31 +0000 (18:02 +0200)]
basetransform: clarify _caps_is_equal()
Wim Taymans [Wed, 5 Aug 2009 15:58:20 +0000 (17:58 +0200)]
basetransform: refactor metadata modifications
Check when we need to touch the metadata of the output buffer after selecting
the output buffer so that we have everything in one place.
Also take flags and timestamp modifications into account.
Wim Taymans [Wed, 5 Aug 2009 15:55:14 +0000 (17:55 +0200)]
capsfilter: only set caps when different
When we have an input buffer with caps and when those caps are different from
the caps we want, only then make a writable copy of the input buffer as the
output buffer and set the caps on that output buffer. This avoids some cases
where we took a subbuffer for setting caps that were the same.
Wim Taymans [Wed, 5 Aug 2009 13:28:59 +0000 (15:28 +0200)]
basetransform: enable optimisation
When we have the same input as output caps, reuse the input caps object. After
the caps refcounting has been sorted out now, we can finally enable this
optimisation.
Wim Taymans [Wed, 5 Aug 2009 11:48:40 +0000 (13:48 +0200)]
tests: don't set caps on unwritable buffers
Take the ref after setting the caps on a buffer because else the buffer is
techinically not writable.
Wim Taymans [Wed, 5 Aug 2009 11:47:33 +0000 (13:47 +0200)]
queue: get caps after making writable
Get the caps of the buffer after we made the buffer writable. This did not
cause any problems but it's nicer this way.
Wim Taymans [Wed, 5 Aug 2009 11:46:42 +0000 (13:46 +0200)]
capsfilter: fix refcounting problem
Make sure the metadata is writable before setting the caps on a buffer.
Wim Taymans [Wed, 5 Aug 2009 11:44:51 +0000 (13:44 +0200)]
basetransform: fix refcounting problem
Add some more debug info.
Make sure that the output buffer has writable metadata before we attempt to set
caps on it.
fixes #583999
Wim Taymans [Wed, 5 Aug 2009 11:44:13 +0000 (13:44 +0200)]
caps: add some more debugging in _replace
Wim Taymans [Wed, 5 Aug 2009 11:43:10 +0000 (13:43 +0200)]
pad: Add some more debugging
Wim Taymans [Wed, 5 Aug 2009 11:41:33 +0000 (13:41 +0200)]
ghostpad: small improvements
Unref the target pad after we used it for debugging.
Add some more debug.
Only replace caps when they changed.
Wim Taymans [Wed, 29 Jul 2009 11:46:35 +0000 (13:46 +0200)]
basesink: cleanups in position queries
Use existing boolean flag to pass position queries upstream. Also add upstream
queries for the last position queries.
Tim-Philipp Müller [Wed, 5 Aug 2009 12:25:33 +0000 (13:25 +0100)]
configure.ac: fix libxml2 check, which is only needed for xml load/save now
Since the registry doesn't use libxml2 any longer, it's no longer necessary
to disable both xml load/save *and* the registry to get rid of the libxml2
dependency, disabling just xml loading/saving is enough. Fixes #590841.
Tim-Philipp Müller [Sun, 2 Aug 2009 13:33:59 +0000 (14:33 +0100)]
gst-uninstalled: rename uninstalled registry file to registry.dat
We're not using the xml registry any longer after all.
Tim-Philipp Müller [Sun, 2 Aug 2009 13:28:38 +0000 (14:28 +0100)]
gst-uninstalled: refine search paths for uninstalled plugin modules
Use more refined search paths for our plugin modules. Not only does
this make things much faster in an uninstalled setup, it also makes
sure we're not accidentally using out-of-date plugins built ages
ago as part of a (failed) 'make distcheck' when we forget to clean
up the distcheck build directory.
Tim-Philipp Müller [Wed, 29 Jul 2009 22:42:39 +0000 (23:42 +0100)]
docs: dist GStreamer-1.0 buffer design draft
Sebastian Dröge [Thu, 6 Aug 2009 04:50:41 +0000 (06:50 +0200)]
taglist: Add new ALBUM_ARTIST tag to the docs
John Millikin [Tue, 4 Aug 2009 12:13:34 +0000 (14:13 +0200)]
taglist: Add support for ALBUM_ARTIST tag
The "album artist" tag is used when the artist of an entire
album differs from the artist of an individual track; for example,
when a "guest artist" appears on an album, or on compilations.
Fixes bug #590430.
Stian Selnes [Wed, 29 Jul 2009 11:33:11 +0000 (13:33 +0200)]
basesink: Query upstream for the position if conversion in PAUSED failed
Fixes bug #590045.
Kipp Cannon [Tue, 28 Jul 2009 18:42:20 +0000 (20:42 +0200)]
basetransform: Improve debug output in gst_base_transform_acceptcaps()
Fixes bug #589524.
Sebastian Dröge [Wed, 22 Jul 2009 07:01:56 +0000 (09:01 +0200)]
basetransform: Don't unset GAP flag if working in passthrough mode
Fixes bug #589314.
Jan Schmidt [Thu, 6 Aug 2009 00:43:57 +0000 (01:43 +0100)]
back to development -> 0.10.24.1
Jan Schmidt [Tue, 4 Aug 2009 23:51:16 +0000 (00:51 +0100)]
Release 0.10.24
Jan Schmidt [Tue, 4 Aug 2009 22:05:27 +0000 (23:05 +0100)]
Update .po files
Mark Nauwelaerts [Mon, 3 Aug 2009 13:31:22 +0000 (15:31 +0200)]
bytereader: avoid wrap-around in buffer size checks. Fixes #590622.
Jan Schmidt [Thu, 30 Jul 2009 13:41:30 +0000 (14:41 +0100)]
0.10.24.5 pre-release
Edward Hervey [Tue, 28 Jul 2009 19:15:52 +0000 (21:15 +0200)]
collectpads: Get the flushing state with the object lock taken.
Fixes #590056
Edward Hervey [Tue, 28 Jul 2009 19:14:11 +0000 (21:14 +0200)]
collectpads: Make sure the CollectData list is up-to-date when reading/setting it
Without this, we risked:
* Checking the flushing state on an unexisting list
* Not setting the flushing state on pads that had just been added
Partially fixes #590056
Edward Hervey [Tue, 28 Jul 2009 19:12:25 +0000 (21:12 +0200)]
collectpads: Split out _check_pads into a version without lock taking.
This is so we can use _check_pads in places where we've already taken
the lock in question.
Partially fixes #590056
Tim-Philipp Müller [Tue, 28 Jul 2009 14:23:15 +0000 (15:23 +0100)]
check: make new GstStreamConsistency structure private
There's no need to have GstStreamConsistency in a public header for
the time being, so make it private. While we're at it, add a gtk-doc
blurb for it though. Re-fixes #588744.
Jan Schmidt [Fri, 24 Jul 2009 12:50:19 +0000 (13:50 +0100)]
0.10.23.4 pre-release
Robin Stocker [Fri, 24 Jul 2009 08:50:19 +0000 (09:50 +0100)]
basesrc: don't handle SEEKING queries for formats that don't match the one the source operates in
Return FALSE in basesrc's default query handler when we get a SEEKING query for
a format that's not the one the source operates in. Previously (ie. before, in
the git version) we would return TRUE in that case and seekable=FALSE, which
is more correct, but causes backwards compatibility problems. (Before that
we would change the format of the query when answering, which was completely
broken since callers don't expect that or check for it). Since the SEEKING
query is a fairly recent addition, not all demuxers, parsers and decoders
implement it yet, in which case any SEEKING query by an application will
just be passed upstream where it will then be handled by basesrc. Now, if
e.g. totem does a SEEKING query for TIME format and we have a demuxer that
doesn't implement the query, basesrc would answer it with seekable=FALSE in
most cases, and totem can only take that as authoritative answer, not knowing
that the demuxer doesn't implement the SEEKING query. To avoid this, we make
basesrc return FALSE to SEEKING queries in unhandled formats. That way
applications like totem can fall back on assuming seekability depending on
whether a duration is available, or somesuch. Downstream elements doing
such queries are likely to equate an unhandled query with a non-seekable
response as well, so this should be an acceptable fix for the time being.
See #584838, #588944, #589423 and #589424.
Stefan Kost [Thu, 23 Jul 2009 21:41:55 +0000 (00:41 +0300)]
Automatic update of common submodule
From fedaaee to 94f95e3
Stefan Kost [Mon, 20 Jul 2009 13:11:02 +0000 (16:11 +0300)]
gstregistrybinary: add +1 after error checking
The current code made the error checking pointless by changing -1 to 0 in error
cases. Also don't leak a pad template on error.
Jan Schmidt [Mon, 20 Jul 2009 14:51:20 +0000 (15:51 +0100)]
0.10.23.3 pre-release
Wim Taymans [Mon, 20 Jul 2009 16:03:21 +0000 (18:03 +0200)]
tests: make sure the tasks are joined
Call _clean_all() on the task to make sure everything is joined and stopped.
See #589127
Wim Taymans [Mon, 20 Jul 2009 13:44:36 +0000 (15:44 +0200)]
task: fix taskpool leak
GstTaks does not always unref the taskpool it was created from because it
depends on when the pool provided an ID for joining the task.
Rework some code so that we always unref the pool and optionally join when the
pool provided an id.
Fixes #589127
Wim Taymans [Mon, 20 Jul 2009 11:26:51 +0000 (13:26 +0200)]
basesrc: make tag queuing threadsafe
See #588745
Edward Hervey [Mon, 13 Jul 2009 07:22:06 +0000 (09:22 +0200)]
gstcheck: Add a stream consistency checking helper routine. Fixes #588744
Stefan Kost [Mon, 20 Jul 2009 08:04:05 +0000 (11:04 +0300)]
binaryregistry: don't unref NULL if we have an early read error
Edward Hervey [Sun, 12 Jul 2009 08:04:01 +0000 (10:04 +0200)]
basesrc: Serialize tags into the dataflow. Fixes #588745
Tim-Philipp Müller [Thu, 16 Jul 2009 13:17:03 +0000 (14:17 +0100)]
docs: fix API docs for gst_{adapter|byte_reader}_masked_scan_uint32
Clarify byte reader docs a bit: offset is relative to the current
position of the reader, not to the start of the data. Also, the
examples in both the adapter docs and the byte reader docs have
the mask and pattern arguments swapped (see #587561). Spotted
by Carl-Anton Ingmarsson.
Tim-Philipp Müller [Thu, 16 Jul 2009 12:59:07 +0000 (13:59 +0100)]
tags: only emit a g_warning() for empty tag strings for git versions
For now, don't show a g_warning() for empty tag strings and NULL
tags with non-git versions; we should wait for the fixes in our
plugin modules to make it into a release before we enable this
unconditionally.
Jan Schmidt [Tue, 14 Jul 2009 17:59:13 +0000 (18:59 +0100)]
0.10.23.2 pre-release
Stefan Kost [Tue, 14 Jul 2009 09:15:05 +0000 (12:15 +0300)]
value: add explanation for shortcut
Stefan Kost [Fri, 10 Jul 2009 19:04:48 +0000 (20:04 +0100)]
basetransform: take size once
Stefan Kost [Fri, 10 Jul 2009 18:17:04 +0000 (19:17 +0100)]
value: fix can_intersect to behave like intersect
Add a quick return if two types are the same. Change the check for the
intersection function to be the same as the one used in intersect(). The
later tries both directions.
Tim-Philipp Müller [Mon, 13 Jul 2009 23:04:22 +0000 (00:04 +0100)]
gstinfo: maintain ABI compatibility even if debugging is disabled
Jan Schmidt [Thu, 2 Jul 2009 11:40:05 +0000 (12:40 +0100)]
structure: Change NULL and empty string handling
Don't forbid the empty string "" in generic structures, only in taglists.
Properly allow the NULL string by adding special cases for serialising
and deserialising it. prop1=(string)NULL is the NULL string,
prop1=(string)"NULL" is the actual string with the value "NULL"
Olivier Crête [Mon, 13 Jul 2009 16:23:02 +0000 (12:23 -0400)]
Automatic update of common submodule
From 5845b63 to fedaaee
Andoni Morales [Mon, 13 Jul 2009 10:00:47 +0000 (12:00 +0200)]
filesink: Fix segfault with MSVC
Don't use deprecated fileno on MSVC but replace with _fileno
Fixes #587052
Edward Hervey [Mon, 13 Jul 2009 07:32:57 +0000 (09:32 +0200)]
docs/design: Update Makefile.am for changed framestep document name.
Tim-Philipp Müller [Fri, 10 Jul 2009 18:27:21 +0000 (19:27 +0100)]
tools: the plugin features listed by gst-inspect are typefinders, not types
Wim Taymans [Fri, 10 Jul 2009 17:46:39 +0000 (18:46 +0100)]
docs: add draft for arbitrary buffer metadata idea
Wim Taymans [Fri, 10 Jul 2009 17:35:21 +0000 (18:35 +0100)]
docs: more framestep docs out of draft
Wim Taymans [Fri, 10 Jul 2009 17:33:58 +0000 (18:33 +0100)]
docs: update framestep document
Remove experimental status from the framestep draft.
Philip Jägenstedt [Wed, 8 Jul 2009 13:15:04 +0000 (15:15 +0200)]
tools: Fix compilation if option parsing is disabled
Fixes bug #587976.
Sebastian Dröge [Wed, 8 Jul 2009 13:10:26 +0000 (15:10 +0200)]
registry: Use g_build_filename() instead of g_strjoin() with /
This makes sure that the generated filenames use the platform
specific directory separator instead of /.
Fixes bug #587973.
Tim-Philipp Müller [Tue, 7 Jul 2009 19:13:48 +0000 (20:13 +0100)]
docs: add 'Since' tag for new GST_DEBUG_CATEGORY_GET macro
Stefan Kost [Mon, 6 Jul 2009 23:23:41 +0000 (00:23 +0100)]
collectpads: make it the best of wims and edwards patch.
Check the right flushing flag, but still add it to the pad-list.
Stefan Kost [Tue, 30 Jun 2009 08:26:34 +0000 (11:26 +0300)]
info: allow getting other log categories. Fixes #587417
Add a new macro GST_DEBUG_CATEGORY_GET to get a log category by name. This
allows plugins to use e.g. core categories like PERFORMANCE or CLOCK.
API: GST_DEBUG_CATEGORY_GET
Stefan Kost [Mon, 6 Jul 2009 18:51:57 +0000 (19:51 +0100)]
basetransform: make comment a FIXME comment
Stefan Kost [Mon, 6 Jul 2009 18:50:52 +0000 (19:50 +0100)]
logging: log object type in message
Stefan Kost [Mon, 6 Jul 2009 18:48:58 +0000 (19:48 +0100)]
logging: use perf category for dropped buffers
Edward Hervey [Mon, 29 Jun 2009 09:26:57 +0000 (11:26 +0200)]
collectpads: Don't forward FLUSH_STOP if some input streams are still flushing.
This guarantees that only one FLUSH_STOP event (the last one) will be sent
downstream when a flushing seek is being done through collectpads.
Edward Hervey [Wed, 24 Jun 2009 09:11:35 +0000 (11:11 +0200)]
collectpads: Update the cookie when setting ourselves as flushing.
This forces the pad status to be re-evaluated on the next _check_pads().
Tim-Philipp Müller [Tue, 9 Jun 2009 13:54:27 +0000 (14:54 +0100)]
docs: fix gtk-doc /*< private >*/ marker
Tim-Philipp Müller [Tue, 9 Jun 2009 13:48:56 +0000 (14:48 +0100)]
typefindelement: log probability in debug message
Wim Taymans [Tue, 30 Jun 2009 16:22:25 +0000 (18:22 +0200)]
message: fix parsing of the step done message
Parse the duration field too.
Edward Hervey [Mon, 29 Jun 2009 09:24:25 +0000 (11:24 +0200)]
binaryregistry: Use local values in while/for loops, use branch prediction macros
Edward Hervey [Mon, 29 Jun 2009 09:23:31 +0000 (11:23 +0200)]
Spread branch prediction macros.
These are based on profiling several playback scenarios using playbin2.
Edward Hervey [Mon, 29 Jun 2009 09:20:12 +0000 (11:20 +0200)]
Use local variables in for/while loops.
This makes the generated code faster since:
* It won't have to read an undirect value (which will most likely be
outside of the L1/L2 cache)
* We know that value never changes (the compiler has no clue that it doesn't).
Edward Hervey [Tue, 9 Jun 2009 17:08:26 +0000 (19:08 +0200)]
libs/controller: Set default gst debugging category.
Wim Taymans [Mon, 29 Jun 2009 09:57:13 +0000 (11:57 +0200)]
tests: fix example
Wim Taymans [Mon, 29 Jun 2009 09:56:10 +0000 (11:56 +0200)]
bufferlist: use faster gst_buffer_list_get()
Use the faster gst_buffer_list_get() to get the first buffer of a list.
Wim Taymans [Mon, 29 Jun 2009 09:55:14 +0000 (11:55 +0200)]
bufferlist: fix example
The _do function now takes user_data in all cases.
Ognyan Tonchev [Mon, 29 Jun 2009 09:46:00 +0000 (11:46 +0200)]
basesink: take timestamp later
Make sure we don't accidentally cast a bufferlist of a buffer and try to take
the timestamp of it.
Refixes #585960
Jonas Holmberg [Mon, 29 Jun 2009 09:07:00 +0000 (11:07 +0200)]
docs: fix some typos
Stefan Kost [Mon, 29 Jun 2009 08:24:04 +0000 (11:24 +0300)]
logging: add a performace log category
This category can be used to log slow code path and help auditing the
performance. Add FIXME-0.11 to some questionable categories.
Stefan Kost [Sat, 27 Jun 2009 13:34:36 +0000 (16:34 +0300)]
structure: fix int->gint to be in sync with the *.h and usage
Jan Schmidt [Fri, 26 Jun 2009 12:33:50 +0000 (13:33 +0100)]
autogen.sh: Use printf instead of 'echo -n'. Check for automake-1.1[01]
Check for more automake command variants. Use printf instead of 'echo -n'
for portability
Jan Schmidt [Fri, 26 Jun 2009 12:41:11 +0000 (13:41 +0100)]
Automatic update of common submodule
From f810030 to 5845b63
Stefan Kost [Fri, 26 Jun 2009 09:50:53 +0000 (12:50 +0300)]
request-pad: tell about ref counts in release_request_pad docs.
It is not too obvious that getting and releasing request pads is not entierly
symetrical regarding to the pad refcount. Add a note about that to the docs.
This might deserve a FIXME-0.11 too.
Tim-Philipp Müller [Thu, 25 Jun 2009 10:25:46 +0000 (11:25 +0100)]
basesink: don't do things with side effects within a g_assert()
Make the bufferlist stuff work properly when things are compiled
with -DG_DISABLE_ASSERT.
Wim Taymans [Wed, 24 Jun 2009 16:31:08 +0000 (18:31 +0200)]
caps: avoid doing logic in g_assert
Make sure we still do the right thing when glib is compiled without
assertions.
Jan Schmidt [Mon, 22 Jun 2009 04:00:54 +0000 (05:00 +0100)]
multiqueue: Fire the overrun signal on EOS
Fixes startup of some short MPEG files with decodebin2/playbin2
where all the data fits in the multiqueue and EOS arrives before
the group is exposed.
Jan Schmidt [Wed, 24 Jun 2009 14:13:37 +0000 (15:13 +0100)]
Automatic update of common submodule
From f3bb51b to f810030
Edward Hervey [Sat, 28 Mar 2009 12:59:08 +0000 (13:59 +0100)]
GstStructure: Use direct values for repetitive conditionals (for/while).