Tim-Philipp Müller [Sat, 14 Jul 2012 18:24:57 +0000 (19:24 +0100)]
base: make GstQueueArray private to coreelements for now
Keep it private until we have a reason to make it public.
Tim-Philipp Müller [Sat, 14 Jul 2012 18:08:24 +0000 (19:08 +0100)]
taglist: check value type matches tag type when adding values to a taglist
Tim-Philipp Müller [Sat, 14 Jul 2012 17:52:50 +0000 (18:52 +0100)]
info: make taglists and datetime loggable via GST_PTR_FORMAT
Wim Taymans [Fri, 13 Jul 2012 10:05:15 +0000 (12:05 +0200)]
baseparse: send seek event upstream first
First try to let upstream handle the seek event, then fail if the event is
something we don't understand.
Wim Taymans [Fri, 13 Jul 2012 07:43:59 +0000 (09:43 +0200)]
pad: fix test raciness
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=679506
Tim-Philipp Müller [Thu, 12 Jul 2012 12:17:51 +0000 (13:17 +0100)]
gst-uninstalled: fix gst-ffmpeg plugin path again
Tim-Philipp Müller [Thu, 12 Jul 2012 11:09:13 +0000 (12:09 +0100)]
gst-uninstalled: add clutter-gst and refine plugin search paths
Jan Schmidt [Wed, 11 Jul 2012 14:34:22 +0000 (00:34 +1000)]
gstpad: Move sticky flag clearing code to gst_pad_activate_mode
The ghostpad code directly activates/deactivates the child code by
calling gst_pad_activate_mode, rather than gst_pad_set_active, so
make sure to clear the flags in gst_pad_activate_mode(), which should
catch all cases.
Wim Taymans [Wed, 11 Jul 2012 10:40:10 +0000 (12:40 +0200)]
event: improve annotation
Wim Taymans [Wed, 11 Jul 2012 10:37:05 +0000 (12:37 +0200)]
basesink: handle step end correctly
when we have a new step event with a -1 amount, make sure that we follow the
regular code path so that the stop_end handler is called as usual. This takes
care of flushing the buffer in case of a flushing step and also posts a step end
message.
See https://bugzilla.gnome.org/show_bug.cgi?id=679378
Sebastian Dröge [Wed, 11 Jul 2012 11:14:57 +0000 (13:14 +0200)]
win32: Fix exported symbols list for real now
Stefan Sauer [Wed, 11 Jul 2012 09:21:18 +0000 (11:21 +0200)]
segment: remove removed api from the docs.
Sebastian Dröge [Wed, 11 Jul 2012 10:46:31 +0000 (12:46 +0200)]
win32: Updated exported symbols list
Sebastian Dröge [Wed, 11 Jul 2012 10:45:51 +0000 (12:45 +0200)]
toc: Add functions to retrieve the parent GstToc/GstTocEntry of a GstTocEntry
Anton Belka [Tue, 10 Jul 2012 15:15:20 +0000 (18:15 +0300)]
toc: Fix gst_toc_find_entry()
Recursive search for the required entry, instead of returning the
top-level entry that contains an entry with the search UID.
Edward Hervey [Wed, 11 Jul 2012 08:26:13 +0000 (10:26 +0200)]
baseparse: Push STREAM_START in pull-mode
Edward Hervey [Wed, 11 Jul 2012 08:24:51 +0000 (10:24 +0200)]
structure: Demote WARNING to DEBUG
It is not an issue to get fields that don't exist, calling code should
handle that.
Edward Hervey [Tue, 10 Jul 2012 09:46:41 +0000 (11:46 +0200)]
Remove 0.10-related documentation and "Since" markers
Tim-Philipp Müller [Mon, 9 Jul 2012 23:39:37 +0000 (00:39 +0100)]
basesrc: provide fallback in case a create function doesn't know about provided buffers
In 0.11 the caller may provide a buffer to be filled by the source to
pull_range/get_range/create, but it's easy to miss this new case when
porting code from 0.10. Provide fallback that copies the created data
into the provided buffer for now.
This makes oggdemux in pull-mode work with dataurisrc.
Wim Taymans [Tue, 10 Jul 2012 08:31:00 +0000 (10:31 +0200)]
query: copy structure in _add_allocation_meta()
Make gst_query_add_allocation_meta() take a copy of the passed caps instead of
taking ownership. This makes it easier for the caller in most cases because it
doesn't have to make a copy and deal with NULL values.
Wim Taymans [Tue, 10 Jul 2012 08:11:57 +0000 (10:11 +0200)]
gst: add new flags
Matej Knopp [Mon, 9 Jul 2012 21:47:53 +0000 (23:47 +0200)]
miniobject: fix exclusive lock/unlock race
Tim-Philipp Müller [Mon, 9 Jul 2012 20:51:07 +0000 (21:51 +0100)]
basesrc, basesink, baseparse, typefind: use GST_SEGMENT_FLAG with segment flags
Stefan Sauer [Mon, 9 Jul 2012 20:11:31 +0000 (22:11 +0200)]
segment: also copy the segment flag
Fixes segmented seeks (as tested e.g. in the adder tests in base).
Tim-Philipp Müller [Mon, 9 Jul 2012 19:55:00 +0000 (20:55 +0100)]
plugins: sprinkle G_GNUC_INTERNAL for dataqueue functions
And remove padding, since this is not public API any more.
Tim-Philipp Müller [Mon, 9 Jul 2012 19:48:56 +0000 (20:48 +0100)]
gst: sprinkle some G_GNUC_INTERNAL for internal functions
Tim-Philipp Müller [Mon, 9 Jul 2012 19:09:55 +0000 (20:09 +0100)]
tests: fix toc unit tests
Meant to check subsubentry, not subentry.
Tim-Philipp Müller [Mon, 9 Jul 2012 17:58:24 +0000 (18:58 +0100)]
tests: minor toc test clean-up
Tim-Philipp Müller [Mon, 9 Jul 2012 17:51:37 +0000 (18:51 +0100)]
tests: turn toc check macros into proper functions
So we can see the line number of the check that fails.
Edward Hervey [Mon, 9 Jul 2012 18:31:00 +0000 (20:31 +0200)]
win32: Update defs file for API changes/addition
Edward Hervey [Mon, 9 Jul 2012 18:29:29 +0000 (20:29 +0200)]
check: Update tests for new STREAM_START message
Edward Hervey [Mon, 9 Jul 2012 18:28:54 +0000 (20:28 +0200)]
check: Ensure STREAM_START message is posted
A STREAM_START message is posted if and only if all sinks in the
bin/pipeline received the STREAM_START event
Edward Hervey [Mon, 9 Jul 2012 18:28:20 +0000 (20:28 +0200)]
basesink: Post a STREAM_START message when we see the event
Edward Hervey [Mon, 9 Jul 2012 18:27:44 +0000 (20:27 +0200)]
gstbin: collect and aggregate STREAM_START messages
when all sinks have posted a STREAM_START, the bin will forward a
new STREAM_START message to the parent bin or application
Edward Hervey [Mon, 9 Jul 2012 18:08:15 +0000 (20:08 +0200)]
gstmessage: New GST_MESSAGE_STREAM_START
message counterpart to the GST_EVENT_STREAM_START event
Edward Hervey [Mon, 9 Jul 2012 17:59:33 +0000 (19:59 +0200)]
check: Unit test for EOS message
Make sure we get the aggregated message if and only if all sinks
received an EOS event
Stefan Sauer [Mon, 9 Jul 2012 17:56:15 +0000 (19:56 +0200)]
collectpads: add STREAM_START handling
Use a flag to forward the first STREAM_START
Tim-Philipp Müller [Mon, 9 Jul 2012 15:20:49 +0000 (16:20 +0100)]
docs: update stream docs for SEGMENT_START event
Wim Taymans [Mon, 9 Jul 2012 14:48:56 +0000 (16:48 +0200)]
docs: fix more docs
Wim Taymans [Mon, 9 Jul 2012 14:22:04 +0000 (16:22 +0200)]
docs: fix docs a little more
Wim Taymans [Mon, 9 Jul 2012 14:02:50 +0000 (16:02 +0200)]
memory: Make GstAllocator a GstObject
Make GstAllocator a GstObject instead of a GstMiniObject, like bufferpool.
Make a new gstallocator.c file. Make a GstAllocator subclass for the default
allocator.
Wim Taymans [Mon, 9 Jul 2012 11:20:30 +0000 (13:20 +0200)]
memory: remove unused macros
Wim Taymans [Mon, 9 Jul 2012 11:20:05 +0000 (13:20 +0200)]
clock: make abstract
Make the GstClock type abstract.
Fix a horrible hack in the clock unit test.
Sebastian Dröge [Mon, 9 Jul 2012 13:37:28 +0000 (15:37 +0200)]
queue: Fix handling of min-threshold and serialized queries
Only consider the queue empty if the minimum thresholds
are not reached and data is at the queue head. Otherwise
we would block forever on serialized queries.
This also makes sending of serialized events, like caps, happen
faster and potentially improves negotiation performance.
Fixes bug #679458.
Tim-Philipp Müller [Mon, 9 Jul 2012 12:15:46 +0000 (13:15 +0100)]
toc: remove padding now that the structs are private
Tim-Philipp Müller [Mon, 9 Jul 2012 12:12:27 +0000 (13:12 +0100)]
toc: add gst_toc_dump() function for debugging
API: gst_toc_dump()
Tim-Philipp Müller [Mon, 2 Jul 2012 23:07:11 +0000 (00:07 +0100)]
bus, clock: make sure these never have a floating ref
Clear the initial floating ref in the init function for
busses and clocks. These objects can be set on multiple
elements, so there's no clear parent-child relationship
here. Ideally we'd just not make them derive from
GInitiallyUnowned at all, but since we want to keep
using GstObject features for debugging, we'll just do
it like this.
This should also fix some problems with bindings, which
seem to get confused when they get floating refs from
non-constructor functions (or functions annotated to
have a 'transfer full' return type). This works now:
from gi.repository import GObject, Gst
GObject.threads_init()
Gst.init(None)
pipeline=Gst.Pipeline()
bus = pipeline.get_bus()
pipeline.set_state(Gst.State.NULL)
del pipeline;
https://bugzilla.gnome.org/show_bug.cgi?id=679286
https://bugzilla.gnome.org/show_bug.cgi?id=657202
Stefan Sauer [Sun, 8 Jul 2012 18:15:33 +0000 (20:15 +0200)]
inspect: suppress glib deprecations warnings for G_VALUE_ARRAY
Tim-Philipp Müller [Sat, 7 Jul 2012 22:13:20 +0000 (23:13 +0100)]
tests: add more tests for datetime value serialisation/deserialisation
Esp. of partial datetimes.
Tim-Philipp Müller [Sat, 7 Jul 2012 21:46:00 +0000 (22:46 +0100)]
value: use datetime serialise/deserialise functions for datetimes
This re-uses existing code and makes sure we properly serialise
and deserialise datetimes where not all fields are set (thus
fixing some warnings when serialising such datetimes).
Tim-Philipp Müller [Sat, 7 Jul 2012 21:40:12 +0000 (22:40 +0100)]
datetime: do our own serialisation so we can serialise microseconds as well
We still don't do that in _to_iso8601_string() though, since
this will probably mostly be used in tags, where it doesn't
matter so much and the microsecond argument might not be
well-received by some tag readers.
Tim-Philipp Müller [Sat, 7 Jul 2012 18:43:50 +0000 (19:43 +0100)]
datetime: when deserialising parse microseconds if available
Tim-Philipp Müller [Sat, 7 Jul 2012 15:01:41 +0000 (16:01 +0100)]
datetime: fix second parsing failure case when deserialising datetime
When we fail to parse the number of seconds, reset the value to -1
instead of passing some error value as seconds. Also, we can still
try to parse timezone information.
Tim-Philipp Müller [Sat, 7 Jul 2012 14:44:57 +0000 (15:44 +0100)]
examples: fix debug log print formats in memory examples
Sebastian Rasmussen [Fri, 6 Jul 2012 23:37:50 +0000 (01:37 +0200)]
gstinfo: Add destroy notify arguments to debug stubs
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=679535
Sebastian Rasmussen [Fri, 6 Jul 2012 18:37:06 +0000 (20:37 +0200)]
gststructure: Set lcopy string const exactly as glib's macro
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=679534
Wim Taymans [Fri, 6 Jul 2012 15:19:21 +0000 (17:19 +0200)]
memory: expose the GstAllocation structure
Expose the GstAllocation structure and provide an _init function. This makes it
easier to make 'subclasses' of the allocator that contain more info.
It also allows us to expose the flags on the allocator miniobject.
Make a flag to note that the allocator uses a custom alloc function.
Edward Hervey [Fri, 6 Jul 2012 10:45:29 +0000 (12:45 +0200)]
structure: Demote WARNING to INFO
It is common to use gst_structure_get() to know if a field is present
or not.
Edward Hervey [Fri, 6 Jul 2012 09:41:52 +0000 (11:41 +0200)]
gst-inspect: Remove unused define
Edward Hervey [Fri, 6 Jul 2012 09:41:33 +0000 (11:41 +0200)]
check: gstcontroller.h doesn't exist anymore
Edward Hervey [Fri, 6 Jul 2012 09:40:47 +0000 (11:40 +0200)]
check: Use consistencycheck on basesrc
Edward Hervey [Fri, 6 Jul 2012 09:38:58 +0000 (11:38 +0200)]
consistencychecker: Check for STREAM_START event
Check that it is always before any serialized event.
Tim-Philipp Müller [Fri, 6 Jul 2012 09:13:28 +0000 (10:13 +0100)]
typefindelement: remove unimplemented maximum property
Tim-Philipp Müller [Fri, 6 Jul 2012 09:09:55 +0000 (10:09 +0100)]
tee: remove unimplemented has-sink-loop property
Tim-Philipp Müller [Fri, 6 Jul 2012 09:07:56 +0000 (10:07 +0100)]
queue2: remove deprecated temp-location use, make it read-only
Tim-Philipp Müller [Fri, 6 Jul 2012 08:57:52 +0000 (09:57 +0100)]
identity: remove deprecated check-perfect property
Replaced by the more specific check-imperfect-{timestamp,offset}
Wim Taymans [Fri, 6 Jul 2012 09:49:47 +0000 (11:49 +0200)]
query: use more generic structure for meta params
Wim Taymans [Fri, 6 Jul 2012 09:22:43 +0000 (11:22 +0200)]
query: make find_allocation_meta method
Make gst_query_find_allocation_meta() that also return the index of the metadata
and replaces gst_query_has_allocation_meta().
Wim Taymans [Fri, 6 Jul 2012 09:00:38 +0000 (11:00 +0200)]
query: add flags to allocation query
Make it possible to add API specific flags to the ALLOCATION query. This makes
it possible to also check what kinds of subfeatures of the metadata API are
supported.
Wim Taymans [Fri, 6 Jul 2012 07:11:48 +0000 (09:11 +0200)]
tests: remove unused includes
Wim Taymans [Thu, 5 Jul 2012 16:07:52 +0000 (18:07 +0200)]
memory: add more examples
Add an example of a custom allocator with a custom API.
Wim Taymans [Thu, 5 Jul 2012 15:11:01 +0000 (17:11 +0200)]
memory: add gst_memory_init()
Add a method that memory implementations can call to initialize the standard
GstMemory structure.
Move the parent handling in the _free handler.
Rearrange some internal function parameters so that the order is consistent.
Add more memory examples
Wim Taymans [Thu, 5 Jul 2012 14:17:53 +0000 (16:17 +0200)]
miniobject: fix some miniobject docs
Wim Taymans [Thu, 5 Jul 2012 12:25:13 +0000 (14:25 +0200)]
tests: add memory example
Tim-Philipp Müller [Thu, 5 Jul 2012 11:25:45 +0000 (12:25 +0100)]
tests: fix toc unit test build by removing toc query stuff there too
Sebastian Dröge [Thu, 5 Jul 2012 11:03:10 +0000 (13:03 +0200)]
event: Add format and position to the segment-done event
Wim Taymans [Thu, 5 Jul 2012 10:53:57 +0000 (12:53 +0200)]
docs: update docs
Wim Taymans [Thu, 5 Jul 2012 10:17:55 +0000 (12:17 +0200)]
miniobject: increase amount of possible flags
Sebastian Dröge [Thu, 5 Jul 2012 10:52:51 +0000 (12:52 +0200)]
event: Implement segment-done event
Sebastian Dröge [Thu, 5 Jul 2012 10:37:01 +0000 (12:37 +0200)]
part-toc: Remove section about TOC query
Sebastian Dröge [Thu, 5 Jul 2012 10:34:43 +0000 (12:34 +0200)]
win32: Update exported symbols list
Sebastian Dröge [Thu, 5 Jul 2012 10:31:58 +0000 (12:31 +0200)]
query: Remove the TOC query, it's not very useful now that we have sticky events
Sebastian Dröge [Tue, 3 Jul 2012 16:49:18 +0000 (18:49 +0200)]
quark: Remove unneeded quarks
Sebastian Dröge [Tue, 3 Jul 2012 16:45:05 +0000 (18:45 +0200)]
toc: Make structures opaque and clean up function names and fields a bit
Wim Taymans [Wed, 4 Jul 2012 15:02:09 +0000 (17:02 +0200)]
buffer:fix debug category
Wim Taymans [Wed, 4 Jul 2012 14:38:15 +0000 (16:38 +0200)]
miniobject: add lock functionality to GstMiniObject
Move the locking methods from GstMemory to GstMiniObject.
Add a miniobject flag to enable LOCKABLE objects. LOCKABLE objects can
use the lock/unlock API to control the access to the object.
Add a minobject flag that allows you to lock an object in readonly mode.
Modify the _is_writable() method to check the shared counter for LOCKABLE
objects. This allows us to control writability separately from the refcount for
LOCKABLE objects.
Wim Taymans [Wed, 4 Jul 2012 14:04:28 +0000 (16:04 +0200)]
info: add new locking debug category
Wim Taymans [Wed, 4 Jul 2012 10:28:56 +0000 (12:28 +0200)]
memory: fix is_exclusive
Wim Taymans [Wed, 4 Jul 2012 10:03:32 +0000 (12:03 +0200)]
memory: add LOCK_FLAG_READWRITE define
Wim Taymans [Wed, 4 Jul 2012 09:48:37 +0000 (11:48 +0200)]
memory: update docs
Wim Taymans [Wed, 4 Jul 2012 08:12:43 +0000 (10:12 +0200)]
memory: small cleanup
Wim Taymans [Tue, 3 Jul 2012 11:50:06 +0000 (13:50 +0200)]
update for new symbols
Wim Taymans [Tue, 3 Jul 2012 11:47:49 +0000 (13:47 +0200)]
memory: Fix the NO_SHARE flag in the constructor
The NO_SHARE flag does not influence the exclusiveness of the buffer initially
but only if a _share operation can be done. Otherwise, we would not be able to
WRITE map a buffer memory because it would have a share count of at least 2.
Wim Taymans [Tue, 3 Jul 2012 11:47:30 +0000 (13:47 +0200)]
memory: only check the locking refcount
Wim Taymans [Tue, 3 Jul 2012 11:46:40 +0000 (13:46 +0200)]
buffer: fix resize
Correctly update the exclusive locks
Wim Taymans [Tue, 3 Jul 2012 11:45:03 +0000 (13:45 +0200)]
memory: Use lock flags for map flags
We implement the locking in gst_memory_map with the lock flags, make matching
flags the same number so that we can use the map flags directly as lock flags.
Wim Taymans [Tue, 3 Jul 2012 10:18:02 +0000 (12:18 +0200)]
buffer: lock memory EXCLUSIVE
lock the memory that the buffer references as EXCLUSIVE. This makes sure that
when we share the memory with other buffers that it becomes unwritable.
Wim Taymans [Tue, 3 Jul 2012 10:16:19 +0000 (12:16 +0200)]
memory: cleanup the locking code
cleanup and fix the locking code
Wim Taymans [Tue, 3 Jul 2012 07:48:32 +0000 (09:48 +0200)]
memory: expose the internal locking api
Expose the internally used methods for locking and unlocking the object. Pass
the access mode to the unlock function for extra checks and because we need it
for the EXCLUSIVE locks.
Make some new defines to specify the desired locking.
Add a new EXCLUSIVE lock mode which will increment the shared counter. Objects
with a shared counter > 1 will not be lockable in WRITE mode.
Mark Nauwelaerts [Fri, 29 Jun 2012 14:37:05 +0000 (16:37 +0200)]
tests: gstbuffer: extend buffer copy test
... to check for independence of copied buffer.