Tim-Philipp Müller [Wed, 18 Jul 2012 11:30:59 +0000 (12:30 +0100)]
query: fix gst_query_parse_nth_allocation_pool() annotation
It returns a ref to the pool.
Edward Hervey [Tue, 17 Jul 2012 13:52:53 +0000 (15:52 +0200)]
check: Avoid deadlock
Queries will be sent when pipeline goes down to NULL, which would
result in the probe being called ... but can't take the lock.
Edward Hervey [Tue, 17 Jul 2012 13:50:09 +0000 (15:50 +0200)]
gstghostpad: Forward queries in both direction
Use the peer of the internal pad to forward them, instead of the
target which only exists for the ghostpad (and not the internal
proxy pad).
Edward Hervey [Tue, 17 Jul 2012 09:20:43 +0000 (11:20 +0200)]
docs: More entries
Tim-Philipp Müller [Wed, 18 Jul 2012 08:15:51 +0000 (09:15 +0100)]
queue: answer SCHEDULING query
Instead of letting the default query handler fail.
Tim-Philipp Müller [Tue, 17 Jul 2012 18:20:23 +0000 (19:20 +0100)]
queue2: handle CAPS event and drop it if operating in ring buffer mode
Fixes "Unexpected event of kind caps can't be added in temp file"
warning when doing download buffering.
Wim Taymans [Tue, 17 Jul 2012 10:57:59 +0000 (12:57 +0200)]
buffer: make _foreach_meta more powerful
Make _foreach_meta return FALSE when the foreach function returned FALSE.
Wim Taymans [Tue, 17 Jul 2012 10:52:59 +0000 (12:52 +0200)]
bufferlist: improve foreach function
Make the foreach function return FALSE when one of the function calls returned
FALSE.
Wim Taymans [Tue, 17 Jul 2012 10:50:24 +0000 (12:50 +0200)]
buffer: add more debug
Wim Taymans [Tue, 17 Jul 2012 10:40:54 +0000 (12:40 +0200)]
basesink: fix debug string
Wim Taymans [Tue, 17 Jul 2012 07:57:47 +0000 (09:57 +0200)]
parse: fix some debug
Wim Taymans [Tue, 17 Jul 2012 07:48:00 +0000 (09:48 +0200)]
parse: only escape spaces outside of quotes
When we escape spaces to keep arguments together, only escape when the space is
outside a "" string.
See https://bugzilla.gnome.org/show_bug.cgi?id=673319
Wim Taymans [Tue, 17 Jul 2012 07:44:10 +0000 (09:44 +0200)]
Revert "parse: escape \ with a \ as well, so that we don't lose the \ when unescaping"
This reverts commit
dd9fedb41f1ada8e1f8bd5346fccd3d068d543cb.
This is not the right place to escape the \, we should only escape the spaces to
keep the arguments together that were provided as one group (with quotes on the
shell).
Evan Nemerson [Tue, 10 Jul 2012 19:27:11 +0000 (12:27 -0700)]
utils: set return type of gst_parse_bin_* to GstBin for introspection
Evan Nemerson [Sat, 30 Jun 2012 19:33:43 +0000 (12:33 -0700)]
nettimepacket: add missing array annotation to gst_net_time_packet_new
Evan Nemerson [Sat, 30 Jun 2012 00:33:49 +0000 (17:33 -0700)]
introspection: add missing array annotation to gst_formats_contains
Stefan Sauer [Mon, 16 Jul 2012 18:54:17 +0000 (20:54 +0200)]
bin: aggregate durations like in adder
Stop querying the duration once an element return unknown and return unknown
as a final result. This avoid eventually cutting off a stream too early.
Add a tests to docuement the behavior.
Tim-Philipp Müller [Sun, 15 Jul 2012 23:24:46 +0000 (00:24 +0100)]
datetime: just return NULL on short input strings instead of a warning
We want to be able to use this function on random non-NULL input,
this should not result in a runtime-critical.
Tim-Philipp Müller [Sun, 15 Jul 2012 11:59:44 +0000 (12:59 +0100)]
baseparse: fix seekability querying with formats with headers like FLAC
Move code that checks for upstream seekability and all that to
the right place, otherwise it will never be done for formats
that have headers such as FLAC, as handle_and_push frame will
be called the first time only after headers have been processed
(and framecount is > 0). This then makes us report that we
can't seek, which disables the seek bar in totem.
Tim-Philipp Müller [Sat, 14 Jul 2012 19:33:30 +0000 (20:33 +0100)]
plugins: embed GstAueueArray in dataqueue struct as well
Tim-Philipp Müller [Sat, 14 Jul 2012 19:28:54 +0000 (20:28 +0100)]
plugins: don't use one-time array in plugin_init
Tim-Philipp Müller [Sat, 14 Jul 2012 19:26:04 +0000 (20:26 +0100)]
queue: embed GstQueueArray structure
Tim-Philipp Müller [Sat, 14 Jul 2012 19:00:30 +0000 (20:00 +0100)]
plugins: sprinkle some more G_GNUC_INTERNAL
Tim-Philipp Müller [Sat, 14 Jul 2012 18:38:39 +0000 (19:38 +0100)]
plugins: add init/clear functions to GstQueueArray
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