Original commit message from CVS:
* docs/design/part-block.txt:
Fix typo.
* docs/design/part-element-transform.txt:
Add notes about why transform needs to know input/output sizes.
Add some issues that need to be solved.
Add some more use cases.
* tests/check/libs/test_transform.c: (gst_test_trans_base_init),
(gst_test_trans_class_init), (result_sink_chain),
(result_buffer_alloc), (gst_test_trans_new), (gst_test_trans_free),
(gst_test_trans_push), (gst_test_trans_pop):
* tests/check/libs/transform1.c: (buffer_alloc_pt1),
(set_caps_pt1), (GST_START_TEST), (set_caps_pt2), (transform_ip_1),
(set_caps_1), (set_caps_ct1), (transform_ct1),
(transform_caps_ct1), (transform_size_ct1), (buffer_alloc_ct1),
(gst_basetransform_suite):
Add suport for different pad templates and buffer-alloc.
Add more checks for caps and buffer-alloc.
Add checks for proxy buffer alloc.
Add unit test for copy transform.
Original commit message from CVS:
* tests/check/gst/gstghostpad.c: (GST_START_TEST):
Fix some memory leaks and uses of object instances that we don't
actually own.
Original commit message from CVS:
* plugins/elements/gstmultiqueue.c:
Don't update the cur_time on GST_CLOCK_TIME_NONE (#537804) and don't
activate the pads if they are added in STATE_NULL.
Original commit message from CVS:
* docs/libs/gstreamer-libs-sections.txt:
Add new API to doc
* libs/gst/check/gstcheck.c:
* libs/gst/check/gstcheck.h:
API: gst_check_teardown_pad_by_name
Original commit message from CVS:
* libs/gst/check/gstcheck.c:
* libs/gst/check/gstcheck.h:
Also setup request pads and allow setup pads by name (#537812)
API: gst_check_setup_src_pad_by_name
API: gst_check_setup_sink_pad_by_name
Original commit message from CVS:
* tests/check/Makefile.am:
* tests/check/libs/test_transform.c: (gst_test_trans_base_init),
(gst_test_trans_class_init), (gst_test_trans_init),
(gst_test_trans_set_data), (result_sink_chain),
(gst_test_trans_new), (gst_test_trans_free), (gst_test_trans_push),
(gst_test_trans_pop):
* tests/check/libs/transform1.c: (GST_START_TEST),
(transform_ip_1), (set_caps_1), (gst_basetransform_suite):
Add some test basetransform element and the beginnings of various
unit tests for it.
Original commit message from CVS:
* libs/gst/base/gsttypefindhelper.c: (helper_find_peek):
Increase code readability.
Don't try to compare buffer offsets when ther are invalid.
Original commit message from CVS:
* docs/design/Makefile.am:
Dist some more design docs.
* docs/random/moving-plugins:
Small addition: good plugins mustn't have functional code
within assertion macros.
Original commit message from CVS:
* docs/design/draft-framestep.txt:
Some ideas about a framestep API
* docs/design/part-element-transform.txt:
Start design and use cases for basetransform in order to get it
fixed soon.
Original commit message from CVS:
Patch by: joel larsson <tilljoel at gmail dot com>
* docs/plugins/gstreamer-plugins.args:
* plugins/elements/gstfdsrc.c: (gst_fd_src_class_init),
(gst_fd_src_init), (gst_fd_src_update_fd),
(gst_fd_src_set_property), (gst_fd_src_get_property),
(gst_fd_src_create):
* plugins/elements/gstfdsrc.h:
Add timeout property like udpsrc. Fixes#538628.
Add some more docs and example pipelines.
Original commit message from CVS:
* docs/libs/gstreamer-libs-sections.txt:
* libs/gst/base/gstbasesink.c: (gst_base_sink_init),
(gst_base_sink_query_latency), (gst_base_sink_set_render_delay),
(gst_base_sink_get_render_delay), (gst_base_sink_wait_eos),
(gst_base_sink_do_sync):
* libs/gst/base/gstbasesink.h:
* win32/common/libgstbase.def:
Add method to allow sinks to specify additional delay between the sync
times and the actual rendering of the data.
API: gst_base_sink_set_render_delay()
API: gst_base_sink_get_render_delay()
Original commit message from CVS:
* libs/gst/controller/gstcontroller.c:
Use freeze/thaw notify to sync notify emission a bit (its also more
efficient). Move debug output to LOG (is called a lot in a loop).
Always unset g_values if the have been initialized.
Original commit message from CVS:
* libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
(gst_base_sink_wait_eos), (gst_base_sink_event):
If we have not seen a buffer before EOS, use the segment values to
report the current position instead of invalid positions.
Original commit message from CVS:
* libs/gst/controller/gstinterpolation.c:
* libs/gst/controller/gstinterpolationcontrolsource.c:
* tests/check/libs/controller.c:
Rewrite handling of default values. Fix overflow with unsigned types
in linear interpolation. Remove now obsolete _first_value() function.
Add more tests. Fixes#538201.
Original commit message from CVS:
* libs/gst/base/gstbasetransform.c:
(gst_base_transform_class_init), (gst_base_transform_init),
(gst_base_transform_transform_caps),
(gst_base_transform_prepare_output_buffer):
Add debug info.
When a buffer is writable, its metadata is also writable so we don't
need to subbuffer (which then makes the buffer not-writable anymore).
Original commit message from CVS:
* configure.ac:
* gst/gstpreset.c:
Rename DATADIR to GST_DATADIR to avoid build problems
on win32. Patch By: David Schleef <ds@schleef.org>
Fixes: #536857
Original commit message from CVS:
* configure.ac:
Explicitely link with -ldl if dladdr() is found there. Before it was
implicitely linked by the gmodule pkgconfig file but in glib 2.17.0
-ldl has moved from Libs to Libs.private. Fixes bug #536744.
Original commit message from CVS:
* libs/gst/base/gstbasesink.c: (gst_base_sink_set_async_enabled),
(gst_base_sink_set_ts_offset), (gst_base_sink_perform_qos):
Add some debug.
Make sure we don't generate invalid QoS messages.
Original commit message from CVS:
* libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
(gst_base_sink_get_position):
The reported position must always be smaller than the last seen
timestamps (or timestamp + duration for reverse).
Original commit message from CVS:
Patch by: Rob Bradford <rob at robster dot org dot uk>
* gst/gstregistry.c: (gst_registry_scan_path_level):
Don't recurse into .debug directories as some distros install
the debugging symbols next to the plugins in .debug directories
and dlopen() crashes on them sometimes. Fixes bug #508070.
Add FIXME for 0.11 to not recurse into directories at all because
it's very inconsistent to the behaviour of other PATH environment
variables.
Original commit message from CVS:
* libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
(gst_base_sink_get_position_last), (gst_base_sink_get_position):
Fix position query range checks in reverse playback.
Original commit message from CVS:
* gst/gstelement.c:
* gst/gstelement.h:
Deprecated gst_element_get_pad() as it can't be used sanely. It's not
clear of the reference to the resulting pad must be released later
or not, resulting in possible leaks. Fixes bug #533865.
Original commit message from CVS:
Patch by: José Alburquerque <jaalburqu at svn dot gnome dot org>
* gst/gstelementfactory.c:
Small doc fix. Fixes#535285.
Original commit message from CVS:
Based on patch by: Bjarne Rosengren <bjarne at axis dot com>
* libs/gst/base/gstbasesrc.c: (gst_base_src_send_event),
(gst_base_src_get_range), (gst_base_src_pad_get_range),
(gst_base_src_loop), (gst_base_src_set_flushing),
(gst_base_src_change_state):
Make sending an EOS event to the basesrc non-blocking even if the
implementation does blocking waits in the create function. This is done
by unlocking the create function when EOS is sent.
Fixes#535218.
Original commit message from CVS:
* tools/gst-inspect.c: (print_element_properties_info):
If possible print the element type of GValueArray properties.
Original commit message from CVS:
* tests/check/gst/gstpipeline.c:
Extending the test a little to verify that we also get the NULL state-
change message.
Original commit message from CVS:
* gst/gstpad.c: (gst_pad_event_default_dispatch):
The default event function on a sinkpad should return TRUE when
there are no internal links but should collect the return values from
the internal links otherwise.
Original commit message from CVS:
* plugins/elements/gsttypefindelement.c:
(gst_type_find_element_src_event),
(gst_type_find_element_handle_event):
Use faster and safer _pad_push_event().
Original commit message from CVS:
* gst/parse/grammar.y:
* tests/check/pipelines/parse-launch.c:
Get all missing elements from a parse launch string if possible
(ie. if the FATAL_ERRORS flag has been specified). Fixes#528178.
Original commit message from CVS:
* tests/check/Makefile.am:
* tests/check/pipelines/parse-launch.c:
Add some unit tests for the new gst_parse_launch*_full() API.
(Exposes a previously-existing memory leak in the error code
path, so adding to VALGRIND_TO_FIX for now).
Original commit message from CVS:
patch by: Suresh Kumar P <sureshkumar.pp@gmail.com>
* docs/faq/gst-uninstalled:
Also support ffmpeg in gst-uninstalled.
Original commit message from CVS:
* configure.ac:
After discussion on IRC use the binary registry as default
but allow to disable it with --disable-binary-registry.
* win32/common/libgstreamer.def:
Add the two new symbols for the binary registry.
Original commit message from CVS:
* gst/gstparse.c: (_gst_parse_escape), (gst_parse_launchv):
* gst/gstutils.c: (gst_parse_bin_from_description):
* gst/parse/grammar.y: (graph):
More guards against bad input; typo fix; some minor clean-ups.
Original commit message from CVS:
Patch by: Sjoerd Simons <sjoerd at luon dot net>
* libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
If nothing else can be used, use the last buffer's start time as
the segment's last stop. Fixes bug #534258.
Original commit message from CVS:
* gst/gstpad.c: (gst_pad_alloc_buffer_full):
Move size sanity check to the right place: downstream may return
a buffer with a smaller size if the buffer caps are different than
the requested ones, as may happen when doing reverse negotiation.
Original commit message from CVS:
* plugins/elements/gstfilesink.c: (gst_file_sink_set_location),
(gst_file_sink_render):
* plugins/elements/gstfilesrc.c: (gst_file_src_set_location),
(gst_file_src_start):
Small cleanups. Add note adbout g_fopen() on windows and why we don't
use it yet.
Original commit message from CVS:
* docs/manual/advanced-autoplugging.xml:
* docs/manual/basics-helloworld.xml:
* docs/manual/basics-pads.xml:
* docs/manual/highlevel-components.xml:
Avoid using a bad function in the example code.
Original commit message from CVS:
Patch by: Tim-Philipp Müller <tim.muller at collabora co uk>
* libs/gst/base/gstbasetransform.c:
(gst_base_transform_sink_event):
Unref events that the GstBaseTransform::event vfunc didn't want to
have forwarded by the base class. Closes a leak in identity.
Fixes bug #446763.
Original commit message from CVS:
* docs/libs/gstreamer-libs-sections.txt:
* libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock):
* libs/gst/base/gstbasesink.h:
Expose a method that was previously used internally to synchronize
against the clock because it can be useful for subclasses too.
GstBaseSink::gst_base_sink_wait_clock()
Original commit message from CVS:
* gst/gstpad.c: (gst_pad_buffer_alloc_unchecked):
Add sanity check to make sure we don't get smaller buffers
than requested (and fallback to normal buffer alloc if we do).
Original commit message from CVS:
* libs/gst/base/gstbasesink.c: (gst_base_sink_adjust_time),
(gst_base_sink_wait_clock), (gst_base_sink_wait_eos),
(gst_base_sink_do_sync), (gst_base_sink_chain_unlocked):
Refactor adjusting the running_time with latency and offset into a
separate method.
When doing clipping, we still want to use the subclass get_times method,
just in case the DURATION or TIMESTAMP are not set.
Original commit message from CVS:
* libs/gst/base/gstbasesrc.c: (gst_base_src_start):
Use right error code when typefinding fails, so we can use
the default (translated) error messages.
Original commit message from CVS:
* libs/gst/base/gstbasesrc.c: (gst_base_src_get_range),
(gst_base_src_start):
When the subclass did not set caps on outgoing buffers, configure the
caps we negotiated on the source pad.
When the typefind helper does not find caps, error out properly instead
of doing things with NULL caps.
Original commit message from CVS:
* tests/check/gst/gstcaps.c: (test_intersect2), (gst_caps_suite):
Add David's and Benjamin's tests for array subtraction to the
unit test suite, which suggests that #147931 is fixed these days.
Original commit message from CVS:
* gst/gstevent.c:
Document that gst_event_new_tag() and gst_event_new_navigation()
take ownership of the taglist/structure passed to them. (#533635).
Original commit message from CVS:
* docs/Makefile.am:
Don't descend into the plugins dir if plugin docs building
is disabled.
* docs/README:
Add a note about the new type:GTypeName syntax for the plugin
documentation .types file.
Original commit message from CVS:
* gst/gstmessage.c: (gst_message_new_error),
(gst_message_new_warning), (gst_message_new_info):
* gst/gstmessage.h:
Mark the debug string parameters as const. Fixes bug #533490.
Original commit message from CVS:
* libs/gst/base/gsttypefindhelper.c: (helper_find_peek):
Sort buffer cache list by end offsets. This makes sure that we don't
stop to search for a cached buffer that contains the requested data
too early.
Also read a minimum of 4k bytes instead of 512 bytes as this is a bit
more efficient. Fixes bug #459862.
Original commit message from CVS:
* gst/gstinfo.c:
Explain why we copy the list.
* gst/gstpipeline.c:
Improve docs.
* gst/gstutils.c:
Add one debug-log statement to help tracing probelms with linking pads.
Original commit message from CVS:
* gst/parse/grammar.y:
Remove unneeded value unset.
* tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
Add unit test for de/serialization of caps.
Original commit message from CVS:
* plugins/elements/gstfakesink.c:
(marshal_VOID__MINIOBJECT_OBJECT), (gst_fake_sink_class_init):
* plugins/elements/gstfakesrc.c: (marshal_VOID__MINIOBJECT_OBJECT),
(gst_fake_src_class_init):
Use custom marshalers that take GstMiniObject as first parameter.
Using OBJECT as parameter while a GstMiniObject is given will lead
to assertions if built with G_ENABLE_DEBUG. Fixes bug #525532.
Original commit message from CVS:
* plugins/elements/gsttypefindelement.c:
(gst_type_find_element_handle_event),
(gst_type_find_element_send_cached_events),
(gst_type_find_element_change_state):
Clean up on FLUSH_STOP and not FLUSH_START. Forward both events
immediately.
Original commit message from CVS:
* plugins/elements/gsttypefindelement.c:
(gst_type_find_handle_src_query), (stop_typefinding),
(gst_type_find_element_handle_event),
(gst_type_find_element_send_cached_events),
(gst_type_find_element_change_state):
Forward FLUSH_START events immediately and clean up instead of
caching them.
Original commit message from CVS:
Patch by: Sjoerd Simons <sjoerd at luon dot net>
* libs/gst/base/gstbasetransform.c:
(gst_base_transform_buffer_alloc):
Check the caps of the buffer returned by gst_pad_alloc_buffer() and
fall back to default negotiation in the chain function if the caps
are different from what was requested. Fixes bug #526768.
Original commit message from CVS:
* gst/gstsegment.c:
* tests/check/gst/gstsegment.c:
No, let's not use g_slice_{dup|copy} here, since they only exist
since GLib 2.14 and we still depend only on >= 2.12. Also add
unit test for gst_segment_copy().
Original commit message from CVS:
* gst/gstutils.h: (GST_BOILERPLATE_FULL):
Try to fix 'dereferencing type-punned pointer will break strict
aliasing rules' warnings with C++ compilers and GLib >= 2.14.0: GLib
changed the default GType typedef from gulong to gsize at some point,
but kept GType typedef'ed to gulong for C++ for ABI reasons; the
g_once_* functions all take a gsize * though, so work around the type
mismatch for C++ by doing everything in gsize and casting to GType
later.
Original commit message from CVS:
* plugins/elements/gstmultiqueue.c:
Add documentation for the signals to push our core plugin docs
coverage back up to 100%.
Original commit message from CVS:
* gst/gstinfo.h (GST_FUNCTION):
Reverted GST_FUNCTION to the old version as we don't want the
full signature in C++ code. Also added support for MSVC.
Original commit message from CVS:
Based on a patch by: Sjoerd Simons <sjoerd at luon dot net>
* libs/gst/base/gstbasetransform.c:
(gst_base_transform_buffer_alloc):
Don't passthrough buffer allocation too easily if the caps change.
This breaks when working in passthrough mode and upstream changes
it's caps. Fixes bug #526768.