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
Sebastian Dröge [Tue, 1 Jan 2013 09:23:59 +0000 (10:23 +0100)]
basesink: Check if buffers are too late before calling prepare/prepare_list
https://bugzilla.gnome.org/show_bug.cgi?id=690936
Tim-Philipp Müller [Sun, 30 Dec 2012 23:48:47 +0000 (23:48 +0000)]
configure: replace deprecated AM_CONFIG_HEADER with AC_CONFIG_HEADERS
AM_CONFIG_HEADER has been removed in the just-released automake 1.13:
https://lists.gnu.org/archive/html/automake/2012-12/msg00038.html
https://bugzilla.gnome.org/show_bug.cgi?id=690881
Tim-Philipp Müller [Sat, 22 Dec 2012 16:50:49 +0000 (16:50 +0000)]
caps, structure, taglist: micro-optimisations
Avoid some unnecessary GValue copying by making use of
gst_structure_id_take_value() where possible.
Tim-Philipp Müller [Sat, 22 Dec 2012 16:29:03 +0000 (16:29 +0000)]
gstvalue: some micro-optimisations
Avoid unnecessary value copying, and unnecessary init/unset
cycles which all go through the value table. There's a bunch
of places where we copy a value and then unset it in the next
line, instead of just taking over the source value.
Thijs Vermeir [Sat, 22 Dec 2012 15:53:47 +0000 (16:53 +0100)]
scripts: fix location of repository with ssh
Wim Taymans [Fri, 21 Dec 2012 15:36:37 +0000 (16:36 +0100)]
bin: add flag to disable resync state change
Add a GST_BIN_FLAG_NO_RESYNC that disables a resync when an element is added,
removed or linked in the bin. This is interesting for complex bins that
dynamically add elements to themselves and want to manage the state of those
elements without interference from resyncs.
See https://bugzilla.gnome.org/show_bug.cgi?id=690420
Wim Taymans [Fri, 21 Dec 2012 09:09:30 +0000 (10:09 +0100)]
docs: update synchronization document a little
Wim Taymans [Thu, 20 Dec 2012 15:40:04 +0000 (16:40 +0100)]
systemclock: add OTHER clock type
Add an OTHER clock type so that subclasses are able to mark themselves as
using some other clock source than the realtime or monotonic clock.
Branko Subasic [Thu, 20 Dec 2012 12:31:02 +0000 (13:31 +0100)]
multiqueue: correct overrun handling
The control of wheteher a SingleQueue is full is not correct.
Rewrote single_queue_overrun_cb() so it checks the correct variables
when checking if the queue has reached the hard limits, and to
increase the max buffer limit once for each call.
https://bugzilla.gnome.org/show_bug.cgi?id=690557
Wim Taymans [Thu, 20 Dec 2012 10:59:54 +0000 (11:59 +0100)]
queue2: implement buffering query for all modes
Also implement the buffering query for STREAM mode.
Wim Taymans [Thu, 20 Dec 2012 10:30:25 +0000 (11:30 +0100)]
queue2: refactor buffering percent and stats
Make methods to get the current buffering percent and the stats. We will use
this in the query later.
Arnaud Vrac [Thu, 13 Dec 2012 12:47:29 +0000 (13:47 +0100)]
baseparse: fix invalid output timestamps in some cases
Wim Taymans [Fri, 14 Dec 2012 14:22:27 +0000 (15:22 +0100)]
NEWSEGMENT -> SEGMENT
Tim-Philipp Müller [Fri, 14 Dec 2012 14:03:43 +0000 (14:03 +0000)]
docs: update plugin docs
Update args/signals etc.
Wim Taymans [Fri, 14 Dec 2012 10:09:30 +0000 (11:09 +0100)]
add debug category
Adding a debug category is nicer than logging to the default category
Wim Taymans [Fri, 14 Dec 2012 10:08:57 +0000 (11:08 +0100)]
element: improve debug
Wim Taymans [Thu, 13 Dec 2012 13:48:35 +0000 (14:48 +0100)]
basesrc: call _stop when start failed
When we failed to complete the start, call stop again. This makes sure that all
successfull calls to _start are paired with a _stop.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=687845
Sebastian Dröge [Wed, 12 Dec 2012 16:44:14 +0000 (16:44 +0000)]
libs: Use foo/foo.h as single-include header consistently everywhere
https://bugzilla.gnome.org/show_bug.cgi?id=688785
Wim Taymans [Tue, 11 Dec 2012 15:46:18 +0000 (16:46 +0100)]
baseparse: pass DTS and PTS to handle_buffer
This makes it handle the timestamps correctly and avoids using a wrong timestamp
for the output.
Wim Taymans [Tue, 11 Dec 2012 15:46:01 +0000 (16:46 +0100)]
baseparse: improve debug
Add pts and dts in debug log
Andrzej Bieniek [Sat, 3 Nov 2012 16:59:39 +0000 (16:59 +0000)]
gst-launch: report execution time in GST_TIME_FORMAT
https://bugzilla.gnome.org/show_bug.cgi?id=687523
Wim Taymans [Mon, 10 Dec 2012 10:55:42 +0000 (11:55 +0100)]
plugin: protect against NULL filename in debug
See https://bugzilla.gnome.org/show_bug.cgi?id=689948
Wim Taymans [Thu, 6 Dec 2012 08:48:08 +0000 (09:48 +0100)]
bufferpool: clarify docs
Wim Taymans [Wed, 5 Dec 2012 13:56:48 +0000 (14:56 +0100)]
caps: fix docs
Wim Taymans [Wed, 5 Dec 2012 13:24:14 +0000 (14:24 +0100)]
adapter: fix 0.10 docs to make more sense in 1.0
Wim Taymans [Wed, 5 Dec 2012 13:03:27 +0000 (14:03 +0100)]
adapter: fix docs for 1.0
Add parent to chain function signature and use it.
Wim Taymans [Fri, 30 Nov 2012 09:41:51 +0000 (10:41 +0100)]
message: add reset-time type string
Wim Taymans [Fri, 30 Nov 2012 09:41:36 +0000 (10:41 +0100)]
bin: remove some casts