Commit graph

15293 commits

Author SHA1 Message Date
Tim-Philipp Müller
208e303568 tools: gst-launch: don't try to remove already-removed GSource from main loop
It's considered a programming error in recent GLib versions now.
We may already have removed the source by returning FALSE from
the callback if it was fired. Fixes warning with newer GLibs
when interrupting a pipeline with Control-C.
2013-12-05 00:26:13 +00:00
Olivier Crête
ccba91308d info: Make sure the same category is not added twice 2013-12-04 17:35:18 -05:00
Olivier Crête
e0317288ba info: Protect __categories list in get_category with lock too 2013-12-04 17:35:02 -05:00
Sebastian Rasmussen
249a775d2b docs: add missing files for distribution
* add some documentation files in docs/design
 * add docs/list-ulink.xsl so check in docs/manual works

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=719814
2013-12-03 23:50:36 +00:00
Wim Taymans
34db352879 pad: add ACCEPT_INTERCEPT flag
Make a new flag on the pad that tweaks the default behaviour of the
accept-caps function. By default it will check for a subset of the
query-caps result but this is not always desirable. The query-caps
result contains all the constraints to make a good caps decision
upstream but sometimes, like for parsers, not all the constrained caps
fields are known upstream and then a subset check would fail. Switching
to an intersection makes this work again.

See https://bugzilla.gnome.org/show_bug.cgi?id=705024
    https://bugzilla.gnome.org/show_bug.cgi?id=677401
2013-12-03 22:28:09 +01:00
Olivier Crête
a90ce304c8 multiqueue: Wake up on reconfigure event
After patch bda406c4, the state of the singlequeue was set to OK, but nothing
would then wake up the thread, as the other wakeup functions only look at
singlequeues that are marked as having received as not-linked.

https://bugzilla.gnome.org/show_bug.cgi?id=708200
2013-12-03 12:40:11 -05:00
Sebastian Rasmussen
49950e57ad docs: add missing docs, fixing doc errors
* add many missing declarations to sections
 * GstController has been removed, update docs
 * skip GstIndex when generating documentation
 * rephrase so gtkdoc doesn't imagine return value
 * add missing argument description for gst_context_new()
 * document GstOutputSelectorPadNegotiationMode and move to header-file

https://bugzilla.gnome.org/show_bug.cgi?id=719614
2013-12-03 00:11:59 +00:00
Sebastian Rasmussen
b40fa2b8c3 docs: cosmetic changes in references/decriptions
* fix typo GstBufferFlag -> GstBufferFlags
 * fix typo GstFeatures -> GstCapsFeatures
 * fix typo GstAllocatorParams -> GstAllocationParams
 * fix typo GstContrlSources -> GstControlSource
 * do not refer to gstcheck as an object
 * make references gtk_init() and tcase_set_timeout() not be references
 * gst_element_get_pad() renamed gst_element_get_static_pad()
 * gst_clock_id_wait_async_full() renamed gst_clock_id_wait_async()
 * _drop_element() is really gst_queue_array_drop_element()
 * gst_pad_accept_caps() was removed, do not refer to it
 * separate GST_META_TAG_MEMORY_STR declaration from description
 * do not describe removed gst_collect_pads_collect()
 * correctly link to GstElementClass' virtual set_context()

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=719614
2013-12-02 21:01:08 +00:00
Olivier Crête
3c4d54fd88 parse: Manually insert priv_gst_parse_yyget/set_column prototypes for older flex
Older versions of flex (before 2.5.36) don't add the prototype, so it must
be added manually. We can't check by the version number, because Debian/Ubuntu
patched it into their 2.5.35 at some point.
2013-11-29 14:02:24 -05:00
Thiago Santos
06737aa972 gstpad: drop assertion on gst_pad_peer_query_position
It is a 'both' query, so it can be sent both ways
2013-11-29 15:03:44 -03:00
Thiago Santos
5bb45ffbfc inputselector: handle gap events
Use gap events to advance the selector's pad position.

This is relevant to keep sync_streams mode working when one of the
streams doesn't have data all the time.
2013-11-29 15:03:44 -03:00
Wim Taymans
fe36be1c03 Revert "ghostpad: copy sticky events to SRC ghostpads"
This reverts commit 8162a583a4.

Automatically copying the sticky events makes it impossible for apps
and elements to filter the events with event probes. This causes
regressions (See #719437). The best option is to let the app/element
copy and filter the events themselves after the ghostpad target is
set.
2013-11-29 17:02:41 +01:00
Fabian Kirsch
56d74ddb64 parse: fix segfaulting prototype-mismatch
Now YYDEBUG is always set, so check it's value

https://bugzilla.gnome.org/show_bug.cgi?id=712679
2013-11-28 19:05:23 -05:00
Jan Schmidt
73a58cb0a2 netclock: Fix docstring for round-trip-limit and uninit access warning.
Fix a typo in a doc string - the property is round-trip-limit, not
roundtrip-limit.

Remove a bogus GST_WARNING that can print an uninitialised variable
and is redundant anyway.
2013-11-27 18:32:22 +11:00
Carlos Rafael Giani
1ce704d45d netclock: Add round-trip-limit parameter
Sometimes, packets might take a very long time to return. Such packets
usually are way too late and destabilize the regression with their
obsolete data. On Wi-Fi, round-trips of over 7 seconds have been observed.

If the limit is set to a nonzero value, packets with a round-trip period
larger than the limit are ignored.

Signed-off-by: Carlos Rafael Giani <dv@pseudoterminal.org>

https://bugzilla.gnome.org/show_bug.cgi?id=712385
2013-11-27 18:15:20 +11:00
Olivier Crête
2a720d2e55 query: Fix gi annotations of gst_structure_new_custom() 2013-11-25 19:07:15 -05:00
Jan Schmidt
75aa78ca70 netclock: Fix C99 comment 2013-11-26 02:43:54 +11:00
Jan Schmidt
5b2df52c6a netclock: Implement rolling-average filter on observations.
Keep a rolling average of the round trip time for network clock
observations, favouring shorter round trips as being more accurate.

Don't pass any clock observation to the clock slaving if it has a
round-trip time greater than 2 times the average.

Actual shifts in the network topology will be noticed after some
time, as the rolling average incorporates the new round trip times.
2013-11-26 02:20:14 +11:00
Jan Schmidt
5db5fc4227 basesink: Add debug into gst_base_sink_default_query() for accept_caps 2013-11-26 02:20:14 +11:00
Philippe Normand
6e4cab6541 gst-launch: exit with an error code when an error occured
If the pipeline failed to pre-roll or the user interrupted the
execution then set the exit code to a positive value.

https://bugzilla.gnome.org/show_bug.cgi?id=712300
2013-11-25 12:12:39 +01:00
Sebastian Rasmussen
7a073cdcda gstutils: Escape stream id format in comments
These must be escaped for gtk-doc to parse the comments without warnings.

https://bugzilla.gnome.org/show_bug.cgi?id=714989
2013-11-22 19:04:32 +00:00
Tim-Philipp Müller
4afa63a8ba gst: g_memmove() is deprecated
Just use plain memmove(), g_memmove() is deprecated in
recent GLib versions.

https://bugzilla.gnome.org/show_bug.cgi?id=712811
2013-11-21 15:04:04 +00:00
Wim Taymans
8162a583a4 ghostpad: copy sticky events to SRC ghostpads
Update the sticky events on SRC ghostpads when retargeting. This ensures
that the ghostpad has the exect same sticky events as the target pad. We
don't want to do this for SINK ghostpads, they got the events from
downstream and we don't want to overwrite them with the target pad
events.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=707621
2013-11-21 14:13:16 +01:00
Wim Taymans
e5c5d3de7e pad: move debug function closer to the enum it debugs 2013-11-21 12:28:00 +01:00
Wim Taymans
f8dd5550c2 pluginloader: check read/write before closed
first try to read or write on the socket before checking the closed state. This
makes sure we handle all data on the socket before erroring out.
2013-11-18 21:46:11 +01:00
Wim Taymans
388f0ec069 poll: improve debug
So that we can see the return values of functions in the log.
2013-11-18 21:46:10 +01:00
Tim-Philipp Müller
47679cf2f8 tests: fix GstBus unit test with latest GLib
g_source_remove() works on the default main context, and
we're doing things with a custom context. Fixes warning
with newer GLib versions.
2013-11-18 15:28:32 +00:00
Tim-Philipp Müller
9f669e5ea5 docs: cosmetic since marker fixes 2013-11-16 16:09:40 +00:00
Mark Nauwelaerts
e24722c52c baseparse: ensure to preserve upstream timestamps
... rather than have subclass coming up with an internally parsed one.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=707230
2013-11-16 15:17:57 +01:00
Sebastian Dröge
38f368e48e bin: Resync iterator if necessary 2013-11-15 07:32:48 +01:00
Sebastian Dröge
5286479467 value: Lists with all equal elements are equal to a single value
Otherwise caps containing f={X, X} are not compatible with f=X

https://bugzilla.gnome.org/show_bug.cgi?id=709253
2013-11-13 19:57:23 +01:00
Tim-Philipp Müller
e30eab99a2 systemclock: add Since markers for new API 2013-11-11 16:47:06 +00:00
Edward Hervey
2e46e7782b win32: Really update the def files 2013-11-11 17:29:48 +01:00
Sebastian Dröge
fee7c89a6d win32: Update def files 2013-11-11 17:02:35 +01:00
Sebastian Dröge
4813000b4d gst-uninstalled: Also export LD_LIBRARY_PATH for gst-plugins-gl 2013-11-11 16:50:42 +01:00
Matthieu Bouron
49b23058b7 gst-uninstalled: export gst-plugins-gl DYLD_LIBRARY_PATH
https://bugzilla.gnome.org/show_bug.cgi?id=711488
2013-11-11 16:50:42 +01:00
Sebastian Dröge
959e87cf2a collectpads: Always send SEEK events to all pads, even if one fails 2013-11-11 16:50:42 +01:00
Sebastian Dröge
911af13b5c collectpads: Update documentation for flushing seek handling 2013-11-11 16:50:42 +01:00
Sebastian Dröge
6250120d76 collectpads: Don't leak seek events 2013-11-11 16:50:42 +01:00
Alessandro Decina
7aec5739eb collectpads: implement flushing seek support
Implement common flushing seek logic in GstCollectPads. Add new
API so that elements can opt-in to using the new logic
(gst_collect_pads_src_event_default) and can extend it
(gst_collect_pads_set_flush_function) to flush any internal
state.

See https://bugzilla.gnome.org/show_bug.cgi?id=706779 and
https://bugzilla.gnome.org/show_bug.cgi?id=706441 for the
background discussion.

API: gst_collect_pads_set_flush_function()
API: gst_collect_pads_src_event_default()

https://bugzilla.gnome.org/show_bug.cgi?id=708416
2013-11-11 16:50:42 +01:00
Alessandro Decina
f52b5ddcd2 tests: collectpads: add flushing seek tests
https://bugzilla.gnome.org/show_bug.cgi?id=708416
2013-11-11 16:50:42 +01:00
Alessandro Decina
d063623851 tests: collectpads: tweak stub _collect to push all buffers
https://bugzilla.gnome.org/show_bug.cgi?id=708416
2013-11-11 16:50:42 +01:00
Alessandro Decina
01b4565a9a tests: collectpads: update my email address
https://bugzilla.gnome.org/show_bug.cgi?id=708416
2013-11-11 16:50:42 +01:00
Edward Hervey
74a1970101 queue: Don't use gst_buffer_get_size() when possible
Makes qst_queue_locked_dequeue 20% faster
2013-11-11 13:28:14 +01:00
Wim Taymans
02b64ee03b systemclock: Add gst_system_clock_set_default
Used for setting the default system clock that is obtained through
gst_system_clock_obtain(), which is sometimes needed for unit
testing.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=711269
2013-11-11 12:25:14 +01:00
Stefan Sauer
24c741554c typefind: use g_get_prgname() for error message 2013-11-07 21:01:27 +01:00
Wim Taymans
058533ff9f valve: proxy caps and allocation
Proxy the caps queries on the srcpad as well.
Proxy the allocation query on the sinkpad.
2013-11-06 10:15:59 +01:00
Tim-Philipp Müller
ee6f526404 Automatic update of common submodule
From 865aa20 to dbedaa0
2013-11-05 11:17:25 +00:00
Reynaldo H. Verdejo Pinochet
afe174d38d gst-inspect: Remove some dead code 2013-11-04 13:56:37 -08:00
Alessandro Decina
2b84b4bd97 memory: explicitly cast to GstLockFlags to avoid compiler warnings 2013-11-04 11:53:56 +01:00