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.
Tim-Philipp Müller [Wed, 4 Jul 2012 17:32:47 +0000 (18:32 +0100)]
registry: remove outdated bits of warning message
I think we can be reasonable sure people are using an up-to-date
gst-uninstalled script now.
Tim-Philipp Müller [Wed, 4 Jul 2012 17:16:23 +0000 (18:16 +0100)]
Add versioned variants of some environment variables
Improve parallel installability in setups like jhbuild by
providing versioned variants of some environment variables:
GST_REGISTRY_1_0
GST_PLUGIN_PATH_1_0
GST_PLUGIN_SYSTEM_PATH_1_0
GST_PLUGIN_SCANNER_1_0
will now be checked before checking the unversioned ones.
https://bugzilla.gnome.org/show_bug.cgi?id=679407
Tim-Philipp Müller [Wed, 4 Jul 2012 16:55:58 +0000 (17:55 +0100)]
docs: fix typo in GstSample docs
Tim-Philipp Müller [Wed, 4 Jul 2012 16:36:55 +0000 (17:36 +0100)]
uri: there are valid URI protocols with only two letters, like fd://
We added a minimum length of three letters originally so we would
fail to recognise DOS/Windows-style filenames as valid URIs (as we
should). Two should be just fine as well.
Edward Hervey [Wed, 13 Oct 2010 11:36:08 +0000 (13:36 +0200)]
win32: API additions
Edward Hervey [Tue, 29 Sep 2009 07:54:24 +0000 (09:54 +0200)]
dataqueue: Use GstQueueArray
Edward Hervey [Mon, 28 Sep 2009 15:31:49 +0000 (17:31 +0200)]
queue: Use new GstQueueArray for local storage.
Makes _chain() and _loop() 25% faster
Edward Hervey [Tue, 29 Sep 2009 07:06:13 +0000 (09:06 +0200)]
check: New unit test for GstQueueArray
Edward Hervey [Mon, 28 Sep 2009 15:30:04 +0000 (17:30 +0200)]
libs: New growing-only queue.
This is a queue which has the same API as GQueue, except that:
* It uses an array, instead of a doubled-linked-list
* The array can only grow.
This code is not-threadsafe. It is up to the owner to make sure the
proper locking is taken before calling this API.
Tim-Philipp Müller [Wed, 4 Jul 2012 15:16:04 +0000 (16:16 +0100)]
segment: make sure we don't have unmapped seek flags littering out segment flags
Make GstSeekFlag to GstSegmentFlag conversion explicit, and
set only those seek flags in the segment flags which are
mapped. This makes sure we don't have extraneous flags
littering our segment flag field, which also fixes the
debug printing/serialisation of segment events in the
debug log.
Tim-Philipp Müller [Wed, 4 Jul 2012 09:24:11 +0000 (10:24 +0100)]
docs: minor porting-to-0.11.txt update
Tim-Philipp Müller [Wed, 4 Jul 2012 09:23:06 +0000 (10:23 +0100)]
tests: make checks for from/to_g_date_time() actually work properly
Joshua M. Doe [Sat, 30 Jun 2012 01:52:47 +0000 (21:52 -0400)]
datetime: add conversion to/from GDateTime
Exposes existing constructor.
API: gst_date_time_to_g_date_time()
API: gst_date_time_new_from_g_date_time()
https://bugzilla.gnome.org/show_bug.cgi?id=679080
Tim-Philipp Müller [Wed, 4 Jul 2012 07:52:08 +0000 (08:52 +0100)]
utils: remove unused gst_print_* functions
Tim-Philipp Müller [Tue, 3 Jul 2012 21:24:22 +0000 (22:24 +0100)]
pads: no need to deactivate pads that are already in PAD_MODE_NONE
Tim-Philipp Müller [Tue, 3 Jul 2012 21:20:40 +0000 (22:20 +0100)]
pads: make pad activation debug logs a bit more readable
Tim-Philipp Müller [Tue, 3 Jul 2012 18:15:25 +0000 (19:15 +0100)]
tests: add unit test for element re-use using fakesrc
Tim-Philipp Müller [Tue, 3 Jul 2012 18:04:54 +0000 (19:04 +0100)]
pad: clear EOS flag when deactivating pads fixing element re-use
Sebastian Dröge [Tue, 3 Jul 2012 15:25:21 +0000 (17:25 +0200)]
basesink: Post TOC messages on the bus in the sinks, similar to tags
Wim Taymans [Tue, 3 Jul 2012 10:38:55 +0000 (12:38 +0200)]
buffer: fix the _get_mapped function
Fix the internal _get_mapped function. gst_memory_make_mapped() takes ownership
of the memory so we need to keep an additional ref until we are done.
Wim Taymans [Tue, 3 Jul 2012 10:23:36 +0000 (12:23 +0200)]
buffer: add more debug log
Sebastian Dröge [Tue, 3 Jul 2012 08:02:55 +0000 (10:02 +0200)]
event: The GAP event is (partially) implemented now, STREAM_CONFIG isn't