Wim Taymans [Thu, 21 Jul 2011 15:29:13 +0000 (17:29 +0200)]
basetransform: make new copy_metadata vmethod
Make a new copy_metadata vmethod and move the code to copy the timestamps, flags
and offsets into a default implementation. This will allow us to give the
subclasses a chance to override the copy method.
Wim Taymans [Thu, 21 Jul 2011 14:49:13 +0000 (16:49 +0200)]
Merge branch 'master' into 0.11
Conflicts:
libs/gst/base/gstbaseparse.c
libs/gst/base/gstbasesink.c
Wim Taymans [Thu, 21 Jul 2011 14:39:04 +0000 (16:39 +0200)]
basetrans: avoid intermediate method
Simply call the prepare_output_buffer method instead of calling an intermediate
function.
Wim Taymans [Thu, 21 Jul 2011 14:30:07 +0000 (16:30 +0200)]
basetransform: move the metadata copy code
Move the metadata copy code to the default prepare_output_buffer implementation.
Wim Taymans [Thu, 21 Jul 2011 13:49:00 +0000 (15:49 +0200)]
basetransform: move prepare_output_buffer code
Move the code for prepare_output_buffer to a default implementation. this allows
us to simplify some things and have subclasses call into the default
implementation when needed.
Wim Taymans [Thu, 21 Jul 2011 13:48:25 +0000 (15:48 +0200)]
basetransform: only get size for debug
Wim Taymans [Thu, 21 Jul 2011 12:18:30 +0000 (14:18 +0200)]
basetrans: fix comment and warn
Emit a warning in the debug log when something seems weird.
Wim Taymans [Thu, 21 Jul 2011 12:14:58 +0000 (14:14 +0200)]
basetransform: only get caps for size transform
Delay getting the caps until we need to call the transform_size function.
Wim Taymans [Thu, 21 Jul 2011 11:56:11 +0000 (13:56 +0200)]
basetrans: remove useless variables from prepare_output_buffer
Remove the caps and size from the prepare_output_buffer function. with
bufferpools and capsnego done differently, we don't need this in most cases and
if we do, we can simply use the transform_size function and get the caps from
the srcpad.
Stefan Kost [Mon, 18 Jul 2011 15:22:41 +0000 (17:22 +0200)]
docs: clarify clocks docs in manual
After a question on the mailing list, mention that *flushing* seeks reset the
running time.
Raluca Elena Podiuc [Sat, 16 Jul 2011 19:00:15 +0000 (22:00 +0300)]
docs: removed double negation in event/message seq num description
https://bugzilla.gnome.org/show_bug.cgi?id=654751
Tim-Philipp Müller [Sat, 16 Jul 2011 11:21:12 +0000 (12:21 +0100)]
tests: make sure non-ASCII chars in filenames are escaped when creating URIs from them
https://bugzilla.gnome.org/show_bug.cgi?id=654673
Wim Taymans [Fri, 15 Jul 2011 15:04:11 +0000 (16:04 +0100)]
basesrc: don't accidentally disable the pool
When we set a pool and it is the same as the old pool, don't disable the pool.
Wim Taymans [Fri, 15 Jul 2011 11:27:13 +0000 (13:27 +0200)]
bufferpool: call release_buffer after alloc
After we allocated a new buffer, call the release_buffer vmethod to put the new
buffer in the pool instead of assuming that the pool uses the default
release_method implementation.
Wim Taymans [Fri, 15 Jul 2011 09:52:22 +0000 (11:52 +0200)]
bufferpool: add macro to check for flushing
Wim Taymans [Fri, 15 Jul 2011 09:51:54 +0000 (11:51 +0200)]
buffer: improve debug message
Tim-Philipp Müller [Thu, 14 Jul 2011 11:45:33 +0000 (12:45 +0100)]
baseparse: fix printf format in debug message
Mark Nauwelaerts [Wed, 13 Jul 2011 09:39:15 +0000 (11:39 +0200)]
basesink: unset PLAYING transition flag when transition completed
Wim Taymans [Tue, 12 Jul 2011 12:07:57 +0000 (14:07 +0200)]
buffer: fix resize function some more
Don't remove memory blocks from the buffer when we clip and resize, instead set
the memory offset and size to 0. This allows us to make the buffer larger again
later.
Wim Taymans [Tue, 12 Jul 2011 11:40:35 +0000 (13:40 +0200)]
buffer: improve size handling
Also handle the case where multiple empty memory blocks are in the buffer.
Add unit test for this.
Wim Taymans [Tue, 12 Jul 2011 10:00:58 +0000 (12:00 +0200)]
buffer: fix _resize some more
Add more debug.
Alow resize to 0 bytes.
Do clipping correctly.
Add more unit tests. Also add a failing test: when we resize to 0 and then
try to resize back to the original size it fails because the memory was
removed.
Wim Taymans [Mon, 11 Jul 2011 16:00:52 +0000 (18:00 +0200)]
buffer: fix negative offsets some more
Allow for negative offsets when doing memory copy and share.
Add fast path in the _get_sizes() function.
Fix resize for negative offset and expanding the buffer.
Add some unit tests.
Wim Taymans [Mon, 11 Jul 2011 14:43:33 +0000 (16:43 +0200)]
defs: add defs for new methods
Wim Taymans [Mon, 11 Jul 2011 14:42:56 +0000 (16:42 +0200)]
buffer: fix _resize better
Wim Taymans [Mon, 11 Jul 2011 14:17:57 +0000 (16:17 +0200)]
buffer: add api to get the current memory offset
Also return the offset in a GstMemory block with the get_sizes() method. This
allows us to figure out how much prefix there is unused.
Change the resize function so that a negative offset can be given. This would
make it possible to resize the buffer so that the prefix becomes available.
Add gst_buffer_get_sizes() to return the offset and maxsize as well as the size.
Also change the buffer resize method so that we can specify a negative offset
to remove prefix bytes.
Mark Nauwelaerts [Mon, 11 Jul 2011 12:40:07 +0000 (14:40 +0200)]
buffer: add some memory wrapped buffer allocation helpers
Wim Taymans [Mon, 11 Jul 2011 10:11:13 +0000 (12:11 +0200)]
miniobject: cleanup headers
Mark Nauwelaerts [Mon, 11 Jul 2011 09:40:08 +0000 (11:40 +0200)]
baseparse: eat incoming caps event
... as it is typically up to baseclass to set proper src caps.
Mark Nauwelaerts [Mon, 11 Jul 2011 09:37:28 +0000 (11:37 +0200)]
pad: avoid inadvertently dropping an event
... particularly a non-sticky serialized event that happens to pass
when an event update is pending.
Mark Nauwelaerts [Mon, 4 Jul 2011 10:58:54 +0000 (12:58 +0200)]
basesink: try harder to arrange increasing position reporting
... rather than having a momentary decreasing one while transitioning
to PLAYING.
Fixes #628021.
Tim-Philipp Müller [Fri, 8 Jul 2011 15:07:12 +0000 (16:07 +0100)]
win32: add new API to .def file
Tim-Philipp Müller [Wed, 6 Jul 2011 14:13:30 +0000 (15:13 +0100)]
buffer: make idx argument to gst_buffer_take_memory() signed
Since -1 is acceptable, it should be signed.
Tim-Philipp Müller [Thu, 7 Jul 2011 13:57:18 +0000 (14:57 +0100)]
baseparse: fix invalid memory access in debug messages
Don't use buffers that we've given away or unrefed in debug messages.
Wim Taymans [Thu, 7 Jul 2011 09:14:34 +0000 (11:14 +0200)]
basesrc: fix after merge
Wim Taymans [Thu, 7 Jul 2011 09:13:19 +0000 (11:13 +0200)]
Merge branch 'master' into 0.11
Conflicts:
libs/gst/base/gstbasesrc.c
Wim Taymans [Wed, 6 Jul 2011 14:08:56 +0000 (16:08 +0200)]
buffer: add memset function
Tim-Philipp Müller [Wed, 6 Jul 2011 11:09:28 +0000 (12:09 +0100)]
buffer: fix guards for gst_buffer_take_memory()
Since idx = -1 makes it default to idx=len, len is also
a valid input idx.
Wim Taymans [Tue, 5 Jul 2011 14:38:06 +0000 (16:38 +0200)]
gst: add class ref/unref
Wim Taymans [Tue, 5 Jul 2011 14:32:45 +0000 (16:32 +0200)]
test: disable failing unit tests
Disable unit tests that are failing until someone ports this to 0.11
Wim Taymans [Tue, 5 Jul 2011 14:20:03 +0000 (16:20 +0200)]
queue: fix unit test
Set the right position member in the segment event.
Add some debug to queue.
Tim-Philipp Müller [Mon, 4 Jul 2011 23:10:26 +0000 (00:10 +0100)]
gst: make compiler warn about unstable API if GST_USE_UNSTABLE_API is not defined
And define it in our own build.
Tim-Philipp Müller [Mon, 4 Jul 2011 23:12:13 +0000 (00:12 +0100)]
win32: update .def files for latest API changes/additions
Mark Nauwelaerts [Thu, 30 Jun 2011 15:39:37 +0000 (17:39 +0200)]
basesrc: do not sneakily mess with current offset when updating length
Mark Nauwelaerts [Tue, 28 Jun 2011 20:18:46 +0000 (22:18 +0200)]
basesrc: unref allocation query when no longer needed
Mark Nauwelaerts [Tue, 28 Jun 2011 17:01:57 +0000 (19:01 +0200)]
inputselector: avoid iterating over a single NULL pad
Tim-Philipp Müller [Mon, 20 Jun 2011 22:28:07 +0000 (23:28 +0100)]
Remove GstImplementsInterface
It was a bit too clever, and didn't really work as an API,
confusing people to no end. Better implement specific methods
whether an interface is usable/available/ready on the interface
itself, or even add GError arguments, rather than try to have
per-instance interfaces.
Emmanuel Pacaud [Sat, 25 Jun 2011 20:51:52 +0000 (13:51 -0700)]
task: Check for PR_SET_NAME before using
Fixes: #653172.
Signed-off-by: David Schleef <ds@schleef.org>
David Schleef [Thu, 23 Jun 2011 18:27:52 +0000 (11:27 -0700)]
Automatic update of common submodule
From 69b981f to 605cd9a
Wim Taymans [Thu, 23 Jun 2011 16:03:22 +0000 (18:03 +0200)]
query: add method to check for metadata
Add a method to check if a certain metadata is supported in the ALLOCATION
query.
Wim Taymans [Wed, 22 Jun 2011 16:07:18 +0000 (18:07 +0200)]
docs: update design docs a little
Update the design doc with the current state of the videometadata.
Koop Mast [Wed, 22 Jun 2011 15:12:34 +0000 (17:12 +0200)]
tee: use & instead of && for masking bits
See #653137
Koop Mast [Wed, 22 Jun 2011 15:09:52 +0000 (17:09 +0200)]
basetransform: remove redundant ()
See #653137
Koop Mast [Wed, 22 Jun 2011 15:05:27 +0000 (17:05 +0200)]
baseparse: fix seekstop
See #653137
Koop Mast [Wed, 22 Jun 2011 14:58:53 +0000 (16:58 +0200)]
segment: cast to right type
See #653137
Wim Taymans [Wed, 22 Jun 2011 14:38:04 +0000 (16:38 +0200)]
uri: remove some _full variants
Wim Taymans [Wed, 22 Jun 2011 14:16:56 +0000 (16:16 +0200)]
tags: Remove crazy tag messages
Don't mix messages and pads and tags.
Make the sink post tag messages when a tag event is received.
Since tags are sticky on pads now, they can be retrieved from there
when needed.
Wim Taymans [Wed, 22 Jun 2011 10:28:14 +0000 (12:28 +0200)]
caps: Hide implementation details
Make the Array of structures private. This should allow us to implement
the array more efficiently or with some preallocated structures when
we want to later.
Add a new method to clean up a static structure so that we can remove some code
that pokes into the private bits of the caps.
Wim Taymans [Wed, 22 Jun 2011 10:26:19 +0000 (12:26 +0200)]
docs: update negotiation design doc
Wim Taymans [Wed, 22 Jun 2011 09:42:46 +0000 (11:42 +0200)]
memory: rename GstMemoryAllocator -> GstAllocator
simplify the name of the allocator object.
Wim Taymans [Tue, 21 Jun 2011 15:54:38 +0000 (17:54 +0200)]
Merge branch 'master' into 0.11
Conflicts:
configure.ac
win32/common/config.h
win32/common/gstversion.h
Wim Taymans [Tue, 21 Jun 2011 15:47:36 +0000 (17:47 +0200)]
docs: update bufferpool design doc
Wim Taymans [Tue, 21 Jun 2011 15:47:23 +0000 (17:47 +0200)]
basesrc: improve debugging
Stefan Kost [Tue, 21 Jun 2011 13:15:44 +0000 (15:15 +0200)]
images: strip images of extra text tags
Wim Taymans [Tue, 21 Jun 2011 10:32:46 +0000 (12:32 +0200)]
bufferpool: return empty metadata array
Return a string array with NULL instead of NULL from the default get_metas
function.
Wim Taymans [Tue, 21 Jun 2011 10:31:57 +0000 (12:31 +0200)]
pad: use event function directly
We will never go in this code path for CAPS events so directly call the event
function.
Wim Taymans [Tue, 21 Jun 2011 08:29:51 +0000 (10:29 +0200)]
pad: notify caps after we store the new caps
notify caps after we store the new caps so that the new caps are actually
visible for the app.
Wim Taymans [Mon, 20 Jun 2011 15:32:47 +0000 (17:32 +0200)]
basetransform: activate the bufferpool
always activate the bufferpool, even if we get it from the allocation
query.
Wim Taymans [Mon, 20 Jun 2011 15:32:11 +0000 (17:32 +0200)]
basesrc: always activate the pool we get
Activate the pool when we get it from the allocation query.
Wim Taymans [Mon, 20 Jun 2011 14:47:40 +0000 (16:47 +0200)]
basetransform: inprove allocation handling
Add vmethod for subclasses to influence the pool and allocator.
Log when query fails.
Respect negotiated allocator and alignment.
Wim Taymans [Mon, 20 Jun 2011 14:46:05 +0000 (16:46 +0200)]
basesrc: Improve logging
Log when things fail.
Fix a query leak.
Wim Taymans [Mon, 20 Jun 2011 14:44:35 +0000 (16:44 +0200)]
ghostpad: improve debug
Log a debug line when there is no target pad and when this makes the default
implementation fail.
Take the internal pads directly when we can.
Mark Nauwelaerts [Mon, 20 Jun 2011 13:40:51 +0000 (15:40 +0200)]
configure.ac: bump required GLib to 2.26
Wim Taymans [Mon, 20 Jun 2011 11:26:06 +0000 (13:26 +0200)]
bufferpool: add function to set metadata api
Add a function to retrieve an array of supported metadata apis from the the
bufferpool.
Add functions to configure and query the configured metadata apis in a
bufferpool configuration.
Thiago Santos [Sun, 19 Jun 2011 16:15:19 +0000 (13:15 -0300)]
gstbuffer: Minor fix to docs
Adds missing parameter to docs of gst_buffer_copy_region
Edward Hervey [Sat, 18 Jun 2011 15:35:41 +0000 (17:35 +0200)]
gstpad: Remove unused variable do_event_actions
do_event_actions was always used as TRUE
Tim-Philipp Müller [Sat, 18 Jun 2011 13:38:53 +0000 (14:38 +0100)]
Bump gobject-introspection requirement to >= 0.6.8
For --add-init-section
Tim-Philipp Müller [Thu, 16 Jun 2011 16:27:21 +0000 (17:27 +0100)]
Bump git version after unplanned 0.10.35 release
Merge remote-tracking branch 'origin/0.10.35'
Philip Jägenstedt [Tue, 14 Jun 2011 15:57:21 +0000 (17:57 +0200)]
basesink: Fix typo in documentation
Fixes #652577.
Tim-Philipp Müller [Thu, 16 Jun 2011 09:55:15 +0000 (10:55 +0100)]
Revert "utils: remove some macros now in glib"
This reverts commit
de29ae7b929cedbf6b9838ea53b05efabdce4ce7.
Re-adds GFLOAT_TO_LE, GFLOAT_TO_BE, GDOUBLE_TO_LE, and GDOUBLE_TO_BE.
Turns out these aren't in GLib yet afer all (since we didn't
actually open a bug to get them added..)
Tim-Philipp Müller [Wed, 15 Jun 2011 18:15:24 +0000 (19:15 +0100)]
Release 0.10.35
This is an ad-hoc release that is almost identical to 0.10.34:
* work around GLib atomic ops API change
* some minor win32/mingw fixes
* don't use G_CONST_RETURN in public headers
Wim Taymans [Wed, 15 Jun 2011 14:56:30 +0000 (16:56 +0200)]
basesrc: fix refcounting problem
Javier Jardón [Thu, 9 Jun 2011 16:13:35 +0000 (17:13 +0100)]
Use "const" instead G_CONST_RETURN
G_CONST_RETURN will be deprecated soon.
https://bugzilla.gnome.org/show_bug.cgi?id=652211
David Schleef [Sat, 4 Jun 2011 07:30:15 +0000 (00:30 -0700)]
Work around changes in g_atomic API
See #651514 for details. It's apparently impossible to write code
that avoids both type punning warnings with old g_atomic headers and
assertions in the new. Thus, macros and a version check.
Руслан Ижбулатов [Wed, 25 May 2011 09:40:30 +0000 (13:40 +0400)]
systemclock: Placate gcc by defining EWOULDBLOCK to something
Руслан Ижбулатов [Wed, 25 May 2011 08:47:51 +0000 (12:47 +0400)]
poll: Fix WAKE_EVENT() to behave posixly on Windows
Wim Taymans [Tue, 14 Jun 2011 13:18:26 +0000 (15:18 +0200)]
docs: update docs
Wim Taymans [Mon, 13 Jun 2011 17:10:00 +0000 (19:10 +0200)]
Merge branch 'master' into 0.11
Wim Taymans [Mon, 13 Jun 2011 14:31:53 +0000 (16:31 +0200)]
buffer: add index to _take_memory()
Add an index to gst_buffer_take_memory() so that we can also insert memory at a
certain offset. This is mostly interesting to prepend a header memory block to
the buffer.
Wim Taymans [Mon, 13 Jun 2011 14:30:22 +0000 (16:30 +0200)]
pad: don't forward scheduling query
The scheduling query should not be forwarded, because elements need to implement
special code to handle different scheduling methods.
Wim Taymans [Mon, 13 Jun 2011 10:07:03 +0000 (12:07 +0200)]
basesrc: Allocator buffers from negotiated allocator
Allocate buffers from the negotiated allocator or bufferpool.
Handle the state of the bufferpool when flushing.
Add fill method to pushsrc.
Wim Taymans [Mon, 13 Jun 2011 10:04:28 +0000 (12:04 +0200)]
buffer: add more debug
Wim Taymans [Mon, 13 Jun 2011 09:51:08 +0000 (11:51 +0200)]
bufferpool: small indentation fix
Wim Taymans [Mon, 13 Jun 2011 09:50:42 +0000 (11:50 +0200)]
buffer: pass the allocator as const
Wim Taymans [Mon, 13 Jun 2011 08:19:30 +0000 (10:19 +0200)]
basesrc: negotiate allocation
Add vmethod to configure allocation methods.
Remove some unused variables
Wim Taymans [Sat, 11 Jun 2011 18:45:42 +0000 (20:45 +0200)]
query: add some more checks
Make sure that the alignment is valid.
When we have a 0 size (variable buffer size), we can't have a bufferpool.
Wim Taymans [Sat, 11 Jun 2011 17:54:47 +0000 (19:54 +0200)]
query: set all default values
Fill all query values with good defaults.
Wim Taymans [Sat, 11 Jun 2011 16:52:42 +0000 (18:52 +0200)]
bufferpool: remove postfix parameter
Remove the postfix parameter, it's not used and can be done differently.
Wim Taymans [Fri, 10 Jun 2011 15:50:27 +0000 (17:50 +0200)]
bufferpool: use same alignment values as GstMemory
Use the same alignment values for the bufferpool as we use for the GstMemory
API.
Wim Taymans [Fri, 10 Jun 2011 15:32:48 +0000 (17:32 +0200)]
basesrc: use new _check_reconfigure() method
Wim Taymans [Fri, 10 Jun 2011 15:32:20 +0000 (17:32 +0200)]
pad: add _check_reconfigure() method
Add a method to check and clear the RECONFIGURE flag on a pad.