Wim Taymans [Tue, 26 Feb 2013 16:33:30 +0000 (17:33 +0100)]
allocator: small internal cleanups
Rename System memory allocator to GstAllocatorSysmem and the memory to
GstMemorySystem.
Wim Taymans [Tue, 26 Feb 2013 14:37:24 +0000 (15:37 +0100)]
memory: add method to check memory type
Add a method to check if a memory was allocated from an allocator of
a given type.
API: gst_memory_is_type()
Wim Taymans [Tue, 26 Feb 2013 14:36:10 +0000 (15:36 +0100)]
docs: improve docs a little
Wim Taymans [Tue, 26 Feb 2013 14:32:25 +0000 (15:32 +0100)]
use GST_MESSAGE_DURATION_CHANGED in docs and code
Wim Taymans [Tue, 26 Feb 2013 13:40:38 +0000 (14:40 +0100)]
memory: don't unref allocator too soon
Unref the allocator *after* we have freed the memory. We also need to keep
a ref to the allocator around because following the now freed memory would
lead to crashes.
Sebastian Dröge [Tue, 26 Feb 2013 08:08:49 +0000 (09:08 +0100)]
buffer: Fix inverted logic for deciding if memory should be shared or copied
https://bugzilla.gnome.org/show_bug.cgi?id=694717
Stefan Sauer [Tue, 26 Feb 2013 06:50:13 +0000 (07:50 +0100)]
porting: mention segment accumulation in the porting guide
This needs more detail, but at least gives people a hint on the issue.
Stefan Sauer [Tue, 26 Feb 2013 06:48:35 +0000 (07:48 +0100)]
docs: s/start/done/ copy'n'paste mistake
Sebastian Dröge [Mon, 25 Feb 2013 12:57:43 +0000 (13:57 +0100)]
query: Add new API to remove allocation params and pools from the allocation query
Sebastian Dröge [Mon, 25 Feb 2013 12:24:33 +0000 (13:24 +0100)]
query: Document that the first allocator in the allocation query should allow mapping to system memory
Sebastian Dröge [Sun, 24 Feb 2013 08:24:26 +0000 (09:24 +0100)]
memory: Keep a reference to the allocator
Otherwise the allocator might get freed while it's still used
by the memory
Sebastian Dröge [Sun, 24 Feb 2013 08:33:03 +0000 (09:33 +0100)]
buffer: If sharing a GstMemory fails, fall back to copying it
Tim-Philipp Müller [Sat, 23 Feb 2013 18:36:15 +0000 (18:36 +0000)]
docs: porting-to-1.0.txt: some element names have changed
Sebastian Dröge [Sat, 23 Feb 2013 07:19:48 +0000 (08:19 +0100)]
memory: It's contiguous, not continous
Sebastian Dröge [Fri, 22 Feb 2013 11:41:09 +0000 (12:41 +0100)]
memory: Add new memory flag to specify that memory can't be mapped
Sebastian Dröge [Fri, 22 Feb 2013 08:02:22 +0000 (09:02 +0100)]
memory: Add memory flag to mark physically continous memory
Tim-Philipp Müller [Sat, 16 Feb 2013 23:02:21 +0000 (23:02 +0000)]
basetransform: don't pass NULL outcaps to transform_size on shutdown
gst_pad_get_current_caps() on the source pad might yield NULL caps
if we're being shut down and the source pad has already been
deactivated by the other thread that's changing state. Just bail
out in that case, instead of passing NULL caps to the transform_size
function, which it might not expect.
Fixes spurious warnings in audioresample shutdown unit test.
https://bugzilla.gnome.org/show_bug.cgi?id=693996
Sebastian Dröge [Thu, 21 Feb 2013 09:18:14 +0000 (10:18 +0100)]
gst-uninstalled: Add ORC
Tim-Philipp Müller [Tue, 19 Feb 2013 18:00:48 +0000 (18:00 +0000)]
utils: avoid unexpected side-effects of GST_WRITE_* macros
Make sure the data argument is only evaluated once.
Tim-Philipp Müller [Tue, 19 Feb 2013 17:36:50 +0000 (17:36 +0000)]
check: add some more fail_unless_*() macros for convenience
API: fail_unless_equals_int_hex
API: assert_equals_int_hex
API: fail_unless_equals_int64_hex
API: assert_equals_int64_hex
API: fail_unless_equals_uint64_hex
API: assert_equals_uint64_hex
API: fail_unless_equals_pointer
API: assert_equals_pointer
Tim-Philipp Müller [Tue, 19 Feb 2013 12:42:32 +0000 (12:42 +0000)]
scripts: add new -base allocators library to gst-uninstalled search paths
Stefan Sauer [Mon, 18 Feb 2013 19:47:04 +0000 (20:47 +0100)]
collectpads: add two more tests using collectpads within an element
Add a static plugin with a rudimentary element using collectpads and do some
pipeline based tests.
David Schleef [Sun, 17 Feb 2013 20:50:03 +0000 (12:50 -0800)]
docs: Fix some ambiguous wording
Stefan Sauer [Sun, 17 Feb 2013 18:53:55 +0000 (19:53 +0100)]
triggercontrolsource: add missing end_iter check for sequence
Avoid accessing the end-iter, this is a marker without a data field.
Stefan Sauer [Sun, 17 Feb 2013 12:20:20 +0000 (13:20 +0100)]
docs: link to the appropriate messages from gst_elements_set_state() docs
For an async state change return one would wait for ASYNC_DONE or STATE_CHANGED.
Tim-Philipp Müller [Sat, 16 Feb 2013 14:20:06 +0000 (14:20 +0000)]
buffer: add since marker for new COPY_DEEP buffer flag
Wim Taymans [Sat, 16 Feb 2013 13:59:02 +0000 (14:59 +0100)]
buffer: add option to deep copy a buffer
Add a buffer copy flag to force a memory copy in all cases.
Tim-Philipp Müller [Thu, 14 Feb 2013 14:09:13 +0000 (14:09 +0000)]
Revert "utils: Use gst_pad_get_pad_template() in gst_element_get_compatible_pad_template()"
This reverts commit
1a1a9e143fb0e155d7627aa8e489cd5d04bc093c.
This breaks the pipelines/tagschecking unit test for some reason
(fakesrc ! capsfilter ! qtmux linking fails now). It might be
a bug in the unit test of course, but someone will need to
investigate this. Reverting for now.
https://bugzilla.gnome.org/show_bug.cgi?id=692508
Wim Taymans [Fri, 15 Feb 2013 12:08:18 +0000 (13:08 +0100)]
allocator: improve fallback copy function
Only use the allocator of the copied memory when we can use the default
_alloc function on it. Otherwise we will have to use the default
allocator for the copy.
Tim-Philipp Müller [Thu, 14 Feb 2013 13:55:10 +0000 (13:55 +0000)]
docs: fix location in user's home directory where GStreamer looks for plugins
It's based on the xdg user data dir now in 1.0.
Niv Sardi [Fri, 25 Jan 2013 09:50:27 +0000 (06:50 -0300)]
utils: Use gst_pad_get_pad_template() in gst_element_get_compatible_pad_template()
motivation comes from: /* FIXME: why not gst_pad_get_pad_template (pad); */
this code path is quite nicer, we now only revert to creating the template
if gst_pad_get_pad_template fails.
with this fork, we gain a non-allocation of GstCaps *templcaps
https://bugzilla.gnome.org/show_bug.cgi?id=692508
Krzysztof Konopko [Wed, 13 Feb 2013 00:27:28 +0000 (00:27 +0000)]
gst-launch: Use g_unix_signal_add() to handle keyboard interruption
Current implementation uses a traditional signal handler and a 250ms
timeout callback in the event loop. Adding a GSource with
g_unix_signal_add() to the GMainLoop is a much more elegant solution.
The signal handler with this approach can send a message to the bus
directly rather than set a flag as all dispatching intricacies are handled
by GLib.
https://bugzilla.gnome.org/show_bug.cgi?id=693481
Tim-Philipp Müller [Thu, 14 Feb 2013 00:07:22 +0000 (00:07 +0000)]
docs: flesh our 'Running GStreamer' bits a bit
https://bugzilla.gnome.org/show_bug.cgi?id=693607
Tim-Philipp Müller [Wed, 13 Feb 2013 23:27:16 +0000 (23:27 +0000)]
docs: flesh out gst-launch-1.0 man page a little
Fix up default location of the registry.
Mention more options for GST_DEBUG (wildcards and
named debug levels).
Explain what to do with the dot files that can be
produced by setting GST_DEBUG_DUMP_DOT_DIR.
https://bugzilla.gnome.org/show_bug.cgi?id=693607
Gert Michael Kulyk [Wed, 26 Dec 2012 23:03:06 +0000 (00:03 +0100)]
docs: fix advanced-metadata code example in manual
https://bugzilla.gnome.org/show_bug.cgi?id=690751
Tim-Philipp Müller [Wed, 13 Feb 2013 16:52:13 +0000 (16:52 +0000)]
message: accept NULL error argument in gst_message_parse_{error,warning,info}
And simplify code a bit while at it.
https://bugzilla.gnome.org/show_bug.cgi?id=693704
Sebastian Dröge [Wed, 13 Feb 2013 16:00:23 +0000 (17:00 +0100)]
value: Remove set-style bitmask intersection/union/subtraction functions
Set operations on the bitmasks don't make much sense and result
in invalid caps when used as a channel-mask. They are now handled
exactly like integers.
This functionality was not used anywhere except for tests.
https://bugzilla.gnome.org/show_bug.cgi?id=691370
Sebastian Dröge [Wed, 13 Feb 2013 10:19:06 +0000 (11:19 +0100)]
bin: The latency query should return TRUE by default, different to other queries
Fixes unit test failures caused by
f3d268de7f7fb1161778a9a95e0d54d8c89ef626
Sebastian Dröge [Wed, 13 Feb 2013 09:46:37 +0000 (10:46 +0100)]
structure: Make sure that subsets have all fields of the superset
"video/x-h264,parsed=(boolean)true" is not a superset of
"video/x-h264,stream-format=(string)byte-stream,alignment=(string)nal"
for example.
https://bugzilla.gnome.org/show_bug.cgi?id=693365
David Schleef [Tue, 12 Feb 2013 20:32:23 +0000 (12:32 -0800)]
update exports for baseparse API changes
David Schleef [Tue, 12 Feb 2013 20:31:42 +0000 (12:31 -0800)]
baseparse: Fix doc typo
David Schleef [Tue, 12 Feb 2013 00:51:48 +0000 (16:51 -0800)]
baseparse: add gst_base_parse_set_ts_at_offset()
Sets the buffer timestamps based on last seen timestamps at a
particular offset into the frame.
API: gst_base_parse_set_ts_at_offset()
David Schleef [Tue, 12 Feb 2013 00:42:41 +0000 (16:42 -0800)]
adapter: Add gst_adapter_prev_[pd]ts_at_offset()
Original patch written by Michael Smith <msmith@rdio.com>.
API: gst_adapter_prev_pts_at_offset()
API: gst_adapter_prev_dts_at_offset()
Philippe Normand [Sat, 9 Feb 2013 17:14:09 +0000 (18:14 +0100)]
bin: query sink elements and source pads of the bin
gst_bin_query() now forwards the query to the source pads as well if
none of the sinks of the bin satisfied the query. This helps in the
case of DURATION queries done a bin containing a source element.
Fixes bug 638749
Alexander Schrab [Thu, 7 Feb 2013 11:47:02 +0000 (12:47 +0100)]
bin: Let gst_bin_send_event() send events to ghost pads as well
Stefan Sauer [Mon, 11 Feb 2013 21:52:25 +0000 (22:52 +0100)]
compat: kill more uses of gst_pad_set_caps()
Tim 'mithro' Ansell [Mon, 11 Feb 2013 13:08:51 +0000 (00:08 +1100)]
gstvalue: Adding offset to GstSegment serialize/deserialize.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=693587
Mark Nauwelaerts [Sat, 9 Feb 2013 11:32:02 +0000 (12:32 +0100)]
baseparse: improve PTS interpolating
... and tracking of DTS. Fixes cases where PTS is locked on to the
DTS of an incoming buffer with no PTS with invalid data, leading to
no outgoing PTS (since it is not allowed smaller than DTS).
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=691481
Stefan Sauer [Fri, 8 Feb 2013 20:28:18 +0000 (21:28 +0100)]
docs: add more porting details
Stefan Sauer [Fri, 8 Feb 2013 20:21:48 +0000 (21:21 +0100)]
controlbinding: error handling for binding controlsources to wrong properties
Add warning if property is not suitable for controlling. When adding a control-
binding check that pspec!=NULL.
Wim Taymans [Thu, 7 Feb 2013 12:08:49 +0000 (13:08 +0100)]
element: remove old docs about iterators
Wim Taymans [Thu, 7 Feb 2013 11:52:26 +0000 (12:52 +0100)]
bin: remove old comment
The iterators now return a GValue and not the object directly anymore.
Wim Taymans [Thu, 7 Feb 2013 11:50:08 +0000 (12:50 +0100)]
bin: reset GValue from iterator after usage
Wim Taymans [Tue, 5 Feb 2013 16:15:37 +0000 (17:15 +0100)]
tests: add basesink test
Wim Taymans [Tue, 5 Feb 2013 16:19:50 +0000 (17:19 +0100)]
basesink: handle sync of EOS after item without duration
After a buffer or GAP without duration, an EOS event should be rendered
immediately instead of waiting for the end of the segment.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=692868
Nate Bogdanowicz [Sat, 2 Feb 2013 19:55:52 +0000 (11:55 -0800)]
gstpipeline: fix failed assertion caused by seeking pipeline with NULL clock
Under certain GST_STATE_CHANGED_PAUSED_TO_PLAYING transitions, a pipeline with
a NULL clock will fail an assertion due to an unchecked call to gst_object_ref().
This is fixed by simply adding a check and only ref-ing if the clock is not NULL.
https://bugzilla.gnome.org/show_bug.cgi?id=693065
Wim Taymans [Tue, 5 Feb 2013 12:44:06 +0000 (13:44 +0100)]
structure: change argument name for docs
Stefan Sauer [Mon, 4 Feb 2013 09:30:32 +0000 (10:30 +0100)]
debugutils: fix order of caps on an unnegotiated link
headlabel is the sink_pad (where the link points to) and not the other way around.
Stefan Sauer [Fri, 1 Feb 2013 20:59:41 +0000 (21:59 +0100)]
docs: update the controller docs
Add the control bindings to the docs. Add a little more detail.
Stefan Sauer [Fri, 1 Feb 2013 20:57:45 +0000 (21:57 +0100)]
porting: a few updates for the porting guide
Tim-Philipp Müller [Wed, 30 Jan 2013 13:06:44 +0000 (13:06 +0000)]
dataqueue: can't pass a GType through GINT_TO_POINTER
Use GSIZE_TO_POINTER instead. sizeof(GType) may be larger
than sizeof(gulong) and sizeof(int), so the casts may
chop off some bits from the GType value on some architectures.
Alexander Schrab [Tue, 29 Jan 2013 11:40:52 +0000 (12:40 +0100)]
tests: unit test to trigger the queue/flushing race condition bug for allocation queries
https://bugzilla.gnome.org/show_bug.cgi?id=692691
Alexander Schrab [Mon, 28 Jan 2013 10:05:28 +0000 (11:05 +0100)]
queue: remove query from queue if queue is flushing
When querying a queue that is flushing we end up adding
a query to the queuearray without taking a reference to
that query (because the normal functionality is to block
until that query is done and discarded from the queue).
This later causes problem if the query is unreffed outside
of the queue before we discard the queue. There is a check
to avoid unreffing any lingering query-objects, but since
the query has been deleted that check fails.
This commit depends on other fixes done to gst_queue_array_find()
and gst_queue_array_drop_element().
https://bugzilla.gnome.org/show_bug.cgi?id=692691
Tim-Philipp Müller [Wed, 30 Jan 2013 11:55:18 +0000 (11:55 +0000)]
queuearray: make _find() find the value if no compare function is provided
Allow NULL as compare function for direct value lookup.
https://bugzilla.gnome.org/show_bug.cgi?id=692691
Tim-Philipp Müller [Wed, 30 Jan 2013 11:34:15 +0000 (11:34 +0000)]
tests: check return value of gst_queue_array_drop_element() too
Was added when the API was made public in git master.
https://bugzilla.gnome.org/show_bug.cgi?id=692691
Tim-Philipp Müller [Tue, 29 Jan 2013 22:54:21 +0000 (22:54 +0000)]
tests: one more test for gst_queue_array_drop_element()
https://bugzilla.gnome.org/show_bug.cgi?id=692691
Conflicts:
tests/check/libs/queuearray.c
Alexander Schrab [Mon, 28 Jan 2013 10:05:28 +0000 (11:05 +0100)]
queuearray: fix gst_queue_array_find()
https://bugzilla.gnome.org/show_bug.cgi?id=692691
Alexander Schrab [Mon, 28 Jan 2013 10:05:28 +0000 (11:05 +0100)]
queuearray: fix gst_queue_array_drop_element()
https://bugzilla.gnome.org/show_bug.cgi?id=692691
Conflicts:
libs/gst/base/gstqueuearray.c
Sreerenj Balachandran [Tue, 29 Jan 2013 14:55:23 +0000 (16:55 +0200)]
docs: align the comments correctly with the declaration in bitreader docs
https://bugzilla.gnome.org/show_bug.cgi?id=692809
Wim Taymans [Tue, 29 Jan 2013 08:45:23 +0000 (09:45 +0100)]
basesrc: handle renegotiation correctly
Don't retry to negotiate when we fail to negotiate but instead produce a
NOT_NEGOTIATED error. We only want to retry negotiation if the result from
gst_pad_push() returned NOT_NEGOTIATED.
Stefan Sauer [Mon, 28 Jan 2013 19:41:20 +0000 (20:41 +0100)]
Automatic update of common submodule
From a942293 to 2de221c
Wim Taymans [Mon, 28 Jan 2013 12:05:44 +0000 (13:05 +0100)]
example: fix FIXME in example
Use setpriority to raise priority
Simon Feltman [Sun, 27 Jan 2013 14:20:51 +0000 (06:20 -0800)]
g-i: add built enumtypes headers and sources to gir creation
Add gstenumtypes.h/c for inclusion with g-ir-scanner. This fixes
problems where introspection based bindings think GstState is
typeless due to the GType not being included as an annotation.
https://bugzilla.gnome.org/show_bug.cgi?id=691185
B.Prathibha [Sun, 27 Jan 2013 03:48:00 +0000 (09:18 +0530)]
tests: use g_timeout_add_seconds in pipeline stress test
https://bugzilla.gnome.org/show_bug.cgi?id=692612
Olivier Crête [Thu, 24 Jan 2013 22:50:31 +0000 (17:50 -0500)]
docs: Put the right path for the gstttestclock include file
Wim Taymans [Thu, 24 Jan 2013 14:50:17 +0000 (15:50 +0100)]
pwg: rename variable
The filter variable was used twice for different things.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=692432
Niv Sardi [Fri, 18 Jan 2013 00:35:48 +0000 (21:35 -0300)]
gst_pad_check_reconfigure: only remove flag if set.
the code ifed a debug statement, that can't be right. anyway, the way it is,
we don't really need that branch, as we set the flag to unset only if set
(and that can't fail) hence the end result is always to unset the flag.
Signed-off-by: Niv Sardi <xaiki@evilgiggle.com>
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=691985
Niv Sardi [Fri, 18 Jan 2013 00:43:25 +0000 (21:43 -0300)]
basesrc: set NEED_RECONFIGURE flag if negotiate fails
When negotiation fails, mark the pad as needing a reconfigure again so
that it gets picked up again next time.
Signed-off-by: Niv Sardi <xaiki@evilgiggle.com>
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=691986
Tim-Philipp Müller [Sat, 19 Jan 2013 12:51:56 +0000 (12:51 +0000)]
pad: add gst_pad_get_stream_id() utility function
API: gst_pad_get_stream_id()
Tim-Philipp Müller [Fri, 18 Jan 2013 16:05:09 +0000 (16:05 +0000)]
tools: minor addition to gst-launch-1.0 man page
https://bugzilla.gnome.org/show_bug.cgi?id=692015
Tim-Philipp Müller [Fri, 18 Jan 2013 16:01:11 +0000 (16:01 +0000)]
tools: update gst-launch-1.0 man page for new debug levels
There are more debug levels these days, not only 0-5.
https://bugzilla.gnome.org/show_bug.cgi?id=692015
Daniel Díaz [Thu, 17 Jan 2013 06:38:14 +0000 (00:38 -0600)]
tests: fix ABI check struct sizes for ARM
and re-enable ABI check for ARM.
https://bugzilla.gnome.org/show_bug.cgi?id=691828
Tim-Philipp Müller [Wed, 16 Jan 2013 17:24:42 +0000 (17:24 +0000)]
docs: add a note to the gst_adapter_take_buffer() docs about buffer flags
https://bugzilla.gnome.org/show_bug.cgi?id=682110
Tim-Philipp Müller [Wed, 16 Jan 2013 11:29:47 +0000 (11:29 +0000)]
tests: disable ABI checks for architectures where the struct sizes are not up-to-date
https://bugzilla.gnome.org/show_bug.cgi?id=691828
Tim-Philipp Müller [Tue, 15 Jan 2013 15:03:43 +0000 (15:03 +0000)]
Automatic update of common submodule
From 2a068ce to a942293
Tim-Philipp Müller [Tue, 15 Jan 2013 13:47:32 +0000 (13:47 +0000)]
Use GST_*_1_0 environment variables everywhere
The _1_0 suffixed environment variables override the
non-suffixed ones, so if we're in an environment that
sets the _1_0 suffixed ones, such as jhbuild, we need
to set those to make sure ours actually always get
used.
Tim-Philipp Müller [Tue, 15 Jan 2013 13:47:13 +0000 (13:47 +0000)]
po: update for new translated string
Tim-Philipp Müller [Tue, 15 Jan 2013 09:42:20 +0000 (09:42 +0000)]
pipeline: add allow-none annotation for gst_pipeline_new()'s name property
Tim-Philipp Müller [Mon, 14 Jan 2013 20:02:42 +0000 (20:02 +0000)]
docs: minor GstBaseParse docs fixes
Expose docs for gst_base_parse_finish_frame().
Wim Taymans [Mon, 14 Jan 2013 16:01:22 +0000 (17:01 +0100)]
typefind: handle map failure
Wim Taymans [Mon, 14 Jan 2013 16:00:46 +0000 (17:00 +0100)]
basesrc: handle map failure
Wim Taymans [Mon, 14 Jan 2013 16:00:23 +0000 (17:00 +0100)]
adapter: handle map failure
Tim-Philipp Müller [Sun, 13 Jan 2013 14:45:31 +0000 (14:45 +0000)]
baseparse: add vfuncs to intercept queries
Useful for video parses that want to attach matter or
find out if downstream supports certain metas.
API: GstBaseParseClass::src_query()
API: GstBaseParseClass::sink_query()
https://bugzilla.gnome.org/show_bug.cgi?id=691475
Tim-Philipp Müller [Sat, 12 Jan 2013 20:54:26 +0000 (20:54 +0000)]
baseparse: fix up name of default event vfuncs
Stefan Sauer [Thu, 10 Jan 2013 10:34:14 +0000 (11:34 +0100)]
controlbinding: hide one unused typedef
This is not used internally.
Stefan Sauer [Thu, 10 Jan 2013 10:33:42 +0000 (11:33 +0100)]
docs: improve api docs for controlsource and -binding
Tim-Philipp Müller [Sat, 5 Jan 2013 16:30:04 +0000 (16:30 +0000)]
tests: fix leak in ghostpad unit test
The created pad is never used and overwritten with
another newly-created pad a few lines below.
Tim-Philipp Müller [Fri, 4 Jan 2013 12:27:38 +0000 (12:27 +0000)]
docs: minor systemsclock doc fix
Sebastian Dröge [Thu, 3 Jan 2013 09:16:18 +0000 (10:16 +0100)]
basesink: Initialize uninitialized variable
Thijs Vermeir [Sun, 30 Dec 2012 22:35:48 +0000 (23:35 +0100)]
adapter: return gssize from gst_adapter_masked_scan_* functions
As the return value of this function is -1 when the match is not found