Wim Taymans [Thu, 27 Feb 2014 14:14:59 +0000 (15:14 +0100)]
bufferpool: Use TAG_MEMORY to check memory before releasing
Tag allocated buffers with TAG_MEMORY. When they are released later,
only add them back to the pool if the tag is still there and the memory
has not been changed, otherwise throw the buffer away.
Add unit test to check various scenarios.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=724481
Wim Taymans [Thu, 27 Feb 2014 13:35:09 +0000 (14:35 +0100)]
buffer: add a new flag to track memory changes
Add a flag to check if the memory changed in a buffer.
Wim Taymans [Wed, 26 Feb 2014 14:36:42 +0000 (15:36 +0100)]
buffer: remove wrong comment
Refcount and writability are not related for memory objects.
Wim Taymans [Tue, 25 Feb 2014 16:46:49 +0000 (17:46 +0100)]
bufferpool: refactor free_buffer
Make a do_free_buffer method to also decrements the number of allocated
buffers. Stop will now be successful when all buffers are freed.
Stefan Sauer [Wed, 26 Feb 2014 21:10:28 +0000 (22:10 +0100)]
Automatic update of common submodule
From 1a07da9 to fe1672e
Stefan Sauer [Wed, 26 Feb 2014 19:24:41 +0000 (20:24 +0100)]
debugutils: add a legend to pipeline dumps
We use a couple of symbols to represent states/flags. Add a short explanation for them.
Olivier Crête [Wed, 31 Jul 2013 07:26:26 +0000 (09:26 +0200)]
debugutils: Print if there is a task started from a pad
https://bugzilla.gnome.org/show_bug.cgi?id=705189
Sebastian Dröge [Tue, 25 Feb 2014 15:11:20 +0000 (16:11 +0100)]
structure: Use get_uint64() in gst_structure_get_clock_time()
Its code is identical.
Sebastian Dröge [Tue, 25 Feb 2014 14:41:45 +0000 (15:41 +0100)]
structure: Add getters for int64 and uint64 values
Thiago Santos [Thu, 20 Feb 2014 00:17:27 +0000 (21:17 -0300)]
basesrc: Do not send eos when seeking after last buffer
If pushing the last buffer triggers a seek from downstream, do not
go into EOS if a new segment was requested.
Contains unit test
https://bugzilla.gnome.org/show_bug.cgi?id=724757
Tim-Philipp Müller [Fri, 21 Feb 2014 09:03:50 +0000 (09:03 +0000)]
gst-uninstalled: remove insanity and the old gst-openmax
Thibault Saunier [Thu, 20 Feb 2014 17:47:42 +0000 (18:47 +0100)]
gst-uninstalled: Add paths to gst-devtools/validate
Sebastian Dröge [Thu, 20 Feb 2014 14:34:36 +0000 (15:34 +0100)]
multiqueue: If we only have a single pad, don't consider all pads not linked and grow the queue indefinitely
Stefan Sauer [Wed, 19 Feb 2014 09:57:33 +0000 (10:57 +0100)]
check: also use the glob on GST_CHECKS when forcing to run broken tests
GST_CHECKS can be simply "test*" to run run all tests (including those that are
marked broken). Update the sparse comments a bit to tell how this works.
Wim Taymans [Tue, 18 Feb 2014 14:46:32 +0000 (15:46 +0100)]
queue2: don't truncate the temp file on shutdown
We want to keep the downloaded file untruncated so that we can use it
again later.
Fixes: https://bugzilla.gnome.org/show_bug.cgi?id=724373
Wim Taymans [Tue, 18 Feb 2014 13:21:20 +0000 (14:21 +0100)]
queue2: Fix merging of ranges
Make a method to get the seeking threshold. If data is further away from
this threshold we want to perform a seek upstream.
When the current downloaded range can merge with the next range,
actually include the data of the next range into the current range
instead of discarding it. Also decide if we seek to the write position
of the merged range or continue reading.
Wim Taymans [Tue, 18 Feb 2014 10:49:37 +0000 (11:49 +0100)]
basesrc: in automatic_eos mode, don't modify the size
Don't set the size to -1 in automatic_eos mode (which also updates the
duration to -1). We only want automatic_eos mode influence the maxsize
calculations without any side effects.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=724564
Jan Alexander Steffens (heftig) [Mon, 17 Feb 2014 10:37:30 +0000 (11:37 +0100)]
pwg: Update raw properties
Using info from gst-plugins-base/docs/design .
Encoded streams might make use of the raw properties, so list them all under foo/* .
For foo/raw, only note which of these properties are mandatory.
I didn't take a closer look at the raw formats yet. Those might still be out-of-date.
https://bugzilla.gnome.org/show_bug.cgi?id=724187
Tim-Philipp Müller [Mon, 17 Feb 2014 17:28:38 +0000 (17:28 +0000)]
scripts: create-uninstalled-setup: remove dead http links
https://bugzilla.gnome.org/show_bug.cgi?id=724561
Stefan Sauer [Sat, 15 Feb 2014 21:34:33 +0000 (22:34 +0100)]
docs: add the boxed types to the .types.in
This makes them show up in the object hierarchy.
Stefan Sauer [Sat, 15 Feb 2014 20:22:45 +0000 (21:22 +0100)]
docs: gtkdoc is not good at parsing inline functions in headers
Mark the inline function, so that gtkdoc skips them. Avoids some warnings about
unparsable declarations.
Sebastian Dröge [Thu, 13 Feb 2014 11:07:50 +0000 (12:07 +0100)]
basesrc: Add gst_base_src_set_automatic_eos() API
This defaults to TRUE and if it is set to FALSE it is the subclasses
responsibility to return GST_FLOW_EOS from the create() vmethod once
the stream is done.
William Manley [Tue, 11 Feb 2014 16:30:31 +0000 (16:30 +0000)]
docs: Fix location of plugins and registry in home directories
Fixes out of date documentation left over since 0.10. In 1.0 plugins are
stored in $XDG_DATA_HOME and the registry in $XDG_CACHE_HOME conformant
with the XDG Base Directory Specification[1].
[1]: http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html
https://bugzilla.gnome.org/show_bug.cgi?id=724132
Sebastian Dröge [Tue, 11 Feb 2014 12:27:25 +0000 (13:27 +0100)]
error: GST_RESOURCE_ERROR_NOT_AUTHORIZED will be available since 1.2.4
Sebastian Dröge [Tue, 11 Feb 2014 12:09:11 +0000 (13:09 +0100)]
error: Add RESOURCE_NOT_AUTHORIZED error
This allows to distinguish normal read failures from read failures
where we miss authorization.
Sebastian Dröge [Mon, 10 Feb 2014 16:09:59 +0000 (17:09 +0100)]
gst-inspect: Fix yet another compiler warning
https://bugzilla.gnome.org/show_bug.cgi?id=724045
Sebastian Rasmussen [Mon, 10 Feb 2014 07:00:36 +0000 (08:00 +0100)]
docs: add missing seqnum file for distribution
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=723997
Tim-Philipp Müller [Sun, 9 Feb 2014 16:53:55 +0000 (16:53 +0000)]
docs: document GST_TAG_*ENCODING environment variables
https://bugzilla.gnome.org/show_bug.cgi?id=721850
Tim-Philipp Müller [Sun, 9 Feb 2014 16:47:53 +0000 (16:47 +0000)]
docs: enable parallel build of subdirectories
We can build gtk docs, ADM, PWG and FAQ in parallel.
Tim-Philipp Müller [Sun, 9 Feb 2014 16:38:10 +0000 (16:38 +0000)]
check: add support for blacklisting checks via GST_CHECKS_IGNORE
Tim-Philipp Müller [Sun, 9 Feb 2014 00:25:14 +0000 (00:25 +0000)]
tests: fix leak in baseparse test
Or rather make it not show up any more by moving
it from 'definitely lost' into 'possibly lost'.
Tim-Philipp Müller [Sat, 8 Feb 2014 23:39:03 +0000 (23:39 +0000)]
tests: fix leak in systemclock test
Sebastian Dröge [Sat, 8 Feb 2014 15:42:55 +0000 (16:42 +0100)]
gst-inspect: Make clang happy with our g_vprintf() wrapper
Chun-wei Fan [Thu, 6 Feb 2014 06:18:31 +0000 (14:18 +0800)]
windows: Make GStreamer installation relocatable
Use the technique that is now done in GTK+ so that the plugins do not have
to be installed in c:\gstreamer\lib\<debug>\gstreamer-$(GSTApiVersion),
but can be installed in
<parent_folder_of_gstreamer_main_dll>\lib\<debug>\gstreamer-$(GSTApiVersion),
or as per g_win32_get_package_installation_directory_of_module() allows.
https://bugzilla.gnome.org/show_bug.cgi?id=679115
Brendan Long [Wed, 30 Oct 2013 22:02:35 +0000 (17:02 -0500)]
gst: clear floating references for GstTask, GstTaskPool and GstCollectPads
https://bugzilla.gnome.org/show_bug.cgi?id=710342
Brendan Long [Wed, 30 Oct 2013 22:02:02 +0000 (17:02 -0500)]
docs: gst_pad_new_from_*_template and gst_buffer_pool_new constructors return floating references
https://bugzilla.gnome.org/show_bug.cgi?id=710342
Edward Hervey [Wed, 5 Feb 2014 09:11:43 +0000 (10:11 +0100)]
check: Remove a minor leak in unit test
Makes valgrind happy
Sebastian Dröge [Tue, 4 Feb 2014 21:23:06 +0000 (22:23 +0100)]
manual: Fix build by using the correct C file name
Sebastian Dröge [Tue, 4 Feb 2014 20:36:18 +0000 (21:36 +0100)]
manual: Clean up code a bit to be suitable for the docs
Todd Agulnick [Fri, 3 Jan 2014 15:25:37 +0000 (07:25 -0800)]
manual: Replace manual's effectswitch.c with newer test-effect-switch.c
https://bugzilla.gnome.org/show_bug.cgi?id=721100
Matthieu Bouron [Wed, 29 Jan 2014 14:39:19 +0000 (14:39 +0000)]
tests: add caps features unit tests
https://bugzilla.gnome.org/show_bug.cgi?id=723236
Sebastian Dröge [Tue, 4 Feb 2014 17:42:02 +0000 (18:42 +0100)]
caps: When getting capsfeatures and none are there, store sysmem capsfeatures
... instead of returning a reference to a global instance. The caller might
want to change the global instance otherwise, which causes funny effects like
all global instances being changed and at the same time nothing in the caps
being changed.
As the caps might be immutable while we do this we have to do some magic
with atomic operations.
https://bugzilla.gnome.org/show_bug.cgi?id=723236
Sebastian Dröge [Tue, 4 Feb 2014 17:03:47 +0000 (18:03 +0100)]
caps: Don't get us sysmem capsfeatures if we just check for fixed caps
Sebastian Dröge [Tue, 4 Feb 2014 16:48:54 +0000 (17:48 +0100)]
capsfeatures: Make sure that the static ANY/EMPTY capsfeatures are never mutable
See https://bugzilla.gnome.org/show_bug.cgi?id=723236
Stefan Sauer [Fri, 31 Jan 2014 08:14:41 +0000 (09:14 +0100)]
docs: fix more gtk-doc warnings
Stefan Sauer [Fri, 31 Jan 2014 07:35:41 +0000 (08:35 +0100)]
docs: unhide docs for allocator
Unhinde the class docs. Tech gtk-doc about GST_EXPORTS.
Stefan Sauer [Fri, 31 Jan 2014 07:08:37 +0000 (08:08 +0100)]
bufferpool: more tests and small doc fixes
Sebastian Dröge [Thu, 30 Jan 2014 20:24:21 +0000 (21:24 +0100)]
tools: Support non-ASCII tags
By calling setlocale() to get us multi-byte/UTF-8 support.
https://bugzilla.gnome.org/show_bug.cgi?id=723164
Thiago Santos [Thu, 30 Jan 2014 06:22:56 +0000 (03:22 -0300)]
outputselector: respect the 'negotiation-mode' property
If the segment event is allowed to be pushed to all pads it
will lead to an assertion of 'sticky event misordering:
segment received before caps' in case the pad-negotiation-mode
is set to 'active' or 'none'.
This patch fixes this by making all sticky events follow the
property like the caps event to prevent misordering warnings.
When a new pad is activated the current sticky events on the
sinkpad are forwarded to it in the proper order.
https://bugzilla.gnome.org/show_bug.cgi?id=723266
Stefan Sauer [Thu, 30 Jan 2014 11:54:20 +0000 (12:54 +0100)]
poolstress: print speedup
Stefan Sauer [Thu, 30 Jan 2014 11:42:02 +0000 (12:42 +0100)]
bufferpool: misc cleanups
Review the documentation, comments and logging. Set the initial size to 16 as
the size is rounded up to the next power of two anyway.
Stefan Sauer [Thu, 30 Jan 2014 07:11:12 +0000 (08:11 +0100)]
bufferpool: add a new testsuite or the pool
Start with some basic tests.
Wim Taymans [Thu, 30 Jan 2014 11:26:05 +0000 (12:26 +0100)]
bufferpool: avoid excessive GstPoll activity
Keep an extra write ref on the control socket. This ensures that we
avoid a read/write on the socket when going from non-empty->empty->not-empty.
We remove the write ref only when we actually are empty and we need to
wait for flushing or a new buffer.
This makes the bufferpool benchmark about 30% faster than the pure
malloc implementation.
Wim Taymans [Thu, 30 Jan 2014 11:25:33 +0000 (12:25 +0100)]
poll: improve debug
Add object pointer in debug lines.
Edward Hervey [Thu, 30 Jan 2014 09:43:36 +0000 (10:43 +0100)]
Automatic update of common submodule
From d48bed3 to 1a07da9
Stefan Sauer [Wed, 29 Jan 2014 21:46:48 +0000 (22:46 +0100)]
part-toc: emphasize that the later chapters are design draft ideas
Stefan Sauer [Wed, 29 Jan 2014 19:20:56 +0000 (20:20 +0100)]
part-toc: add format specific information
Stefan Sauer [Wed, 29 Jan 2014 17:21:34 +0000 (18:21 +0100)]
poolstress: code cleanups
Add a few comments. Tell in the results, which number are from which test.
Nicola Murino [Wed, 29 Jan 2014 12:20:19 +0000 (13:20 +0100)]
gst-uninstalled: use print as function
https://bugzilla.gnome.org/show_bug.cgi?id=723229
Thiago Santos [Tue, 28 Jan 2014 14:58:53 +0000 (11:58 -0300)]
tests: capsfilter: add test for pending_events pushing
make sure that pending events are pushed when caps are already
set when a buffer is received
Thiago Santos [Tue, 28 Jan 2014 14:12:56 +0000 (11:12 -0300)]
capsfilter: do not forget to push pending events
Push pending events before buffers if caps is already
set
Arnaud Vrac [Fri, 24 Jan 2014 18:19:08 +0000 (19:19 +0100)]
multiqueue: do not reduce single queue below current level
When the single queue size was just bumped by 1 to allow more buffers to
be added, the buffers limit could be reduced to the current level when
setting the max-size-buffers property. This would result in a stall
since the queue would not grow anymore at this point.
Prevent this by not reducing a single queue size below the current
number of buffers + 1.
https://bugzilla.gnome.org/show_bug.cgi?id=712597
Thiago Santos [Fri, 24 Jan 2014 16:20:49 +0000 (13:20 -0300)]
basesrc: do not forget to clear the forced_eos flag
otherwise it will always use the seqnum of the event
sent by the application
Thiago Santos [Thu, 23 Jan 2014 18:52:51 +0000 (15:52 -0300)]
basesrc: preserve seqnum of eos events sent by the user
Store the eos event seqnum and use it when creating the
new eos event to be pushed downstream. To know if the eos
was caused by the eos events received on send_event, a
'forced_eos' flag is used to use the correct seqnum on
the event pushed downstream.
Useful if the application wants to check if the EOS message
was generated from its own pushed EOS or from another source
(stream really finished).
Also adds a test for this
https://bugzilla.gnome.org/show_bug.cgi?id=722791
Thiago Santos [Thu, 23 Jan 2014 18:34:27 +0000 (15:34 -0300)]
docs: design: add part-seqnums
Hopefully clarifies how seqnums should be used and copied from
events to events/messages when those are handled.
https://bugzilla.gnome.org/show_bug.cgi?id=722791
Sebastian Dröge [Fri, 24 Jan 2014 08:28:05 +0000 (09:28 +0100)]
multiqueue: Break the loop immediately if we found an empty queue
No need to continue looking at all the others
Per x Johansson [Thu, 23 Jan 2014 14:47:23 +0000 (15:47 +0100)]
multiqueue: Allow growing a queue if all other queues are not linked
In the case where one singlequeue is full and all other are not linked, the
growing of the full queue does not work correctly. The result depends on if
the full queue is last in the queue list or not.
https://bugzilla.gnome.org/show_bug.cgi?id=722891
Sebastian Dröge [Wed, 22 Jan 2014 10:10:01 +0000 (11:10 +0100)]
pad: Minor code cleanup
!check_sticky()==GST_FLOW_OK is a bit confusing, compared to
check_sticky()!=GST_FLOW_OK.
Fabian Kirsch [Mon, 20 Jan 2014 14:26:54 +0000 (15:26 +0100)]
parse: Additional tests for parser
https://bugzilla.gnome.org/show_bug.cgi?id=710034
Sebastian Dröge [Sat, 18 Jan 2014 13:48:35 +0000 (14:48 +0100)]
iterator: Properly copy mutexes around when creating a copy of a filter iterator
Sebastian Dröge [Sat, 18 Jan 2014 13:34:45 +0000 (14:34 +0100)]
iterator: Add unit tests for filtering, recursive filtering and locking
https://bugzilla.gnome.org/show_bug.cgi?id=711138
Stewart Brodie [Sat, 18 Jan 2014 13:43:20 +0000 (14:43 +0100)]
iterator: Preserve the master lock when creating recursive iterator filters with the same lock
This way we make sure that a) the lock is always taken when checking
the cookie and calling the iterator's next functions and b) it is
not taken while calling any of the iterator filter functions.
https://bugzilla.gnome.org/show_bug.cgi?id=711138
Thiago Santos [Sat, 18 Jan 2014 01:53:01 +0000 (22:53 -0300)]
pad: fix sticky event leak after sticky_events_foreach
events_foreach adds an extra ref when giving the event to the
user function. In case it was unrefed by the user, this extra ref
disappeared, but events_foreach still should unref again to
lose its own ref before removing the event from the array.
https://bugzilla.gnome.org/show_bug.cgi?id=722467
Stefan Sauer [Thu, 16 Jan 2014 19:11:03 +0000 (20:11 +0100)]
info: move some env-var checks from gst to gstinfo as well
We were doing some log related initialisation in gst.c after calling
_priv_gst_debug_init(). Just move it there for consistency.
Sebastian Dröge [Thu, 16 Jan 2014 17:16:35 +0000 (18:16 +0100)]
capsfilter: Only set caps on the srcpad if it's activated in push mode
https://bugzilla.gnome.org/show_bug.cgi?id=722289
Fabian Kirsch [Thu, 16 Jan 2014 11:28:47 +0000 (12:28 +0100)]
parse: Some minor fixes
Fix destructor segfaulting
Expect 0 grammar-ambiguities
Fix order of bin-properties assignment
https://bugzilla.gnome.org/show_bug.cgi?id=710034
Thiago Santos [Wed, 15 Jan 2014 22:28:01 +0000 (19:28 -0300)]
inputselector: removing duplicate field position
It is already stored inside the GstSegment struct and
was only duplicating information. Also removed some
weird positon if/else that would possibly change the
segment that was going to be pushed downstream
Thiago Santos [Wed, 15 Jan 2014 03:12:26 +0000 (00:12 -0300)]
multiqueue: prevent buffering forever with playbin
When prerolling/buffering, multiqueue has its buffers limit set
to 0, this means it can take an infinite amount of buffers.
When prerolling/buffering finishes, its limit is set back to 5, but
only if the current level is lower than 5. It should (almost) never be
and this will cause prerolling/buffering to need to wait to reach the
hard bytes and time limits, which are much higher.
This can lead to a very long startup time. This patch fixes this
by setting the single queues to the max(current, new_value) instead
of simply ignoring the new value and letting it as infinite(0)
https://bugzilla.gnome.org/show_bug.cgi?id=712597
Sebastian Dröge [Wed, 15 Jan 2014 10:12:08 +0000 (11:12 +0100)]
segment: gst_segment_offset_running_time() will be available in 1.2.3
Nicolas Dufresne [Tue, 14 Jan 2014 21:15:21 +0000 (16:15 -0500)]
doc: Update sections with the new rounding macros
Nicolas Dufresne [Tue, 14 Jan 2014 21:15:02 +0000 (16:15 -0500)]
util: Add GST_ROUND_UP_N and GST_ROUND_DOWN_N
These are generic rounding macro that works for any power of two.
Sebastian Dröge [Tue, 14 Jan 2014 15:47:38 +0000 (16:47 +0100)]
tee: Add unit test for requesting pad names
Sebastian Dröge [Tue, 14 Jan 2014 15:45:53 +0000 (16:45 +0100)]
tee: Make sure to give pads the name that was requested
Also check for uniqueness and make sure we create a new
pad index properly if some were requested with names but
the new one is not.
Sebastian Dröge [Tue, 14 Jan 2014 14:52:26 +0000 (15:52 +0100)]
parse: Make sure to create and link chains in the order as written
Make this work again:
audiotestsrc ! tee name=t t.src_0 ! queue ! fakesink t.src_1 ! queue ! fakesink
and this fail again:
audiotestsrc ! tee name=t t.src_1 ! queue ! fakesink t.src_0 ! queue ! fakesink
as tee just counts itself and does not care about the pad names we request
from it.
Sebastian Dröge [Tue, 14 Jan 2014 12:45:34 +0000 (13:45 +0100)]
parse: Remove some C99-style comments
Sebastian Dröge [Tue, 14 Jan 2014 12:44:11 +0000 (13:44 +0100)]
parse: Use GSlice for allocating and freeing links and chains
Sebastian Dröge [Tue, 14 Jan 2014 12:42:20 +0000 (13:42 +0100)]
parse: Add comment about why we disable the "tracing"
It did not print anything useful before anyway, everything
was commented out.
Also remove some unneeded struct members.
Sebastian Dröge [Tue, 14 Jan 2014 12:36:24 +0000 (13:36 +0100)]
parse-launch: Add some more failing pipelines
Also convert some comments about valgrind warnings to
FIXME comments. These were leaking since some time already.
Fabian Kirsch [Fri, 10 Jan 2014 20:10:17 +0000 (21:10 +0100)]
parse: Refactor grammar, make it more consistent and fix conflicts
https://bugzilla.gnome.org/show_bug.cgi?id=710034
Stefan Sauer [Mon, 13 Jan 2014 19:48:32 +0000 (20:48 +0100)]
docs: ensure GstBufferPools shows up as with GObject features
GstBufferPool is a GstObject, add the _get_type function to the types file.
Thiago Santos [Mon, 13 Jan 2014 11:37:37 +0000 (08:37 -0300)]
tests: baseparse: add test for reverse playback on passthrough
Baseparse stores buffers for reverse playback to push on the next
DISCONT, the issue was that it wouldn't ever check for a discont
on passthrough mode as it skips all real parsing. This test
was create to verify this issue and prevent it from happening again
https://bugzilla.gnome.org/show_bug.cgi?id=721941
Thiago Santos [Sat, 11 Jan 2014 13:49:17 +0000 (10:49 -0300)]
tests: baseparse: add basic test for baseparse
Just a small test to check that basic playback works
Thiago Santos [Fri, 10 Jan 2014 12:10:06 +0000 (09:10 -0300)]
baseparse: do not accumulate buffers on passthrough mode
If on passthrough during reverse playback, do not accumulate buffers as
baseparse will never check for DISCONT flag to push those buffers.
So just push buffers downstream as if it was forward playback.
https://bugzilla.gnome.org/show_bug.cgi?id=721941
Stefan Sauer [Mon, 6 Jan 2014 20:47:22 +0000 (21:47 +0100)]
basesrc: don't confuse GST_PAD_MODE_NONE and PULL
Use a switch-case to explicitly handle all pad-modes. This way we don't log an error when the pad is not yet activated.
Stefan Sauer [Thu, 9 Jan 2014 06:56:55 +0000 (07:56 +0100)]
gstobject: add FIXME and docs for the disabled notify on parent
We haven't found a way to re-enable emitting notify and deep-notify for parent
changes. Add a FIXME-2.0 and a doc blob on the property. See #693281.
Thiago Santos [Wed, 8 Jan 2014 19:28:54 +0000 (16:28 -0300)]
baseparse: do not ignore TIME segments
TIME segments are being ignored and a standard initialized
segment is used instead. This causes issues as not properly detecting
reverse playback or not cliping output based on the segment.
This seems to be a regression from one of the GstSegment/GstEvent
redesigns on the 0.10 -> 1.0 transition
Wim Taymans [Wed, 8 Jan 2014 14:47:10 +0000 (15:47 +0100)]
tests: improve check, also check stream-time
Wim Taymans [Wed, 8 Jan 2014 14:31:28 +0000 (15:31 +0100)]
tests: add unit test for segment _offset_running_time()
Add a unit test to check that positive and negative offsets are applied
correctly in various cases.
Wim Taymans [Wed, 8 Jan 2014 14:23:00 +0000 (15:23 +0100)]
segment: take offset into account in _to_position()
Take the offset into account when converting between running-time and
segment positions.
Wim Taymans [Wed, 8 Jan 2014 13:57:04 +0000 (14:57 +0100)]
pad: use new segment offset method to apply the offset
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=721422