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.
Wim Taymans [Fri, 10 Jun 2011 14:47:29 +0000 (16:47 +0200)]
buffer: add support for buffer in memory
Fix the code to support allocating the buffer and memory in one memory block.
Add an extra variable to store the memory of the buffer.
This code is disabled still because of complications.
Wim Taymans [Fri, 10 Jun 2011 14:46:12 +0000 (16:46 +0200)]
memory: expose default alignment
Export the gst_memory_alignment variable so that others can know the default
configured alignment of the system.
Wim Taymans [Fri, 10 Jun 2011 14:19:46 +0000 (16:19 +0200)]
memory: fix is_span
Subtract the offset of the parent from is_span.
Wim Taymans [Fri, 10 Jun 2011 11:59:31 +0000 (13:59 +0200)]
memory: respect configured alignment
Move the alignment from GstBuffer to GstMemory.
make sure memory is at least aligned to the configured values.
Wim Taymans [Fri, 10 Jun 2011 11:40:57 +0000 (13:40 +0200)]
buffer: make new _buffer_allocate method
Make a new method to allocate a buffer + memory that takes the allocator and the
alignment as parameters. Provide a macro for the old method but prefer to use
the new method to encourage plugins to negotiate the allocator properly.
Tim-Philipp Müller [Fri, 10 Jun 2011 11:44:40 +0000 (12:44 +0100)]
docs: update for gst_base_src_set_dynamic_size
Add to sections file and add Since: marker. Also update
win32 .def file.
API: gst_base_src_set_dynamic_size()
Edward Hervey [Fri, 10 Jun 2011 11:44:19 +0000 (13:44 +0200)]
design: part-bufferlist.txt was merged into another doc
Edward Hervey [Fri, 10 Jun 2011 11:34:59 +0000 (13:34 +0200)]
docs: Update sections files for added/removed symbols
Edward Hervey [Fri, 10 Jun 2011 11:10:42 +0000 (13:10 +0200)]
win32: Update for added/removed symbols
Wim Taymans [Fri, 10 Jun 2011 11:04:23 +0000 (13:04 +0200)]
basesrc: add fill vmethod to basesrc
Add a new fill virtual method to basesrc. The purpose of this method is to fill
a provided buffer with data.
Add a default implementation of the create method that allocates a buffer and
calls the fill method on it. This would allow the base class to implement
bufferpool and allocator negotiation on behalf of the subclasses.
Fix the blocksize property.
Make filesrc use the new fill method.
Wim Taymans [Fri, 10 Jun 2011 10:09:49 +0000 (12:09 +0200)]
Merge branch 'master' into 0.11
Conflicts:
gst/gstelementfactory.c
gst/gstelementfactory.h
gst/gstpad.h
gst/gstpluginfeature.c
gst/gstpluginfeature.h
Wim Taymans [Fri, 10 Jun 2011 09:55:08 +0000 (11:55 +0200)]
event: add reset_time boolean to flush_stop event
Add a boolean to the flush_stop event to make it possible to implement flushes
that don't reset_time.
Make basesink post async_done with the reset_time property from the flush stop
event.
Fix some unit tests
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
Wim Taymans [Thu, 9 Jun 2011 11:37:28 +0000 (13:37 +0200)]
pad: use new event methods to replace events
Using the new event methods, we can atomically transfer the event from the
pending list to the active list.
Wim Taymans [Thu, 9 Jun 2011 11:36:52 +0000 (13:36 +0200)]
event: make macros for new miniobject methods
Wim Taymans [Thu, 9 Jun 2011 11:35:08 +0000 (13:35 +0200)]
miniobject: add new methods to manage miniobject pointers
Add a new method to steal the miniobject stored at a location.
Add a new method to store a miniobject in a location and taking ownership
of the miniobject.
Wim Taymans [Thu, 9 Jun 2011 11:34:19 +0000 (13:34 +0200)]
pad: fix header
Wim Taymans [Thu, 9 Jun 2011 10:31:47 +0000 (12:31 +0200)]
pad: fix spurious include
Wim Taymans [Thu, 9 Jun 2011 10:01:02 +0000 (12:01 +0200)]
Merge branch 'master' into 0.11
Conflicts:
libs/gst/base/gstbasesrc.c
Wim Taymans [Thu, 9 Jun 2011 09:39:08 +0000 (11:39 +0200)]
pad: forward events by default
Always forward all events in the default handler. Previously it used to not
forward caps events by default. It makes more sense to forward the caps events,
if the element is interested in the caps, it will implement an event handler to
retrieve the caps and then it can decide to forward or not. If the element has
no event handler, it probably just doesn't care about caps and it probably is
also not going to modify the data in a way that needs a caps change.
Wim Taymans [Thu, 9 Jun 2011 09:13:55 +0000 (11:13 +0200)]
buffer: fix typo in docs
Mark Nauwelaerts [Wed, 8 Jun 2011 16:22:36 +0000 (18:22 +0200)]
filesrc/fdsrc: indicate dynamic size handling to basesrc
Mark Nauwelaerts [Wed, 8 Jun 2011 16:22:03 +0000 (18:22 +0200)]
basesrc: add dynamic size handling
This allows subclass to indicate that size reported by src may not be static
and should as such be updated regularly, rather than only when really
needed.
Particular examples are filesrc or fdsrc reading from a file that is still
growing (e.g. being downloaded).
Fixes #652037.
Mark Nauwelaerts [Wed, 8 Jun 2011 18:14:16 +0000 (20:14 +0200)]
Revert "basesrc: Send an update NEWSEGMENT event downstream if the duration changes"
This reverts commit
934faf163caf10ed3d54d81fd7b793069913dffd.
Original commit leads to possibly sending newsegment event downstream
in pull mode. In push mode, quite some downstream elements
are likely to only expect newsegment event following a seek they performed
and as such may have their state messed up.
Wim Taymans [Wed, 8 Jun 2011 16:35:16 +0000 (18:35 +0200)]
basesink: inline the clip segment
Wim Taymans [Wed, 8 Jun 2011 15:25:43 +0000 (17:25 +0200)]
message: rename variable
Rename the new_base_time variable to reset_time, which looks better.
Wim Taymans [Wed, 8 Jun 2011 14:41:05 +0000 (16:41 +0200)]
segment: separate the seek and segment flags
Separate the seek flags and segment flags as separate enums because we might
want to have different flags for both.
Wim Taymans [Wed, 8 Jun 2011 11:40:32 +0000 (13:40 +0200)]
message: move the new_base_time flag to async_done
Move the flag to indicate that a new_base_time should be distributed to the
pipeline, from the async_start to the async_done message. This would allow us to
decide when to reset the pipeline time based on other reasons than the
FLUSH_START event.
The main goal eventually is to make the FLUSH events not reset time at all but
reset the time based on the first buffer or segment that prerolls the pipeline
again.
Edward Hervey [Wed, 8 Jun 2011 11:39:19 +0000 (13:39 +0200)]
docs: Update gstreamer-sections for new/removed API
Edward Hervey [Wed, 8 Jun 2011 11:30:49 +0000 (13:30 +0200)]
gstbuffer: Remove deprecated GST_BUFFER_* macros
data, size, mallocdata and free_func no longer exist.
Edward Hervey [Wed, 8 Jun 2011 11:06:17 +0000 (13:06 +0200)]
win32: Update for added/removed symbols
Wim Taymans [Wed, 8 Jun 2011 10:58:29 +0000 (12:58 +0200)]
pad: remove setcaps function
Remove the setcaps function, elements should use the caps event to be informed
of the format.
Wim Taymans [Wed, 8 Jun 2011 10:04:49 +0000 (12:04 +0200)]
memory: Require implementation to implement _share
Require the memory implementations to implement a share operation. This allows
us to remove the fallback share implementation which uses a different allocator
implementation and complicates things too much.
Update design doc a bit.