Commit graph

14594 commits

Author SHA1 Message Date
Zaheer Abbas Merali 4e880d4d1e collectpads: Don't unref NULL GstCollectData
If a pad is removed while a collectpads element (say adder) is in a chain
function waiting to be collected, there is a possibility that an unref happens
on a NULL pointer.

https://bugzilla.gnome.org/show_bug.cgi?id=707536
2013-09-09 12:40:01 +02:00
Tim-Philipp Müller 1125b9a924 Release 1.0.10 2013-08-28 14:10:38 +01:00
Tim-Philipp Müller a4c7561b4c docs: flesh out gst_sample_get_buffer() a little
https://bugzilla.gnome.org/show_bug.cgi?id=706478
2013-08-26 13:29:58 +01:00
Kerrick Staley cf594b8ea0 parse: make grammar.y work with Bison 3
YYLEX_PARAM is no longer supported in Bison 3.

https://bugzilla.gnome.org/show_bug.cgi?id=706462
2013-08-26 13:29:53 +01:00
Tim-Philipp Müller 091b04b457 docs: flesh out gst_element_query_{duration,position} docs a bit 2013-08-26 13:29:34 +01:00
Sebastian Dröge 07b2c7c80e pluginloader: Don't call memcpy() with NULL src and 0 length 2013-08-26 13:29:28 +01:00
Wim Taymans 23691bd7a7 queue2: update buffering when changing capacity
When the capacity of the queue changes, make sure we post an updated buffering
message because we might suddenly have completed the buffering stage.
2013-08-26 13:20:51 +01:00
Sebastian Dröge b9cf399fbe sysmem: Only copy the requested part of memory instead of the complete source memory
https://bugzilla.gnome.org/show_bug.cgi?id=705678

Conflicts:
	gst/gstallocator.c
2013-08-26 12:45:12 +01:00
Adrian Pardini 16b2a6a234 controller: fixes int overflow with properties that span +-INT_MAX
When the range for a property is defined as -INT_MAX-1 .. INT_MAX, like
the xpos in a videomixer the following expression in the macro
definitions of convert_g_value_to_##type (and the equivalent in
convert_value_to_##type)

v = pspec->minimum + (g##type) ROUNDING_OP ((pspec->maximum - pspec->minimum) * s);

are converted to:

v = -2147483648 + (g##type) ROUNDING_OP ((2147483647 - -2147483648) * s);

(2147483647 - -2147483648) overflows to -1 and the net result is:

v = -2147483648 + (g##type) ROUNDING_OP (-1 * s);

so v only takes the values -2147483648 for s == 0 and 2147483647
for s == 1.

Rewriting the expression as minimum*(1-s) + maximum*s gives the correct
result in this case.

https://bugzilla.gnome.org//show_bug.cgi?id=705630
2013-08-26 12:39:18 +01:00
Andoni Morales Alastruey 6b5490b9b8 query: fix annotation for gst_query_parse_uri 2013-08-26 12:31:15 +01:00
Thiago Santos 35deb7b9c2 query: add some missing 'transfer none' gi annotations
The current documentation is controverse, while it states that the
returned value is valid only while the query is is valid, which presumes
a 'transfer none' policy. But the tooltip for the 'out' annotation
states the default is 'transfer-full'.

Add the missing 'transfer none' annotations to fix this.

Conflicts:
	gst/gstquery.c
2013-08-26 12:30:45 +01:00
Tim-Philipp Müller ce7aef3def buffer: fix Since: marker for new gst_buffer_extract_dup() 2013-08-18 11:48:09 +02:00
Olivier Crête 2560624fb0 buffer: Add annotations and pygi friendly extraction function
API: gst_buffer_extract_dup

Conflicts:
	gst/gstbuffer.h
2013-08-18 11:47:38 +02:00
Tim-Philipp Müller c329cc3aeb pipeline: g-i: allow clock to be NULL in gst_pipeline_use_clock()
https://bugzilla.gnome.org/show_bug.cgi?id=705751
2013-08-10 11:34:52 +01:00
Tim-Philipp Müller f3c4f74554 Release 1.0.9 2013-07-30 11:03:58 +01:00
Sebastian Dröge 7392c42263 typefind: Only advance offset by the number of bytes we actually read
There might be a short read at EOS.
2013-07-29 13:19:42 +01:00
Sebastian Dröge 80431b497d structure: gst_structure_copy() returns a new structure with (transfer full) 2013-07-22 08:35:40 +02:00
Sebastian Dröge 229592b71f query: gst_query_get_n_allocation_params() returns a new ref to the allocator 2013-07-19 18:54:36 +01:00
Tim-Philipp Müller 06978dac05 timeprovider: g-i: allow None as address for gst_net_time_provider_new()
Conflicts:
	libs/gst/net/gstnettimeprovider.c
2013-07-17 18:46:23 +01:00
Wim Taymans 5691ef8575 basesink: call state change in all cases
When we asynchronously go from READY to PLAYING, also call the
state change function so that subclasses can update their state for PLAYING.
Because the PREROLL lock is not recursive, we can't make this without
races and we must assume for now that the subclass can handle concurrent calls
to PAUSED->PLAYING and PLAYING->PAUSED. We can make this assumption because not
many elements actually do something in those state changes and the ones that
did would be broken even more without this change.

https://bugzilla.gnome.org/show_bug.cgi?id=702282
2013-07-15 22:33:37 +01:00
Tim-Philipp Müller 566ce86238 Release 1.0.8 2013-07-12 00:25:09 +01:00
Tim-Philipp Müller c062bf9ae8 allocator: fix type of gst_memory_alignment to match declaration
Fixes compiler warnings such as
gstallocator.c:61:8: error: conflicting types for 'gst_memory_alignment'
../gst/gstallocator.h:52:18: note: previous declaration of 'gst_memory_alignment' was here
2013-07-08 15:28:28 +01:00
Thibault Saunier 592fbfb043 basesrc: Do not lock a mutex that does not exist
The GST_LIVE_LOCK is on GstBaseSrc, not on its source pad.
2013-07-05 19:34:49 +01:00
Sebastian Dröge 25c2e54518 buffer: Add unit test for map_range()
https://bugzilla.gnome.org/show_bug.cgi?id=702617
2013-07-05 19:08:20 +01:00
Paul HENRYS 53e3b87fcb buffer: Fix wrong size/index handling when merging memory
https://bugzilla.gnome.org/show_bug.cgi?id=702617
2013-07-05 19:08:12 +01:00
Nicolas Dufresne 2616feed42 Add few missing allow-none annotation
https://bugzilla.gnome.org/show_bug.cgi?id=703562

Conflicts:
	gst/gstmessage.c
2013-07-03 14:28:39 -04:00
Wim Taymans 2d75c08d6a check: fix position unit test 2013-05-30 07:13:06 +02:00
Wim Taymans 8374517c45 basesink: improve position reporting without clock
When no base time or when sync is disabled, use the same logic as
in paused to report position. The logic in PLAYING assumes we use the
clock.
2013-05-30 07:12:58 +02:00
Nicolas Dufresne 209055ea35 valve: Don't read sticky flag from unrefed event 2013-05-28 18:51:16 -04:00
Sebastian Dröge 4137391174 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
2013-05-28 14:11:20 +02:00
Olivier Crête e16197a6c0 buffer: fix gobject-introspection annotations, esp. for gst_buffer_fill 2013-05-22 23:40:22 +01:00
Tim-Philipp Müller 6fee4c44e1 buffer: allow calling _fill() with a NULL data pointer if size is 0 bytes 2013-05-18 11:01:27 +01:00
Tim-Philipp Müller 158bc017ca typefind: fix caps leak when used in connection with uridecodebin and playbin
Don't leak forced sink caps.
2013-05-04 11:25:01 +01:00
Sebastian Dröge 0a1f57538c Release 1.0.7 2013-04-26 12:11:02 +02:00
Sebastian Dröge 653fe3d6cf inputselector: Try to not push read-only buffers
We should only increase the refcount before pushing if we're
really going to use the buffer afterwards.
2013-04-26 08:19:33 +02:00
Thibault Saunier b133903093 controller: Fix element-type annotations 2013-04-26 08:19:32 +02:00
Sebastian Dröge 26add2d13c gst: Add better support for static plugins
API: GST_PLUGIN_STATIC_DECLARE()
API: GST_PLUGIN_STATIC_REGISTER()

Based on a patch by Håvard Graff <havard.graff@tandberg.com>.

This now allows GST_PLUGIN_DEFINE() to create a static plugin if
GST_PLUGIN_BUILD_STATIC is defined. The resulting plugin can be
statically linked or dynamically linked during compilation but
can't be dynamically loaded during runtime.

Also adds GST_PLUGIN_STATIC_DECLARE() and GST_PLUGIN_STATIC_REGISTER(),
which allows to register a static linked plugin easily.
It is still required to manually register every single statically linked
plugin from inside the application as this can't be automated in a portable
way.

A new configure parameter --enable-static-plugins was added that allows
to build all plugins we build here as static plugins.

Fixes bug #667305.
2013-04-15 16:09:39 +02:00
Sebastian Dröge c4ce6a4ffa caps: Add unit test for GST_CAPS_{ANY,NONE} and GST_STATIC_CAPS_{ANY,NONE}
https://bugzilla.gnome.org/show_bug.cgi?id=696435
2013-04-15 08:20:40 +02:00
Sebastian Dröge c942fb3848 caps: Fix gst_static_caps_get(GST_STATIC_CAPS_NONE)
https://bugzilla.gnome.org/show_bug.cgi?id=696435
2013-04-15 08:20:04 +02:00
Nicolas Dufresne 9ce8e5b7ff basesrc: Don't send error if negotiate fails because we are flushing
Negotiation may be aborted by a flush from another thread that need to
stop the task (i.e. seek). Check that case and silently pause the task.

https://bugzilla.gnome.org/show_bug.cgi?id=696357
2013-04-15 08:19:55 +02:00
Wim Taymans 7452a47c71 taglist: avoid triggering an assertion
When deserialization of the structure fails, return a NULL taglist instead of
asserting.
2013-04-13 12:08:55 +01:00
Tim-Philipp Müller f9a10c4dca gst-inspect: only add a '*' for non-'gpointer' pointers
Spotted by Jose Antonio Santos Cadena.

https://bugzilla.gnome.org/show_bug.cgi?id=697791
2013-04-13 12:08:18 +01:00
Jose Antonio Santos Cadenas 52a5bd9b4b gst-inspect: add pointer mark to signal and action return types that are pointers
When the return type of a signal or action is a pointer, it
should have an asterisk to mark it as such.

https://bugzilla.gnome.org/show_bug.cgi?id=697791
2013-04-13 12:08:12 +01:00
Tim-Philipp Müller 5ef30a7019 netclientclock: bind socket before querying local address
Fails on windows otherwise.

https://bugzilla.gnome.org/show_bug.cgi?id=697608
2013-04-13 12:07:37 +01:00
Wim Taymans e9d7f8cb37 bufferpool: fix docs 2013-04-04 16:40:22 +02:00
Nicolas Dufresne c697912fcb segment: Fix seeking when position is slightly outside the segment
Very often, when the end of a segment is detected by demuxer, the position
is slightly outside the segment boundaries. Currently, if that is the case
the base will be set to NONE instead of normal accumulation. This would
break non-flushing seeks in oggdemux and most likely other demuxers.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=696899
2013-04-04 10:12:37 +02:00
Tim-Philipp Müller a45d8c9d00 Release 1.0.6 2013-03-22 12:33:48 +00:00
Tim-Philipp Müller 74c3fa2347 po: update for new translatable string 2013-03-22 09:53:58 +00:00
Tim-Philipp Müller 9f3d06c4d4 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
2013-02-21 11:36:55 +00:00
Tim-Philipp Müller f3293d37ce 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
2013-02-13 16:56:12 +00:00