Commit graph

16692 commits

Author SHA1 Message Date
Tim-Philipp Müller 5d3c58902f check: fix 'format string is not a string literal' warning with clang
Broke this when I removed the G_GNUC_PRINTF in a previous
commit to fix indentation, since it was not really needed.
Turns out unlike gcc clang warns though if a non-literal
format string is passed then. Fix indentation differently.

http://clang.llvm.org/docs/AttributeReference.html#format-gnu-format
2015-09-28 20:10:31 +01:00
Stefan Sauer 3037172f48 tests: fix the manual tests by setting the right env-vars 2015-09-28 16:46:14 +02:00
Stefan Sauer 653f9148bd directcontrolbinding: fix formatting 2015-09-28 16:23:41 +02:00
Stefan Sauer 05dbad27c5 index: mark two structs that don't have abi padding 2015-09-28 16:23:41 +02:00
Stefan Sauer d4f81fb4e6 controller: add the missing abi padding
While this technically is an abi break, we decided to do this:
1) the struct is documented to be internal
2) the struct is alloced and freed inside the library
3) there are no public methods that receive or return instances
4) the only code known to use this struct are classes containd here
2015-09-28 16:23:41 +02:00
Matthew Waters d5ded15889 bin: implement context propagation when adding elements
When adding an element to a bin we need to propagate the GstContext's
to/from the element.

This moves the GstContext list from GstBin to GstElement and adds
convenience functions to get the currently set list of GstContext's.

This does not deal with the collection of GstContext's propagated
using GST_CONTEXT_QUERY.  Element subclasses are advised to call
gst_element_set_context if they need to propagate GstContext's
received from the context query.

https://bugzilla.gnome.org/show_bug.cgi?id=705579
2015-09-28 18:21:59 +10:00
Stefan Sauer 56f12705ca interpolationcontrolsource: add cubic_mono interpolation
This new mode won't overshoot the min/max y values set by the control-points.
Fixes #754678
API: GST_INTERPOLATION_MODE_CUBIC_MONO
2015-09-27 12:46:01 +02:00
Stefan Sauer 2fe3939ce7 interpolationcontrolsource: refactor code
Extract common code that looks up the control-points around the timestamp. Add
some comments for future investigation.
2015-09-27 11:45:29 +02:00
Stefan Sauer 6e7915d5cd tests/examples: add a demo for the interpolation control source modes
This is in preparation for new modes to be added. In particullar it demonstrates
how the cubic splines overshoot the range.
2015-09-27 11:45:29 +02:00
Thiago Santos 7f5f1df59b capsfilter: remove proxying of accept-caps downstream
The design is to only do a local check
2015-09-26 07:13:45 -03:00
Thiago Santos 4b5e79cd18 pad: don't fallback to caps queries with proxy pads
A proxy-pad should always proxy the caps related queries
and events to its down or upstream peers on the other side
of the element. Falling back to a caps query seems wrong.

https://bugzilla.gnome.org/show_bug.cgi?id=754112
2015-09-26 07:13:45 -03:00
Tim-Philipp Müller cc217289a7 harness: minor doc fixes 2015-09-26 11:03:24 +01:00
Vivia Nikolaidou 44ba1565d9 segment: Replaced gst_segment_to_position with gst_segment_position_from_running_time
gst_segment_to_position might cause confusion, especially with the addition of
gst_segment_position_from_stream_time . Deprecated gst_segment_to_position
now, and replaced it with gst_segment_position_from_running_time.

Also added unit tests.
2015-09-26 00:00:08 +02:00
Vivia Nikolaidou 572c7c6b9a segment: Added unit tests for gst_segment_position_from_stream_time 2015-09-26 00:00:03 +02:00
Vivia Nikolaidou 26ef44f17c segment: gst_segment_to_stream_time: Renamed 'result' to 'stream_time'
Renamed the "result" variable to "stream_time" for better readability.
2015-09-25 23:59:59 +02:00
Vivia Nikolaidou c0d4b1b646 segment: Added gst_segment_position_from_stream_time()
gst_segment_position_from_stream_time() will convert stream time into a
position in the segment so that gst_segment_to_stream_time() with that
position returns the same stream time. It will return -1 if the stream time
given is not inside the segment.
2015-09-25 23:59:53 +02:00
Vivia Nikolaidou 60130eb5f0 segment: Rewording of struct field descriptions
The new wording makes it easier to understand exactly what each field of the
GstSegment struct represents.
2015-09-25 23:58:41 +02:00
Sebastian Dröge a3513d6e97 event: Make sure that timestamp + diff in QoS events is never smaller than 0
When a running-time-offset is stored in the event, it could become smaller
than 0 although the event is otherwise correct. This can happen when pad
offsets are used.

To prevent this, we set the timestamp to -diff, so that in the end the sum of
both is exactly 0.

https://bugzilla.gnome.org/show_bug.cgi?id=754356
2015-09-25 23:55:18 +02:00
Sebastian Dröge 697093c7d4 uri: Add test for correct absolute URI handling in gst_uri_from_string_with_base()
If the second parameter is an absolute URI, the base should have no effect and
the second parameter should be returned again.

https://bugzilla.gnome.org/show_bug.cgi?id=755134
2015-09-25 23:54:27 +02:00
Sebastian Dröge 8421a1453c Back to development 2015-09-25 23:51:03 +02:00
Sebastian Dröge 2beb654a15 Release 1.6.0 2015-09-25 23:14:33 +02:00
Sebastian Dröge 664e0a3e1f Update .po files 2015-09-25 22:41:16 +02:00
Vineeth TM dc0ae9203a ptpclock: Fix error leak during failures
https://bugzilla.gnome.org/show_bug.cgi?id=755607
2015-09-25 10:14:45 +02:00
Stian Selnes 2c60b7eb1f funnel: Fix racy state change
Iterator may need to be resynced, for instance if pads are released
during state change.

got_eos should be protected by the object lock of the element, not of
the pad, as is the case throughout the rest of the funnel code.

https://bugzilla.gnome.org/show_bug.cgi?id=755343
2015-09-24 12:14:57 +02:00
Stian Selnes 0fbf1d3eb7 bin: element: Ignore activate result for removed pads on state change
This fixes a race where a state change may return failure if it has
request pads that are deactivated and removed (and thus have no
parent) at the same time as the element changes state and (de)activates
its pads.

https://bugzilla.gnome.org/show_bug.cgi?id=755342
2015-09-24 12:14:57 +02:00
Havard Graff 64a152439c harness: don't crash when adding a sink-harness without h->sinkpad
https://bugzilla.gnome.org/show_bug.cgi?id=755511
2015-09-24 11:07:24 +01:00
Sebastian Dröge 73263271bb basetransform: Print buffer PTS when submitting an input buffer 2015-09-23 20:31:48 +02:00
Eunhae Choi ebd2748cd0 inputselector: Fix buffer leak in sync_streams & cache_buffers mode
After doing gst_pad_push() in case of sync_streams and cache_buffers,
if the buffer can not be kept in cache, it should be unreffed to avoid
memory leackage.

https://bugzilla.gnome.org/show_bug.cgi?id=755141
2015-09-21 10:33:55 +02:00
Vikram Fugro c12bd5d807 gst: Documentation typo fix in caps & pad APIs
gst_caps_can_intersect() & GST_PAD_IS_ACCEPT_INTERSECT()
documentation typo fix.

https://bugzilla.gnome.org/show_bug.cgi?id=755257
2015-09-19 17:57:55 +02:00
Sebastian Dröge b07b39d013 Release 1.5.91 2015-09-18 19:07:18 +02:00
Sebastian Dröge 73de557d04 Update .po files 2015-09-18 19:07:10 +02:00
Sebastian Dröge b77c5174fe po: Update translations 2015-09-18 11:49:03 +02:00
Vineeth TM fcdfcbd618 downloadbuffer, benchmarks: fix error leaks in failure code paths
https://bugzilla.gnome.org/show_bug.cgi?id=755019
2015-09-15 18:21:58 +01:00
Vineeth TM f409dd48e0 check: Fix indentation
https://bugzilla.gnome.org/show_bug.cgi?id=755019
2015-09-15 18:21:27 +01:00
Tim-Philipp Müller 366680ee59 bufferpool: sprinkle some allow-none and out annotations for g-i 2015-09-15 18:05:43 +01:00
Vineeth TM 09900bbfb1 bin: fix typo in log message when threadpool alloc fails
https://bugzilla.gnome.org/show_bug.cgi?id=754975
2015-09-14 16:03:51 +01:00
Igor Rondarev 6972e7a926 configure: Check for socketpair() in -lsocket too
On e.g. QNX it is in an external library, not libc.

https://bugzilla.gnome.org/show_bug.cgi?id=754875
2015-09-11 23:23:50 +02:00
Arun Raghavan eb88486288 Revert "docs: Make sure gst_debug_bin_to_dot_data() is documented"
This reverts commit 0dffeb0301.

The commit is erroneous and documents the function twice.
2015-09-09 13:10:04 +05:30
Arun Raghavan 0dffeb0301 docs: Make sure gst_debug_bin_to_dot_data() is documented
Thanks to Nirbheek Chauhan <nirbheek@centricular.com> for pointing this
out.
2015-09-09 12:58:07 +05:30
Stian Selnes ff9a78196c harness: Fix race for gst_harness_element_ref
In order for gst_harness_new_full to be MT-safe the increase and
decrease of HARNESS_REF must be MT-safe. This allows for creating
multiple harnesses from different threads wrapping the same element.

https://bugzilla.gnome.org/show_bug.cgi?id=754661
2015-09-07 11:31:33 +01:00
Stian Selnes 615e5b01c6 harness: Allow-none for custom stress init func
It should be allowed to not have a function to initialize the user data
since it's often not necessary; it may already be initialized.

https://bugzilla.gnome.org/show_bug.cgi?id=754661
2015-09-07 11:30:37 +01:00
Tim-Philipp Müller a5ae915e6d docs: remove signal that no longer exists from docs 2015-09-06 09:58:09 +01:00
Tim-Philipp Müller f850104438 po: update for translated string changes 2015-09-05 11:20:49 +01:00
Tim-Philipp Müller 6a9b191fb2 tools: gst-launch: fix --exclude command line option
This has not worked (as in: crashed) since 2005, so
perhaps it should just be removed instead.
2015-09-05 11:19:53 +01:00
Tim-Philipp Müller c55bfecc55 Revert "queue2: Process SEEKING query"
This caused problems with oggdemux when queue2 was
operating in queue mode and the souphttpsrc upstream
is not seekable because the server doesn't support
range requests. It would then still claim seekability
and then things go wrong from there.

This reverts commit 7b0b93dafe.

https://bugzilla.gnome.org/show_bug.cgi?id=753887
2015-08-31 12:07:10 +01:00
Havard Graff b2ce23074e harness: misc bugfixes
1. Get a list of pad templates from the element class, not the
factory. This allows us to interact with test-elements that does
not have a factory.

2. Use the pad_template_caps in caps-queries when caps is not set
explicitly on the pad. Not doing so is simply wrong, and prohibits
interactions with special templates used for testing.

https://bugzilla.gnome.org/show_bug.cgi?id=754193
2015-08-31 12:03:09 +01:00
Thiago Santos 8a1f05865f tests: event: fix build failure
gst/gstevent.c:250:5: error: ‘for’ loop initial declarations are only
allowed in C99 or C11 mode
2015-08-26 09:29:05 -03:00
Vivia Nikolaidou ee1bbe2f15 bin: Make sure we don't add/remove a bin to/from itself
Doing so would deadlock from trying to acquire the object lock twice

https://bugzilla.gnome.org/show_bug.cgi?id=754036
2015-08-25 10:19:44 +03:00
Nicolas Dufresne 2534e39e55 basetransform: Reconfigure before propose_allocation
There exist cases where a reconfigure event was propagated from
downstream, but caps didn't change. In this case, we would
reconfigure only when the next buffer arrives. The problem is that
due to the allocation query being cached, the return query parameters
endup outdated.

In this patch we refactor the reconfigurating code into a function, and
along with reconfiguring when a new buffer comes in, we also reconfigure
when a query allocation arrives.

https://bugzilla.gnome.org/show_bug.cgi?id=753850
2015-08-21 15:14:34 -07:00
Nicolas Dufresne 900110c6dc basesrc-test: Fix race testing segment update
As this test is using a short sleep (GST_USECOND, which is 10ms
in microsecond), sometimes that EOS event is received before the
loop in basesrc have run _do_seek() and pushed the update segment.
To solve this issue, we wait for the initial segment (and flush it)
then we wait for the second segment before sending EOS.

https://bugzilla.gnome.org/show_bug.cgi?id=753365
2015-08-20 07:49:02 -07:00